.rgpd-banner {
    display: none;
    position: fixed;
    z-index: 99999;
    width: 96vw;
    margin: 0 auto;
    bottom: 2vh;
    left: 2vw;
    background: #FFFFFF;
    box-shadow: 0px 3px 30px #0000004D;
    border-radius: 20px 0px 20px 20px;
    padding: 15px;
}

.rgpd-banner .title{
    margin: 0 0 20px 0;
}
.rgpd-banner .infos {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media (max-width:1199px){
    .rgpd-banner .infos {
        flex-direction: column;
    }
}

.rgpd-banner .links {
    flex-shrink: 0;
}
.rgpd-banner .links a{
    margin: 0 0 10px 0;
}
.rgpd-banner .links a:first-child{
    margin: 0 10px 10px 0;
}

/*!
 * Datetimepicker for Bootstrap
 *
 * Copyright 2012 Stefan Petre
 * Improvements by Andrew Rowls
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 */.datetimepicker{padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datetimepicker-inline{width:220px}.datetimepicker.datetimepicker-rtl{direction:rtl}.datetimepicker.datetimepicker-rtl table tr td span{float:right}.datetimepicker-dropdown,.datetimepicker-dropdown-left{top:0;left:0}[class*=" datetimepicker-dropdown"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute}[class*=" datetimepicker-dropdown"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute}[class*=" datetimepicker-dropdown-top"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0}[class*=" datetimepicker-dropdown-top"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;border-bottom:0}.datetimepicker-dropdown-bottom-left:before{top:-7px;right:6px}.datetimepicker-dropdown-bottom-left:after{top:-6px;right:7px}.datetimepicker-dropdown-bottom-right:before{top:-7px;left:6px}.datetimepicker-dropdown-bottom-right:after{top:-6px;left:7px}.datetimepicker-dropdown-top-left:before{bottom:-7px;right:6px}.datetimepicker-dropdown-top-left:after{bottom:-6px;right:7px}.datetimepicker-dropdown-top-right:before{bottom:-7px;left:6px}.datetimepicker-dropdown-top-right:after{bottom:-6px;left:7px}.datetimepicker>div{display:none}.datetimepicker.minutes div.datetimepicker-minutes{display:block}.datetimepicker.hours div.datetimepicker-hours{display:block}.datetimepicker.days div.datetimepicker-days{display:block}.datetimepicker.months div.datetimepicker-months{display:block}.datetimepicker.years div.datetimepicker-years{display:block}.datetimepicker table{margin:0}.datetimepicker td,.datetimepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datetimepicker table tr td,.table-striped .datetimepicker table tr th{background-color:transparent}.datetimepicker table tr td.minute:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.hour:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.day:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.old,.datetimepicker table tr td.new{color:#999}.datetimepicker table tr td.disabled,.datetimepicker table tr td.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td.today,.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today:hover:hover,.datetimepicker table tr td.today.disabled:hover,.datetimepicker table tr td.today.disabled:hover:hover,.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today:hover.disabled,.datetimepicker table tr td.today.disabled.disabled,.datetimepicker table tr td.today.disabled:hover.disabled,.datetimepicker table tr td.today[disabled],.datetimepicker table tr td.today:hover[disabled],.datetimepicker table tr td.today.disabled[disabled],.datetimepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active{background-color:#fbf069}.datetimepicker table tr td.active,.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active:hover:hover,.datetimepicker table tr td.active.disabled:hover,.datetimepicker table tr td.active.disabled:hover:hover,.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active:hover.disabled,.datetimepicker table tr td.active.disabled.disabled,.datetimepicker table tr td.active.disabled:hover.disabled,.datetimepicker table tr td.active[disabled],.datetimepicker table tr td.active:hover[disabled],.datetimepicker table tr td.active.disabled[disabled],.datetimepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datetimepicker .datetimepicker-hours span{height:26px;line-height:26px}.datetimepicker .datetimepicker-hours table tr td span.hour_am,.datetimepicker .datetimepicker-hours table tr td span.hour_pm{width:14.6%}.datetimepicker .datetimepicker-hours fieldset legend,.datetimepicker .datetimepicker-minutes fieldset legend{margin-bottom:inherit;line-height:30px}.datetimepicker .datetimepicker-minutes span{height:26px;line-height:26px}.datetimepicker table tr td span:hover{background:#eee}.datetimepicker table tr td span.disabled,.datetimepicker table tr td span.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td span.active,.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active:hover:hover,.datetimepicker table tr td span.active.disabled:hover,.datetimepicker table tr td span.active.disabled:hover:hover,.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active:hover.disabled,.datetimepicker table tr td span.active.disabled.disabled,.datetimepicker table tr td span.active.disabled:hover.disabled,.datetimepicker table tr td span.active[disabled],.datetimepicker table tr td span.active:hover[disabled],.datetimepicker table tr td span.active.disabled[disabled],.datetimepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span.old{color:#999}.datetimepicker th.switch{width:145px}.datetimepicker th span.glyphicon{pointer-events:none}.datetimepicker thead tr:first-child th,.datetimepicker tfoot th{cursor:pointer}.datetimepicker thead tr:first-child th:hover,.datetimepicker tfoot th:hover{background:#eee}.input-append.date .add-on i,.input-prepend.date .add-on i,.input-group.date .input-group-addon span{cursor:pointer;width:14px;height:14px}
@charset "UTF-8";
/*********************************************
    IMPORT BOOTSRAP
 */
/*!
 * Bootstrap v4.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

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

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

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

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

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

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

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

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

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

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

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

dt {
  font-weight: 700;
}

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

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

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

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

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

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

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

figure {
  margin: 0 0 1rem;
}

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

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

table {
  border-collapse: collapse;
}

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

th {
  text-align: inherit;
}

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

button {
  border-radius: 0;
}

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

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

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

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

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

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

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

textarea {
  overflow: auto;
  resize: vertical;
}

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

output {
  display: inline-block;
}

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

template {
  display: none;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.figure {
  display: inline-block;
}

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

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

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

a > code {
  color: inherit;
}

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

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

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

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

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

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

textarea.form-control {
  height: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fade {
  transition: opacity 0.15s linear;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.nav-tabs .nav-item {
  margin-bottom: -1px;
}

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

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  border-color: #e9ecef #e9ecef #dee2e6;
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.card-header + .list-group .list-group-item:first-child {
  border-top: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.accordion > .card {
  overflow: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.badge:empty {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.alert-heading {
  color: inherit;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.media-body {
  flex: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.toast.showing {
  opacity: 1;
}

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

.toast.hide {
  display: none;
}

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

.toast-body {
  padding: 0.75rem;
}

.modal-open {
  overflow: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tooltip.show {
  opacity: 0.9;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.3rem;
}

.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

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

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

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

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

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

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

.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}

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

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

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

.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #fff;
}

.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}

.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem;
}

.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
}

.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}

.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}

.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat 50% / 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border .75s linear infinite;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
  }
}

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: spinner-grow .75s linear infinite;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.bg-primary {
  background-color: #007bff !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #0062cc !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important;
}

.bg-success {
  background-color: #28a745 !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important;
}

.bg-info {
  background-color: #17a2b8 !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important;
}

.bg-warning {
  background-color: #ffc107 !important;
}

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important;
}

.bg-danger {
  background-color: #dc3545 !important;
}

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #007bff !important;
}

.border-secondary {
  border-color: #6c757d !important;
}

.border-success {
  border-color: #28a745 !important;
}

.border-info {
  border-color: #17a2b8 !important;
}

.border-warning {
  border-color: #ffc107 !important;
}

.border-danger {
  border-color: #dc3545 !important;
}

.border-light {
  border-color: #f8f9fa !important;
}

.border-dark {
  border-color: #343a40 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded-sm {
  border-radius: 0.2rem !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-lg {
  border-radius: 0.3rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: 50rem !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}

@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.vw-100 {
  width: 100vw !important;
}

.vh-100 {
  height: 100vh !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-n1 {
  margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important;
  }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important;
  }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important;
  }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important;
  }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important;
  }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important;
  }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important;
  }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important;
  }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.text-justify {
  text-align: justify !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-lighter {
  font-weight: lighter !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-weight-bolder {
  font-weight: bolder !important;
}

.font-italic {
  font-style: italic !important;
}

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #007bff !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: #0056b3 !important;
}

.text-secondary {
  color: #6c757d !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #494f54 !important;
}

.text-success {
  color: #28a745 !important;
}

a.text-success:hover, a.text-success:focus {
  color: #19692c !important;
}

.text-info {
  color: #17a2b8 !important;
}

a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important;
}

.text-warning {
  color: #ffc107 !important;
}

a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important;
}

.text-danger {
  color: #dc3545 !important;
}

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important;
}

.text-light {
  color: #f8f9fa !important;
}

a.text-light:hover, a.text-light:focus {
  color: #cbd3da !important;
}

.text-dark {
  color: #343a40 !important;
}

a.text-dark:hover, a.text-dark:focus {
  color: #121416 !important;
}

.text-body {
  color: #212529 !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-break {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

.text-reset {
  color: inherit !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: underline;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }
  .container {
    min-width: 992px !important;
  }
  .navbar {
    display: none;
  }
  .badge {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6 !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th,
  .table-dark td,
  .table-dark thead th,
  .table-dark tbody + tbody {
    border-color: #dee2e6;
  }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6;
  }
}

/**********************************************************
IMPORT DES FICHIERS SCSS
 */
html {
  font-size: 14px;
}

body {
  font-size: calc(1em + 0.2vw);
  line-height: 1.2;
  color: #FFFFFF;
  font-weight: 400;
}

a {
  color: #0056be;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on October 10, 2019 */
@font-face {
  font-family: 'overpassheavy';
  src: url(/build/fonts/overpass-heavy-webfont.0955e50f.woff2) format("woff2"), url(/build/fonts/overpass-heavy-webfont.a70d3233.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassheavy_italic';
  src: url(/build/fonts/overpass-heavy-italic-webfont.5ad248d3.woff2) format("woff2"), url(/build/fonts/overpass-heavy-italic-webfont.089a863e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassitalic';
  src: url(/build/fonts/overpass-italic-webfont.ff05be80.woff2) format("woff2"), url(/build/fonts/overpass-italic-webfont.faabbac0.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpasslight';
  src: url(/build/fonts/overpass-light-webfont.2acab627.woff2) format("woff2"), url(/build/fonts/overpass-light-webfont.ca7c43d7.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpasslight_italic';
  src: url(/build/fonts/overpass-light-italic-webfont.8fb8841d.woff2) format("woff2"), url(/build/fonts/overpass-light-italic-webfont.7c6647ad.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassregular';
  src: url(/build/fonts/overpass-regular-webfont.70471d0d.woff2) format("woff2"), url(/build/fonts/overpass-regular-webfont.9cab3686.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpasssemibold';
  src: url(/build/fonts/overpass-semibold-webfont.386d549c.woff2) format("woff2"), url(/build/fonts/overpass-semibold-webfont.3b74da06.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpasssemibold_italic';
  src: url(/build/fonts/overpass-semibold-italic-webfont.5d3efe41.woff2) format("woff2"), url(/build/fonts/overpass-semibold-italic-webfont.ef441452.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassthin';
  src: url(/build/fonts/overpass-thin-webfont.d73d531b.woff2) format("woff2"), url(/build/fonts/overpass-thin-webfont.3b7e32f7.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassthin_italic';
  src: url(/build/fonts/overpass-thin-italic-webfont.5482e1eb.woff2) format("woff2"), url(/build/fonts/overpass-thin-italic-webfont.f922e4bf.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedthin';
  src: url(/build/fonts/sairasemicondensed-thin-webfont.85813e3b.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-thin-webfont.e109fe0e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedThIt';
  src: url(/build/fonts/sairasemicondensed-thinitalic-webfont.4f8214fc.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-thinitalic-webfont.425a12e3.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairathin';
  src: url(/build/fonts/saira-thin-webfont.a91fc6b4.woff2) format("woff2"), url(/build/fonts/saira-thin-webfont.17c37b64.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairathin_italic';
  src: url(/build/fonts/saira-thinitalic-webfont.47be5c9a.woff2) format("woff2"), url(/build/fonts/saira-thinitalic-webfont.ab40786a.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondenseditalic';
  src: url(/build/fonts/sairasemicondensed-italic-webfont.b1b63e31.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-italic-webfont.7ffd4336.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedlight';
  src: url(/build/fonts/sairasemicondensed-light-webfont.b19e3264.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-light-webfont.2cfe03a5.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedLtIt';
  src: url(/build/fonts/sairasemicondensed-lightitalic-webfont.e9750356.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-lightitalic-webfont.5e20b180.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedmedium';
  src: url(/build/fonts/sairasemicondensed-medium-webfont.629820e3.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-medium-webfont.70b467b3.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedMdIt';
  src: url(/build/fonts/sairasemicondensed-mediumitalic-webfont.f4a54847.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-mediumitalic-webfont.65cce07f.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedregular';
  src: url(/build/fonts/sairasemicondensed-regular-webfont.2523c6d1.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-regular-webfont.ada7aaf6.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedsemibold';
  src: url(/build/fonts/sairasemicondensed-semibold-webfont.7a35ba50.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-semibold-webfont.ce39750c.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedSBdIt';
  src: url(/build/fonts/sairasemicondensed-semibolditalic-webfont.cec3d7cb.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-semibolditalic-webfont.9a40763e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedblack';
  src: url(/build/fonts/sairasemicondensed-black-webfont.3e47b6fd.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-black-webfont.c189f931.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedBlkIt';
  src: url(/build/fonts/sairasemicondensed-blackitalic-webfont.8bfdf3c4.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-blackitalic-webfont.07bb7d48.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedbold';
  src: url(/build/fonts/sairasemicondensed-bold-webfont.c7b9d7a9.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-bold-webfont.8fed2182.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedBdIt';
  src: url(/build/fonts/sairasemicondensed-bolditalic-webfont.df3f687f.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-bolditalic-webfont.882fc972.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedextrabold';
  src: url(/build/fonts/sairasemicondensed-extrabold-webfont.261e9523.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-extrabold-webfont.b41723fa.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedXBdIt';
  src: url(/build/fonts/sairasemicondensed-extrabolditalic-webfont.7e65b0e2.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-extrabolditalic-webfont.01cf31c8.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedextralight';
  src: url(/build/fonts/sairasemicondensed-extralight-webfont.385c0ca5.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-extralight-webfont.fead08e8.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedXLtIt';
  src: url(/build/fonts/sairasemicondensed-extralightitalic-webfont.6329a2bd.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-extralightitalic-webfont.8f75a475.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaextralight';
  src: url(/build/fonts/saira-extralight-webfont.5f447812.woff2) format("woff2"), url(/build/fonts/saira-extralight-webfont.89f1daae.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaextralight_italic';
  src: url(/build/fonts/saira-extralightitalic-webfont.1b61ac93.woff2) format("woff2"), url(/build/fonts/saira-extralightitalic-webfont.560ad63e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaitalic';
  src: url(/build/fonts/saira-italic-webfont.41200b46.woff2) format("woff2"), url(/build/fonts/saira-italic-webfont.97f70beb.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairalight';
  src: url(/build/fonts/saira-light-webfont.eccd1854.woff2) format("woff2"), url(/build/fonts/saira-light-webfont.32458f0e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairalight_italic';
  src: url(/build/fonts/saira-lightitalic-webfont.dde5330d.woff2) format("woff2"), url(/build/fonts/saira-lightitalic-webfont.de2f0715.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairamedium';
  src: url(/build/fonts/saira-medium-webfont.f19deb21.woff2) format("woff2"), url(/build/fonts/saira-medium-webfont.13a77dd5.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairamedium_italic';
  src: url(/build/fonts/saira-mediumitalic-webfont.2e12b43a.woff2) format("woff2"), url(/build/fonts/saira-mediumitalic-webfont.c390bc19.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaregular';
  src: url(/build/fonts/saira-regular-webfont.9720990b.woff2) format("woff2"), url(/build/fonts/saira-regular-webfont.9c588e5a.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairasemibold';
  src: url(/build/fonts/saira-semibold-webfont.e016d8b0.woff2) format("woff2"), url(/build/fonts/saira-semibold-webfont.042ab249.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairasemibold_italic';
  src: url(/build/fonts/saira-semibolditalic-webfont.f684a9e2.woff2) format("woff2"), url(/build/fonts/saira-semibolditalic-webfont.e5ba6f55.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_extracondensedsemibold';
  src: url(/build/fonts/sairaextracondensed-semibold-webfont.6963e166.woff2) format("woff2"), url(/build/fonts/sairaextracondensed-semibold-webfont.307260b9.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_extracondensedSBdIt';
  src: url(/build/fonts/sairaextracondensed-semibolditalic-webfont.d503af3c.woff2) format("woff2"), url(/build/fonts/sairaextracondensed-semibolditalic-webfont.164184b4.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_extracondensedthin';
  src: url(/build/fonts/sairaextracondensed-thin-webfont.b380e7f4.woff2) format("woff2"), url(/build/fonts/sairaextracondensed-thin-webfont.95a22805.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_extracondensedThIt';
  src: url(/build/fonts/sairaextracondensed-thinitalic-webfont.b9380ff8.woff2) format("woff2"), url(/build/fonts/sairaextracondensed-thinitalic-webfont.62a850bb.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaextralight';
  src: url(/build/fonts/saira-extralight-webfont.5f447812.woff2) format("woff2"), url(/build/fonts/saira-extralight-webfont.89f1daae.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaextralight_italic';
  src: url(/build/fonts/saira-extralightitalic-webfont.1b61ac93.woff2) format("woff2"), url(/build/fonts/saira-extralightitalic-webfont.560ad63e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condenseditalic';
  src: url(/build/fonts/sairacondensed-italic-webfont.ab4271ff.woff2) format("woff2"), url(/build/fonts/sairacondensed-italic-webfont.d525f1fa.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedlight';
  src: url(/build/fonts/sairacondensed-light-webfont.0be5a967.woff2) format("woff2"), url(/build/fonts/sairacondensed-light-webfont.35d18100.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedlight_italic';
  src: url(/build/fonts/sairacondensed-lightitalic-webfont.491c90e3.woff2) format("woff2"), url(/build/fonts/sairacondensed-lightitalic-webfont.e751313d.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedmedium';
  src: url(/build/fonts/sairacondensed-medium-webfont.5719a29f.woff2) format("woff2"), url(/build/fonts/sairacondensed-medium-webfont.ddadad31.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedmedium_italic';
  src: url(/build/fonts/sairacondensed-mediumitalic-webfont.d1778d8e.woff2) format("woff2"), url(/build/fonts/sairacondensed-mediumitalic-webfont.d49aec23.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedregular';
  src: url(/build/fonts/sairacondensed-regular-webfont.b056cb14.woff2) format("woff2"), url(/build/fonts/sairacondensed-regular-webfont.bae402f7.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedbold';
  src: url(/build/fonts/sairacondensed-bold-webfont.786c54a9.woff2) format("woff2"), url(/build/fonts/sairacondensed-bold-webfont.74b23abe.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedbold_italic';
  src: url(/build/fonts/sairacondensed-bolditalic-webfont.1c8af7e6.woff2) format("woff2"), url(/build/fonts/sairacondensed-bolditalic-webfont.d13ba5eb.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedextrabold';
  src: url(/build/fonts/sairacondensed-extrabold-webfont.2168cec8.woff2) format("woff2"), url(/build/fonts/sairacondensed-extrabold-webfont.94ea0213.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedXBdIt';
  src: url(/build/fonts/sairacondensed-extrabolditalic-webfont.d9425a4a.woff2) format("woff2"), url(/build/fonts/sairacondensed-extrabolditalic-webfont.50daa2f9.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedextralight';
  src: url(/build/fonts/sairacondensed-extralight-webfont.1408280e.woff2) format("woff2"), url(/build/fonts/sairacondensed-extralight-webfont.3a8c943c.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedXLtIt';
  src: url(/build/fonts/sairacondensed-extralightitalic-webfont.ab6db6ec.woff2) format("woff2"), url(/build/fonts/sairacondensed-extralightitalic-webfont.f7677bd8.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairablack';
  src: url(/build/fonts/saira-black-webfont.82807303.woff2) format("woff2"), url(/build/fonts/saira-black-webfont.029ae68e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairablack_italic';
  src: url(/build/fonts/saira-blackitalic-webfont.f7f27036.woff2) format("woff2"), url(/build/fonts/saira-blackitalic-webfont.c78e7e1e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairabold';
  src: url(/build/fonts/saira-bold-webfont.3751a36c.woff2) format("woff2"), url(/build/fonts/saira-bold-webfont.472a6623.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairabold_italic';
  src: url(/build/fonts/saira-bolditalic-webfont.15bf6ccd.woff2) format("woff2"), url(/build/fonts/saira-bolditalic-webfont.0f1f1b0f.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedblack';
  src: url(/build/fonts/sairacondensed-black-webfont.7fa5224b.woff2) format("woff2"), url(/build/fonts/sairacondensed-black-webfont.c5dd1cde.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedblack_italic';
  src: url(/build/fonts/sairacondensed-blackitalic-webfont.03380213.woff2) format("woff2"), url(/build/fonts/sairacondensed-blackitalic-webfont.d77c8916.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on October 10, 2019 */
@font-face {
  font-family: 'overpassheavy';
  src: url(/build/fonts/overpass-heavy-webfont.0955e50f.woff2) format("woff2"), url(/build/fonts/overpass-heavy-webfont.a70d3233.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassheavy_italic';
  src: url(/build/fonts/overpass-heavy-italic-webfont.5ad248d3.woff2) format("woff2"), url(/build/fonts/overpass-heavy-italic-webfont.089a863e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassitalic';
  src: url(/build/fonts/overpass-italic-webfont.ff05be80.woff2) format("woff2"), url(/build/fonts/overpass-italic-webfont.faabbac0.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpasslight';
  src: url(/build/fonts/overpass-light-webfont.2acab627.woff2) format("woff2"), url(/build/fonts/overpass-light-webfont.ca7c43d7.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpasslight_italic';
  src: url(/build/fonts/overpass-light-italic-webfont.8fb8841d.woff2) format("woff2"), url(/build/fonts/overpass-light-italic-webfont.7c6647ad.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassregular';
  src: url(/build/fonts/overpass-regular-webfont.70471d0d.woff2) format("woff2"), url(/build/fonts/overpass-regular-webfont.9cab3686.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpasssemibold';
  src: url(/build/fonts/overpass-semibold-webfont.386d549c.woff2) format("woff2"), url(/build/fonts/overpass-semibold-webfont.3b74da06.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpasssemibold_italic';
  src: url(/build/fonts/overpass-semibold-italic-webfont.5d3efe41.woff2) format("woff2"), url(/build/fonts/overpass-semibold-italic-webfont.ef441452.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassthin';
  src: url(/build/fonts/overpass-thin-webfont.d73d531b.woff2) format("woff2"), url(/build/fonts/overpass-thin-webfont.3b7e32f7.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'overpassthin_italic';
  src: url(/build/fonts/overpass-thin-italic-webfont.5482e1eb.woff2) format("woff2"), url(/build/fonts/overpass-thin-italic-webfont.f922e4bf.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedthin';
  src: url(/build/fonts/sairasemicondensed-thin-webfont.85813e3b.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-thin-webfont.e109fe0e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedThIt';
  src: url(/build/fonts/sairasemicondensed-thinitalic-webfont.4f8214fc.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-thinitalic-webfont.425a12e3.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairathin';
  src: url(/build/fonts/saira-thin-webfont.a91fc6b4.woff2) format("woff2"), url(/build/fonts/saira-thin-webfont.17c37b64.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairathin_italic';
  src: url(/build/fonts/saira-thinitalic-webfont.47be5c9a.woff2) format("woff2"), url(/build/fonts/saira-thinitalic-webfont.ab40786a.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondenseditalic';
  src: url(/build/fonts/sairasemicondensed-italic-webfont.b1b63e31.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-italic-webfont.7ffd4336.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedlight';
  src: url(/build/fonts/sairasemicondensed-light-webfont.b19e3264.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-light-webfont.2cfe03a5.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedLtIt';
  src: url(/build/fonts/sairasemicondensed-lightitalic-webfont.e9750356.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-lightitalic-webfont.5e20b180.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedmedium';
  src: url(/build/fonts/sairasemicondensed-medium-webfont.629820e3.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-medium-webfont.70b467b3.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedMdIt';
  src: url(/build/fonts/sairasemicondensed-mediumitalic-webfont.f4a54847.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-mediumitalic-webfont.65cce07f.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedregular';
  src: url(/build/fonts/sairasemicondensed-regular-webfont.2523c6d1.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-regular-webfont.ada7aaf6.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedsemibold';
  src: url(/build/fonts/sairasemicondensed-semibold-webfont.7a35ba50.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-semibold-webfont.ce39750c.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedSBdIt';
  src: url(/build/fonts/sairasemicondensed-semibolditalic-webfont.cec3d7cb.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-semibolditalic-webfont.9a40763e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedblack';
  src: url(/build/fonts/sairasemicondensed-black-webfont.3e47b6fd.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-black-webfont.c189f931.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedBlkIt';
  src: url(/build/fonts/sairasemicondensed-blackitalic-webfont.8bfdf3c4.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-blackitalic-webfont.07bb7d48.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedbold';
  src: url(/build/fonts/sairasemicondensed-bold-webfont.c7b9d7a9.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-bold-webfont.8fed2182.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedBdIt';
  src: url(/build/fonts/sairasemicondensed-bolditalic-webfont.df3f687f.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-bolditalic-webfont.882fc972.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedextrabold';
  src: url(/build/fonts/sairasemicondensed-extrabold-webfont.261e9523.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-extrabold-webfont.b41723fa.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedXBdIt';
  src: url(/build/fonts/sairasemicondensed-extrabolditalic-webfont.7e65b0e2.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-extrabolditalic-webfont.01cf31c8.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedextralight';
  src: url(/build/fonts/sairasemicondensed-extralight-webfont.385c0ca5.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-extralight-webfont.fead08e8.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_semicondensedXLtIt';
  src: url(/build/fonts/sairasemicondensed-extralightitalic-webfont.6329a2bd.woff2) format("woff2"), url(/build/fonts/sairasemicondensed-extralightitalic-webfont.8f75a475.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaextralight';
  src: url(/build/fonts/saira-extralight-webfont.5f447812.woff2) format("woff2"), url(/build/fonts/saira-extralight-webfont.89f1daae.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaextralight_italic';
  src: url(/build/fonts/saira-extralightitalic-webfont.1b61ac93.woff2) format("woff2"), url(/build/fonts/saira-extralightitalic-webfont.560ad63e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaitalic';
  src: url(/build/fonts/saira-italic-webfont.41200b46.woff2) format("woff2"), url(/build/fonts/saira-italic-webfont.97f70beb.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairalight';
  src: url(/build/fonts/saira-light-webfont.eccd1854.woff2) format("woff2"), url(/build/fonts/saira-light-webfont.32458f0e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairalight_italic';
  src: url(/build/fonts/saira-lightitalic-webfont.dde5330d.woff2) format("woff2"), url(/build/fonts/saira-lightitalic-webfont.de2f0715.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairamedium';
  src: url(/build/fonts/saira-medium-webfont.f19deb21.woff2) format("woff2"), url(/build/fonts/saira-medium-webfont.13a77dd5.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairamedium_italic';
  src: url(/build/fonts/saira-mediumitalic-webfont.2e12b43a.woff2) format("woff2"), url(/build/fonts/saira-mediumitalic-webfont.c390bc19.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaregular';
  src: url(/build/fonts/saira-regular-webfont.9720990b.woff2) format("woff2"), url(/build/fonts/saira-regular-webfont.9c588e5a.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairasemibold';
  src: url(/build/fonts/saira-semibold-webfont.e016d8b0.woff2) format("woff2"), url(/build/fonts/saira-semibold-webfont.042ab249.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairasemibold_italic';
  src: url(/build/fonts/saira-semibolditalic-webfont.f684a9e2.woff2) format("woff2"), url(/build/fonts/saira-semibolditalic-webfont.e5ba6f55.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_extracondensedsemibold';
  src: url(/build/fonts/sairaextracondensed-semibold-webfont.6963e166.woff2) format("woff2"), url(/build/fonts/sairaextracondensed-semibold-webfont.307260b9.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_extracondensedSBdIt';
  src: url(/build/fonts/sairaextracondensed-semibolditalic-webfont.d503af3c.woff2) format("woff2"), url(/build/fonts/sairaextracondensed-semibolditalic-webfont.164184b4.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_extracondensedthin';
  src: url(/build/fonts/sairaextracondensed-thin-webfont.b380e7f4.woff2) format("woff2"), url(/build/fonts/sairaextracondensed-thin-webfont.95a22805.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_extracondensedThIt';
  src: url(/build/fonts/sairaextracondensed-thinitalic-webfont.b9380ff8.woff2) format("woff2"), url(/build/fonts/sairaextracondensed-thinitalic-webfont.62a850bb.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaextralight';
  src: url(/build/fonts/saira-extralight-webfont.5f447812.woff2) format("woff2"), url(/build/fonts/saira-extralight-webfont.89f1daae.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairaextralight_italic';
  src: url(/build/fonts/saira-extralightitalic-webfont.1b61ac93.woff2) format("woff2"), url(/build/fonts/saira-extralightitalic-webfont.560ad63e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condenseditalic';
  src: url(/build/fonts/sairacondensed-italic-webfont.ab4271ff.woff2) format("woff2"), url(/build/fonts/sairacondensed-italic-webfont.d525f1fa.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedlight';
  src: url(/build/fonts/sairacondensed-light-webfont.0be5a967.woff2) format("woff2"), url(/build/fonts/sairacondensed-light-webfont.35d18100.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedlight_italic';
  src: url(/build/fonts/sairacondensed-lightitalic-webfont.491c90e3.woff2) format("woff2"), url(/build/fonts/sairacondensed-lightitalic-webfont.e751313d.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedmedium';
  src: url(/build/fonts/sairacondensed-medium-webfont.5719a29f.woff2) format("woff2"), url(/build/fonts/sairacondensed-medium-webfont.ddadad31.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedmedium_italic';
  src: url(/build/fonts/sairacondensed-mediumitalic-webfont.d1778d8e.woff2) format("woff2"), url(/build/fonts/sairacondensed-mediumitalic-webfont.d49aec23.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedregular';
  src: url(/build/fonts/sairacondensed-regular-webfont.b056cb14.woff2) format("woff2"), url(/build/fonts/sairacondensed-regular-webfont.bae402f7.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedbold';
  src: url(/build/fonts/sairacondensed-bold-webfont.786c54a9.woff2) format("woff2"), url(/build/fonts/sairacondensed-bold-webfont.74b23abe.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedbold_italic';
  src: url(/build/fonts/sairacondensed-bolditalic-webfont.1c8af7e6.woff2) format("woff2"), url(/build/fonts/sairacondensed-bolditalic-webfont.d13ba5eb.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedextrabold';
  src: url(/build/fonts/sairacondensed-extrabold-webfont.2168cec8.woff2) format("woff2"), url(/build/fonts/sairacondensed-extrabold-webfont.94ea0213.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedXBdIt';
  src: url(/build/fonts/sairacondensed-extrabolditalic-webfont.d9425a4a.woff2) format("woff2"), url(/build/fonts/sairacondensed-extrabolditalic-webfont.50daa2f9.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedextralight';
  src: url(/build/fonts/sairacondensed-extralight-webfont.1408280e.woff2) format("woff2"), url(/build/fonts/sairacondensed-extralight-webfont.3a8c943c.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedXLtIt';
  src: url(/build/fonts/sairacondensed-extralightitalic-webfont.ab6db6ec.woff2) format("woff2"), url(/build/fonts/sairacondensed-extralightitalic-webfont.f7677bd8.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairablack';
  src: url(/build/fonts/saira-black-webfont.82807303.woff2) format("woff2"), url(/build/fonts/saira-black-webfont.029ae68e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairablack_italic';
  src: url(/build/fonts/saira-blackitalic-webfont.f7f27036.woff2) format("woff2"), url(/build/fonts/saira-blackitalic-webfont.c78e7e1e.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairabold';
  src: url(/build/fonts/saira-bold-webfont.3751a36c.woff2) format("woff2"), url(/build/fonts/saira-bold-webfont.472a6623.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sairabold_italic';
  src: url(/build/fonts/saira-bolditalic-webfont.15bf6ccd.woff2) format("woff2"), url(/build/fonts/saira-bolditalic-webfont.0f1f1b0f.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedblack';
  src: url(/build/fonts/sairacondensed-black-webfont.7fa5224b.woff2) format("woff2"), url(/build/fonts/sairacondensed-black-webfont.c5dd1cde.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'saira_condensedblack_italic';
  src: url(/build/fonts/sairacondensed-blackitalic-webfont.03380213.woff2) format("woff2"), url(/build/fonts/sairacondensed-blackitalic-webfont.d77c8916.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}

/********************************************
BTN GEN
 */
.btn-gen {
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  color: #666666;
  font-size: 1.02vw;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid #666666;
  border-radius: 20px;
  padding: 2px 15px;
  vertical-align: middle;
  /** En dessous de **/
}

@media (max-width: 767.98px) {
  .btn-gen {
    font-size: 3.125vw;
  }
}

.btn-gen:hover {
  color: #ffffff;
  background: #666666;
  text-decoration: none;
  -webkit-transition: background-color 500ms linear;
  -ms-transition: background-color 500ms linear;
  transition: background-color 500ms linear;
  -webkit-transition: color 500ms linear;
  -ms-transition: color 500ms linear;
  transition: color 500ms linear;
}

/********************************************
BTN AVEC ICONE
 */
.btn-login:before {
  content: "\f2f6";
  /* >> Name of the FA free font (mandatory)
             - 'Font Awesome 5 Free' for Regular and Solid symbols;
             - 'Font Awesome 5 Brand' for Brands symbols. */
  font-family: 'Font Awesome 5 Free';
  /* >> Weight of the font (mandatory)
             - 400 for Regular and Brands symbols;
             - 900 for Solid symbols. */
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-new:before {
  content: "\f067";
  /* >> Name of the FA free font (mandatory)
             - 'Font Awesome 5 Free' for Regular and Solid symbols;
             - 'Font Awesome 5 Brand' for Brands symbols. */
  font-family: 'Font Awesome 5 Free';
  /* >> Weight of the font (mandatory)
             - 400 for Regular and Brands symbols;
             - 900 for Solid symbols. */
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-filters:before {
  content: "\f0b0";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-save:before {
  content: "\f0c7";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-see:before {
  content: "\f06e";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-add:before {
  content: "\f067";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-edit:before {
  content: "\f044";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-list:before {
  content: "\f0ca";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-csv:before {
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-upload:before {
  content: "\f093";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-download:before {
  content: "\f019";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-trash:before {
  content: "\f1f8";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-logout:before {
  content: "\f2f5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-cogs:before {
  content: "\f085";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

.btn-check:before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0 0 0;
}

table .btn-sm, table .btn-group-sm > .btn {
  line-height: 1.2;
}

.btn-er {
  background: #fff;
  color: #c82333;
  border: solid 1px #c82333 !important;
}

.btn-er:hover {
  background: #c82333;
  color: #fff;
  border: none;
  box-shadow: none;
}

.btn-close {
  color: #FF8C00;
  background: #fff;
  border: solid 1px #FF8C00 !important;
}

.btn-close:hover {
  background: #FF8C00;
  color: #fff;
  border: none;
  box-shadow: none;
}

.btn-reset {
  color: #17a2b8;
  background: #fff;
  border: solid 1px #17a2b8 !important;
}

.btn-reset:hover {
  background: #17a2b8;
  color: #fff;
  border: none;
  box-shadow: none;
}

.btn-next,
.btn-see,
.btn-ajout {
  color: #28a745;
  background: #fff;
  border: solid 1px #28a745 !important;
}

.btn-next:hover,
.btn-see:hover,
.btn-ajout:hover {
  background: #28a745;
  color: #fff;
  border: none;
  box-shadow: none;
}

.btn-cxl {
  color: #8B0000;
  background: #fff;
  border: solid 1px #8B0000 !important;
}

.btn-cxl:hover {
  background: #8B0000;
  color: #fff;
  border: none;
  box-shadow: none;
}

.btn-edit {
  color: #D2691E;
  background: #fff;
  border: solid 1px #D2691E !important;
}

.btn-edit:hover {
  background: #D2691E;
  color: #fff;
  border: none;
  box-shadow: none;
}

.btn-reload {
  color: #17a2b8;
  background: #fff;
  border: solid 1px #17a2b8   !important;
}

.btn-reload:hover {
  background: #17a2b8;
  color: #fff;
  border: none;
  box-shadow: none;
}

.btn-see-orange {
  color: #D2691E;
  background: #fff;
  border: solid 1px #D2691E !important;
}

.btn-see-orange:hover {
  background: #D2691E;
  color: #fff;
  border: none;
  box-shadow: none;
}

.email_drop {
  width: 100% !important;
  padding-left: 10px !important;
  color: #17a2b8 !important;
}

.email_drop:hover {
  color: #fff !important;
  text-decoration: none;
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:hover {
  color: #ffffff;
  background: #6c757d;
}

.btn-rgpd {
  color: #dc3545;
}

#close_preview {
  cursor: pointer;
}

.btn-dpm {
  color: #59BDBD;
  background-color: #ffffff;
  border-color: #59BDBD;
}

.btn-dpm:hover {
  color: #59BDBD;
  background: #ffffff;
}

.delete_project_document,
.delete_project {
  cursor: pointer;
}

.btn-show {
  color: #bfbfbf;
  background: #fff;
  border: solid 1px #bfbfbf !important;
}

.btn-show:hover {
  background: #bfbfbf;
  color: #fff;
  border: none;
  box-shadow: none;
}

.moutarde {
  color: #ffc107 !important;
}

.vert {
  color: #28a745 !important;
}

.vert.btn:hover {
  background: #28a745 !important;
  color: white !important;
}

.red {
  color: #c82333 !important;
}

.pourpre {
  color: #8b0000 !important;
}

.brown {
  color: #93282a !important;
}

.blue {
  color: #4169E1 !important;
}

.blue.btn:hover {
  background: #4169E1;
  color: white !important;
}

.blue_light {
  color: #97bfe3 !important;
}

.grey {
  color: #bfbfbf !important;
}

.orange {
  color: #D2691E !important;
}

.orange_dpm {
  color: #f8aa6a;
}

.orange_dpm.btn:hover {
  background: #f8aa6a !important;
  color: white !important;
}

.blue_dpm {
  color: #59BDBD !important;
}

.blue_dpm.btn:hover {
  background: #59BDBD !important;
  color: white !important;
}

.red_strong {
  color: #D80A0A !important;
}

.yellow {
  color: #eec64d !important;
}

.green_dpm {
  color: #3cb371 !important;
}

.green_dpm.btn:hover {
  background: #3cb371 !important;
  color: white !important;
}

.purple_dpm {
  color: #da70d6 !important;
}

.purple_dpm.btn:hover {
  background: #da70d6 !important;
  color: white !important;
}

.blue_reload {
  color: #17a2b8 !important;
}

#form-login h1 {
  display: block;
}

#form-login #titre {
  margin-top: 5%;
  margin-bottom: 0;
  text-align: center;
  font-family: 'Overpass', cursive;
  font-size: 90px;
  color: #525252;
}

#form-login .login-container {
  padding: 30px 30px 10px;
  border-radius: 10px;
  width: 75% !important;
  background-color: #ffffff;
  margin: 60px auto 60px auto;
  box-shadow: 0 2px 30px 10px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  font-size: 12px;
}

#form-login .login-container h1 {
  text-align: center;
  font-weight: normal;
}

@media (max-width: 767.98px) {
  #form-login .login-container h1 {
    font-size: 2rem;
  }
}

#form-login .login-container input[type=submit] {
  width: 100%;
  display: block;
  margin: 10px 0;
  position: relative;
  padding: 2%;
}

#form-login .login-container input[type=text], #form-login .login-container input[type=password] {
  width: 100%;
  margin-bottom: 10px;
  -webkit-appearance: none;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-top: 1px solid #c0c0c0;
  /* border-radius: 2px; */
  padding: 0 8px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

#form-login .login-container input[type=text]:hover, #form-login .login-container input[type=password]:hover {
  border: 1px solid #b9b9b9;
  border-top: 1px solid #a0a0a0;
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

#form-login .login-submit {
  border: 0;
  color: #fff;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
  background-color: #59BDBD;
  border-radius: 10px;
  padding: 17px 0;
  cursor: pointer;
  font-size: 20px;
}

#form-login .login-submit a {
  text-decoration: none;
  color: #666;
  font-weight: 400;
  text-align: center;
  display: inline-block;
  opacity: 0.6;
  transition: opacity ease 0.5s;
}

#form-login .login-submit:hover {
  border: 0;
  text-shadow: 0 1px rgba(0, 0, 0, 0.3);
}

#form-login .login-help {
  font-size: 12px;
}

#form-login #logo-ok {
  margin-top: 1%;
  width: 10%;
}

@media (max-width: 1199.98px) {
  #form-login #logo-ok {
    width: 15%;
  }
}

@media (max-width: 767.98px) {
  #form-login #logo-ok {
    width: 20%;
  }
}

#form-login #options {
  width: 80%;
  /*si a gauche*/
  margin-left: 15%;
}

#form-login .bg-id {
  background-image: url(/build/assets/images/backgroundweb2.69a1e1f7.png);
  background-repeat: no-repeat;
  background-size: 63%;
  background-position: center;
  max-width: 1200px;
  margin: auto;
}

#form-login .bg-id img {
  width: 65%;
  margin-top: 60px;
}

.table-wrapper-responsive {
  max-width: 100%;
  overflow: auto;
}

table.sortable tr {
  cursor: move;
}

.table-thumbnail {
  max-width: 150px;
}

/**********************************************************
ALERTS
 */
.alert-fixed {
  position: fixed;
  z-index: 5;
  top: 30%;
  width: 100%;
  text-align: center;
}

.alert-fixed .alert {
  cursor: pointer;
  display: inline-block;
}

.alert-fixed .alert .button {
  margin-left: 20px;
}

.alert-center {
  margin: 0 auto;
}

/*********************************************************************
FIL D'ARIANNE
*********************************************************************/
#breadcrumb {
  padding: 0 0 0 120px;
  height: 40px;
  line-height: 40px;
  background: #f9f6ed;
}

#breadcrumb ul {
  padding: 0;
  margin: 0;
}

#breadcrumb ul li {
  list-style: none;
  float: left;
}

#breadcrumb ul li a {
  padding: 0 5px;
  font-size: 1rem;
  color: #5d5858;
}

#breadcrumb ul li a:hover {
  text-decoration: none;
}

#breadcrumb ul li a.last {
  color: #e5694f;
}

#breadcrumb ul li:last-child a {
  text-decoration: none;
}

#tile-1 .nav-tabs {
  position: relative;
  border: none;
  border-radius: 6px;
  display: flex;
  align-items: center;
}

#tile-1 .nav-tabs li a {
  position: relative;
  border: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

#tile-1 .nav-tabs .active {
  background-color: transparent !important;
  border: none !important;
}

#tile-1 .slider {
  display: inline-block;
  width: 30px;
  height: 4px;
  border-radius: 3px;
  background-color: #59BDBD;
  position: absolute;
  z-index: 99;
  bottom: 0;
  transition: all .4s linear;
}

.checkbox-inline .checkbox {
  display: inline-block;
}

.checkbox label .toggle, .checkbox-inline .toggle {
  margin-left: 0 !important;
}

.check {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.checkbox-inline #organisme_edit_animalType label {
  display: flex !important;
  align-items: center;
  margin-right: 10px;
}

.radio-inline-block .radio {
  display: inline-block;
  margin: 0 0 0 15px;
}

.radio-inline-block .radio:first-child {
  margin: 0;
}

.password-seeable {
  position: relative;
}

.password-seeable i {
  position: absolute;
  z-index: 2;
  right: 10px;
  top: 37px;
  font-size: 1.02vw;
  font-weight: 900;
  margin: 0 10px 0 0;
  cursor: pointer;
}

/*
.datepicker{
  display: flex;
  flex-wrap: wrap;
  margin:0 0 10px 0;

  label:first-child{
    width: 100%;
  }

  select{
    margin:0 10px 0 0;
  }

  .datepicker-widget,
  .birthdaypicker-widget,
  .js-datepicker{
    display:none;
    position: absolute;
    z-index: 2;
  }

  .datepicker-widget.visible,
  .birthdaypicker-widget.visible,
  .js-datepicker.visible{
    display:block;
  }

  i{
    font-size:2rem;
    cursor:pointer;
  }
}
*/
form .form-error-message {
  color: red;
  display: none;
}

form .has-error input,
form .has-error select,
form .has-error textarea {
  border: 1px solid red;
}

form .has-error .help-block {
  color: red;
}

form .has-error .form-error-message {
  display: block;
}

form .alert.alert-danger .list-unstyled {
  margin: 0;
}

.form-group {
  margin-bottom: 0.5rem;
}

.form-group-display-inline-block > div > div {
  display: inline-block;
}

.compulsory:after {
  content: ' *';
  color: red;
}

.mandatory_form:after {
  content: "*";
  color: #8b0000;
  margin-left: 5px;
}

.select2-container--open {
  z-index: 9999999;
}

input.updated {
  background-color: yellow;
}

.button-hover-input-wrapper {
  position: relative;
}

.button-hover-input-wrapper .hover-input {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  border-radius: 0 0.25rem 0.25rem 0;
  display: inline-block;
  background: #ccc;
  padding: 5px 10px;
  cursor: pointer;
}

.button-hover-input-wrapper .hover-input i {
  vertical-align: middle;
}

/*//modif bouton upload*/
#FakeInput {
  position: relative;
  overflow: hidden;
}

#FakeInput input {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 10;
}

#FakeInput span {
  display: inline-block;
  vertical-align: top;
}

#FakeInput span:first-child {
  overflow: hidden;
  white-space: nowrap;
  width: 150px;
  height: 25px;
  padding-left: 5px;
  border: 1px solid #ccc;
  text-overflow: ellipsis;
  font: 100%/25px sans-serif;
  color: #666;
  border-radius: 3px;
}

#FakeInput span + span {
  margin-left: 5px;
  text-align: center;
  text-decoration: underline;
}

#FakeInput label {
  display: initial;
}

#project-container #FakeInput label {
  display: none;
}

/*********************** couleur DEFAULT ***********************/
fieldset {
  margin: 0;
  padding: 5px;
  border-top: none;
  border-radius: 0 0 5px 5px;
}

fieldset.fieldset_blue {
  border: solid 1px #59BDBD;
  border-top: none;
  padding: 10px;
}

legend {
  margin: 15px 0 0 0;
  padding: 5px 5px 5px 5px;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: solid 1px #333333;
  border-radius: 5px;
}

legend.main {
  border-color: #17a2b8;
}

legend.legend_blue.cross:after {
  content: " ";
  height: 25px;
  width: 25px;
  top: 45%;
  transform: translate(-50%, -50%);
}

legend.active {
  border: solid 1px #333333;
  border-radius: 5px 5px 0 0;
}

legend.active:after {
  content: " ";
  top: 15px !important;
  transform: rotate(-180deg) translate(0, 0) !important;
}

legend.blue_border.cross {
  border: solid 1px #59BDBD !important;
}

legend.active.blue_border {
  border: solid 1px #59BDBD !important;
}

legend.orange_border.cross {
  border: solid 1px #f8aa6a !important;
}

legend.active.orange_border {
  border: solid 1px #f8aa6a !important;
}

.amount_wrong:after {
  content: '\f06a';
  position: absolute;
  right: 5px;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  font-size: 1.5rem;
  font-weight: 900;
  color: #8b0000;
  transform: translate(0, -50%);
}

.amount_ok:after {
  content: '\f058';
  position: absolute;
  right: 5px;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  font-size: 1.5rem;
  font-weight: 900;
  color: #3cb371;
  transform: translate(0, -50%);
}

#selection_address {
  position: relative;
}

#selection_address ul {
  position: absolute;
  background: white;
  z-index: 9;
  left: 15px;
  right: 15px;
  border: solid 1px #ced4da;
  padding: 10px;
  border-top: none;
  border-radius: 0 0 10px 10px;
}

#selection_address ul li {
  color: #000000;
  padding: 10px 5px;
  font-weight: normal;
}

#selection_address ul li span {
  padding-right: 5px;
}

#selection_address ul li:hover {
  cursor: pointer;
  background: #59BDBD;
  color: white;
  padding: 10px 5px;
}

#member-template .btn-filter,
#family-desc .btn-filter,
#animal-template .btn-filter {
  display: none;
}

.roles_check > div,
.roles_check #edit_roles {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.roles_check > div > div label {
  margin-right: 1rem;
  display: flex !important;
  align-items: center;
  margin-bottom: 0;
}

#checklist_missing {
  position: fixed;
  top: 11%;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9;
}

#checklist_missing .content {
  width: 50%;
  margin: auto;
  background: white;
  padding: 10px;
  margin-top: 10vh;
}

#checklist_missing .content h3 {
  text-align: center;
  margin-bottom: 40px;
}

#checklist_missing .content ul li {
  margin-top: 10px;
}

#checklist_missing .content ul li i {
  margin-left: 10px;
}

table .actions {
  display: flex;
  justify-content: space-evenly;
  padding: 5px 0 !important;
}

table .actions li {
  text-align: center;
}

table .actions li {
  margin-bottom: 10px;
}

@media (max-width: 991.98px) {
  table .actions li {
    margin-bottom: 20px;
  }
}

table .actions > a {
  margin: 0 2px;
}

.fade.in {
  opacity: 1;
}

.home_header > div {
  display: flex;
  align-items: center;
}

.home_header h1 {
  font-size: 1.2rem !important;
  margin: 0;
}

.home_header h2 {
  font-size: 1.5rem !important;
  margin: 0 auto;
}

.home_header .logo_home img {
  width: 100%;
}

.stats .last_five .titre.h5 {
  display: flex;
  align-items: flex-end;
  margin: 0;
}

.stats .last_five .titre.h5 h5 {
  margin: 0 auto;
  height: 30px;
  font-size: 1.5rem;
  color: #666;
  font-weight: bold;
}

.stats .last_five .content {
  height: calc(100% - 40px);
  display: flex;
  flex-wrap: wrap;
}

.stats .last_five .content .last_content {
  border: solid 1px #59BDBD;
  width: 100%;
  margin: 5px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 10px;
  border-radius: 5px;
  max-height: 35px;
}

.stats .last_five .content .last_content div {
  width: calc(100% / 5);
  display: flex;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
  padding: 1%;
}

.stats .last_five .content .last_content div:not(:first-child) {
  text-align: center;
}

.stats .last_five .content .last_content div:not(:first-child) i {
  margin-left: 5px;
}

.stats .last_five .content .last_content div:first-child i {
  margin-right: 5px;
}

.stats .last_five .content .last_content div i {
  font-size: 14px;
}

@media (max-width: 991.98px) {
  .stats .last_five .content .last_content div:last-child {
    width: 11%;
  }
  .stats .last_five .content .last_content div:nth-child(4) {
    width: 11%;
  }
  .stats .last_five .content .last_content div:first-child {
    width: 45%;
  }
}

.tab {
  cursor: pointer;
}

.tab h2 {
  padding: 10px 0;
  position: relative;
}

.tab h2:after {
  transition: all ease-in-out .2s;
  background: none repeat scroll 0 0 #59BDBD;
  content: "";
  display: block;
  height: 1px;
  width: 0;
  position: absolute;
  bottom: 0;
}

.tab:hover h2:after {
  width: 100%;
}

.tab.active h2:after {
  width: 100%;
}

.animal_content .tabi .nav-tabs {
  border: none;
  border-bottom: 1px solid #079fc9;
  margin: 0;
}

.animal_content .tabi .nav-tabs li {
  display: flex;
}

.animal_content .tabi .nav-tabs li a {
  cursor: pointer;
  padding: 10px 20px;
  margin: 0 10px 0 0;
  font-weight: 600;
  text-transform: capitalize;
  border: 1px solid #e6e5e1;
  border-bottom: none;
  border-radius: 5px 5px 0 0;
  z-index: 1;
  position: relative;
  transition: all 0.3s ease 0s;
}

.animal_content .tabi .nav-tabs li a:hover {
  background: #fff;
  border: 1px solid #079fc9;
  margin: 0 10px -1px 0;
}

.animal_content .tabi .nav-tabs li a:hover:before {
  transform: scaleX(1);
}

.animal_content .tabi .nav-tabs li a:before {
  content: "";
  display: block;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  transform: scaleX(0);
  transition: all 0.3s ease-in-out 0s;
}

.animal_content .tabi .nav-tabs li.active a {
  background: #fff;
  border: 1px solid #079fc9;
  margin: 0 10px -1px 0;
}

.animal_content .tabi .nav-tabs li.active a:before {
  transform: scaleX(1);
}

.animal_content .tabi .tab-content {
  padding: 10px;
}

@media only screen and (max-width: 479px) {
  .animal_content .tabi .nav-tabs {
    border: none;
  }
  .animal_content .tabi .nav-tabs li a {
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
    border-bottom: 1px solid transparent;
  }
  .animal_content .tabi .nav-tabs li a:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #079fc9;
    position: absolute;
    bottom: -1px;
    left: 0;
  }
}

#configuration-page.modules h2:after {
  content: '';
  display: block;
  width: 10%;
  height: 2px;
  background: #71b8ab;
  position: absolute;
  left: 45%;
  bottom: -10px;
}

#configuration-page.modules h2 {
  position: relative;
  margin-bottom: 30px;
}

#configuration-page.modules .vignette {
  padding: 30px;
  box-shadow: 0px 8px 20px -12px rgba(0, 0, 0, 0.75);
  margin-bottom: 50px !important;
  min-height: 320px !important;
}

#configuration-page.modules > .container {
  padding: 30px;
}

#configuration-page.modules .vignette .details {
  position: absolute;
  left: 40px;
  right: 40px;
  bottom: 10px;
}

@media (max-width: 991.98px) {
  #configuration-page.modules .vignette .details {
    position: static;
  }
}

#configuration-page.modules .image_block {
  text-align: center;
}

#configuration-page.modules .image_block img {
  width: 40px;
}

#building {
  background: red;
  color: white;
  padding: 10px;
  width: 240px;
  position: absolute;
  left: -8%;
  top: 10%;
  transform: rotate(-35deg);
  text-align: center;
}

@media (max-width: 991.98px) {
  #building {
    left: -17%;
    top: 7%;
  }
}

#configuration-page .vignette {
  overflow: hidden;
  position: relative;
}

#member-template #global-details i, #member-template #category-details i {
  margin-right: 10px;
}

#animal-template #global-animal i, #animal-template #detail-animal i {
  margin-right: 10px !important;
}

#animal-template .identity {
  display: flex;
  align-items: center;
}

#animal-template .identity img {
  width: 15px;
  margin-right: 9px;
}

#identification {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
}

#identification .container {
  box-shadow: none;
  border: none;
}

#identification .container .psswrd .form-group,
#identification .container #identification .psswrd input {
  margin-bottom: 0 !important;
}

#identification .container .btn-mdp {
  text-align: left;
  display: block;
  margin: 0;
}

#identification .container .remember_me label {
  font-size: 80% !important;
  display: flex;
  justify-content: flex-end;
}

#identification .container .remember_me input[type="checkbox"] {
  margin-right: 5px;
  height: 13px;
  width: 13px;
}

#identification .container .remember_me .toggle {
  min-height: 18px !important;
  min-width: 20px;
}

#identification .container .remember_me .toggle-handle {
  vertical-align: top;
  padding: 0 5px;
}

#new_organisme .rgpd label, #form_absolute .rgpd label {
  font-size: 14px;
  display: flex;
  align-items: center;
}

/*********************************************
OVERRIDE DE HCOFFCANVAS POUR VERSION DESKTOP
 */
#menu-sidebar {
  display: none;
}

.hc-offcanvas-nav .nav-close a:hover {
  color: #FFFFFF;
}

.hc-offcanvas-nav .nav-container {
  height: 100vh;
  overflow: auto;
}

@media (max-width: 991.98px) {
  .hc-offcanvas-nav .nav-container {
    margin-top: 0;
  }
}

.hc-offcanvas-nav .nav-wrapper-2 a {
  padding: 14px 17px 14px 27px;
}

.hc-nav-2 {
  left: 100px;
  position: fixed;
}

.hc-nav-2 > span:before,
.hc-nav-2 > span:after,
.hc-nav-2 > span {
  background: #8b0000 !important;
}

/** MD et au dessus **/
@media (min-width: 992px) {
  nav.hc-offcanvas-nav {
    visibility: visible;
  }
  .hc-nav-trigger.hc-nav-1 {
    display: none !important;
  }
  .hc-offcanvas-nav.hc-nav-1.nav-position-left .nav-container {
    transform: translate3d(0, 0, 0) !important;
  }
  .hc-offcanvas-nav .nav-close {
    display: none;
  }
}

.nav-container {
  margin-top: 80px;
  box-shadow: 10px 10px 20px #00000029;
}

@media (max-width: 991.98px) {
  .nav-container {
    margin-top: 0;
  }
}

.page-container .container {
  margin-top: 10px !important;
  border-radius: 0 !important;
  box-shadow: none;
  padding-bottom: 30px;
}

.page-container {
  padding-top: 20px;
  min-height: 100vh;
  -webkit-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease;
  padding-left: 250px;
  padding-right: 10px;
}

@media (max-width: 991.98px) {
  .page-container {
    padding-left: 10px;
  }
}

#config-wrapper .container {
  max-width: unset;
  min-height: 100vh;
}

#edit_gender {
  /*   display: flex; */
  padding: 25px 0 0;
  display: inline-flex;
}

#edit_gender .radio input {
  position: absolute;
  left: -20px;
}

#edit_gender .radio label {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  font-weight: 400;
  vertical-align: middle;
  cursor: pointer;
  margin: 0 10px;
}

#config-wrapper > div > .container {
  border: solid #8b0000  1px;
}

.edit_mdp {
  color: #8b0000;
  border: solid 1px #8b0000;
  transition: all 0.2s ease-in;
}

#organisme .logo-organisme {
  position: absolute;
  top: 0;
  right: 15px;
  max-height: 100px;
}

#organisme .btn {
  font-weight: bold;
}

#organisme #accordion .panel {
  border-radius: 0;
  border: 0;
  margin-top: 0;
}

#organisme #accordion .row_delete {
  position: static;
}

#organisme #accordion a {
  display: block;
  padding: 15px 10px;
  border: solid 1px #8b0000;
  text-decoration: none;
  color: #8b0000;
}

#organisme #accordion a.btn {
  padding: 5px 0;
}

#organisme #accordion .panel-heading {
  padding: 0;
  border-radius: 0;
  text-align: left;
}

#organisme #accordion .panel-heading a {
  text-transform: uppercase;
}

#organisme #accordion .panel-heading a.collapsed:hover, #organisme #accordion .panel-heading a.collapsed:focus {
  transition: all 0.2s ease-in;
  color: #8b0000;
}

#organisme #accordion .panel-heading a:not(.collapsed) {
  color: #8b0000;
  border: solid 1px #8b0000;
  transition: all 0.2s ease-in;
}

#organisme #accordion .panel-heading .accordion-toggle {
  text-align: left;
  cursor: pointer;
}

#organisme #accordion .panel-heading .accordion-toggle::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f00d";
  float: right;
  color: #8b0000;
  transform: rotate(0deg);
  transition: all 0.2s ease-in;
}

#organisme #accordion .panel-heading .accordion-toggle.collapsed::before {
  color: #8b0000;
  transform: rotate(-135deg);
  transition: all 0.2s ease-in;
}

#parametre-cron li {
  width: 100% !important;
}

#crud form .validation {
  position: absolute;
  top: 0;
  right: 15px;
  z-index: 12;
}

#crud form .content {
  overflow: auto;
}

#crud form .content thead tr {
  box-shadow: 0 3px 3px #999;
}

#crud form .content thead tr th {
  position: sticky;
  top: 0;
  background: white;
  z-index: 10;
  box-shadow: 3px 3px 3px #999;
}

#crud form .content input:hover {
  cursor: pointer;
}

#config-wrapper .form_content {
  position: relative;
}

#config-wrapper .form_content .close {
  font-size: 20px;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 1;
}

#config-wrapper .form_content #icons_fa {
  width: 90%;
  position: absolute;
  background: #fff;
  height: 50vh;
  overflow: auto;
  padding: 1rem 2rem;
  left: 5%;
  border: solid 1px;
  z-index: 1000;
  bottom: 0;
}

#config-wrapper .form_content #icons_fa .icons_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

#config-wrapper .form_content #icons_fa .icons_content .icon_select {
  font-size: 2rem;
  margin-right: 2rem;
  margin-bottom: 2rem;
  cursor: pointer;
}

#config-wrapper .form_content #app_bundle_statut_type_icon {
  position: relative;
}

#config-wrapper .form_content .icon_display_js {
  color: #495057;
  font-size: 20px;
  position: absolute;
  bottom: 0;
  right: 15px;
  left: 15px;
  border: 1px solid #ced4da;
  display: flex;
  align-items: center;
  background: white;
  padding-left: 10px;
  pointer-events: none;
  height: 34px;
  border-radius: 5px;
}

#family-wrapper .select_vaccin {
  height: 100%;
}

#family-wrapper .select_vaccin select {
  height: 75%;
}

#family-wrapper hr {
  border-color: #59BDBD;
  border-width: 3px;
  margin: 2px;
}

table {
  width: 100%;
}

#export-choice .famille, #export-choice .alert {
  position: relative;
}

#export-choice table {
  width: 100%;
}

#export-choice table tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 5px;
}

#export-choice table tr:nth-child(odd) {
  background: lightgray;
}

#export-choice .form-check-input {
  position: inherit;
}

#organisme_checklist.normal {
  position: relative;
  background: white;
}

#organisme_checklist.normal .checklist_details > div:hover {
  background: #59BDBD;
  color: white !important;
}

#organisme_checklist.normal .mandatory {
  border: solid 1px #c82333;
  padding: 2px 5px;
  margin-left: 5px;
  border-radius: 10px;
  color: #c82333;
}

#organisme_checklist.normal .wrapper {
  height: 100%;
  overflow-y: auto;
  padding: 10px;
  position: relative;
}

#organisme_checklist.normal .wrapper a {
  color: #333333 !important;
  display: flex;
  align-items: center;
  text-decoration: none;
  padding-top: 10px;
}

#organisme_checklist.normal .wrapper a h3 {
  font-size: 25px !important;
}

#organisme_checklist.normal .wrapper a .content {
  width: 100%;
  padding-bottom: 10px;
  margin-bottom: 10px;
  position: relative;
  border-bottom: solid 1px #59BDBD;
}

#organisme_checklist.normal .wrapper a .content .titre {
  font-size: 20px;
}

#organisme_checklist.normal .wrapper a .content .text {
  font-size: 14px;
}

#minimise_organisme_checklist .green {
  margin-top: 15px;
}

#minimise_organisme_checklist .progresse {
  margin: auto;
}

#minimise_organisme_checklist .green .progresse,
#minimise_organisme_checklist .red .progresse,
#minimise_organisme_checklist .orange .progresse {
  position: relative;
  border-radius: 50%;
}

#minimise_organisme_checklist .green .progresse,
#minimise_organisme_checklist .red .progresse,
#minimise_organisme_checklist .orange .progresse {
  width: 110px;
  height: 110px;
}

#minimise_organisme_checklist .green .progresse {
  border: 5px solid #53fc53;
}

#minimise_organisme_checklist .green .progresse {
  box-shadow: 0 0 20px #029502;
}

#minimise_organisme_checklist .green .progresse,
#minimise_organisme_checklist .red .progresse,
#minimise_organisme_checklist .orange .progresse {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

#minimise_organisme_checklist .green .progresse .inner,
#minimise_organisme_checklist .red .progresse .inner,
#minimise_organisme_checklist .orange .progresse .inner {
  position: absolute;
  overflow: hidden;
  z-index: 2;
  border-radius: 50%;
}

#minimise_organisme_checklist .green .progresse .inner,
#minimise_organisme_checklist .red .progresse .inner,
#minimise_organisme_checklist .orange .progresse .inner {
  width: 100px;
  height: 100px;
}

#minimise_organisme_checklist .green .progresse .inner,
#minimise_organisme_checklist .red .progresse .inner,
#minimise_organisme_checklist .orange .progresse .inner {
  border: 5px solid white;
}

#minimise_organisme_checklist .green .progresse .inner,
#minimise_organisme_checklist .red .progresse .inner,
#minimise_organisme_checklist .orange .progresse .inner {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

#minimise_organisme_checklist .green .progresse .inner .water,
#minimise_organisme_checklist .red .progresse .inner .water,
#minimise_organisme_checklist .orange .progresse .inner .water {
  position: absolute;
  z-index: 1;
  width: 200%;
  height: 200%;
  left: -50%;
  border-radius: 40%;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-name: spin;
  animation-name: spin;
}

#minimise_organisme_checklist .green .progresse .inner .water {
  top: 25%;
}

#minimise_organisme_checklist .green .progresse .inner .water {
  background: rgba(83, 252, 83, 0.5);
}

#minimise_organisme_checklist .green .progresse .inner .water,
#minimise_organisme_checklist .red .progresse .inner .water,
#minimise_organisme_checklist .orange .progresse .inner .water {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

#minimise_organisme_checklist .green .progresse .inner .water,
#minimise_organisme_checklist .red .progresse .inner .water,
#minimise_organisme_checklist .orange .progresse .inner .water {
  -webkit-animation-duration: 10s;
  animation-duration: 10s;
}

#minimise_organisme_checklist .green .progresse .inner .water {
  box-shadow: 0 0 20px #03bc03;
}

#minimise_organisme_checklist .green .progresse .inner .glare,
#minimise_organisme_checklist .red .progresse .inner .glare,
#minimise_organisme_checklist .orange .progresse .inner .glare {
  position: absolute;
  top: -120%;
  left: -120%;
  z-index: 5;
  width: 200%;
  height: 200%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-radius: 50%;
}

#minimise_organisme_checklist .green .progresse .inner .glare,
#minimise_organisme_checklist .red .progresse .inner .glare,
#minimise_organisme_checklist .orange .progresse .inner .glare {
  background-color: rgba(255, 255, 255, 0.15);
}

#minimise_organisme_checklist .green .progresse .inner .glare,
#minimise_organisme_checklist .red .progresse .inner .glare,
#minimise_organisme_checklist .orange .progresse .inner .glare {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

#minimise_organisme_checklist .green .progresse .inner .percent,
#minimise_organisme_checklist .red .progresse .inner .percent,
#minimise_organisme_checklist .orange .progresse .inner .percent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-weight: bold;
  text-align: center;
}

#minimise_organisme_checklist .green .progresse .inner .percent,
#minimise_organisme_checklist .red .progresse .inner .percent,
#minimise_organisme_checklist .orange .progresse .inner .percent {
  line-height: 90px;
  font-size: 25px;
}

#minimise_organisme_checklist .green .progresse .inner .percent {
  color: #03c603;
}

#minimise_organisme_checklist .green .progresse .inner .percent {
  text-shadow: 0 0 10px #029502;
}

#minimise_organisme_checklist .green .progresse .inner .percent,
#minimise_organisme_checklist .red .progresse .inner .percent,
#minimise_organisme_checklist .orange .progresse .inner .percent {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

#minimise_organisme_checklist .red {
  margin-top: 15px;
}

#minimise_organisme_checklist .red .progresse {
  border: 5px solid #ed3b3b;
}

#minimise_organisme_checklist .red .progresse {
  box-shadow: 0 0 20px #7a0b0b;
}

#minimise_organisme_checklist .red .progresse .inner .water {
  top: 75%;
}

#minimise_organisme_checklist .red .progresse .inner .water {
  background: rgba(237, 59, 59, 0.5);
}

#minimise_organisme_checklist .red .progresse .inner .water {
  box-shadow: 0 0 20px #9b0e0e;
}

#minimise_organisme_checklist .red .progresse .inner .percent {
  color: #a30f0f;
}

#minimise_organisme_checklist .red .progresse .inner .percent {
  text-shadow: 0 0 10px #7a0b0b;
}

#minimise_organisme_checklist .orange {
  margin-top: 15px;
}

#minimise_organisme_checklist .orange .progresse {
  border: 5px solid #f07c3e;
}

#minimise_organisme_checklist .orange .progresse {
  box-shadow: 0 0 20px #7e320a;
}

#minimise_organisme_checklist .orange .progresse .inner .water {
  top: 50%;
}

#minimise_organisme_checklist .orange .progresse .inner .water {
  background: rgba(240, 124, 62, 0.5);
}

#minimise_organisme_checklist .orange .progresse .inner .water {
  box-shadow: 0 0 20px #a0400c;
}

#minimise_organisme_checklist .orange .progresse .inner .percent {
  color: #a8430d;
}

#minimise_organisme_checklist .orange .progresse .inner .percent {
  text-shadow: 0 0 10px #7e320a;
}

#minimise_organisme_checklist #copyright {
  margin-top: 25px;
  background-color: transparent;
  font-size: 14px;
  color: #b3b3b3;
  text-align: center;
}

#minimise_organisme_checklist #copyright div {
  margin-bottom: 10px;
}

#minimise_organisme_checklist #copyright a,
#minimise_organisme_checklist #copyright a:link {
  color: #808080;
  text-decoration: none;
  border-bottom: 1px solid #808080;
  padding-bottom: 2px;
}

#minimise_organisme_checklist #copyright a:active {
  color: #b3b3b3;
}

#minimise_organisme_checklist #copyright a:hover {
  color: #b3b3b3;
  border-bottom: 1px solid #b3b3b3;
  padding-bottom: 4px;
}

#minimise_organisme_checklist .instructions {
  display: inline-block;
  margin: 5px 0;
  font-size: 16px;
}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

#memberships legend {
  position: relative;
}

#memberships legend .edit {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 5%;
}

#memberships fieldset .content {
  border: solid 1px red;
  display: flex;
  flex-wrap: wrap;
  padding: 10px;
}

#memberships fieldset .content .dates, #memberships fieldset .content .date_paiement, #memberships fieldset .content .method_paiement {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

#memberships fieldset .content.green {
  border: solid 1px green !important;
}

#ajax_render_details {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.7);
}

#ajax_render_details .cotisation_content {
  width: 80vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 20px;
}

#ajax_render_details .cotisation_content .closed {
  position: absolute;
  top: 5px;
  right: 10px;
  font-weight: bold;
  cursor: pointer;
}

#course-wrapper .mandatory {
  border: solid 2px red;
  border-radius: 8px;
  position: relative;
}

#course-wrapper .mandatory:after {
  content: "Un de ces champs est obligatoire";
  position: absolute;
  z-index: 9;
  background: rgba(0, 0, 0, 0.8);
  padding: 2px 10px;
  display: block;
  width: 100%;
  color: white;
  top: 110%;
}

#course-wrapper .action_buttons {
  display: flex;
  justify-content: space-between;
  padding: 0 15px;
}

#table_lvl .align-items-center {
  width: 100vw !important;
  overflow: scroll;
  overflow-y: hidden;
}

#stat .content-table {
  border-collapse: collapse;
  margin: 25px 0;
  font-size: 0.9em;
  min-width: 400px;
  border-radius: 5px 5px 0 0;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

#stat .content-table thead tr {
  background-color: #009879;
  color: #ffffff;
  text-align: left;
  font-weight: bold;
}

#stat .content-table thead tr th {
  border: solid 1px;
}

#stat .content-table th {
  padding: 12px 15px;
  text-align: center;
}

#stat .content-table td {
  padding: 12px 15px;
}

#stat .content-table td {
  text-align: center;
}

#stat .content-table tbody tr {
  border-bottom: 1px solid #dddddd;
}

#stat .content-table tbody tr:nth-of-type(even) {
  background-color: #f3f3f3;
}

#stat .content-table tbody tr:last-of-type {
  border-bottom: 2px solid #009879;
}

#stat .content-table tbody tr.active-row {
  font-weight: bold;
  color: #009879;
}

#stat .content-table tfoot {
  font-size: .8rem;
}

.moutarde {
  color: #ffc107 !important;
}

.vert {
  color: #28a745 !important;
}

.red {
  color: #c82333 !important;
}

.pourpre {
  color: #8b0000 !important;
}

.brown {
  color: #93282a !important;
}

.blue {
  color: #4169E1 !important;
}

.blue_light {
  color: #97bfe3 !important;
}

.grey {
  color: #bfbfbf !important;
}

.orange {
  color: #D2691E !important;
}

.orange_dpm {
  color: #f8aa6a !important;
}

.blue_dpm {
  color: #59BDBD !important;
}

.red_strong {
  color: #D80A0A !important;
}

.yellow {
  color: #eec64d !important;
}

.green_dpm {
  color: #3cb371 !important;
}

.purple_dpm {
  color: #da70d6 !important;
}

body {
  background: rgba(200, 200, 200, 0.8);
}

a {
  text-decoration: none !important;
  color: #333333;
}

a:hover {
  text-decoration: none !important;
  color: #333333;
}

*, h1 {
  font-family: 'saira_semicondensedregular', sans-serif;
}

h2, h3, h4, h5, h6 {
  font-family: 'Economica', sans-serif;
}

h2 sup svg {
  width: 20px !important;
  margin-left: 5px;
}

.table_options,
#table_options {
  position: relative;
}

#config-wrapper .table_options ul {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0;
}

#config-wrapper .table_options ul li {
  margin: 5px 10px;
}

#table_options ul {
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  text-align: center;
}

table ul {
  padding: 0;
}

table svg {
  margin: initial !important;
}

#message_flash {
  position: absolute;
  left: calc(50% - 108px);
  top: 25%;
  z-index: 9;
}

#logo {
  width: 50px;
}

.hidden {
  display: none;
}

.i-big {
  font-size: 20px;
}

/*//modif bouton upload*/
#FakeInput {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#FakeInput input {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 10;
  width: 50%;
  height: 100% !important;
}

#FakeInput span {
  display: inline-block;
  vertical-align: top;
}

#FakeInput span:first-child {
  overflow: hidden;
  white-space: nowrap;
  width: 150px;
  height: 25px;
  padding-left: 5px;
  border: 1px solid #333333;
  text-overflow: ellipsis;
  font: 100%/25px sans-serif;
  color: #666;
  border-radius: 3px;
}

#FakeInput span + span {
  margin-left: 5px;
  text-align: center;
  text-decoration: underline;
}

#FakeInput label {
  display: initial;
  width: 100%;
}

#FakeInput .new_label {
  text-decoration: none;
  cursor: pointer;
}

#FakeInput .uplaod_rules {
  width: 100%;
  font-size: 12px;
}

.toggle-group .btn {
  width: initial !important;
}

.valide {
  color: #28a745;
}

.proches {
  color: #FF8C00;
}

.urgence {
  color: #c82333;
}

#member-section .valide {
  color: #28a745;
}

#member-section .proches {
  color: #FF8C00;
}

#member-section .urgence {
  color: #c82333;
}

.fs-25 {
  font-size: 25px;
}

.fs-20 {
  font-size: 20px;
}

.fs-18 {
  font-size: 18px;
}

.border-1 {
  border: solid 1px;
}

.border-2 {
  border: solid 2px;
}

.border-3 {
  border: solid 3px;
}

.border-4 {
  border: solid 4px;
}

.border-5 {
  border: solid 5px;
}

.border-dpm {
  border-color: #59BDBD !important;
}

.actions_elements_block {
  display: flex;
}

.actions_elements_block label select {
  font-size: 14px;
  padding: 0.5rem 0.75rem;
  margin-right: 10px;
}

#periode_essai {
  position: fixed;
  bottom: 0;
  right: 0;
  border: solid 1px red;
  text-transform: uppercase;
  padding: 5px 10px;
  background: white;
  z-index: 9;
}

#periode_essai a {
  color: red !important;
}

.video_documentation .title {
  color: #59BDBD;
  font-weight: bold;
  font-size: 1.3rem;
}

/*CHECKBOX*/
#organisme input[type="checkbox"] {
  position: relative;
  width: 60px !important;
  height: 20px !important;
  -webkit-appearance: none;
  background: #8b0000 !important;
  outline: none;
  border-radius: 50px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
  transition: .5s;
  margin: 0 5px;
  cursor: pointer;
}

#organisme input:checked[type="checkbox"] {
  background: #59BDBD !important;
}

#organisme input[type="checkbox"]:before {
  content: '';
  position: absolute;
  width: 30px !important;
  height: 20px !important;
  border-radius: 20px;
  top: 0;
  left: 0;
  background: #fff !important;
  transform: scale(1.1);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: .5s;
}

#organisme input:checked[type="checkbox"]:before {
  left: 28px !important;
}

.invalid {
  color: red;
}

/*********************LOADER*********************/
#loader {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99999;
}

#loader .content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.5);
  z-index: 1;
  display: flex;
  align-items: center;
}

#loader .content img {
  margin: auto;
}

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Color/Title/Font/link/List
2.0 Navigation
3.0 Header
4.0 Footer
5.0 Button
6.0 Footer
7.0 Pages
	 7.1 HOME
	 7.2 Family
	    7.2.1 Family list
	    7.2.3 Family details
--------------------------------------------------------------*/
/*--------------------------------------------------------------
1.0 Color/Title/Font/link/List
--------------------------------------------------------------*/
@media (max-width: 991px) {
  /*-----------------------------------------------------------------------------------------------------------------

    ------------------- 1.0 Color/Title/Font/link/List

    ----------------------------------------------------------------------------------------------------------------- */
  #modal-outils-home {
    margin: 0 0;
    z-index: 999;
    background: #fff;
    position: absolute;
    text-align: center !important;
    border: solid 1px #999;
    padding: 10px 0;
    max-width: 720px;
  }
  #modal-outils-home img {
    width: 50% !important;
  }
  #modal-outils-home svg {
    font-size: 50px;
  }
  #modal-outils-home > div > div > div {
    height: 100px;
    padding: 0;
  }
  #modal-outils-home #statut-page {
    /*! margin-top: 10px!important; */
  }
  #modal-outils-home #identification {
    width: 40% !important;
    margin: 0 20px !important;
  }
  #modal-outils-home .hide {
    font-size: 50px;
  }
  #modal-outils-home #activation {
    margin-bottom: 20px;
    height: initial;
  }
  #member-template #modal-outils-home {
    padding: 10px;
  }
  #modal-outils-home .content {
    padding-right: 20px;
  }
  /*--------------------------------------MENU--------------------------------------*/
  #new_menu {
    margin-bottom: 50px;
  }
  #new_menu .navbar {
    padding: 0.5rem 1rem;
  }
  #new_menu .nav-link svg {
    width: auto;
    display: inherit;
    margin: initial;
    margin-bottom: 0;
  }
  #new_menu .nav-link {
    margin-bottom: 10px;
  }
  /*-----------------------------------------------------------------------------------------------------------------

    ------------------- MEMBRES

    ----------------------------------------------------------------------------------------------------------------- */
  .bouton-lat {
    top: 90px !important;
  }
  #member-template h1 {
    font-size: 18px;
  }
  #member-template sup {
    top: 0;
    font-size: 12px;
  }
  .block-adresse {
    font-size: 12px;
  }
  #show, #edit {
    font-size: 20px;
  }
  /*---------------------------------DETAILS MEMBRE---------------------------------*/
  #action-alerte .emails {
    color: #17a2b8;
  }
  #action-alerte .emails:hover {
    color: #fff;
  }
  #action-alerte .hover {
    top: -90px;
    left: 0;
    width: 100%;
    display: none;
  }
  #action-alerte .hover a {
    border-bottom: 1px solid #999 !important;
    padding: 10px;
  }
  #action-alerte .hover a:hover {
    background: #17a2b8;
    color: #fff;
  }
  #action-alerte .btn-group:hover .hover {
    display: block;
    position: absolute;
    bottom: 40px;
  }
  /*----------------------------------MEMBRE LISTE----------------------------------*/
  #member-section h1 {
    text-align: center !important;
  }
  /*-----------------------------------------------------------------------------------------------------------------

    ------------------- ANIMAL

    ----------------------------------------------------------------------------------------------------------------- */
  .tuile-animal #show, .tuile-animal #edit {
    font-size: 20px;
    margin: 0 10px;
  }
  /*-----------------------------------------------------------------------------------------------------------------

    ------------------- tableaux

    ----------------------------------------------------------------------------------------------------------------- */
  #table_alerte_wrapper {
    overflow: scroll;
  }
  .emails .btn-group {
    width: 100%;
  }
  /*-----------------------------------------------------------------------------------------------------------------

    ------------------- Présence

    ----------------------------------------------------------------------------------------------------------------- */
  .fc-left {
    width: 100%;
    margin-bottom: 10px;
  }
  .fc-left div {
    width: 100%;
  }
  .fc-left div button:nth-child(3) {
    width: 65%;
  }
  .fc-right {
    width: 100%;
    margin-bottom: 10px;
  }
  .fc-right .fc-button-group {
    width: 96%;
  }
  .fc-right button {
    width: 33%;
    margin-bottom: 10px;
  }
  .fc-center h2 {
    text-transform: capitalize;
  }
}

.essai {
  color: #ffc107;
}

.valid {
  color: #28a745;
}

.readh {
  color: #c82333;
}

.cxl {
  color: #8b0000;
}

@media screen and (max-width: 767px) {
  #navbar .navbar-nav li iframe {
    display: none;
  }
  #navbarSupportedContent li a svg {
    width: 40px !important;
    margin: 0 !important;
    margin-right: 10px !important;
  }
  #navbarSupportedContent li a {
    display: flex !important;
  }
}

.container {
  background: #fff;
  padding-top: 10px;
  margin-bottom: 20px;
  box-shadow: 0 0 10px 2px #999;
}

#stat.container {
  border: solid #eec64d !important;
}

.resume-text,
#comment,
.detail-text,
.tuile-animal,
#animal-problems,
#section #tuiles .ok,
#member-section .members-list,
#accueil-creation .vignette {
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 2px !important;
  box-shadow: 1px 0 3px #999 !important;
  padding: 10px !important;
  border-left-width: 3px !important;
}

.descriptif {
  margin-top: 20px;
}

.er-contact {
  height: 81px;
}

#animal-zone, #member-zone {
  margin-top: 30px;
}

.tuile-animal {
  padding: 10px;
  margin-bottom: 10px;
}

.tablinks {
  cursor: pointer;
}

#very-small {
  font-size: 10px;
}

#small {
  font-size: 12px;
}

#retour {
  height: 100% !important;
}

#doc-pdf, #doc-word {
  font-size: 120px;
}

#titre {
  color: #59BDBD;
  font-weight: bold;
}

.resume-text {
  border: solid 5px #59BDBD;
  border-radius: 10px;
  padding: 10px;
  height: 100%;
}

.tuile-animal {
  border: solid 5px #59BDBD;
  border-radius: 10px;
  padding: 10px;
  height: 100%;
}

.detail-text {
  border: solid 5px #59BDBD;
  border-radius: 10px;
  padding: 10px;
}

.assurance {
  color: #c82333;
}

.attention {
  color: #FF8C00;
}

.block-adresse {
  font-size: 17px;
  padding: 0;
}

#animal .assurance, #animal .proches, #animal .attention {
  font-weight: normal !important;
}

#animal .assurance i, #animal .proches i, #animal .attention i {
  font-weight: 900 !important;
}

.dropdown:hover > .dropdown-menu {
  display: block;
}

#bold {
  font-weight: bold;
}

form li {
  color: red;
  font-weight: bold;
}

/******** Form***************/
.container {
  border: solid #59BDBD;
  border-radius: 10px;
}

.container .top {
  margin-top: 50px;
}

.container .bottom {
  margin-bottom: 20px;
}

.form-control::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #495057;
}

.form-control::-moz-placeholder {
  /* Firefox 19+ */
  color: #495057;
}

.form-control:-ms-input-placeholder {
  /* IE 10+ */
  color: #495057;
}

.form-control:-moz-placeholder {
  /* Firefox 18- */
  color: #495057;
}

label {
  display: block;
  font-size: 20px;
}

input {
  width: 100%;
}

textarea {
  height: 150px;
  padding: 10px;
  width: 100%;
}

select {
  width: 100%;
  padding: 0;
}

#animal_solo_images_file, #app_bundle_animal_type_images_file {
  height: 46px !important;
}

#member_solo_idfamily {
  width: auto;
}

h2 {
  font-size: 30px;
  font-weight: normal;
}

#bouton-row {
  margin-top: 30px;
}

.container {
  padding-top: 10px;
}

hr {
  margin-bottom: 4px;
}

#app_bundle_family_type_id_type {
  width: 100%;
}

.adherent #app_bundle_adherent_type_image_rights,
.adherent #app_bundle_adherent_type_job,
.adherent #app_bundle_adherent_type_categories,
#member_solo_idfamily {
  width: 100% !important;
}

.animal select {
  width: 100%;
}

.animal #app_bundle_animal_type_sterilized, #animal_solo_sterilized {
  /*   border: solid; */
  display: inline-flex;
}

.animal #app_bundle_animal_type_sterilized label,
#animal_solo_sterilized label,
.animal #app_bundle_animal_type_sterilized #app_bundle_animal_type_sterilized_0,
.animal #app_bundle_animal_type_sterilized #app_bundle_animal_type_sterilized_1,
#animal_solo_sterilized_0, #animal_solo_sterilized_1 {
  /*   border: red solid; */
  width: 50%;
  display: block;
}

#app_bundle_animal_type_sterilized_0, #app_bundle_animal_type_sterilized_1,
#animal_solo_sterilized_0, #animal_solo_sterilized_1 {
  margin: 0 10px 0 20px;
}

.animal #app_bundle_animal_type_other_vaccins {
  height: 104px;
}

.animal #image-holder img {
  width: 100%;
  border: solid white 1px;
}

.animal #image-holder {
  max-height: 200px;
  overflow: auto;
}

#app_bundle_family_type_familyStatus, #app_bundle_family_type_id_type {
  width: 100%;
  text-transform: capitalize;
}

.contact textarea {
  height: 70px !important;
  margin-bottom: 15px;
}

.commentaire textarea {
  height: 100px !important;
}

.thumb-image {
  width: 100%;
  padding: 10px 0;
}

#member_solo_save_and_add, #animal_solo_save_and_add {
  display: none;
}

#app_bundle_adherent_type_idfamily {
  border: none;
}

.big select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/*******************FOND FORM FAMILY***********************/
.family {
  position: relative;
}

@media (max-width: 665px) {
  .family:before, .adherent:before {
    display: none;
  }
}

/*******************FOND FORM adherent***********************/
.adherent {
  position: relative;
}

#app_bundle_try_adherent_type_idfamily {
  border: none;
}

/*******************FOND FORM adherent try***********************/
.adherent-try {
  position: relative;
}

.adherent-try:before {
  content: "\F007";
  color: #59BDBD;
  color: rgba(89, 189, 189, 0.1) !important;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 500px;
  position: absolute;
  bottom: -100px;
  left: 50%;
  margin-left: -312px;
}

/*******************FOND FORM ANIMAL***********************/
.animal {
  position: relative;
}

.death label {
  font-size: 12px !important;
}

/*********try*******************/
.animal-try {
  position: relative;
}

.animal-try:before {
  content: "\F1B0";
  color: #59BDBD;
  color: rgba(89, 189, 189, 0.1) !important;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 500px;
  position: absolute;
  bottom: -100px;
  left: 50%;
  margin-left: -312px;
}

/*******************FOND FORM FAMILY TRY***********************/
.family-try {
  position: relative;
}

.family-try:before {
  content: "\F0C0";
  color: #59BDBD;
  color: rgba(89, 189, 189, 0.1) !important;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 500px;
  position: absolute;
  bottom: -100px;
  left: 50%;
  margin-left: -312px;
}

/********************* section************/
.search .search-filtre input {
  font-size: 20px;
}

.search .alert-filtre button {
  font-size: 20px;
}

.search {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

.search > div:first-child {
  width: 100% !important;
  margin-bottom: 10px;
}

.search > div:first-child .input-flat {
  margin: 0 !important;
}

.search > div:first-child .form-group {
  margin: 0;
}

#section #tuiles {
  padding: 10px;
}

#section a {
  color: initial;
}

#section #tuiles h3 {
  font-size: 20px;
}

#members-section #tuiles a {
  color: #333333;
}

#members-section #tuiles a:hover {
  text-decoration: none;
}

#section .icones, #section .rages {
  width: 100%;
  margin: 0;
  bottom: 5%;
  font-size: 25px;
}

#section #tuiles .ok {
  position: relative;
}

#section .valide {
  color: #28a745;
}

#section .affiche {
  position: relative;
  color: #333333;
}

#section a {
  text-decoration: none;
}

#section .card-body {
  position: relative;
  padding: 0;
  /*     padding-top: 0 */
}

#section .assurances:hover .hover, #section .adhesion:hover .hover, #section .status:hover .hover, #section .rages:hover .hover, #section .id-family:hover .hover {
  display: block;
}

#section .assurances .hover, #section .adhesion .hover, #section .status .hover, #section .rages .hover, #section .id-family .hover {
  border: solid 1px #59BDBD;
  display: none;
  background: #FFFFFF;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

#section .hover h3, #section .hover h3 {
  font-size: 13px !important;
}

#section .text-hover {
  font-size: 11px;
}

#section #family-number {
  font-size: 20px;
}

#section .sous-titre {
  font-size: 13px;
}

#section #animal .details {
  display: flex;
  justify-content: space-between;
  text-align: left;
  flex-wrap: wrap;
}

#section #animal .details > div {
  display: flex;
  align-items: center;
  width: calc(100% / 6);
}

@media (max-width: 991.98px) {
  #section #animal .details > div {
    margin-top: 10px;
    width: calc(100% / 2);
  }
}

#section #animal .details > div > div {
  width: 100%;
}

#section #animal .details h3 {
  margin: 0;
  padding: 0;
}

/*!****************************general icons*************************************!*/
#perfect {
  color: #28a745;
}

#wrong {
  color: #dc3545;
}

#birth, #phone, #animal-template #user, #email {
  color: #4169E1;
}

#show, .show {
  color: #bfbfbf;
}

#edit {
  color: #D2691E;
}

#femelle, #male, #passeport, #identity, #categorie, #student, #activity, #job-case, #user-add, #user-link {
  color: #6E6e6e;
  margin-right: 5px;
}

#paw, #family {
  color: #59BDBD;
}

#no-docs, #steri-no {
  color: #D80A0A;
}

#yes-docs, #steri-yes, #valid {
  color: #28a745;
}

#post-it {
  color: #DAA520;
}

#try {
  color: #ffc107;
}

#redo {
  color: #c82333;
}

#soon, .soon {
  color: #FF8C00;
}

#delete, #canceled {
  color: #8B0000;
  font-size: 40px;
  padding-top: 10px;
}

#alerte {
  color: #c82333;
}

#activite #delete, #race #delete {
  font-size: 15px;
}

#statut-page {
  width: 20px;
  margin: 0 7px;
}

.fa-syringe {
  margin-right: 0 !important;
}

/**********************CREATION PAGE*********/
#accueil-creation .vignette {
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 5px #59BDBD;
  border-radius: 10px;
  font-size: 30px;
  text-decoration: none;
  height: 150px;
  width: 100%;
  padding: 20px 10px;
  text-align: center;
}

#accueil-creation .vignette:hover {
  background: #59BDBD;
  color: white;
}

/********DOCS PAGE********/
/*******animal template*********/
#detail-animal ul li {
  width: auto;
  display: inline-flex;
}

#animal-template .liste-conducteur {
  padding: 0;
}

#animal-template .descriptif #detail-animal {
  position: relative;
}

#comment {
  position: relative;
}

#animal-template .descriptif #global-animal {
  position: relative;
}

#animal-template #school {
  position: relative;
}

#animal-template #school #show {
  width: 15px;
}

#animal-template #global-animal .row, #animal-template #detail-animal .col-12 {
  margin-bottom: 5px;
}

#animal-template ul {
  padding-left: 0;
}

#animal-template #school div {
  /*   border: solid; */
  padding-left: 15px;
}

#animal-template .liste-conducteur li {
  /*   border: solid; */
  list-style: none;
  width: 48%;
  display: inline-table;
}

#animal-template #passeport {
  width: 12px;
  margin-right: 8px;
  margin-left: 5px;
}

#animal-template .descriptif svg {
  width: 25px;
}

#animal-template .liste-conducteur a {
  padding-right: 5px;
}

#animal-template .descriptif .resume-text, #member-template .descriptif .resume-text {
  border: solid 5px #59BDBD;
  border-radius: 10px;
  padding: 10px;
  height: 100%;
}

#animal-template .resume-text #myImg {
  max-height: 270px;
}

/* Style the Image Used to Trigger the Modal */
#myImg {
  /*border-radius: 5px;*/
  cursor: pointer;
  transition: 0.3s;
  width: 100%;
  box-shadow: 3px 3px 3px #999;
}

#myImg:hover {
  opacity: 0.7;
}

/* Caption of Modal Image (Image Text) - Same Width as the Image */
#caption {
  box-shadow: none;
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  /*color: #ccc;*/
  padding: 10px 0;
  height: 150px;
}

/* Add Animation - Zoom in the Modal */
.modal-content, #caption {
  animation-name: zoom;
  animation-duration: 0.6s;
}

@keyframes zoom {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}

/* The Close Button */
.close {
  position: absolute;
  top: 7%;
  right: 21%;
  color: #ffffff !important;
  font-size: 70px;
  font-weight: bold;
  transition: 0.3s;
}

.close:hover,
.close:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px) {
  .modal-content {
    width: 100%;
  }
}

/**************************member template ***************************/
#member-template li {
  list-style: none;
}

#member-template ul {
  padding: 0;
}

#member-template svg {
  margin-right: 10px;
}

#member-template #small {
  font-size: 18px;
}

.member-category li {
  /*   border: solid; */
  list-style: none;
  width: 49%;
  display: inline-table;
}

#member-template #global-details .resume-text {
  position: relative;
}

#member-template #category-details .resume-text {
  position: relative;
}

/**************************member list ***************************/
#member-section .members-list {
  border: solid 5px #59BDBD;
  border-radius: 10px;
  padding: 10px 0;
  font-size: 14px;
  /*   color: white; */
}

#member-section #show, #member-section #edit {
  font-size: 20px;
}

/***************date form******************/
#app_bundle_animal_type_rag_date_month,
#app_bundle_animal_type_rag_date_day,
#app_bundle_animal_type_rag_date_year,
#family_solo_first_adh_date_month,
#family_solo_first_adh_date_day,
#family_solo_first_adh_date_year,
#member_solo_dob_month,
#member_solo_dob_day,
#member_solo_dob_year,
#family_solo_end_adh_date_month,
#family_solo_end_adh_date_day,
#family_solo_end_adh_date_year,
#family_solo_insuranceDate_month,
#family_solo_insuranceDate_day,
#family_solo_insuranceDate_year,
#app_bundle_animal_type_dob_day,
#app_bundle_animal_type_dob_month,
#app_bundle_animal_type_dob_year,
#app_bundle_adherent_type_dob_day,
#app_bundle_adherent_type_dob_month,
#app_bundle_adherent_type_dob_year,
#app_bundle_family_type_end_adh_date_day,
#app_bundle_family_type_end_adh_date_month,
#app_bundle_family_type_end_adh_date_year,
#app_bundle_family_type_first_adh_date_day,
#app_bundle_family_type_first_adh_date_month,
#app_bundle_family_type_first_adh_date_year,
#app_bundle_family_type_insuranceDate_day,
#app_bundle_family_type_insuranceDate_month,
#app_bundle_family_type_insuranceDate_year,
#animal_solo_dob_day,
#animal_solo_dob_month,
#animal_solo_dob_year,
#animal_solo_rag_date_day,
#animal_solo_rag_date_month,
#animal_solo_rag_date_year,
#animal_solo_dod_day,
#animal_solo_dod_month,
#animal_solo_dod_year,
#app_bundle_animal_type_dod_day,
#app_bundle_animal_type_dod_month,
#app_bundle_animal_type_dod_year,
#app_bundle_animal_type_dateOtherVaccin_day,
#app_bundle_animal_type_dateOtherVaccin_month,
#app_bundle_animal_type_dateOtherVaccin_year,
#animal_solo_dateOtherVaccin_day,
#animal_solo_dateOtherVaccin_month,
#animal_solo_dateOtherVaccin_year,
#app_bundle_alerte_type_alerteDate_day,
#app_bundle_alerte_type_alerteDate_month,
#app_bundle_alerte_type_alerteDate_year {
  width: 32.2% !important;
}

/*********************NAV DROITE**************************/
.bouton-lat {
  display: inline-block;
  position: fixed;
  right: 0;
  top: 110px;
  z-index: 100;
  background: #f8f9fa;
  box-shadow: 0 0 5px #999;
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px;
}

.bouton-lat svg {
  font-size: 30px;
  color: #008080;
  margin: 10px 0;
  background: #f8f9fa;
}

.bouton-lat .btn, .button {
  border: none;
  background-color: #f8f9fa;
  cursor: pointer;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  height: auto;
}

.bouton-lat .sidebar {
  width: 0;
  z-index: 100;
  margin-left: 10px;
}

/********************INDEX ******************/
/****************ACCEUIL*******************/
/******************DOCUMENTS***************/
#documents img {
  width: 100%;
  padding: 10px 0;
}

#app_bundle_documents_imageFile, #add_document_solo_imageFile {
  padding: 0 !important;
}

#detail-doc {
  border: solid 5px #59BDBD;
  border-radius: 10px;
  padding: 10px;
  position: relative;
}

#documents td, td {
  position: relative;
}

/******************COMMENT ZONE************/
#comment {
  border: solid 5px #59BDBD;
  border-radius: 10px;
  padding: 10px 0;
  height: 100%;
}

#member-template #comment .description, #animal-template #comment .description {
  /*border: solid 1px $dpm_color;*/
  height: 190px;
  overflow: auto;
  border-radius: 5px;
  padding: 5px 0;
  word-wrap: break-word;
}

#comment .form-control::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #495057;
}

#comment .form-control::-moz-placeholder {
  /* Firefox 19+ */
  color: #495057;
}

#comment .form-control:-ms-input-placeholder {
  /* IE 10+ */
  color: #495057;
}

#comment .form-control:-moz-placeholder {
  /* Firefox 18- */
  color: #495057;
}

#comment textarea {
  height: 100px;
  padding: 10px;
  width: 100%;
}

/*****************************config*******************************************/
#config-wrapper .container {
  border-radius: 10px;
}

#config-wrapper select, #config-wrapper input, #config-wrapper label {
  display: initial;
}

#config-wrapper #activite .search label, #config-wrapper #race .search label {
  display: block !important;
  margin: 20px auto;
}

#power-on {
  color: #c82333;
  font-size: 25px;
}

#user_activity_table #userRole #edit {
  float: left;
  font-size: 25px;
}

input[type="radio"] {
  -webkit-appearance: radio !important;
  border-radius: 0;
}

input, textarea, button {
  /*-webkit-appearance: none;*/
  -webkit-font-smoothing: antialiased;
  resize: none;
}

input[type="checkbox"] {
  background-color: #eee;
  width: 20px;
  height: 20px;
}

.dropdown:hover > .dropdown-menu {
  display: block;
}

.input-flat {
  width: 100%;
}

.cRetour {
  border-radius: 3px;
  padding: 10px;
  font-size: 15px;
  text-align: center;
  color: #fff;
  background: rgba(0, 0, 0, 0.25);
  z-index: 99999;
  transition: all ease-in 0.2s;
  position: fixed;
  cursor: pointer;
  bottom: 1em;
  right: 20px;
  display: none;
}

.cRetour:hover {
  background: black;
  transition: all ease-in 0.2s;
}

#arrow, #phone {
  font-size: 15px;
}

#config-wrapper ul {
  width: 100%;
}

/*******************USER ROLE********************/
#power-off {
  color: #c82333;
  font-size: 25px;
}

#warning {
  color: #FFA500;
  font-size: 25px;
}

#power-on {
  color: #28a745;
  font-size: 25px;
}

#userRole #edit {
  float: left;
  font-size: 25px;
}

#userRole {
  margin-bottom: 50px;
}

/*******************EXPORTS***********************/
#export-choice a:not(.link-courses), #export-choice .btn-secondary {
  border-radius: 2px !important;
  box-shadow: 3px 0 3px #999 !important;
  border-left: 3px solid #eec64d !important;
  padding: 10px;
  color: #565656;
  text-align: center !important;
  font-size: 30px;
  background: #fff;
  width: 100%;
}

#export-choice {
  padding: 20px;
}

#export-choice a svg {
  font-size: 30px;
  color: #eec64d;
}

#export-choice a:hover svg, #export-choice .active svg {
  color: #565656;
}

/******************ALERTE**********************/
#alert-wrapper .container {
  border: solid #c82333 3px;
  border-radius: 10px;
  margin: 50px auto 20px;
  padding-top: 10px;
}

/***********************************************************************************************************
modals
 */
/* The Modal (background) */
.modal {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 1;
  /* Sit on top */
  padding-top: 100px;
  /* Location of the box */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /*$txt_color_dark w/ opacity */
}

/* Modal Content */
.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 0;
  border: 1px solid #888;
  width: 80%;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.4s;
  animation-name: animatetop;
  animation-duration: 0.4s;
}

/* Add Animation */
@-webkit-keyframes animatetop {
  from {
    top: -300px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

@keyframes animatetop {
  from {
    top: -300px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

/* The Close Button */
.closeModal {
  color: white;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.closeModal:hover,
.closeModal:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

.modal-header {
  padding: 2px 16px;
  background-color: #5cb85c;
  color: white;
}

.modal-body {
  padding: 2px 16px;
}

.modal-footer {
  padding: 2px 16px;
  background-color: #5cb85c;
  color: white;
}

/* page saisi commentaire*/
#comment-zone textarea {
  width: 100%;
}

/*************OUTILS******************************/
/*************OUTILS******************************/
#outils .on-off {
  padding: 0 10px;
}

#outils .on-off a {
  line-height: 2;
}

#outils {
  position: relative;
}

#outils #identification {
  width: 40%;
  display: block;
  margin-left: auto;
}

#outils #over-outils {
  width: 100%;
  position: absolute;
  top: 55%;
  right: 0;
}

#outils #identification:hover #over-outils ul {
  display: block;
}

#outils #over-outils ul {
  list-style: none;
  margin: auto;
  width: 80%;
  box-shadow: 0 0 5px #999;
  background: #fff;
  z-index: 900;
  display: none;
}

#outils #over-outils li {
  width: 33%;
  float: left;
  text-align: center !important;
}

#outils #over-outils label {
  display: block;
  text-align: center;
}

#outils #over-outils .id-number, #outils #over-outils .on-off {
  width: 100%;
}

#outils #over-outils li img {
  width: 50%;
  display: block;
  margin: 10px auto;
}

#outils #over-outils li svg {
  font-size: 30px;
  text-align: center !important;
}

#outils #over-outils li a {
  display: block;
  text-align: center;
  width: 100%;
  margin: 0 0;
  padding: 0;
  height: 40px;
}

#family-desc #outils .family-suppresion:hover .suppresion-hover {
  display: flex;
}

#family-desc #outils .family-suppresion .suppresion-hover {
  display: none;
}

#family-desc #outils .family-suppresion .suppresion-hover a {
  line-height: 2.2;
  margin-top: 5px;
}

#family-desc #outils .family-suppresion .suppresion-hover a:hover {
  line-height: 2.2;
  color: #fff;
}

/***********************************************************************/
/*    email */
/***************************/
#create-email input, #create-email textarea, #create-email select {
  width: 100%;
}

#email-wrapper .container {
  border: solid #97bfe3 3px;
  border-radius: 10px;
  margin: 50px auto 20px;
  padding-top: 10px;
}

#email-send select, #email-send textarea {
  width: 100% !important;
}

#email-send input {
  width: 100%;
}

ul {
  list-style: none;
  padding: 0;
}

/***********************************************************************/
/*    formulaires */
/***************************/
.comment_form {
  border: none;
  background: transparent;
  width: 100% !important;
  resize: none;
}

#form_required input {
  width: 100%;
}

.preview_front_box {
  box-shadow: 0 0 10px #999;
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  z-index: 9999;
  width: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
}

.preview_front_box .preview_box {
  background: #fff;
  display: block;
  width: 90vw;
  margin: auto;
}

.preview_front_box img {
  padding: 0;
  margin: 0;
}

#documents .container {
  position: relative;
}

#close_preview {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 20px;
  background: white;
}

#close_preview:hover {
  background: #c82333;
  color: #fff;
}

div.dts div.dataTables_scrollBody {
  background: none;
}

.dataTables_wrapper {
  overflow-x: auto;
}

.dataTables_wrapper input,
.dataTables_wrapper label,
.dataTables_wrapper select {
  width: initial;
  font-size: initial;
}

.dataTables_wrapper div.dt-buttons {
  float: right;
}

.dataTables_wrapper button.dt-button,
.dataTables_wrapper div.dt-button,
.dataTables_wrapper a.dt-button {
  margin-right: 0;
}

#table_alerte_filter {
  width: 100%;
}

#table_alerte_filter input {
  width: 74%;
}

/***********************************************************************/
/*    SEARCH PAGE */
/***************************/
#search_result a:hover {
  text-decoration: none;
  color: inherit;
}

/***********************************************************************/
/*    presences */
/***************************/
#course-wrapper .container {
  border: solid #f8aa6a;
}

#course-wrapper a:hover {
  text-decoration: none;
}

.liste_moniteurs li {
  list-style: none;
}

.fc-center h2 {
  text-transform: capitalize;
}

#course-wrapper .toggle-group label {
  margin: 0 !important;
}

#article_filter_mobile {
  position: fixed;
  left: 0;
  bottom: 1vh;
  z-index: 99999;
  width: 93%;
  margin: 0 2.75vw;
  background: #fff;
  border-radius: 20px;
  padding: 5px 5px 0;
  box-shadow: 0 3px 50px #0000001C;
}

#article_filter_mobile .panel-heading a {
  width: 93%;
}

#article_filter_mobile .panel-default {
  margin: 10px;
}

#article_filter_mobile .category_title {
  line-height: 3;
  font-weight: bold;
  position: relative;
  color: #a7a8a9;
}

#article_filter_mobile ul {
  list-style: none;
}

#article_filter_mobile .press_title {
  font-size: 16px;
  line-height: 3;
  color: #003b5c;
}

#article_filter_mobile .categorie_titre ul, #article_filter_mobile .sub_filtre {
  padding-left: 0;
  margin-top: 10px;
}

#article_filter_mobile {
  /*   border: solid;  */
  box-shadow: 0 0 10px #999;
  cursor: pointer;
}

.family-suppresion:hover {
  position: relative;
}

.family-suppresion:hover .rgpd-select {
  display: block !important;
  position: absolute;
  z-index: 9;
  background: white;
  padding: 10px;
  box-shadow: 0 0 1px #999;
}

#export-views #table_responsive_wrapper {
  width: 100%;
}

#quick_add_form {
  position: fixed;
  top: 0;
  bottom: 0;
  border: solid;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999999;
}

#quick_add_form .close {
  position: absolute;
  top: 0;
  right: 0;
  height: 20px;
}

#quick_add_form .close i {
  color: black;
  font-size: 20px;
  position: absolute;
  top: 5px;
  right: 5px;
}

#quick_add_form .content {
  background: white;
  width: 90vw;
  padding: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 991.98px) {
  #quick_add_form .content {
    top: 0;
    bottom: 0;
    transform: none;
    left: 0;
    right: 0;
    width: 100%;
    overflow: scroll;
  }
}

#quick_add_form .content .title {
  text-align: center;
  margin-bottom: 30px;
  font-size: 25px;
}

#quick_add_form .content .form {
  display: flex;
}

@media (max-width: 991.98px) {
  #quick_add_form .content .form {
    flex-wrap: wrap;
  }
}

#quick_add_form .content .form .select {
  width: 32%;
  margin: 1%;
}

@media (max-width: 991.98px) {
  #quick_add_form .content .form .select {
    width: 100%;
  }
}

#quick_add_form .content .submit {
  text-align: right;
  margin-top: 20px;
}

#compta-wrapper .container {
  max-width: unset;
  min-height: 100vh;
}

.creation_form .discount_choice {
  display: flex;
  align-items: flex-end;
}

.creation_form .discount_choice .form-group {
  margin: 0;
  width: 100%;
  height: 33.5px;
}

.creation_form .discount_choice .form-group .checkbox {
  height: 100%;
}

.creation_form .discount_choice .form-group label {
  margin: 0;
  display: flex;
  align-items: center;
  height: 100% !important;
}

.creation_form .discount_choice .form-group label .toggle {
  width: 100% !important;
  height: 100% !important;
}

.creation_form .subs_details .form-group {
  margin: 0;
}

.creation_form .reduction_type .checkbox label {
  margin: 0;
}

.creation_form .reduction_type .checkbox label .toggle {
  width: 98% !important;
  height: 100% !important;
}

#menu-sidebar.project_menu .hc-offcanvas-nav a {
  border-bottom: 1px solid #da70d6;
}

#menu-sidebar.project_menu .hc-offcanvas-nav .nav-item {
  border-bottom: 1px solid #da70d6;
}

#project-container #form_absolute.creation_form .content,
#project-container #form_absolute.creation_form_doc .content,
#project-container #form_absolute_report.creation_form_report .content {
  border: solid #da70d6;
}

#project-container #form_absolute_button {
  right: 20px;
}

#project-container .tab h2::after {
  background: none repeat scroll 0 0 #da70d6;
  height: 3px;
}

#project-container > .container, #project-container .container.project {
  border: solid #da70d6 1px !important;
  position: relative;
  max-width: unset;
}

#project-container .home_header {
  border-bottom: solid 1px;
  padding-bottom: 10px;
}

@media (max-width: 991.98px) {
  #project-container .home_header > div {
    margin: 5px 5px;
    display: flex;
    align-items: center;
    border-radius: 10px;
    width: 21%;
    justify-content: center;
    text-align: center;
    padding: 5px;
  }
}

#project-container .tab_content {
  display: flex;
  flex-wrap: wrap;
}

#project-container .card {
  border-left: solid 3px #da70d6;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 15px;
  width: 32%;
  margin-right: 1.3%;
  padding: 10px;
}

@media (max-width: 991.98px) {
  #project-container .card {
    width: 100%;
    margin-right: 0%;
  }
}

#project-container .card > .top {
  display: flex;
  margin: 0;
  padding-bottom: 5px;
  border-bottom: 1px solid #da70d6;
}

#project-container .card > .top > div {
  width: 50%;
}

#project-container .card .top .right {
  display: flex;
  justify-content: flex-end;
}

#project-container .card .top .right div {
  margin-left: 10px;
}

#project-container .card .content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#project-container .card .content .top {
  margin-top: 10px;
  font-weight: bold;
  font-size: 1.2rem;
  width: 100%;
  margin-bottom: 10px;
}

#project-container .card .content .right {
  width: 100%;
  padding-bottom: 5px;
  padding-top: 5px;
}

#project-container .card .content .left {
  border: solid 1px #da70d6;
  width: 48%;
  padding: 5px;
}

#project-container .card .content .left .text-center {
  font-weight: bold;
  margin-bottom: 10px;
}

#project-container .card .content .middle {
  border: solid 1px #da70d6;
  width: 48%;
  padding: 5px;
}

#project-container .card .content .middle .text-center {
  font-weight: bold;
  margin-bottom: 10px;
}

#project-container .card .content ul {
  width: 100%;
}

#project-container .card .content ul li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
  width: 100%;
}

#project-container .add_form_doc_button {
  right: 160px !important;
}

#project-container #project_details #project_quick_action .delete_report {
  margin-left: 15px;
}

#project-container #project_details .infos {
  display: flex;
}

@media (max-width: 991.98px) {
  #project-container #project_details .infos {
    flex-wrap: wrap;
    justify-content: center;
  }
}

#project-container #project_details .infos > div {
  margin: 0 5px;
  display: flex;
  align-items: center;
  border: solid 1px;
  border-radius: 10px;
  width: 22%;
  justify-content: center;
  text-align: center;
  padding: 5px;
}

@media (max-width: 991.98px) {
  #project-container #project_details .infos > div {
    margin-bottom: 5px;
    width: 30%;
  }
}

#project-container #project_details section {
  border-bottom: solid 1px #da70d6;
  padding: 20px 0 10px;
}

#project-container #project_details .description .card {
  width: 31%;
  justify-content: space-between;
}

@media (max-width: 991.98px) {
  #project-container #project_details .description .card {
    width: 45%;
  }
}

#project-container #project_details .description .card .bottom {
  margin: 0;
}

#project-container #project_details .legende {
  position: absolute;
  top: 25px;
  left: 50%;
}

@media (max-width: 991.98px) {
  #project-container #project_details .legende {
    left: unset;
    right: 0;
  }
}

#project-container #project_details .legende .content {
  position: absolute;
  right: 50%;
  width: 250px;
  display: none;
}

#project-container #project_details .legende .content > div {
  position: relative;
  padding-left: 12px;
  font-size: 12px;
}

#project-container #project_details .legende .content > div:before {
  content: '';
  display: block;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

#project-container #project_details .legende .dead:before {
  background: red;
}

#project-container #project_details .legende .encours:before {
  background: grey;
}

#project-container #project_details .legende .passed:before {
  background: green;
}

#project-container #project_details .legende .proche:before {
  background: orange;
}

#project-container #project_details .legende .help_notice {
  border: 1px #da70d6 solid;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #da70d6;
  color: white;
  cursor: default;
  padding: 0;
}

#project-container #project_details .legende:hover .content {
  display: block !important;
  border: solid 1px;
  padding: 10px;
  background: white;
  z-index: 99;
}

#project-container #tasks, #project-container #calendar1 {
  height: 100%;
}

/**********************************************************
OVERRIDES
 */
.select2 {
  width: 100% !important;
}

.select2-selection {
  min-height: calc(1.5em + 0.75rem) !important;
  display: flex !important;
  align-items: center !important;
}

.select2-container--default .select2-selection--single {
  border-color: #ced4da;
}

/**********************************************************
GENERAL
 */
body {
  color: #333333;
  padding-top: 60px;
  /** A partir de **/
  /** En dessous de **/
}

body .container {
  margin: 5vh auto;
}

/**********************************************************
HEADER
 */
#search-btn {
  position: relative;
  cursor: default;
}

@media (max-width: 991.98px) {
  #search-btn {
    position: absolute;
    right: 50px;
    top: 25px;
  }
}

#search-btn .btn {
  position: absolute;
  width: 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  transition: all 1s;
  right: 0;
  cursor: default;
  height: 30px;
}

#search-btn .btn i.search_icon {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  height: 100%;
  line-height: 2;
}

#search-btn .btn input {
  padding-left: 10px;
  margin-right: 10px;
  width: 0;
  height: 0;
  opacity: 0;
  transition: all 1s;
}

#search-btn .btn.open {
  width: 90vw;
  min-height: 53px;
  transition: all 1s;
  background: #17a2b8;
}

@media (max-width: 991.98px) {
  #search-btn .btn.open {
    margin-right: -10vw;
    z-index: 999999;
  }
}

#search-btn .btn.open input {
  opacity: 1;
  height: 40px;
  width: 97%;
  transition: all 1s;
}

@media (max-width: 991.98px) {
  #search-btn .btn.open input {
    width: 94%;
  }
}

#search-btn .btn.open i.search_icon {
  width: 2%;
  margin-top: 0;
  position: relative;
  line-height: 3;
  color: white;
}

#search-btn #search_result {
  background: #fff;
  padding: 30px;
  width: 96.8%;
  margin-right: 2.9%;
  color: #333333;
  overflow-y: auto;
  max-height: 93vh;
}

@media (max-width: 991.98px) {
  #search-btn #search_result {
    width: 93.5%;
    margin-right: 5.6%;
  }
}

#search-btn #search_result h2 {
  color: #333333;
}

#search-btn #search_result #families .border {
  border-radius: 5px;
  box-shadow: 3px 0 3px #999 !important;
  padding: 5px;
}

#search-btn #search_result_back {
  height: 100vh;
  width: 100vw;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -9;
  background: rgba(0, 0, 0, 0.5);
}

body.beta_mode {
  padding-top: 100px;
}

body.beta_mode .message_beta {
  padding: 5px;
  white-space: nowrap;
  background: white;
  text-align: center;
  overflow: hidden;
}

body.beta_mode .message_beta a {
  color: #046faa;
  text-decoration: underline !important;
}

.messagedefilant {
  -moz-animation: marquee 30s linear infinite;
  -webkit-animation: marquee 30s linear infinite;
  animation: marquee 30s linear infinite;
}

@-moz-keyframes marquee {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

@-webkit-keyframes marquee {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes marquee {
  0% {
    -moz-transform: translateX(100%);
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -moz-transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

/**********************************************************
MENU
 */
/*********************************************
OVERRIDE DE HCOFFCANVAS
 */
.hc-offcanvas-nav .nav-close a:hover {
  color: #FFFFFF;
}

header {
  display: flex;
  height: 80px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 10px 0;
  transition: all 200ms linear;
  box-shadow: 0 10px 30px 0 rgba(138, 155, 165, 0.15);
}

header .logo {
  max-width: 100px;
  margin-left: 1%;
}

@media (max-width: 991.98px) {
  header .logo {
    width: 15%;
    margin-left: 20px;
  }
}

header .logo img {
  max-width: 200px;
  max-height: 65px;
  height: 100%;
}

header #search-btn {
  margin-right: 1%;
  width: 5%;
  padding: 0 0 0 6px;
}

@media (max-width: 991.98px) {
  header #search-btn {
    position: absolute;
    right: 50px;
    top: 25px;
  }
}

header #menu-site {
  width: 90%;
  justify-content: space-between;
}

header #menu-site > ul {
  width: 100% !important;
  display: flex;
  justify-content: space-evenly;
}

header #menu-site ul {
  list-style: none;
  padding: 0;
}

header #menu-site > ul > li {
  width: 11.1111111111%;
  position: relative;
}

#menu-site > ul > li > a {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

#menu-site > ul > li > a span {
  text-align: center;
  width: 100%;
}

.menu_link img {
  /*   border: solid; */
  width: 35px;
  margin: 0 auto;
}

#menu-site > ul > li > a i {
  margin: auto;
  width: 100%;
  text-align: center;
}

#menu-site ul li ul {
  position: absolute;
  padding: 10px;
  font-size: 13px;
  letter-spacing: 1px;
  background: #fcfaff;
  border-radius: 3px;
  box-shadow: 0 5px 10px 0 rgba(138, 155, 165, 0.15);
  display: none;
}

#menu-site > ul > li i {
  font-size: 20px;
}

#menu-site ul li:hover ul {
  display: block;
}

#menu-site ul li ul li a {
  padding: 3px 15px;
  margin: 5px 0;
  border-radius: 2px;
}

#menu-site ul li ul li a:hover {
  margin: 5px 0;
  background: rgba(129, 103, 169, 0.6);
  width: 100%;
  color: #fff;
}

#menu-site ul li ul li a i {
  padding: 0;
  margin: 5px 0;
}

#menu-site a:hover {
  text-decoration: none !important;
  cursor: pointer;
}

#menu-site .sub-item .right-select:hover .right-submenu {
  display: block !important;
}

#menu-site .sub-item .right-submenu {
  position: absolute;
  left: 100%;
  top: 0;
  display: none;
}

#menu-site .right-select {
  position: relative;
}

#menu-site .right-select:after {
  content: '\f0da';
  font-family: "Font Awesome 5 Free";
  position: absolute;
  right: 10px;
  top: 12px;
  font-weight: 900;
}

#menu-site .sub-item {
  z-index: 9999;
}

.hc-offcanvas-nav {
  z-index: 1 !important;
}

@media (max-width: 992px) {
  .hc-offcanvas-nav.nav-open {
    z-index: 9999 !important;
  }
}

@media (min-width: 1800px) {
  #menu-site ul li ul {
    width: 100%;
  }
}

#menu-site .menu_link .construction {
  color: red;
  text-align: center;
  background: white;
  width: 100%;
  margin-bottom: 12px;
}

#menu-site .menu_link:hover .construction:after {
  content: 'En construction';
  position: absolute;
  display: block;
  border: solid 1px;
  background: white;
  padding: 10px 0;
  top: 100%;
  left: 0;
  right: 0;
}

@media (max-width: 991.98px) {
  nav a img {
    display: none !important;
  }
}

nav.nav-open a {
  color: initial !important;
}

.hc-offcanvas-nav.nav-open[class*="hc-nav-"] div.nav-container,
.hc-offcanvas-nav.nav-levels-overlap ul li.level-open > .nav-wrapper {
  -webkit-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

#menu-site .nav-item {
  min-width: 104px;
}

.hc-nav-trigger {
  right: 20px;
}

.hc-offcanvas-nav .nav-container, .hc-offcanvas-nav .nav-wrapper, .hc-offcanvas-nav ul {
  background: #ffffff;
  color: #333333;
}

.hc-offcanvas-nav.nav-levels-expand .nav-container li.level-open a, .hc-offcanvas-nav.nav-levels-none .nav-container li.level-open a,
.hc-offcanvas-nav.nav-levels-expand .nav-container li.level-open a:hover, .hc-offcanvas-nav.nav-levels-none .nav-container li.level-open a:hover,
.hc-offcanvas-nav.nav-levels-expand .nav-container li.level-open, .hc-offcanvas-nav.nav-levels-none .nav-container li.level-open {
  background: #fcfaff;
}

.hc-offcanvas-nav li.nav-close a, .hc-offcanvas-nav li.nav-back a {
  background: #ffffff;
  border-top: 1px solid #295887;
  border-bottom: 1px solid #295887;
}

.hc-offcanvas-nav a,
.hc-offcanvas-nav a, .hc-offcanvas-nav .nav-item {
  color: #333333;
}

.hc-offcanvas-nav li.nav-close span::before,
.hc-offcanvas-nav li.nav-close span::after {
  border-top: 2px solid #333333;
  border-left: 2px solid #333333;
}

.hc-offcanvas-nav:not(.touch-device) a:hover {
  background: #fcfaff;
}

.hc-offcanvas-nav li.nav-close a:hover, .hc-offcanvas-nav li.nav-back a:hover {
  background: #fcfaff;
  color: #333333;
}

.hc-offcanvas-nav span.nav-next::before, .hc-offcanvas-nav li.nav-back span::before {
  border-top: 2px solid #333333;
  border-left: 2px solid #333333;
}

.hc-offcanvas-nav li.nav-parent .nav-item {
  padding-right: 0;
}

.hc-offcanvas-nav .sub-item li {
  padding: 0;
  border: none;
}

/**********************************************************
FORMULAIRE
 */
#form_absolute_button {
  position: absolute;
  top: 10px;
  right: 10px;
}

.cotisation_steps #form_absolute_button {
  top: 40px;
}

#form_absolute.creation_form,
#form_absolute.creation_form_doc,
#form_absolute_report.creation_form_report {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1000;
}

#form_absolute.creation_form .content,
#form_absolute.creation_form_doc .content,
#form_absolute_report.creation_form_report .content {
  position: absolute;
  width: 90vw !important;
  max-width: 100%;
  background: white;
  padding: 10px;
  left: 50%;
  border: solid #59BDBD;
  top: 50%;
  transform: translate(-50%, -50%);
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 95vh;
}

#form_absolute.creation_form .content .titre,
#form_absolute.creation_form_doc .content .titre,
#form_absolute_report.creation_form_report .content .titre {
  text-align: center;
  margin-top: 20px;
  font-size: 22px;
}

#form_absolute.creation_form .content .close,
#form_absolute.creation_form_doc .content .close,
#form_absolute_report.creation_form_report .content .close {
  color: #333333 !important;
  font-size: 18px;
  opacity: 1;
  right: 10px;
  top: 10px;
  z-index: 9999;
}

/**********************************************************
TABLE
 */
table tr th {
  font-weight: normal;
}

/*********************************************
    ETC...
 */
.croise .select2 {
  width: 100% !important;
}

/*********************************************
    CALENDAR...
 */
.fc-content {
  padding-left: 10px;
}

#cke_notifications_area_email_main_message,
.cke_notifications_area {
  display: none !important;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vcmdwZC1zaW1wbGUuY3NzIiwid2VicGFjazovLy9ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXIubWluLmNzcyIsIndlYnBhY2s6Ly8vYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vcmVzZXQuc2NzcyIsIndlYnBhY2s6Ly8vdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vL2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvYnRuLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbG9naW4uc2NzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy90YWJsZS5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL25hdi10YWIuc2NzcyIsIndlYnBhY2s6Ly8vZm9ybXMvY2hlY2tib3guc2NzcyIsIndlYnBhY2s6Ly8vZm9ybXMvcmFkaW8uc2NzcyIsIndlYnBhY2s6Ly8vZm9ybXMvcGFzc3dvcmQuc2NzcyIsIndlYnBhY2s6Ly8vZm9ybXMvZGF0ZXBpY2tlci5zY3NzIiwid2VicGFjazovLy9mb3Jtcy9lcnJvci5zY3NzIiwid2VicGFjazovLy9mb3Jtcy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vL2Zvcm1zL2lucHV0LnNjc3MiLCJ3ZWJwYWNrOi8vL2Zvcm1zL2ZpZWxkc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL2dsb2JhbC5zY3NzIiwid2VicGFjazovLy9wYWdlcy9ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL21vZHVsZXMuc2NzcyIsIndlYnBhY2s6Ly8vcGFnZXMvTWFpbi9tZW1icmUtZGVzYy5zY3NzIiwid2VicGFjazovLy9wYWdlcy9NYWluL2FuaW1hbC1kZXNjLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL3NlY3VyaXR5L2xvZ2luLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi5zY3NzIiwid2VicGFjazovLy9wYWdlcy9jb25maWd1cmF0aW9uL29yZ2FuaXNtZS5zY3NzIiwid2VicGFjazovLy9wYWdlcy9jb25maWd1cmF0aW9uL3NjcmlwdHNfYXV0by5zY3NzIiwid2VicGFjazovLy9wYWdlcy9jb25maWd1cmF0aW9uL3VzZXIuc2NzcyIsIndlYnBhY2s6Ly8vcGFnZXMvZmFtaWxpZXMvZmFtaWx5LXN0YXR1cy5zY3NzIiwid2VicGFjazovLy9wYWdlcy9leHBvcnQvZXhwb3J0X2hvbWVfbWFkZS5zY3NzIiwid2VicGFjazovLy9wYWdlcy9jb25maWctY2hlY2tsaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL2NvbmZpZ3VyYXRpb24vbWVtYmVyc2hpcC5zY3NzIiwid2VicGFjazovLy9wYWdlcy9yZXBvcnQvcmVwb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL3ByZXNlbmNlL2NvdXJzLnNjc3MiLCJ3ZWJwYWNrOi8vL0dsb2JhbC9jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vR2xvYmFsL2dsb2JhbC5zY3NzIiwid2VicGFjazovLy9yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vL2FjY291bnRpbmcvY29tcHRhX21vZHVsZS5zY3NzIiwid2VicGFjazovLy9HbG9iYWwvbWVtYmVyc2hpcC9tZW1iZXJzaGlwLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL3Byb2plY3QvcHJvamVjdC5zY3NzIiwid2VicGFjazovLy9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vbWVudS5zY3NzIiwid2VicGFjazovLy9tZW51LXJlc3BvbnNpdmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2YsY0FBYztJQUNkLFdBQVc7SUFDWCxjQUFjO0lBQ2QsV0FBVztJQUNYLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsa0NBQWtDO0lBQ2xDLGlDQUFpQztJQUNqQyxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0k7UUFDSSxzQkFBc0I7SUFDMUI7QUFDSjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7QUFDQTtJQUNJLGtCQUFrQjtBQUN0QjtBQUNBO0lB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RSx3QkFBd0I7QUg3RzFCOztBR3FIQTtFQUNFLGFBQWE7RUFDYiwwQkFBMEI7QUhsSDVCOztBR3lIQTtFQUNFLHFCQUFxQjtBSHRIdkI7O0FHeUhBO0VBQ0Usa0JBQWtCO0VBQ2xCLGVBQWU7QUh0SGpCOztBR3lIQTtFQUNFLGFBQWE7QUh0SGY7O0FBRUE7RUcwSEUsd0JBQXdCO0FIeEgxQjs7QU9sV0E7O0VBRUUscUJIeVN1QztFR3ZTdkMsZ0JIeVMrQjtFR3hTL0IsZ0JIeVMrQjtBSjJEakM7O0FPaFdBO0VGZ0hNLGlCQXRDWTtBTDBSbEI7O0FPbldBO0VGK0dNLGVBdENZO0FMOFJsQjs7QU90V0E7RUY4R00sa0JBdENZO0FMa1NsQjs7QU96V0E7RUY2R00saUJBdENZO0FMc1NsQjs7QU81V0E7RUY0R00sa0JBdENZO0FMMFNsQjs7QU8vV0E7RUYyR00sZUF0Q1k7QUw4U2xCOztBT2pYQTtFRnlHTSxrQkF0Q1k7RUVqRWhCLGdCSDJTK0I7QUp5RWpDOztBT2hYQTtFRm1HTSxlQXRDWTtFRTNEaEIsZ0JIOFIrQjtFRzdSL0IsZ0JIcVIrQjtBSjhGakM7O0FPalhBO0VGOEZNLGlCQXRDWTtFRXREaEIsZ0JIMFIrQjtFR3pSL0IsZ0JIZ1IrQjtBSm9HakM7O0FPbFhBO0VGeUZNLGlCQXRDWTtFRWpEaEIsZ0JIc1IrQjtFR3JSL0IsZ0JIMlErQjtBSjBHakM7O0FPblhBO0VGb0ZNLGlCQXRDWTtFRTVDaEIsZ0JIa1IrQjtFR2pSL0IsZ0JIc1ErQjtBSmdIakM7O0FHelZBO0VJcEJFLGdCSGlGVztFR2hGWCxtQkhnRlc7RUcvRVgsU0FBUztFQUNULHdDSHpDYTtBSjBaZjs7QU96V0E7O0VGTUksY0FBVztFRUhiLGdCSDhOK0I7QUo4SWpDOztBT3pXQTs7RUFFRSxjSHNRZ0M7RUdyUWhDLHlCSDhRbUM7QUo4RnJDOztBT3BXQTtFQy9FRSxlQUFlO0VBQ2YsZ0JBQWdCO0FSdWJsQjs7QU9wV0E7RUNwRkUsZUFBZTtFQUNmLGdCQUFnQjtBUjRibEI7O0FPdFdBO0VBQ0UscUJBQXFCO0FQeVd2Qjs7QU8xV0E7RUFJSSxvQkh3UCtCO0FKa0huQzs7QU9oV0E7RUZqQ0ksY0FBVztFRW1DYix5QkFBeUI7QVBtVzNCOztBTy9WQTtFQUNFLG1CSHdCVztFQ1RQLGtCQXRDWTtBTDBYbEI7O0FPL1ZBO0VBQ0UsY0FBYztFRjdDWixjQUFXO0VFK0NiLGNIMUdnQjtBSjRjbEI7O0FPcldBO0VBTUkscUJBQXFCO0FQbVd6Qjs7QVN0ZEE7RUNJRSxlQUFlO0VBR2YsWUFBWTtBVm9kZDs7QVNyZEE7RUFDRSxnQkxpZ0N3QztFS2hnQ3hDLHNCTFJhO0VLU2IseUJMTmdCO0VPTGQsc0JQNk9nQztFTXZPbEMsZUFBZTtFQUdmLFlBQVk7QVY2ZGQ7O0FTL2NBO0VBRUUscUJBQXFCO0FUaWR2Qjs7QVM5Y0E7RUFDRSxxQkFBMEI7RUFDMUIsY0FBYztBVGlkaEI7O0FTOWNBO0VKa0NJLGNBQVc7RUloQ2IsY0wzQmdCO0FKNGVsQjs7QVl4ZkE7RVB1RUksZ0JBQVc7RU9yRWIsY1JvQ2U7RVFuQ2YscUJBQXFCO0FaMmZ2Qjs7QVl4ZkU7RUFDRSxjQUFjO0FaMmZsQjs7QVl0ZkE7RUFDRSxzQlJxbEN1QztFQzNoQ3JDLGdCQUFXO0VPeERiLFdSVGE7RVFVYix5QlJEZ0I7RU9YZCxxQlArTytCO0FKdVJuQzs7QVk5ZkE7RUFTSSxVQUFVO0VQa0RWLGVBQVc7RU9oRFgsZ0JSNFE2QjtBSjZPakM7O0FHalRBO0VTak1FLGNBQWM7RVB5Q1osZ0JBQVc7RU92Q2IsY1JqQmdCO0FKdWdCbEI7O0FZemZBO0VQMENJLGtCQUFXO0VPbENYLGNBQWM7RUFDZCxrQkFBa0I7QVpzZnRCOztBWWpmQTtFQUNFLGlCUjRqQ3VDO0VRM2pDdkMsa0JBQWtCO0Fab2ZwQjs7QWE1aEJFO0VDREEsV0FBVztFQUNYLG1CQUEwQjtFQUMxQixrQkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtBZGlpQm5COztBZTllSTtFRnRERjtJQ1dJLGdCVnFNSztFSnlWVDtBQUNGOztBZXBmSTtFRnRERjtJQ1dJLGdCVnNNSztFSjhWVDtBQUNGOztBZTFmSTtFRnRERjtJQ1dJLGdCVnVNSztFSm1XVDtBQUNGOztBZWhnQkk7RUZ0REY7SUNXSSxpQlZ3TU07RUp3V1Y7QUFDRjs7QWF0akJFO0VDUEEsV0FBVztFQUNYLG1CQUEwQjtFQUMxQixrQkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtBZGlrQm5COztBZTlnQkk7RUZyQ0U7SUFDRSxnQlQ4TEc7RUp5WFQ7QUFDRjs7QWVwaEJJO0VGckNFO0lBQ0UsZ0JUK0xHO0VKOFhUO0FBQ0Y7O0FlMWhCSTtFRnJDRTtJQUNFLGdCVGdNRztFSm1ZVDtBQUNGOztBZWhpQkk7RUZyQ0U7SUFDRSxpQlRpTUk7RUp3WVY7QUFDRjs7QWF0akJFO0VDckJBLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQTBCO0VBQzFCLGtCQUF5QjtBZCtrQjNCOztBYXZqQkU7RUFDRSxlQUFlO0VBQ2YsY0FBYztBYjBqQmxCOztBYTVqQkU7O0VBTUksZ0JBQWdCO0VBQ2hCLGVBQWU7QWIyakJyQjs7QWdCN21CRTs7Ozs7O0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxtQkFBMEI7RUFDMUIsa0JBQXlCO0FoQnFuQjdCOztBZ0JsbUJNO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixlQUFlO0FoQnFtQnZCOztBZ0JqbUJRO0VGNEJKLGNBQXVCO0VBQ3ZCLGVBQXdCO0FkeWtCNUI7O0FnQnRtQlE7RUY0QkosYUFBdUI7RUFDdkIsY0FBd0I7QWQ4a0I1Qjs7QWdCM21CUTtFRjRCSixtQkFBdUI7RUFDdkIsb0JBQXdCO0FkbWxCNUI7O0FnQmhuQlE7RUY0QkosYUFBdUI7RUFDdkIsY0FBd0I7QWR3bEI1Qjs7QWdCcm5CUTtFRjRCSixhQUF1QjtFQUN2QixjQUF3QjtBZDZsQjVCOztBZ0IxbkJRO0VGNEJKLG1CQUF1QjtFQUN2QixvQkFBd0I7QWRrbUI1Qjs7QWdCMW5CTTtFRk1KLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZUFBZTtBZHduQmpCOztBZ0IzbkJRO0VGUE4sa0JBQXNDO0VBSXRDLG1CQUF1QztBZG1vQnpDOztBZ0Job0JRO0VGUE4sbUJBQXNDO0VBSXRDLG9CQUF1QztBZHdvQnpDOztBZ0Jyb0JRO0VGUE4sYUFBc0M7RUFJdEMsY0FBdUM7QWQ2b0J6Qzs7QWdCMW9CUTtFRlBOLG1CQUFzQztFQUl0QyxvQkFBdUM7QWRrcEJ6Qzs7QWdCL29CUTtFRlBOLG1CQUFzQztFQUl0QyxvQkFBdUM7QWR1cEJ6Qzs7QWdCcHBCUTtFRlBOLGFBQXNDO0VBSXRDLGNBQXVDO0FkNHBCekM7O0FnQnpwQlE7RUZQTixtQkFBc0M7RUFJdEMsb0JBQXVDO0FkaXFCekM7O0FnQjlwQlE7RUZQTixtQkFBc0M7RUFJdEMsb0JBQXVDO0Fkc3FCekM7O0FnQm5xQlE7RUZQTixhQUFzQztFQUl0QyxjQUF1QztBZDJxQnpDOztBZ0J4cUJRO0VGUE4sbUJBQXNDO0VBSXRDLG9CQUF1QztBZGdyQnpDOztBZ0I3cUJRO0VGUE4sbUJBQXNDO0VBSXRDLG9CQUF1QztBZHFyQnpDOztBZ0JsckJRO0VGUE4sY0FBc0M7RUFJdEMsZUFBdUM7QWQwckJ6Qzs7QWdCbHJCTTtFQUF3QixTQUFTO0FoQnNyQnZDOztBZ0JwckJNO0VBQXVCLFNaNktHO0FKMmdCaEM7O0FnQnJyQlE7RUFBd0IsUUFEWjtBaEIwckJwQjs7QWdCenJCUTtFQUF3QixRQURaO0FoQjhyQnBCOztBZ0I3ckJRO0VBQXdCLFFBRFo7QWhCa3NCcEI7O0FnQmpzQlE7RUFBd0IsUUFEWjtBaEJzc0JwQjs7QWdCcnNCUTtFQUF3QixRQURaO0FoQjBzQnBCOztBZ0J6c0JRO0VBQXdCLFFBRFo7QWhCOHNCcEI7O0FnQjdzQlE7RUFBd0IsUUFEWjtBaEJrdEJwQjs7QWdCanRCUTtFQUF3QixRQURaO0FoQnN0QnBCOztBZ0JydEJRO0VBQXdCLFFBRFo7QWhCMHRCcEI7O0FnQnp0QlE7RUFBd0IsUUFEWjtBaEI4dEJwQjs7QWdCN3RCUTtFQUF3QixTQURaO0FoQmt1QnBCOztBZ0JqdUJRO0VBQXdCLFNBRFo7QWhCc3VCcEI7O0FnQnJ1QlE7RUFBd0IsU0FEWjtBaEIwdUJwQjs7QWdCbnVCVTtFRlJSLHFCQUE4QztBZCt1QmhEOztBZ0J2dUJVO0VGUlIsc0JBQThDO0FkbXZCaEQ7O0FnQjN1QlU7RUZSUixnQkFBOEM7QWR1dkJoRDs7QWdCL3VCVTtFRlJSLHNCQUE4QztBZDJ2QmhEOztBZ0JudkJVO0VGUlIsc0JBQThDO0FkK3ZCaEQ7O0FnQnZ2QlU7RUZSUixnQkFBOEM7QWRtd0JoRDs7QWdCM3ZCVTtFRlJSLHNCQUE4QztBZHV3QmhEOztBZ0IvdkJVO0VGUlIsc0JBQThDO0FkMndCaEQ7O0FnQm53QlU7RUZSUixnQkFBOEM7QWQrd0JoRDs7QWdCdndCVTtFRlJSLHNCQUE4QztBZG14QmhEOztBZ0Izd0JVO0VGUlIsc0JBQThDO0FkdXhCaEQ7O0FlbHhCSTtFQzlCRTtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZTtFaEJvekJyQjtFZ0JoekJNO0lGNEJKLGNBQXVCO0lBQ3ZCLGVBQXdCO0VkdXhCMUI7RWdCcHpCTTtJRjRCSixhQUF1QjtJQUN2QixjQUF3QjtFZDJ4QjFCO0VnQnh6Qk07SUY0QkosbUJBQXVCO0lBQ3ZCLG9CQUF3QjtFZCt4QjFCO0VnQjV6Qk07SUY0QkosYUFBdUI7SUFDdkIsY0FBd0I7RWRteUIxQjtFZ0JoMEJNO0lGNEJKLGFBQXVCO0lBQ3ZCLGNBQXdCO0VkdXlCMUI7RWdCcDBCTTtJRjRCSixtQkFBdUI7SUFDdkIsb0JBQXdCO0VkMnlCMUI7RWdCbjBCSTtJRk1KLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZTtFZGcwQmY7RWdCbjBCTTtJRlBOLGtCQUFzQztJQUl0QyxtQkFBdUM7RWQwMEJ2QztFZ0J2MEJNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZDgwQnZDO0VnQjMwQk07SUZQTixhQUFzQztJQUl0QyxjQUF1QztFZGsxQnZDO0VnQi8wQk07SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0VkczFCdkM7RWdCbjFCTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWQwMUJ2QztFZ0J2MUJNO0lGUE4sYUFBc0M7SUFJdEMsY0FBdUM7RWQ4MUJ2QztFZ0IzMUJNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZGsyQnZDO0VnQi8xQk07SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0VkczJCdkM7RWdCbjJCTTtJRlBOLGFBQXNDO0lBSXRDLGNBQXVDO0VkMDJCdkM7RWdCdjJCTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWQ4MkJ2QztFZ0IzMkJNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZGszQnZDO0VnQi8yQk07SUZQTixjQUFzQztJQUl0QyxlQUF1QztFZHMzQnZDO0VnQjkyQkk7SUFBd0IsU0FBUztFaEJpM0JyQztFZ0IvMkJJO0lBQXVCLFNaNktHO0VKcXNCOUI7RWdCLzJCTTtJQUF3QixRQURaO0VoQm0zQmxCO0VnQmwzQk07SUFBd0IsUUFEWjtFaEJzM0JsQjtFZ0JyM0JNO0lBQXdCLFFBRFo7RWhCeTNCbEI7RWdCeDNCTTtJQUF3QixRQURaO0VoQjQzQmxCO0VnQjMzQk07SUFBd0IsUUFEWjtFaEIrM0JsQjtFZ0I5M0JNO0lBQXdCLFFBRFo7RWhCazRCbEI7RWdCajRCTTtJQUF3QixRQURaO0VoQnE0QmxCO0VnQnA0Qk07SUFBd0IsUUFEWjtFaEJ3NEJsQjtFZ0J2NEJNO0lBQXdCLFFBRFo7RWhCMjRCbEI7RWdCMTRCTTtJQUF3QixRQURaO0VoQjg0QmxCO0VnQjc0Qk07SUFBd0IsU0FEWjtFaEJpNUJsQjtFZ0JoNUJNO0lBQXdCLFNBRFo7RWhCbzVCbEI7RWdCbjVCTTtJQUF3QixTQURaO0VoQnU1QmxCO0VnQmg1QlE7SUZSUixjQUE0QjtFZDI1QjVCO0VnQm41QlE7SUZSUixxQkFBOEM7RWQ4NUI5QztFZ0J0NUJRO0lGUlIsc0JBQThDO0VkaTZCOUM7RWdCejVCUTtJRlJSLGdCQUE4QztFZG82QjlDO0VnQjU1QlE7SUZSUixzQkFBOEM7RWR1NkI5QztFZ0IvNUJRO0lGUlIsc0JBQThDO0VkMDZCOUM7RWdCbDZCUTtJRlJSLGdCQUE4QztFZDY2QjlDO0VnQnI2QlE7SUZSUixzQkFBOEM7RWRnN0I5QztFZ0J4NkJRO0lGUlIsc0JBQThDO0VkbTdCOUM7RWdCMzZCUTtJRlJSLGdCQUE4QztFZHM3QjlDO0VnQjk2QlE7SUZSUixzQkFBOEM7RWR5N0I5QztFZ0JqN0JRO0lGUlIsc0JBQThDO0VkNDdCOUM7QUFDRjs7QWV4N0JJO0VDOUJFO0lBQ0UsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0VoQjA5QnJCO0VnQnQ5Qk07SUY0QkosY0FBdUI7SUFDdkIsZUFBd0I7RWQ2N0IxQjtFZ0IxOUJNO0lGNEJKLGFBQXVCO0lBQ3ZCLGNBQXdCO0VkaThCMUI7RWdCOTlCTTtJRjRCSixtQkFBdUI7SUFDdkIsb0JBQXdCO0VkcThCMUI7RWdCbCtCTTtJRjRCSixhQUF1QjtJQUN2QixjQUF3QjtFZHk4QjFCO0VnQnQrQk07SUY0QkosYUFBdUI7SUFDdkIsY0FBd0I7RWQ2OEIxQjtFZ0IxK0JNO0lGNEJKLG1CQUF1QjtJQUN2QixvQkFBd0I7RWRpOUIxQjtFZ0J6K0JJO0lGTUosY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0VkcytCZjtFZ0J6K0JNO0lGUE4sa0JBQXNDO0lBSXRDLG1CQUF1QztFZGcvQnZDO0VnQjcrQk07SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0Vkby9CdkM7RWdCai9CTTtJRlBOLGFBQXNDO0lBSXRDLGNBQXVDO0Vkdy9CdkM7RWdCci9CTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWQ0L0J2QztFZ0J6L0JNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZGdnQ3ZDO0VnQjcvQk07SUZQTixhQUFzQztJQUl0QyxjQUF1QztFZG9nQ3ZDO0VnQmpnQ007SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0Vkd2dDdkM7RWdCcmdDTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWQ0Z0N2QztFZ0J6Z0NNO0lGUE4sYUFBc0M7SUFJdEMsY0FBdUM7RWRnaEN2QztFZ0I3Z0NNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZG9oQ3ZDO0VnQmpoQ007SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0Vkd2hDdkM7RWdCcmhDTTtJRlBOLGNBQXNDO0lBSXRDLGVBQXVDO0VkNGhDdkM7RWdCcGhDSTtJQUF3QixTQUFTO0VoQnVoQ3JDO0VnQnJoQ0k7SUFBdUIsU1o2S0c7RUoyMkI5QjtFZ0JyaENNO0lBQXdCLFFBRFo7RWhCeWhDbEI7RWdCeGhDTTtJQUF3QixRQURaO0VoQjRoQ2xCO0VnQjNoQ007SUFBd0IsUUFEWjtFaEIraENsQjtFZ0I5aENNO0lBQXdCLFFBRFo7RWhCa2lDbEI7RWdCamlDTTtJQUF3QixRQURaO0VoQnFpQ2xCO0VnQnBpQ007SUFBd0IsUUFEWjtFaEJ3aUNsQjtFZ0J2aUNNO0lBQXdCLFFBRFo7RWhCMmlDbEI7RWdCMWlDTTtJQUF3QixRQURaO0VoQjhpQ2xCO0VnQjdpQ007SUFBd0IsUUFEWjtFaEJpakNsQjtFZ0JoakNNO0lBQXdCLFFBRFo7RWhCb2pDbEI7RWdCbmpDTTtJQUF3QixTQURaO0VoQnVqQ2xCO0VnQnRqQ007SUFBd0IsU0FEWjtFaEIwakNsQjtFZ0J6akNNO0lBQXdCLFNBRFo7RWhCNmpDbEI7RWdCdGpDUTtJRlJSLGNBQTRCO0VkaWtDNUI7RWdCempDUTtJRlJSLHFCQUE4QztFZG9rQzlDO0VnQjVqQ1E7SUZSUixzQkFBOEM7RWR1a0M5QztFZ0IvakNRO0lGUlIsZ0JBQThDO0VkMGtDOUM7RWdCbGtDUTtJRlJSLHNCQUE4QztFZDZrQzlDO0VnQnJrQ1E7SUZSUixzQkFBOEM7RWRnbEM5QztFZ0J4a0NRO0lGUlIsZ0JBQThDO0VkbWxDOUM7RWdCM2tDUTtJRlJSLHNCQUE4QztFZHNsQzlDO0VnQjlrQ1E7SUZSUixzQkFBOEM7RWR5bEM5QztFZ0JqbENRO0lGUlIsZ0JBQThDO0VkNGxDOUM7RWdCcGxDUTtJRlJSLHNCQUE4QztFZCtsQzlDO0VnQnZsQ1E7SUZSUixzQkFBOEM7RWRrbUM5QztBQUNGOztBZTlsQ0k7RUM5QkU7SUFDRSxhQUFhO0lBQ2IsWUFBWTtJQUNaLGVBQWU7RWhCZ29DckI7RWdCNW5DTTtJRjRCSixjQUF1QjtJQUN2QixlQUF3QjtFZG1tQzFCO0VnQmhvQ007SUY0QkosYUFBdUI7SUFDdkIsY0FBd0I7RWR1bUMxQjtFZ0Jwb0NNO0lGNEJKLG1CQUF1QjtJQUN2QixvQkFBd0I7RWQybUMxQjtFZ0J4b0NNO0lGNEJKLGFBQXVCO0lBQ3ZCLGNBQXdCO0VkK21DMUI7RWdCNW9DTTtJRjRCSixhQUF1QjtJQUN2QixjQUF3QjtFZG1uQzFCO0VnQmhwQ007SUY0QkosbUJBQXVCO0lBQ3ZCLG9CQUF3QjtFZHVuQzFCO0VnQi9vQ0k7SUZNSixjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWU7RWQ0b0NmO0VnQi9vQ007SUZQTixrQkFBc0M7SUFJdEMsbUJBQXVDO0Vkc3BDdkM7RWdCbnBDTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWQwcEN2QztFZ0J2cENNO0lGUE4sYUFBc0M7SUFJdEMsY0FBdUM7RWQ4cEN2QztFZ0IzcENNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZGtxQ3ZDO0VnQi9wQ007SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0Vkc3FDdkM7RWdCbnFDTTtJRlBOLGFBQXNDO0lBSXRDLGNBQXVDO0VkMHFDdkM7RWdCdnFDTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWQ4cUN2QztFZ0IzcUNNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZGtyQ3ZDO0VnQi9xQ007SUZQTixhQUFzQztJQUl0QyxjQUF1QztFZHNyQ3ZDO0VnQm5yQ007SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0VkMHJDdkM7RWdCdnJDTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWQ4ckN2QztFZ0IzckNNO0lGUE4sY0FBc0M7SUFJdEMsZUFBdUM7RWRrc0N2QztFZ0IxckNJO0lBQXdCLFNBQVM7RWhCNnJDckM7RWdCM3JDSTtJQUF1QixTWjZLRztFSmloQzlCO0VnQjNyQ007SUFBd0IsUUFEWjtFaEIrckNsQjtFZ0I5ckNNO0lBQXdCLFFBRFo7RWhCa3NDbEI7RWdCanNDTTtJQUF3QixRQURaO0VoQnFzQ2xCO0VnQnBzQ007SUFBd0IsUUFEWjtFaEJ3c0NsQjtFZ0J2c0NNO0lBQXdCLFFBRFo7RWhCMnNDbEI7RWdCMXNDTTtJQUF3QixRQURaO0VoQjhzQ2xCO0VnQjdzQ007SUFBd0IsUUFEWjtFaEJpdENsQjtFZ0JodENNO0lBQXdCLFFBRFo7RWhCb3RDbEI7RWdCbnRDTTtJQUF3QixRQURaO0VoQnV0Q2xCO0VnQnR0Q007SUFBd0IsUUFEWjtFaEIwdENsQjtFZ0J6dENNO0lBQXdCLFNBRFo7RWhCNnRDbEI7RWdCNXRDTTtJQUF3QixTQURaO0VoQmd1Q2xCO0VnQi90Q007SUFBd0IsU0FEWjtFaEJtdUNsQjtFZ0I1dENRO0lGUlIsY0FBNEI7RWR1dUM1QjtFZ0IvdENRO0lGUlIscUJBQThDO0VkMHVDOUM7RWdCbHVDUTtJRlJSLHNCQUE4QztFZDZ1QzlDO0VnQnJ1Q1E7SUZSUixnQkFBOEM7RWRndkM5QztFZ0J4dUNRO0lGUlIsc0JBQThDO0VkbXZDOUM7RWdCM3VDUTtJRlJSLHNCQUE4QztFZHN2QzlDO0VnQjl1Q1E7SUZSUixnQkFBOEM7RWR5dkM5QztFZ0JqdkNRO0lGUlIsc0JBQThDO0VkNHZDOUM7RWdCcHZDUTtJRlJSLHNCQUE4QztFZCt2QzlDO0VnQnZ2Q1E7SUZSUixnQkFBOEM7RWRrd0M5QztFZ0IxdkNRO0lGUlIsc0JBQThDO0VkcXdDOUM7RWdCN3ZDUTtJRlJSLHNCQUE4QztFZHd3QzlDO0FBQ0Y7O0FlcHdDSTtFQzlCRTtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZTtFaEJzeUNyQjtFZ0JseUNNO0lGNEJKLGNBQXVCO0lBQ3ZCLGVBQXdCO0VkeXdDMUI7RWdCdHlDTTtJRjRCSixhQUF1QjtJQUN2QixjQUF3QjtFZDZ3QzFCO0VnQjF5Q007SUY0QkosbUJBQXVCO0lBQ3ZCLG9CQUF3QjtFZGl4QzFCO0VnQjl5Q007SUY0QkosYUFBdUI7SUFDdkIsY0FBd0I7RWRxeEMxQjtFZ0JsekNNO0lGNEJKLGFBQXVCO0lBQ3ZCLGNBQXdCO0VkeXhDMUI7RWdCdHpDTTtJRjRCSixtQkFBdUI7SUFDdkIsb0JBQXdCO0VkNnhDMUI7RWdCcnpDSTtJRk1KLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZTtFZGt6Q2Y7RWdCcnpDTTtJRlBOLGtCQUFzQztJQUl0QyxtQkFBdUM7RWQ0ekN2QztFZ0J6ekNNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZGcwQ3ZDO0VnQjd6Q007SUZQTixhQUFzQztJQUl0QyxjQUF1QztFZG8wQ3ZDO0VnQmowQ007SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0VkdzBDdkM7RWdCcjBDTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWQ0MEN2QztFZ0J6MENNO0lGUE4sYUFBc0M7SUFJdEMsY0FBdUM7RWRnMUN2QztFZ0I3MENNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZG8xQ3ZDO0VnQmoxQ007SUZQTixtQkFBc0M7SUFJdEMsb0JBQXVDO0VkdzFDdkM7RWdCcjFDTTtJRlBOLGFBQXNDO0lBSXRDLGNBQXVDO0VkNDFDdkM7RWdCejFDTTtJRlBOLG1CQUFzQztJQUl0QyxvQkFBdUM7RWRnMkN2QztFZ0I3MUNNO0lGUE4sbUJBQXNDO0lBSXRDLG9CQUF1QztFZG8yQ3ZDO0VnQmoyQ007SUZQTixjQUFzQztJQUl0QyxlQUF1QztFZHcyQ3ZDO0VnQmgyQ0k7SUFBd0IsU0FBUztFaEJtMkNyQztFZ0JqMkNJO0lBQXVCLFNaNktHO0VKdXJDOUI7RWdCajJDTTtJQUF3QixRQURaO0VoQnEyQ2xCO0VnQnAyQ007SUFBd0IsUUFEWjtFaEJ3MkNsQjtFZ0J2MkNNO0lBQXdCLFFBRFo7RWhCMjJDbEI7RWdCMTJDTTtJQUF3QixRQURaO0VoQjgyQ2xCO0VnQjcyQ007SUFBd0IsUUFEWjtFaEJpM0NsQjtFZ0JoM0NNO0lBQXdCLFFBRFo7RWhCbzNDbEI7RWdCbjNDTTtJQUF3QixRQURaO0VoQnUzQ2xCO0VnQnQzQ007SUFBd0IsUUFEWjtFaEIwM0NsQjtFZ0J6M0NNO0lBQXdCLFFBRFo7RWhCNjNDbEI7RWdCNTNDTTtJQUF3QixRQURaO0VoQmc0Q2xCO0VnQi8zQ007SUFBd0IsU0FEWjtFaEJtNENsQjtFZ0JsNENNO0lBQXdCLFNBRFo7RWhCczRDbEI7RWdCcjRDTTtJQUF3QixTQURaO0VoQnk0Q2xCO0VnQmw0Q1E7SUZSUixjQUE0QjtFZDY0QzVCO0VnQnI0Q1E7SUZSUixxQkFBOEM7RWRnNUM5QztFZ0J4NENRO0lGUlIsc0JBQThDO0VkbTVDOUM7RWdCMzRDUTtJRlJSLGdCQUE4QztFZHM1QzlDO0VnQjk0Q1E7SUZSUixzQkFBOEM7RWR5NUM5QztFZ0JqNUNRO0lGUlIsc0JBQThDO0VkNDVDOUM7RWdCcDVDUTtJRlJSLGdCQUE4QztFZCs1QzlDO0VnQnY1Q1E7SUZSUixzQkFBOEM7RWRrNkM5QztFZ0IxNUNRO0lGUlIsc0JBQThDO0VkcTZDOUM7RWdCNzVDUTtJRlJSLGdCQUE4QztFZHc2QzlDO0VnQmg2Q1E7SUZSUixzQkFBOEM7RWQyNkM5QztFZ0JuNkNRO0lGUlIsc0JBQThDO0VkODZDOUM7QUFDRjs7QWlCbCtDQTtFQUNFLFdBQVc7RUFDWCxtQmJrSVc7RWFqSVgsY2JTZ0I7QUo0OUNsQjs7QWlCeCtDQTs7RUFRSSxnQmJzVmdDO0VhclZoQyxtQkFBbUI7RUFDbkIsNkJiSmM7QUp5K0NsQjs7QWlCLytDQTtFQWNJLHNCQUFzQjtFQUN0QixnQ2JUYztBSjgrQ2xCOztBaUJwL0NBO0VBbUJJLDZCYmJjO0FKay9DbEI7O0FpQjU5Q0E7O0VBR0ksZWJnVStCO0FKOHBDbkM7O0FpQnI5Q0E7RUFDRSx5QmJuQ2dCO0FKMi9DbEI7O0FpQno5Q0E7O0VBS0kseUJidkNjO0FKZ2dEbEI7O0FpQjk5Q0E7O0VBV00sd0JBQTRDO0FqQnc5Q2xEOztBaUJuOUNBOzs7O0VBS0ksU0FBUztBakJxOUNiOztBaUI3OENBO0VBRUkscUNiMURXO0FKeWdEZjs7QU05Z0RFO0VXMkVJLGNidkVZO0Vhd0VaLHNDYnZFUztBSjhnRGY7O0FrQjFoREU7OztFQUlJLHlCQ3NGNEQ7QW5CczhDbEU7O0FrQmhpREU7Ozs7RUFZTSxxQkM4RTBEO0FuQjY4Q2xFOztBTWhpREU7RVlpQk0seUJBSnNDO0FsQnVoRDlDOztBa0J4aERFOztFQVNRLHlCQVJvQztBbEI0aEQ5Qzs7QWtCaGpERTs7O0VBSUkseUJDc0Y0RDtBbkI0OUNsRTs7QWtCdGpERTs7OztFQVlNLHFCQzhFMEQ7QW5CbStDbEU7O0FNdGpERTtFWWlCTSx5QkFKc0M7QWxCNmlEOUM7O0FrQjlpREU7O0VBU1EseUJBUm9DO0FsQmtqRDlDOztBa0J0a0RFOzs7RUFJSSx5QkNzRjREO0FuQmsvQ2xFOztBa0I1a0RFOzs7O0VBWU0scUJDOEUwRDtBbkJ5L0NsRTs7QU01a0RFO0VZaUJNLHlCQUpzQztBbEJta0Q5Qzs7QWtCcGtERTs7RUFTUSx5QkFSb0M7QWxCd2tEOUM7O0FrQjVsREU7OztFQUlJLHlCQ3NGNEQ7QW5Cd2dEbEU7O0FrQmxtREU7Ozs7RUFZTSxxQkM4RTBEO0FuQitnRGxFOztBTWxtREU7RVlpQk0seUJBSnNDO0FsQnlsRDlDOztBa0IxbERFOztFQVNRLHlCQVJvQztBbEI4bEQ5Qzs7QWtCbG5ERTs7O0VBSUkseUJDc0Y0RDtBbkI4aERsRTs7QWtCeG5ERTs7OztFQVlNLHFCQzhFMEQ7QW5CcWlEbEU7O0FNeG5ERTtFWWlCTSx5QkFKc0M7QWxCK21EOUM7O0FrQmhuREU7O0VBU1EseUJBUm9DO0FsQm9uRDlDOztBa0J4b0RFOzs7RUFJSSx5QkNzRjREO0FuQm9qRGxFOztBa0I5b0RFOzs7O0VBWU0scUJDOEUwRDtBbkIyakRsRTs7QU05b0RFO0VZaUJNLHlCQUpzQztBbEJxb0Q5Qzs7QWtCdG9ERTs7RUFTUSx5QkFSb0M7QWxCMG9EOUM7O0FrQjlwREU7OztFQUlJLHlCQ3NGNEQ7QW5CMGtEbEU7O0FrQnBxREU7Ozs7RUFZTSxxQkM4RTBEO0FuQmlsRGxFOztBTXBxREU7RVlpQk0seUJBSnNDO0FsQjJwRDlDOztBa0I1cERFOztFQVNRLHlCQVJvQztBbEJncUQ5Qzs7QWtCcHJERTs7O0VBSUkseUJDc0Y0RDtBbkJnbURsRTs7QWtCMXJERTs7OztFQVlNLHFCQzhFMEQ7QW5CdW1EbEU7O0FNMXJERTtFWWlCTSx5QkFKc0M7QWxCaXJEOUM7O0FrQmxyREU7O0VBU1EseUJBUm9DO0FsQnNyRDlDOztBa0Ixc0RFOzs7RUFJSSxzQ2RRUztBSm9zRGY7O0FNenNERTtFWWlCTSxzQ0FKc0M7QWxCZ3NEOUM7O0FrQmpzREU7O0VBU1Esc0NBUm9DO0FsQnFzRDlDOztBaUIvbURBO0VBR00sV2IzR1M7RWE0R1QseUJicEdZO0VhcUdaLHFCYm1RcUQ7QUo2MkMzRDs7QWlCcm5EQTtFQVdNLGNiNUdZO0VhNkdaLHlCYmxIWTtFYW1IWixxQmJsSFk7QUpndURsQjs7QWlCem1EQTtFQUNFLFdiM0hhO0VhNEhiLHlCYnBIZ0I7QUpndURsQjs7QWlCOW1EQTs7O0VBT0kscUJiK091RDtBSjgzQzNEOztBaUJwbkRBO0VBV0ksU0FBUztBakI2bURiOztBaUJ4bkRBO0VBZ0JNLDJDYjFJUztBSnN2RGY7O0FNanZERTtFVzRJTSxXYmpKTztFYWtKUCw0Q2JsSk87QUoydkRmOztBZXpyREk7RUVpR0E7SUFFSSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUM7RWpCMmxEdkM7RWlCaG1ERztJQVNLLFNBQVM7RWpCMGxEakI7QUFDRjs7QWVyc0RJO0VFaUdBO0lBRUksY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDO0VqQnVtRHZDO0VpQjVtREc7SUFTSyxTQUFTO0VqQnNtRGpCO0FBQ0Y7O0FlanRESTtFRWlHQTtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztFakJtbkR2QztFaUJ4bkRHO0lBU0ssU0FBUztFakJrbkRqQjtBQUNGOztBZTd0REk7RUVpR0E7SUFFSSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUM7RWpCK25EdkM7RWlCcG9ERztJQVNLLFNBQVM7RWpCOG5EakI7QUFDRjs7QWlCN29EQTtFQU9RLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlDQUFpQztBakIwb0R6Qzs7QWlCcHBEQTtFQWNVLFNBQVM7QWpCMG9EbkI7O0FvQnZ6REE7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLG1DRHVHOEQ7RUN0RzlELHlCaEI0WGtDO0VDdlE5QixlQXRDWTtFZTVFaEIsZ0JoQnNSK0I7RWdCclIvQixnQmhCMFIrQjtFZ0J6Ui9CLGNoQkRnQjtFZ0JFaEIsc0JoQlRhO0VnQlViLDRCQUE0QjtFQUM1Qix5QmhCUGdCO0VPTmQsc0JQNk9nQztFaUI1TzlCLHdFakJvZjRGO0FKbTFDbEc7O0FxQmwwREk7RURMSjtJQ01NLGdCQUFnQjtFckJzMERwQjtBQUNGOztBb0I3MERBO0VBc0JJLDZCQUE2QjtFQUM3QixTQUFTO0FwQjJ6RGI7O0FvQmwxREE7RUE0Qkksa0JBQWtCO0VBQ2xCLDBCaEJyQmM7QUorMERsQjs7QXNCaDFERTtFQUNFLGNsQkFjO0VrQkNkLHNCbEJSVztFa0JTWCxxQmxCd2RzRTtFa0J2ZHRFLFVBQVU7RUFLUixnRGxCY1c7QUppMERqQjs7QW9CLzFEQTtFQXFDSSxjaEI5QmM7RWdCZ0NkLFVBQVU7QXBCNnpEZDs7QW9CcDJEQTtFQWlESSx5QmhCOUNjO0VnQmdEZCxVQUFVO0FwQnN6RGQ7O0FvQmx6REE7RUFPSSxjaEJ0RGM7RWdCdURkLHNCaEI5RFc7QUo2MkRmOztBb0IxeURBOztFQUVFLGNBQWM7RUFDZCxXQUFXO0FwQjZ5RGI7O0FvQm55REE7RUFDRSxpQ0R3QjhEO0VDdkI5RCxvQ0R1QjhEO0VDdEI5RCxnQkFBZ0I7RWZsQmQsa0JBQVc7RWVvQmIsZ0JoQjRNK0I7QUowbERqQzs7QW9CbnlEQTtFQUNFLCtCRGdCOEQ7RUNmOUQsa0NEZThEO0VkZTFELGtCQXRDWTtFZVVoQixnQmhCeUkrQjtBSjZwRGpDOztBb0JueURBO0VBQ0UsZ0NEUzhEO0VDUjlELG1DRFE4RDtFZGUxRCxtQkF0Q1k7RWVpQmhCLGdCaEJtSStCO0FKbXFEakM7O0FvQjd4REE7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLG1CQUEyQjtFQUMzQixnQkFBZ0I7RWZRWixlQXRDWTtFZWdDaEIsZ0JoQitLK0I7RWdCOUsvQixjaEIxR2dCO0VnQjJHaEIsNkJBQTZCO0VBQzdCLHlCQUF5QjtFQUN6QixtQkFBbUM7QXBCZ3lEckM7O0FvQjF5REE7RUFjSSxnQkFBZ0I7RUFDaEIsZUFBZTtBcEJneURuQjs7QW9CcHhEQTtFQUNFLGtDRC9COEQ7RUNnQzlELHVCaEJnUWlDO0VDalI3QixtQkF0Q1k7RWV5RGhCLGdCaEIyRitCO0VPeE83QixxQlArTytCO0FKc3JEbkM7O0FvQnB4REE7RUFDRSxnQ0R2QzhEO0VDd0M5RCxvQmhCNlBnQztFQ3RSNUIsa0JBdENZO0VlaUVoQixnQmhCa0YrQjtFT3ZPN0IscUJQOE8rQjtBSityRG5DOztBb0JueERBO0VBR0ksWUFBWTtBcEJveERoQjs7QW9CaHhEQTtFQUNFLFlBQVk7QXBCbXhEZDs7QW9CM3dEQTtFQUNFLG1CaEJzVjBDO0FKdzdDNUM7O0FvQjN3REE7RUFDRSxjQUFjO0VBQ2QsbUJoQnVVNEM7QUp1OEM5Qzs7QW9CdHdEQTtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2Ysa0JBQTBDO0VBQzFDLGlCQUF5QztBcEJ5d0QzQzs7QW9CN3dEQTs7RUFRSSxrQkFBMEM7RUFDMUMsaUJBQXlDO0FwQjB3RDdDOztBb0Jqd0RBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxxQmhCNFM2QztBSnc5Qy9DOztBb0Jqd0RBO0VBQ0Usa0JBQWtCO0VBQ2xCLGtCaEJ3UzJDO0VnQnZTM0MscUJoQnNTNkM7QUo4OUMvQzs7QW9CdndEQTs7RUFRSSxjaEJoTmM7QUpvOURsQjs7QW9CaHdEQTtFQUNFLGdCQUFnQjtBcEJtd0RsQjs7QW9CaHdEQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLHFCaEJ5UjRDO0FKMCtDOUM7O0FvQnZ3REE7RUFRSSxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLHVCaEJvUjRDO0VnQm5SNUMsY0FBYztBcEJtd0RsQjs7QXNCdjhERTtFQUNFLGFBQWE7RUFDYixXQUFXO0VBQ1gsbUJsQjZjMEM7RUNwYjFDLGNBQVc7RWlCdkJYLGNsQk5hO0FKZzlEakI7O0FzQnY4REU7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULFVBQVU7RUFDVixhQUFhO0VBQ2IsZUFBZTtFQUNmLHVCbEJteUJxQztFa0JseUJyQyxpQkFBaUI7RWpCb0VmLG1CQXRDWTtFaUI1QmQsZ0JsQjJPNkI7RWtCMU83QixXbEJ2RFc7RWtCd0RYLHdDbEJwQmE7RU90Q2Isc0JQNk9nQztBSnd4RHBDOztBc0IxK0RJOzs7O0VBc0NFLGNBQWM7QXRCMjhEcEI7O0FzQmovREk7RUE0Q0UscUJsQmpDVztFa0JvQ1Qsb0NIaUN3RDtFR2hDeEQsaVJIcENtSTtFR3FDbkksNEJBQTRCO0VBQzVCLDJEQUE2RDtFQUM3RCxnRUg2QndEO0FuQjA2RGhFOztBc0IxL0RJO0VBdURJLHFCbEI1Q1M7RWtCNkNULGdEbEI3Q1M7QUpvL0RqQjs7QXNCLy9ESTtFQWlFSSxvQ0hld0Q7RUdkeEQsa0ZIY3dEO0FuQm83RGhFOztBc0JwZ0VJO0VBeUVFLHFCbEI5RFc7RWtCaUVULHVDSEl3RDtFR0h4RCx1akJBQThKO0F0QjY3RHRLOztBc0IxZ0VJO0VBaUZJLHFCbEJ0RVM7RWtCdUVULGdEbEJ2RVM7QUpvZ0VqQjs7QXNCL2dFSTtFQTBGSSxjbEIvRVM7QUp3Z0VqQjs7QXNCbmhFSTs7O0VBK0ZJLGNBQWM7QXRCMDdEdEI7O0FzQnpoRUk7RUF1R0ksY2xCNUZTO0FKa2hFakI7O0FzQjdoRUk7RUEwR00scUJsQi9GTztBSnNoRWpCOztBc0JqaUVJO0VBZ0hNLHFCQUFrQztFQzFJeEMseUJEMkkrQztBdEJxN0RuRDs7QXNCdGlFSTtFQXVITSxnRGxCNUdPO0FKK2hFakI7O0FzQjFpRUk7RUEySE0scUJsQmhITztBSm1pRWpCOztBc0I5aUVJO0VBcUlJLHFCbEIxSFM7QUp1aUVqQjs7QXNCbGpFSTtFQTBJTSxxQmxCL0hPO0VrQmdJUCxnRGxCaElPO0FKNGlFakI7O0FzQjNpRUU7RUFDRSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CbEI2YzBDO0VDcGIxQyxjQUFXO0VpQnZCWCxjbEJUYTtBSnVqRWpCOztBc0IzaUVFO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1QmxCbXlCcUM7RWtCbHlCckMsaUJBQWlCO0VqQm9FZixtQkF0Q1k7RWlCNUJkLGdCbEIyTzZCO0VrQjFPN0IsV2xCdkRXO0VrQndEWCx3Q2xCdkJhO0VPbkNiLHNCUDZPZ0M7QUo0M0RwQzs7QXNCOWtFSTs7OztFQXNDRSxjQUFjO0F0QitpRXBCOztBc0JybEVJO0VBNENFLHFCbEJwQ1c7RWtCdUNULG9DSGlDd0Q7RUdoQ3hELDRVSHBDbUk7RUdxQ25JLDRCQUE0QjtFQUM1QiwyREFBNkQ7RUFDN0QsZ0VINkJ3RDtBbkI4Z0VoRTs7QXNCOWxFSTtFQXVESSxxQmxCL0NTO0VrQmdEVCxnRGxCaERTO0FKMmxFakI7O0FzQm5tRUk7RUFpRUksb0NIZXdEO0VHZHhELGtGSGN3RDtBbkJ3aEVoRTs7QXNCeG1FSTtFQXlFRSxxQmxCakVXO0VrQm9FVCx1Q0hJd0Q7RUdIeEQsa25CQUE4SjtBdEJpaUV0Szs7QXNCOW1FSTtFQWlGSSxxQmxCekVTO0VrQjBFVCxnRGxCMUVTO0FKMm1FakI7O0FzQm5uRUk7RUEwRkksY2xCbEZTO0FKK21FakI7O0FzQnZuRUk7OztFQStGSSxjQUFjO0F0QjhoRXRCOztBc0I3bkVJO0VBdUdJLGNsQi9GUztBSnluRWpCOztBc0Jqb0VJO0VBMEdNLHFCbEJsR087QUo2bkVqQjs7QXNCcm9FSTtFQWdITSxxQkFBa0M7RUMxSXhDLHlCRDJJK0M7QXRCeWhFbkQ7O0FzQjFvRUk7RUF1SE0sZ0RsQi9HTztBSnNvRWpCOztBc0I5b0VJO0VBMkhNLHFCbEJuSE87QUowb0VqQjs7QXNCbHBFSTtFQXFJSSxxQmxCN0hTO0FKOG9FakI7O0FzQnRwRUk7RUEwSU0scUJsQmxJTztFa0JtSVAsZ0RsQm5JTztBSm1wRWpCOztBb0JsN0RBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixtQkFBbUI7QXBCcTdEckI7O0FvQng3REE7RUFTSSxXQUFXO0FwQm03RGY7O0Flem9FSTtFSzZNSjtJQWVNLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtFcEJrN0RwQjtFb0JwOERGO0lBdUJNLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixnQkFBZ0I7RXBCZzdEcEI7RW9CMzhERjtJQWdDTSxxQkFBcUI7SUFDckIsV0FBVztJQUNYLHNCQUFzQjtFcEI4NkQxQjtFb0JoOURGO0lBdUNNLHFCQUFxQjtFcEI0NkR6QjtFb0JuOURGOztJQTRDTSxXQUFXO0VwQjI2RGY7RW9CdjlERjtJQWtETSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixXQUFXO0lBQ1gsZUFBZTtFcEJ3NkRuQjtFb0I5OURGO0lBeURNLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsYUFBYTtJQUNiLHFCaEIyTHdDO0lnQjFMeEMsY0FBYztFcEJ3NkRsQjtFb0JyK0RGO0lBaUVNLG1CQUFtQjtJQUNuQix1QkFBdUI7RXBCdTZEM0I7RW9CeitERjtJQXFFTSxnQkFBZ0I7RXBCdTZEcEI7QUFDRjs7QXdCaHZFQTtFQUNFLHFCQUFxQjtFQUVyQixnQnBCMFIrQjtFb0J6Ui9CLGNwQk1nQjtFb0JMaEIsa0JBQWtCO0VBRWxCLHNCQUFzQjtFQUN0QixlQUFzRDtFQUN0RCxpQkFBaUI7RUFDakIsNkJBQTZCO0VBQzdCLDZCQUEyQztFQ3VGM0MseUJyQjhSa0M7RUN2UTlCLGVBdENZO0VvQmlCaEIsZ0JyQjhMK0I7RU9uUzdCLHNCUDZPZ0M7RWlCNU85QixxSWpCNmI2STtBSm8wRG5KOztBcUI1dkVJO0VHTEo7SUhNTSxnQkFBZ0I7RXJCZ3dFcEI7QUFDRjs7QU1qd0VFO0VrQlVFLGNwQk5jO0VvQk9kLHFCQUFxQjtBeEIydkV6Qjs7QXdCNXdFQTtFQXNCSSxVQUFVO0VBQ1YsZ0RwQk9hO0FKbXZFakI7O0F3Qmp4RUE7RUE2QkksYXBCb1o2QjtBSm8yRGpDOztBd0J6dUVBOztFQUVFLG9CQUFvQjtBeEI0dUV0Qjs7QXdCbnVFRTtFQ3ZEQSxXckJDYTtFbUJEWCx5Qm5COEJhO0VxQjVCZixxQnJCNEJlO0FKa3dFakI7O0FNMXhFRTtFbUJBRSxXckJMVztFbUJEWCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F6QnV5RTdIOztBeUIzeEVFO0VBRUUsV3JCWlc7RW1CRFgseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCxnREFBaUY7QXpCeXhFdkY7O0F5QnB4RUU7RUFFRSxXckIxQlc7RXFCMkJYLHlCckJFYTtFcUJEYixxQnJCQ2E7QUpxeEVqQjs7QXlCL3dFRTs7RUFHRSxXckJ0Q1c7RXFCdUNYLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXpCMnpFbk47O0F5QjV3RUk7O0VBS0ksZ0RBQWlGO0F6QjR3RXpGOztBd0J4d0VFO0VDdkRBLFdyQkNhO0VtQkRYLHlCbkJPYztFcUJMaEIscUJyQktnQjtBSjh6RWxCOztBTS96RUU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBekI0MEU3SDs7QXlCaDBFRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsaURBQWlGO0F6Qjh6RXZGOztBeUJ6ekVFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCckJjO0VxQnNCZCxxQnJCdEJjO0FKaTFFbEI7O0F5QnB6RUU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F6QmcyRW5OOztBeUJqekVJOztFQUtJLGlEQUFpRjtBekJpekV6Rjs7QXdCN3lFRTtFQ3ZEQSxXckJDYTtFbUJEWCx5Qm5CcUNhO0VxQm5DZixxQnJCbUNlO0FKcTBFakI7O0FNcDJFRTtFbUJBRSxXckJMVztFbUJEWCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F6QmkzRTdIOztBeUJyMkVFO0VBRUUsV3JCWlc7RW1CRFgseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCwrQ0FBaUY7QXpCbTJFdkY7O0F5QjkxRUU7RUFFRSxXckIxQlc7RXFCMkJYLHlCckJTYTtFcUJSYixxQnJCUWE7QUp3MUVqQjs7QXlCejFFRTs7RUFHRSxXckJ0Q1c7RXFCdUNYLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXpCcTRFbk47O0F5QnQxRUk7O0VBS0ksK0NBQWlGO0F6QnMxRXpGOztBd0JsMUVFO0VDdkRBLFdyQkNhO0VtQkRYLHlCbkJ1Q2E7RXFCckNmLHFCckJxQ2U7QUp3MkVqQjs7QU16NEVFO0VtQkFFLFdyQkxXO0VtQkRYLHlCRURvRjtFQVNwRixxQkFUeUg7QXpCczVFN0g7O0F5QjE0RUU7RUFFRSxXckJaVztFbUJEWCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILGdEQUFpRjtBekJ3NEV2Rjs7QXlCbjRFRTtFQUVFLFdyQjFCVztFcUIyQlgseUJyQldhO0VxQlZiLHFCckJVYTtBSjIzRWpCOztBeUI5M0VFOztFQUdFLFdyQnRDVztFcUJ1Q1gseUJBekN1SztFQTZDdksscUJBN0MrTTtBekIwNkVuTjs7QXlCMzNFSTs7RUFLSSxnREFBaUY7QXpCMjNFekY7O0F3QnYzRUU7RUN2REEsY3JCVWdCO0VtQlZkLHlCbkJvQ2E7RXFCbENmLHFCckJrQ2U7QUpnNUVqQjs7QU05NkVFO0VtQkFFLGNyQkljO0VtQlZkLHlCRURvRjtFQVNwRixxQkFUeUg7QXpCMjdFN0g7O0F5Qi82RUU7RUFFRSxjckJIYztFbUJWZCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILGdEQUFpRjtBekI2NkV2Rjs7QXlCeDZFRTtFQUVFLGNyQmpCYztFcUJrQmQseUJyQlFhO0VxQlBiLHFCckJPYTtBSm02RWpCOztBeUJuNkVFOztFQUdFLGNyQjdCYztFcUI4QmQseUJBekN1SztFQTZDdksscUJBN0MrTTtBekIrOEVuTjs7QXlCaDZFSTs7RUFLSSxnREFBaUY7QXpCZzZFekY7O0F3QjU1RUU7RUN2REEsV3JCQ2E7RW1CRFgseUJuQmtDYTtFcUJoQ2YscUJyQmdDZTtBSnU3RWpCOztBTW45RUU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBekJnK0U3SDs7QXlCcDlFRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsK0NBQWlGO0F6Qms5RXZGOztBeUI3OEVFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCTWE7RXFCTGIscUJyQkthO0FKMDhFakI7O0F5Qng4RUU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F6Qm8vRW5OOztBeUJyOEVJOztFQUtJLCtDQUFpRjtBekJxOEV6Rjs7QXdCajhFRTtFQ3ZEQSxjckJVZ0I7RW1CVmQseUJuQkVjO0VxQkFoQixxQnJCQWdCO0FKNC9FbEI7O0FNeC9FRTtFbUJBRSxjckJJYztFbUJWZCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F6QnFnRjdIOztBeUJ6L0VFO0VBRUUsY3JCSGM7RW1CVmQseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCxpREFBaUY7QXpCdS9FdkY7O0F5QmwvRUU7RUFFRSxjckJqQmM7RXFCa0JkLHlCckIxQmM7RXFCMkJkLHFCckIzQmM7QUorZ0ZsQjs7QXlCNytFRTs7RUFHRSxjckI3QmM7RXFCOEJkLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXpCeWhGbk47O0F5QjErRUk7O0VBS0ksaURBQWlGO0F6QjArRXpGOztBd0J0K0VFO0VDdkRBLFdyQkNhO0VtQkRYLHlCbkJTYztFcUJQaEIscUJyQk9nQjtBSjBoRmxCOztBTTdoRkU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBekIwaUY3SDs7QXlCOWhGRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsOENBQWlGO0F6QjRoRnZGOztBeUJ2aEZFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCbkJjO0VxQm9CZCxxQnJCcEJjO0FKNmlGbEI7O0F5QmxoRkU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F6QjhqRm5OOztBeUIvZ0ZJOztFQUtJLDhDQUFpRjtBekIrZ0Z6Rjs7QXdCcmdGRTtFQ0hBLGNyQjVCZTtFcUI2QmYscUJyQjdCZTtBSnlpRmpCOztBTWprRkU7RW1Cd0RFLFdyQjdEVztFcUI4RFgseUJyQmpDYTtFcUJrQ2IscUJyQmxDYTtBSitpRmpCOztBeUIxZ0ZFO0VBRUUsK0NyQnZDYTtBSm1qRmpCOztBeUJ6Z0ZFO0VBRUUsY3JCNUNhO0VxQjZDYiw2QkFBNkI7QXpCMmdGakM7O0F5QnhnRkU7O0VBR0UsV3JCaEZXO0VxQmlGWCx5QnJCcERhO0VxQnFEYixxQnJCckRhO0FKK2pGakI7O0F5QnhnRkk7O0VBS0ksK0NyQjVEUztBSm9rRmpCOztBd0JyaUZFO0VDSEEsY3JCbkRnQjtFcUJvRGhCLHFCckJwRGdCO0FKZ21GbEI7O0FNam1GRTtFbUJ3REUsV3JCN0RXO0VxQjhEWCx5QnJCeERjO0VxQnlEZCxxQnJCekRjO0FKc21GbEI7O0F5QjFpRkU7RUFFRSxpRHJCOURjO0FKMG1GbEI7O0F5QnppRkU7RUFFRSxjckJuRWM7RXFCb0VkLDZCQUE2QjtBekIyaUZqQzs7QXlCeGlGRTs7RUFHRSxXckJoRlc7RXFCaUZYLHlCckIzRWM7RXFCNEVkLHFCckI1RWM7QUpzbkZsQjs7QXlCeGlGSTs7RUFLSSxpRHJCbkZVO0FKMm5GbEI7O0F3QnJrRkU7RUNIQSxjckJyQmU7RXFCc0JmLHFCckJ0QmU7QUprbUZqQjs7QU1qb0ZFO0VtQndERSxXckI3RFc7RXFCOERYLHlCckIxQmE7RXFCMkJiLHFCckIzQmE7QUp3bUZqQjs7QXlCMWtGRTtFQUVFLCtDckJoQ2E7QUo0bUZqQjs7QXlCemtGRTtFQUVFLGNyQnJDYTtFcUJzQ2IsNkJBQTZCO0F6QjJrRmpDOztBeUJ4a0ZFOztFQUdFLFdyQmhGVztFcUJpRlgseUJyQjdDYTtFcUI4Q2IscUJyQjlDYTtBSnduRmpCOztBeUJ4a0ZJOztFQUtJLCtDckJyRFM7QUo2bkZqQjs7QXdCcm1GRTtFQ0hBLGNyQm5CZTtFcUJvQmYscUJyQnBCZTtBSmdvRmpCOztBTWpxRkU7RW1Cd0RFLFdyQjdEVztFcUI4RFgseUJyQnhCYTtFcUJ5QmIscUJyQnpCYTtBSnNvRmpCOztBeUIxbUZFO0VBRUUsZ0RyQjlCYTtBSjBvRmpCOztBeUJ6bUZFO0VBRUUsY3JCbkNhO0VxQm9DYiw2QkFBNkI7QXpCMm1GakM7O0F5QnhtRkU7O0VBR0UsV3JCaEZXO0VxQmlGWCx5QnJCM0NhO0VxQjRDYixxQnJCNUNhO0FKc3BGakI7O0F5QnhtRkk7O0VBS0ksZ0RyQm5EUztBSjJwRmpCOztBd0Jyb0ZFO0VDSEEsY3JCdEJlO0VxQnVCZixxQnJCdkJlO0FKbXFGakI7O0FNanNGRTtFbUJ3REUsY3JCcERjO0VxQnFEZCx5QnJCM0JhO0VxQjRCYixxQnJCNUJhO0FKeXFGakI7O0F5QjFvRkU7RUFFRSwrQ3JCakNhO0FKNnFGakI7O0F5QnpvRkU7RUFFRSxjckJ0Q2E7RXFCdUNiLDZCQUE2QjtBekIyb0ZqQzs7QXlCeG9GRTs7RUFHRSxjckJ2RWM7RXFCd0VkLHlCckI5Q2E7RXFCK0NiLHFCckIvQ2E7QUp5ckZqQjs7QXlCeG9GSTs7RUFLSSwrQ3JCdERTO0FKOHJGakI7O0F3QnJxRkU7RUNIQSxjckJ4QmU7RXFCeUJmLHFCckJ6QmU7QUpxc0ZqQjs7QU1qdUZFO0VtQndERSxXckI3RFc7RXFCOERYLHlCckI3QmE7RXFCOEJiLHFCckI5QmE7QUoyc0ZqQjs7QXlCMXFGRTtFQUVFLCtDckJuQ2E7QUorc0ZqQjs7QXlCenFGRTtFQUVFLGNyQnhDYTtFcUJ5Q2IsNkJBQTZCO0F6QjJxRmpDOztBeUJ4cUZFOztFQUdFLFdyQmhGVztFcUJpRlgseUJyQmhEYTtFcUJpRGIscUJyQmpEYTtBSjJ0RmpCOztBeUJ4cUZJOztFQUtJLCtDckJ4RFM7QUpndUZqQjs7QXdCcnNGRTtFQ0hBLGNyQnhEZ0I7RXFCeURoQixxQnJCekRnQjtBSnF3RmxCOztBTWp3RkU7RW1Cd0RFLGNyQnBEYztFcUJxRGQseUJyQjdEYztFcUI4RGQscUJyQjlEYztBSjJ3RmxCOztBeUIxc0ZFO0VBRUUsaURyQm5FYztBSit3RmxCOztBeUJ6c0ZFO0VBRUUsY3JCeEVjO0VxQnlFZCw2QkFBNkI7QXpCMnNGakM7O0F5QnhzRkU7O0VBR0UsY3JCdkVjO0VxQndFZCx5QnJCaEZjO0VxQmlGZCxxQnJCakZjO0FKMnhGbEI7O0F5QnhzRkk7O0VBS0ksaURyQnhGVTtBSmd5RmxCOztBd0JydUZFO0VDSEEsY3JCakRnQjtFcUJrRGhCLHFCckJsRGdCO0FKOHhGbEI7O0FNanlGRTtFbUJ3REUsV3JCN0RXO0VxQjhEWCx5QnJCdERjO0VxQnVEZCxxQnJCdkRjO0FKb3lGbEI7O0F5QjF1RkU7RUFFRSw4Q3JCNURjO0FKd3lGbEI7O0F5Qnp1RkU7RUFFRSxjckJqRWM7RXFCa0VkLDZCQUE2QjtBekIydUZqQzs7QXlCeHVGRTs7RUFHRSxXckJoRlc7RXFCaUZYLHlCckJ6RWM7RXFCMEVkLHFCckIxRWM7QUpvekZsQjs7QXlCeHVGSTs7RUFLSSw4Q3JCakZVO0FKeXpGbEI7O0F3QjF2RkE7RUFDRSxnQnBCb04rQjtFb0JuTi9CLGNwQjVDZTtFb0I2Q2YscUJwQmtHNEM7QUoycEY5Qzs7QU1sMEZFO0VrQndFRSxjcEJnRzhEO0VvQi9GOUQsMEJwQmdHK0M7QUo4cEZuRDs7QXdCcndGQTtFQVlJLDBCcEIyRitDO0VvQjFGL0MsZ0JBQWdCO0F4QjZ2RnBCOztBd0Ixd0ZBO0VBa0JJLGNwQm5GYztFb0JvRmQsb0JBQW9CO0F4QjR2RnhCOztBd0JqdkZBO0VDSkUsb0JyQjZTZ0M7RUN0UjVCLGtCQXRDWTtFb0JpQmhCLGdCckJrSStCO0VPdk83QixxQlA4TytCO0FKaW5GbkM7O0F3QnB2RkE7RUNSRSx1QnJCd1NpQztFQ2pSN0IsbUJBdENZO0VvQmlCaEIsZ0JyQm1JK0I7RU94TzdCLHFCUCtPK0I7QUp1bkZuQzs7QXdCbHZGQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0F4QnF2RmI7O0F3QnZ2RkE7RUFNSSxrQnBCNlQrQjtBSnc3RW5DOztBd0JodkZBOzs7RUFJSSxXQUFXO0F4Qmt2RmY7O0EwQjEzRkE7RUxNTSxnQ2pCOFAyQztBSjBuRmpEOztBcUJuM0ZJO0VLWEo7SUxZTSxnQkFBZ0I7RXJCdTNGcEI7QUFDRjs7QTBCcDRGQTtFQUlJLFVBQVU7QTFCbzRGZDs7QTBCaDRGQTtFQUVJLGFBQWE7QTFCazRGakI7O0EwQjkzRkE7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULGdCQUFnQjtFTFhaLDZCakIrUHdDO0FKOG9GOUM7O0FxQng0Rkk7RUtHSjtJTEZNLGdCQUFnQjtFckI0NEZwQjtBQUNGOztBMkJ4NUZBOzs7O0VBSUUsa0JBQWtCO0EzQjI1RnBCOztBMkJ4NUZBO0VBQ0UsbUJBQW1CO0EzQjI1RnJCOztBNEJ2NEZJO0VBQ0UscUJBQXFCO0VBQ3JCLG9CeEJrTzBDO0V3QmpPMUMsdUJ4QmdPMEM7RXdCL04xQyxXQUFXO0VBaENmLHVCQUE4QjtFQUM5QixxQ0FBNEM7RUFDNUMsZ0JBQWdCO0VBQ2hCLG9DQUEyQztBNUIyNkY3Qzs7QTRCdDNGSTtFQUNFLGNBQWM7QTVCeTNGcEI7O0EyQm42RkE7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxhdkI0cEJzQztFdUIzcEJ0QyxhQUFhO0VBQ2IsV0FBVztFQUNYLGdCdkJrdUJ1QztFdUJqdUJ2QyxpQkFBOEI7RUFDOUIsb0JBQTRCO0V0QnNHeEIsZUF0Q1k7RXNCOURoQixjdkJYZ0I7RXVCWWhCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsc0J2QnZCYTtFdUJ3QmIsNEJBQTRCO0VBQzVCLHFDdkJmYTtFT1pYLHNCUDZPZ0M7QUpxdEZwQzs7QTJCOTVGSTtFQUNFLFdBQVc7RUFDWCxPQUFPO0EzQmk2RmI7O0EyQjk1Rkk7RUFDRSxRQUFRO0VBQ1IsVUFBVTtBM0JpNkZoQjs7QWVyNUZJO0VZbkJBO0lBQ0UsV0FBVztJQUNYLE9BQU87RTNCNDZGWDtFMkJ6NkZFO0lBQ0UsUUFBUTtJQUNSLFVBQVU7RTNCMjZGZDtBQUNGOztBZWg2Rkk7RVluQkE7SUFDRSxXQUFXO0lBQ1gsT0FBTztFM0J1N0ZYO0UyQnA3RkU7SUFDRSxRQUFRO0lBQ1IsVUFBVTtFM0JzN0ZkO0FBQ0Y7O0FlMzZGSTtFWW5CQTtJQUNFLFdBQVc7SUFDWCxPQUFPO0UzQms4Rlg7RTJCLzdGRTtJQUNFLFFBQVE7SUFDUixVQUFVO0UzQmk4RmQ7QUFDRjs7QWV0N0ZJO0VZbkJBO0lBQ0UsV0FBVztJQUNYLE9BQU87RTNCNjhGWDtFMkIxOEZFO0lBQ0UsUUFBUTtJQUNSLFVBQVU7RTNCNDhGZDtBQUNGOztBMkJ0OEZBO0VBRUksU0FBUztFQUNULFlBQVk7RUFDWixhQUFhO0VBQ2IsdUJ2QityQnVDO0FKeXdFM0M7O0E0QnYrRkk7RUFDRSxxQkFBcUI7RUFDckIsb0J4QmtPMEM7RXdCak8xQyx1QnhCZ08wQztFd0IvTjFDLFdBQVc7RUF6QmYsYUFBYTtFQUNiLHFDQUE0QztFQUM1QywwQkFBaUM7RUFDakMsb0NBQTJDO0E1Qm9nRzdDOztBNEJ0OUZJO0VBQ0UsY0FBYztBNUJ5OUZwQjs7QTJCLzhGQTtFQUVJLE1BQU07RUFDTixXQUFXO0VBQ1gsVUFBVTtFQUNWLGFBQWE7RUFDYixxQnZCaXJCdUM7QUpneUUzQzs7QTRCOS9GSTtFQUNFLHFCQUFxQjtFQUNyQixvQnhCa08wQztFd0JqTzFDLHVCeEJnTzBDO0V3Qi9OMUMsV0FBVztFQWxCZixtQ0FBMEM7RUFDMUMsZUFBZTtFQUNmLHNDQUE2QztFQUM3Qyx3QkFBK0I7QTVCb2hHakM7O0E0QjcrRkk7RUFDRSxjQUFjO0E1QmcvRnBCOztBNEI3Z0dJO0VEbURFLGlCQUFpQjtBM0I4OUZ2Qjs7QTJCejlGQTtFQUVJLE1BQU07RUFDTixXQUFXO0VBQ1gsVUFBVTtFQUNWLGFBQWE7RUFDYixzQnZCZ3FCdUM7QUoyekUzQzs7QTRCemhHSTtFQUNFLHFCQUFxQjtFQUNyQixvQnhCa08wQztFd0JqTzFDLHVCeEJnTzBDO0V3Qi9OMUMsV0FBVztBNUI0aEdqQjs7QTRCaGlHSTtFQWdCSSxhQUFhO0E1Qm9oR3JCOztBNEJqaEdNO0VBQ0UscUJBQXFCO0VBQ3JCLHFCeEIrTXdDO0V3QjlNeEMsdUJ4QjZNd0M7RXdCNU14QyxXQUFXO0VBOUJqQixtQ0FBMEM7RUFDMUMseUJBQWdDO0VBQ2hDLHNDQUE2QztBNUJtakcvQzs7QTRCbGhHSTtFQUNFLGNBQWM7QTVCcWhHcEI7O0E0Qi9oR007RURpREEsaUJBQWlCO0EzQmsvRnZCOztBMkIzK0ZBO0VBS0ksV0FBVztFQUNYLFlBQVk7QTNCMCtGaEI7O0EyQnIrRkE7RUU5R0UsU0FBUztFQUNULGdCQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsNkJ6QkNnQjtBSnNsR2xCOztBMkJyK0ZBO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCx1QnZCb3BCd0M7RXVCbnBCeEMsV0FBVztFQUNYLGdCdkJvSytCO0V1Qm5LL0IsY3ZCaEhnQjtFdUJpSGhCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLFNBQVM7QTNCdytGWDs7QU01bEdFO0VxQm1JRSxjdkJxbkJxRDtFdUJwbkJyRCxxQkFBcUI7RUo5SXJCLHlCbkJFYztBSjBtR2xCOztBMkJ4L0ZBO0VBZ0NJLFd2Qm5KVztFdUJvSlgscUJBQXFCO0VKckpyQix5Qm5COEJhO0FKb2xHakI7O0EyQjkvRkE7RUF1Q0ksY3ZCcEpjO0V1QnFKZCxvQkFBb0I7RUFDcEIsNkJBQTZCO0EzQjI5RmpDOztBMkJuOUZBO0VBQ0UsY0FBYztBM0JzOUZoQjs7QTJCbDlGQTtFQUNFLGNBQWM7RUFDZCxzQnZCK2xCd0M7RXVCOWxCeEMsZ0JBQWdCO0V0QnBEWixtQkF0Q1k7RXNCNEZoQixjdkJ4S2dCO0V1QnlLaEIsbUJBQW1CO0EzQnE5RnJCOztBMkJqOUZBO0VBQ0UsY0FBYztFQUNkLHVCdkJxbEJ3QztFdUJwbEJ4QyxjdkI3S2dCO0FKaW9HbEI7O0E4QjlvR0E7O0VBRUUsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixzQkFBc0I7QTlCaXBHeEI7O0E4QnJwR0E7O0VBT0ksa0JBQWtCO0VBQ2xCLGNBQWM7QTlCbXBHbEI7O0FNbHBHRTs7RXdCSUksVUFBVTtBOUJtcEdoQjs7QThCaHFHQTs7OztFQWtCTSxVQUFVO0E5QnFwR2hCOztBOEIvb0dBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZiwyQkFBMkI7QTlCa3BHN0I7O0E4QnJwR0E7RUFNSSxXQUFXO0E5Qm1wR2Y7O0E4Qi9vR0E7O0VBSUksaUIxQnNNNkI7QUowOEZqQzs7QThCcHBHQTs7RW5CaEJJLDBCbUIwQjhCO0VuQnpCOUIsNkJtQnlCOEI7QTlCZ3BHbEM7O0E4QjFwR0E7O0VuQkZJLHlCbUJpQjZCO0VuQmhCN0IsNEJtQmdCNkI7QTlCaXBHakM7O0E4QmpvR0E7RUFDRSx3QkFBbUM7RUFDbkMsdUJBQWtDO0E5Qm9vR3BDOztBOEJ0b0dBOzs7RUFPSSxjQUFjO0E5QnFvR2xCOztBOEJsb0dFO0VBQ0UsZUFBZTtBOUJxb0duQjs7QThCam9HQTtFQUNFLHVCQUFzQztFQUN0QyxzQkFBcUM7QTlCb29HdkM7O0E4QmpvR0E7RUFDRSxzQkFBc0M7RUFDdEMscUJBQXFDO0E5Qm9vR3ZDOztBOEJobkdBO0VBQ0Usc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2Qix1QkFBdUI7QTlCbW5HekI7O0E4QnRuR0E7O0VBT0ksV0FBVztBOUJvbkdmOztBOEIzbkdBOztFQVlJLGdCMUJxSDZCO0FKKy9GakM7O0E4QmhvR0E7O0VuQmxGSSw2Qm1Cb0crQjtFbkJuRy9CLDRCbUJtRytCO0E5Qm9uR25DOztBOEJ0b0dBOztFbkJoR0kseUJtQnVINEI7RW5CdEg1QiwwQm1Cc0g0QjtBOUJxbkdoQzs7QThCcG1HQTs7RUFHSSxnQkFBZ0I7QTlCc21HcEI7O0E4QnptR0E7Ozs7RUFPTSxrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLG9CQUFvQjtBOUJ5bUcxQjs7QStCbHdHQTtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixXQUFXO0EvQnF3R2I7O0ErQjF3R0E7Ozs7RUFXSSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFlBQVk7RUFDWixnQkFBZ0I7QS9Cc3dHcEI7O0ErQnB4R0E7Ozs7Ozs7Ozs7OztFQW1CTSxpQjNCc04yQjtBSjBqR2pDOztBK0JueUdBOzs7RUEyQkksVUFBVTtBL0I4d0dkOztBK0J6eUdBO0VBZ0NJLFVBQVU7QS9CNndHZDs7QStCN3lHQTs7RXBCZUksMEJvQnNCbUQ7RXBCckJuRCw2Qm9CcUJtRDtBL0I4d0d2RDs7QStCbnpHQTs7RXBCNkJJLHlCb0JTbUQ7RXBCUm5ELDRCb0JRbUQ7QS9CbXhHdkQ7O0ErQnp6R0E7RUE0Q0ksYUFBYTtFQUNiLG1CQUFtQjtBL0JpeEd2Qjs7QStCOXpHQTs7RXBCZUksMEJvQmlDNkU7RXBCaEM3RSw2Qm9CZ0M2RTtBL0JveEdqRjs7QStCcDBHQTtFcEI2QkkseUJvQm9Cc0U7RXBCbkJ0RSw0Qm9CbUJzRTtBL0J3eEcxRTs7QStCN3dHQTs7RUFFRSxhQUFhO0EvQmd4R2Y7O0ErQmx4R0E7O0VBUUksa0JBQWtCO0VBQ2xCLFVBQVU7QS9CK3dHZDs7QStCeHhHQTs7RUFZTSxVQUFVO0EvQml4R2hCOztBK0I3eEdBOzs7Ozs7OztFQW9CSSxpQjNCeUo2QjtBSjJuR2pDOztBK0JoeEdBO0VBQXVCLGtCM0JxSlU7QUorbkdqQzs7QStCbnhHQTtFQUFzQixpQjNCb0pXO0FKbW9HakM7O0ErQi93R0E7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHlCM0JnU2tDO0UyQi9SbEMsZ0JBQWdCO0UxQndCWixlQXRDWTtFMEJnQmhCLGdCM0IwTCtCO0UyQnpML0IsZ0IzQjhMK0I7RTJCN0wvQixjM0I3RmdCO0UyQjhGaEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix5QjNCckdnQjtFMkJzR2hCLHlCM0JwR2dCO0VPTmQsc0JQNk9nQztBSmdwR3BDOztBK0IveEdBOztFQWtCSSxhQUFhO0EvQmt4R2pCOztBK0J4d0dBOztFQUVFLGdDWmpCOEQ7QW5CNHhHaEU7O0ErQnh3R0E7Ozs7OztFQU1FLG9CM0IyUWdDO0VDdFI1QixrQkF0Q1k7RTBCbURoQixnQjNCZ0crQjtFT3ZPN0IscUJQOE8rQjtBSnFxR25DOztBK0J4d0dBOztFQUVFLGtDWmxDOEQ7QW5CNnlHaEU7O0ErQnh3R0E7Ozs7OztFQU1FLHVCM0JxUGlDO0VDalI3QixtQkF0Q1k7RTBCb0VoQixnQjNCZ0YrQjtFT3hPN0IscUJQK08rQjtBSnFyR25DOztBK0J4d0dBOztFQUVFLHNCQUEwRTtBL0Iyd0c1RTs7QStCaHdHQTs7Ozs7O0VwQnpKSSwwQm9CK0o0QjtFcEI5SjVCLDZCb0I4SjRCO0EvQm93R2hDOztBK0Jqd0dBOzs7Ozs7RXBCcEpJLHlCb0IwSjJCO0VwQnpKM0IsNEJvQnlKMkI7QS9CcXdHL0I7O0FnQ3o3R0E7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGtCQUErQztFQUMvQyxvQkFBcUU7QWhDNDdHdkU7O0FnQ3o3R0E7RUFDRSxvQkFBb0I7RUFDcEIsa0I1QjZmMEM7QUorN0Y1Qzs7QWdDejdHQTtFQUNFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsV0FBVztFQUNYLFc1QnlmMEM7RTRCeGYxQyxlQUFrRjtFQUNsRixVQUFVO0FoQzQ3R1o7O0FnQ2w4R0E7RUFTSSxXNUJ2Qlc7RTRCd0JYLHFCNUJLYTtFbUI5QmIseUJuQjhCYTtBSnk3R2pCOztBZ0N4OEdBO0VBb0JNLGdENUJMVztBSjY3R2pCOztBZ0M1OEdBO0VBeUJJLHFCNUIwYnNFO0FKNi9GMUU7O0FnQ2g5R0E7RUE2QkksVzVCM0NXO0U0QjRDWCx5QjVCc2Y4RTtFNEJyZjlFLHFCNUJxZjhFO0FKazhGbEY7O0FnQ3Q5R0E7RUF1Q00sYzVCL0NZO0FKaytHbEI7O0FnQzE5R0E7RUEwQ1EseUI1QnREVTtBSjArR2xCOztBZ0MxNkdBO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUVoQixtQkFBbUI7QWhDNDZHckI7O0FnQ2g3R0E7RUFTSSxrQkFBa0I7RUFDbEIsWUFBK0U7RUFDL0UsYUFBK0Q7RUFDL0QsY0FBYztFQUNkLFc1QjRid0M7RTRCM2J4QyxZNUIyYndDO0U0QjFieEMsb0JBQW9CO0VBQ3BCLFdBQVc7RUFDWCxzQjVCbkZXO0U0Qm9GWCx5QjVCb0o2QjtBSnV4R2pDOztBZ0M3N0dBO0VBd0JJLGtCQUFrQjtFQUNsQixZQUErRTtFQUMvRSxhQUErRDtFQUMvRCxjQUFjO0VBQ2QsVzVCNmF3QztFNEI1YXhDLFk1QjRhd0M7RTRCM2F4QyxXQUFXO0VBQ1gsbUNBQWdFO0FoQ3k2R3BFOztBZ0NoNkdBO0VyQjVHSSxzQlA2T2dDO0FKbXlHcEM7O0FnQ3A2R0E7RUFPTSxrT2I1RXFJO0FuQjYrRzNJOztBZ0N4NkdBO0VBYU0scUI1QjFGVztFbUI5QmIseUJuQjhCYTtBSjAvR2pCOztBZ0M3NkdBO0VBa0JNLCtLYnZGcUk7QW5Ccy9HM0k7O0FnQ2o3R0E7RUF3Qk0sd0M1QnJHVztBSmtnSGpCOztBZ0NyN0dBO0VBMkJNLHdDNUJ4R1c7QUpzZ0hqQjs7QWdDcjVHQTtFQUdJLGtCNUI4WitDO0FKdy9GbkQ7O0FnQ3o1R0E7RUFRTSw4S2JqSHFJO0FuQnNnSDNJOztBZ0M3NUdBO0VBY00sd0M1Qi9IVztBSmtoSGpCOztBZ0N6NEdBO0VBQ0UscUJBQTJEO0FoQzQ0RzdEOztBZ0M3NEdBO0VBS00sY0FBcUQ7RUFDckQsYzVCc1krRTtFNEJyWS9FLG1CQUFtQjtFQUVuQixxQjVCb1k0RTtBSnVnR2xGOztBZ0NwNUdBO0VBYU0sd0JiMUUwRDtFYTJFMUQsMEJiM0UwRDtFYTRFMUQsdUJieEQwRDtFYXlEMUQsd0JiekQwRDtFYTBEMUQseUI1QmxMWTtFNEJvTFoscUI1QjBYNEU7RWlCcGpCNUUseUlqQnNnQitIO0FKK2pHckk7O0FxQmhrSEk7RVdrS0o7SVhqS00sZ0JBQWdCO0VyQm9rSHBCO0FBQ0Y7O0FnQ3A2R0E7RUEwQk0sc0I1QmhNUztFNEJpTVQsOEJBQTRFO0FoQzg0R2xGOztBZ0N6NkdBO0VBaUNNLHdDNUIxS1c7QUpzakhqQjs7QWdDaDRHQTtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsbUNiN0c4RDtFYThHOUQsMEM1QndLa0M7RUN2UTlCLGVBdENZO0UyQndJaEIsZ0I1QmtFK0I7RTRCakUvQixnQjVCc0UrQjtFNEJyRS9CLGM1QnJOZ0I7RTRCc05oQixzQkFBc0I7RUFDdEIsdU81QnVXK0k7RTRCdFcvSSx5QjVCM05nQjtFT05kLHNCUDZPZ0M7RTRCVGxDLGdCQUFnQjtBaENpNEdsQjs7QWdDaDVHQTtFQWtCSSxxQjVCNFBzRTtFNEIzUHRFLFVBQVU7RUFJUixnRDVCN01XO0FKNGtIakI7O0FnQ3Q1R0E7RUFnQ00sYzVCNU9ZO0U0QjZPWixzQjVCcFBTO0FKOG1IZjs7QWdDMzVHQTtFQXVDSSxZQUFZO0VBQ1osc0I1Qm9JZ0M7RTRCbkloQyxzQkFBc0I7QWhDdzNHMUI7O0FnQ2o2R0E7RUE2Q0ksYzVCMVBjO0U0QjJQZCx5QjVCL1BjO0FKdW5IbEI7O0FnQ3Q2R0E7RUFtREksYUFBYTtBaEN1M0dqQjs7QWdDMTZHQTtFQXdESSxrQkFBa0I7RUFDbEIsMEI1QnJRYztBSjJuSGxCOztBZ0NsM0dBO0VBQ0Usa0NieEs4RDtFYXlLOUQsb0I1QnNIa0M7RTRCckhsQyx1QjVCcUhrQztFNEJwSGxDLG9CNUJxSGlDO0VDalI3QixtQkF0Q1k7QUx3akhsQjs7QWdDbDNHQTtFQUNFLGdDYmhMOEQ7RWFpTDlELG1CNUJtSGlDO0U0QmxIakMsc0I1QmtIaUM7RTRCakhqQyxrQjVCa0hnQztFQ3RSNUIsa0JBdENZO0FMZ2tIbEI7O0FnQzcyR0E7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxtQ2JoTThEO0VhaU05RCxnQkFBZ0I7QWhDZzNHbEI7O0FnQzcyR0E7RUFDRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxtQ2J4TThEO0VheU05RCxTQUFTO0VBQ1QsVUFBVTtBaENnM0daOztBZ0N0M0dBO0VBU0kscUI1QjJLc0U7RTRCMUt0RSxnRDVCMVJhO0FKMm9IakI7O0FnQzMzR0E7O0VBZ0JJLHlCNUIzVGM7QUoycUhsQjs7QWdDaDRHQTtFQXFCTSxpQjVCa1VRO0FKNmlHZDs7QWdDcDRHQTtFQTBCSSwwQkFBMEI7QWhDODJHOUI7O0FnQzEyR0E7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsVUFBVTtFQUNWLG1DYnhPOEQ7RWF5TzlELHlCNUI2Q2tDO0U0QjNDbEMsZ0I1QnhEK0I7RTRCeUQvQixnQjVCcEQrQjtFNEJxRC9CLGM1Qi9VZ0I7RTRCZ1ZoQixzQjVCdlZhO0U0QndWYix5QjVCcFZnQjtFT05kLHNCUDZPZ0M7QUowOUdwQzs7QWdDMTNHQTtFQWtCSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixTQUFTO0VBQ1QsVUFBVTtFQUNWLGNBQWM7RUFDZCw2QmIxUDREO0VhMlA1RCx5QjVCMkJnQztFNEIxQmhDLGdCNUJwRTZCO0U0QnFFN0IsYzVCL1ZjO0U0QmdXZCxpQkFBaUI7RVR4V2pCLHlCbkJHYztFNEJ1V2Qsb0JBQW9CO0VyQjNXcEIsa0NxQjRXZ0Y7QWhDNDJHcEY7O0FnQ2wyR0E7RUFDRSxXQUFXO0VBQ1gsY2JoUjJCO0VhaVIzQixVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLGdCQUFnQjtBaENxMkdsQjs7QWdDMTJHQTtFQVFJLGFBQWE7QWhDczJHakI7O0FnQzkyR0E7RUFZOEIsZ0U1Qm5XYjtBSnlzSGpCOztBZ0NsM0dBO0VBYThCLGdFNUJwV2I7QUo2c0hqQjs7QWdDdDNHQTtFQWM4QixnRTVCcldiO0FKaXRIakI7O0FnQzEzR0E7RUFrQkksU0FBUztBaEM0MkdiOztBZ0M5M0dBO0VBc0JJLFc1QjJONkM7RTRCMU43QyxZNUIwTjZDO0U0QnpON0Msb0JBQXlFO0VUN1l6RSx5Qm5COEJhO0U0QmlYYixTNUIwTjBDO0VPMW1CMUMsbUJQMm1CNkM7RWlCMW1CM0MsNEdqQnNnQitIO0U0Qm5IakksZ0JBQWdCO0FoQzIyR3BCOztBcUJ6dkhJO0VXZ1hKO0lYL1dNLGdCQUFnQjtFckI2dkhwQjtBQUNGOztBZ0MvNEdBO0VUclhJLHlCbkI4bUIyRTtBSjBwRy9FOztBZ0NuNUdBO0VBc0NJLFc1Qm9Nb0M7RTRCbk1wQyxjNUJvTXFDO0U0Qm5NckMsa0JBQWtCO0VBQ2xCLGU1Qm1NdUM7RTRCbE12Qyx5QjVCM1pjO0U0QjRaZCx5QkFBeUI7RXJCamF6QixtQlBvbUJvQztBSitxR3hDOztBZ0M3NUdBO0VBaURJLFc1QmdNNkM7RTRCL0w3QyxZNUIrTDZDO0VtQnRtQjdDLHlCbkI4QmE7RTRCMlliLFM1QmdNMEM7RU8xbUIxQyxtQlAybUI2QztFaUIxbUIzQyw0R2pCc2dCK0g7RTRCekZqSSxnQkFBZ0I7QWhDKzJHcEI7O0FxQnZ4SEk7RVdnWEo7SVgvV00sZ0JBQWdCO0VyQjJ4SHBCO0FBQ0Y7O0FnQzc2R0E7RVRyWEkseUJuQjhtQjJFO0FKd3JHL0U7O0FnQ2o3R0E7RUFnRUksVzVCMEtvQztFNEJ6S3BDLGM1QjBLcUM7RTRCektyQyxrQkFBa0I7RUFDbEIsZTVCeUt1QztFNEJ4S3ZDLHlCNUJyYmM7RTRCc2JkLHlCQUF5QjtFckIzYnpCLG1CUG9tQm9DO0FKNnNHeEM7O0FnQzM3R0E7RUEyRUksVzVCc0s2QztFNEJySzdDLFk1QnFLNkM7RTRCcEs3QyxhQUFhO0VBQ2Isb0I1QjlEK0I7RTRCK0QvQixtQjVCL0QrQjtFbUJyWS9CLHlCbkI4QmE7RTRCd2FiLFM1Qm1LMEM7RU8xbUIxQyxtQlAybUI2QztFaUIxbUIzQyw0R2pCc2dCK0g7RTRCNURqSSxnQkFBZ0I7QWhDbTNHcEI7O0FxQnh6SEk7RVdnWEo7SVgvV00sZ0JBQWdCO0VyQjR6SHBCO0FBQ0Y7O0FnQzk4R0E7RVRyWEkseUJuQjhtQjJFO0FKeXRHL0U7O0FnQ2w5R0E7RUE2RkksVzVCNklvQztFNEI1SXBDLGM1QjZJcUM7RTRCNUlyQyxrQkFBa0I7RUFDbEIsZTVCNEl1QztFNEIzSXZDLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsb0JBQTRDO0FoQ3kzR2hEOztBZ0M1OUdBO0VBd0dJLHlCNUJ6ZGM7RU9MZCxtQlBvbUJvQztBSm12R3hDOztBZ0NqK0dBO0VBNkdJLGtCQUFrQjtFQUNsQix5QjVCL2RjO0VPTGQsbUJQb21Cb0M7QUp5dkd4Qzs7QWdDditHQTtFQW9ITSx5QjVCbmVZO0FKMDFIbEI7O0FnQzMrR0E7RUF3SE0sZUFBZTtBaEN1M0dyQjs7QWdDLytHQTtFQTRITSx5QjVCM2VZO0FKazJIbEI7O0FnQ24vR0E7RUFnSU0sZUFBZTtBaEN1M0dyQjs7QWdDdi9HQTtFQW9JTSx5QjVCbmZZO0FKMDJIbEI7O0FnQ2wzR0E7OztFWDlmTSw0R2pCc2dCK0g7QUpnM0dySTs7QXFCajNISTtFV3lmSjs7O0lYeGZNLGdCQUFnQjtFckJ1M0hwQjtBQUNGOztBaUMvM0hBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBakNrNEhsQjs7QWlDLzNIQTtFQUNFLGNBQWM7RUFDZCxvQjdCNnFCc0M7QUpxdEd4Qzs7QU1qNEhFO0UyQkVFLHFCQUFxQjtBakNtNEh6Qjs7QWlDeDRIQTtFQVVJLGM3QlZjO0U2QldkLG9CQUFvQjtFQUNwQixlQUFlO0FqQ2s0SG5COztBaUMxM0hBO0VBQ0UsZ0M3QnhCZ0I7QUpxNUhsQjs7QWlDOTNIQTtFQUlJLG1CN0IwTTZCO0FKb3JIakM7O0FpQ2w0SEE7RUFRSSw2QkFBZ0Q7RXRCM0JoRCwrQlBvT2dDO0VPbk9oQyxnQ1BtT2dDO0FKdXJIcEM7O0FNejVIRTtFMkI2QkkscUM3Qm5DWTtBSm02SGxCOztBaUM1NEhBO0VBZ0JNLGM3QnBDWTtFNkJxQ1osNkJBQTZCO0VBQzdCLHlCQUF5QjtBakNnNEgvQjs7QWlDbDVIQTs7RUF3QkksYzdCM0NjO0U2QjRDZCxzQjdCbkRXO0U2Qm9EWCxrQzdCcERXO0FKbTdIZjs7QWlDejVIQTtFQStCSSxnQjdCK0s2QjtFT2pPN0IseUJzQm9ENEI7RXRCbkQ1QiwwQnNCbUQ0QjtBakM4M0hoQzs7QWlDcjNIQTtFdEJ0RUksc0JQNk9nQztBSmt0SHBDOztBaUN6M0hBOztFQU9JLFc3QjNFVztFNkI0RVgseUI3Qi9DYTtBSnM2SGpCOztBaUM5MkhBO0VBRUksY0FBYztFQUNkLGtCQUFrQjtBakNnM0h0Qjs7QWlDNTJIQTtFQUVJLGFBQWE7RUFDYixZQUFZO0VBQ1osa0JBQWtCO0FqQzgySHRCOztBaUNyMkhBO0VBRUksYUFBYTtBakN1MkhqQjs7QWlDejJIQTtFQUtJLGNBQWM7QWpDdzJIbEI7O0FrQzU4SEE7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLG9COUJpSFc7QUo4MUhiOztBa0NyOUhBOztFQVdJLGFBQWE7RUFDYixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLDhCQUE4QjtBbEMrOEhsQzs7QWtDMzdIQTtFQUNFLHFCQUFxQjtFQUNyQixzQjlCcXFCK0U7RThCcHFCL0UseUI5Qm9xQitFO0U4Qm5xQi9FLGtCOUJpRlc7RUNUUCxrQkF0Q1k7RTZCaENoQixvQkFBb0I7RUFDcEIsbUJBQW1CO0FsQzg3SHJCOztBTXgrSEU7RTRCNkNFLHFCQUFxQjtBbEMrN0h6Qjs7QWtDdDdIQTtFQUNF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Q3JCLDJCQUEyQjtBbEM0aEluQzs7QWtDdGpJQTs7RUFRVSxnQkFBZ0I7RUFDaEIsZUFBZTtBbENtakl6Qjs7QWtDNWpJQTtFQTZCVSxtQkFBbUI7QWxDbWlJN0I7O0FrQ2hrSUE7RUFnQ1ksa0JBQWtCO0FsQ29pSTlCOztBa0Nwa0lBO0VBb0NZLHFCOUJnaUI2QjtFOEIvaEI3QixvQjlCK2hCNkI7QUpxZ0h6Qzs7QWtDemtJQTs7RUEyQ1UsaUJBQWlCO0FsQ21pSTNCOztBa0M5a0lBO0VBMERVLHdCQUF3QjtFQUd4QixnQkFBZ0I7QWxDc2hJMUI7O0FrQ25sSUE7RUFpRVUsYUFBYTtBbENzaEl2Qjs7QWtDemdJQTtFQUVJLHlCOUIvTVc7QUowdElmOztBTTN0SUU7RTRCbU5JLHlCOUJsTlM7QUo4dElmOztBa0NqaElBO0VBV00seUI5QnhOUztBSmt1SWY7O0FNbnVJRTtFNEI0Tk0seUI5QjNOTztBSnN1SWY7O0FrQ3poSUE7RUFrQlEseUI5Qi9OTztBSjB1SWY7O0FrQzdoSUE7Ozs7RUEwQk0seUI5QnZPUztBSml2SWY7O0FrQ3BpSUE7RUErQkkseUI5QjVPVztFOEI2T1gsZ0M5QjdPVztBSnN2SWY7O0FrQ3ppSUE7RUFvQ0ksK1FmdE51STtBbkIrdEkzSTs7QWtDN2lJQTtFQXdDSSx5QjlCclBXO0FKOHZJZjs7QWtDampJQTtFQTBDTSx5QjlCdlBTO0FKa3dJZjs7QU1ud0lFO0U0QjJQTSx5QjlCMVBPO0FKc3dJZjs7QWtDcmdJQTtFQUVJLFc5QjdRVztBSm94SWY7O0FNM3dJRTtFNEJ1UUksVzlCaFJTO0FKd3hJZjs7QWtDN2dJQTtFQVdNLCtCOUJ0UlM7QUo0eElmOztBTW54SUU7RTRCZ1JNLGdDOUJ6Uk87QUpneUlmOztBa0NyaElBO0VBa0JRLGdDOUI3Uk87QUpveUlmOztBa0N6aElBOzs7O0VBMEJNLFc5QnJTUztBSjJ5SWY7O0FrQ2hpSUE7RUErQkksK0I5QjFTVztFOEIyU1gsc0M5QjNTVztBSmd6SWY7O0FrQ3JpSUE7RUFvQ0kscVJmMVF1STtBbkIrd0kzSTs7QWtDemlJQTtFQXdDSSwrQjlCblRXO0FKd3pJZjs7QWtDN2lJQTtFQTBDTSxXOUJyVFM7QUo0eklmOztBTW56SUU7RTRCK1NNLFc5QnhUTztBSmcwSWY7O0FtQ24wSUE7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixZQUFZO0VBRVoscUJBQXFCO0VBQ3JCLHNCL0JKYTtFK0JLYiwyQkFBMkI7RUFDM0Isc0MvQklhO0VPWlgsc0JQNk9nQztBSmltSXBDOztBbUMvMElBO0VBYUksZUFBZTtFQUNmLGNBQWM7QW5DczBJbEI7O0FtQ3AxSUE7RXhCVUksK0JQb09nQztFT25PaEMsZ0NQbU9nQztBSjJtSXBDOztBbUN6MUlBO0V4QndCSSxtQ1BzTmdDO0VPck5oQyxrQ1BxTmdDO0FKZ25JcEM7O0FtQ2gwSUE7RUFHRSxjQUFjO0VBR2QsZUFBZTtFQUNmLGdCL0JzeEJ5QztBSnlpSDNDOztBbUMzeklBO0VBQ0Usc0IvQmd4QndDO0FKOGlIMUM7O0FtQzN6SUE7RUFDRSxxQkFBK0I7RUFDL0IsZ0JBQWdCO0FuQzh6SWxCOztBbUMzeklBO0VBQ0UsZ0JBQWdCO0FuQzh6SWxCOztBTXoySUU7RTZCZ0RFLHFCQUFxQjtBbkM2ekl6Qjs7QW1DL3pJQTtFQU1JLG9CL0IrdkJ1QztBSjhqSDNDOztBbUNyeklBO0VBQ0Usd0IvQnN2QnlDO0UrQnJ2QnpDLGdCQUFnQjtFQUVoQixxQy9CM0RhO0UrQjREYiw2Qy9CNURhO0FKbTNJZjs7QW1DNXpJQTtFeEJuRUksMER3QjJFOEU7QW5Dd3pJbEY7O0FtQ2gwSUE7RUFhTSxhQUFhO0FuQ3V6SW5COztBbUNseklBO0VBQ0Usd0IvQm91QnlDO0UrQm51QnpDLHFDL0IzRWE7RStCNEViLDBDL0I1RWE7QUppNElmOztBbUN4eklBO0V4QnJGSSwwRFErSDREO0FuQmt4SWhFOztBbUM3eUlBO0VBQ0UsdUJBQWlDO0VBQ2pDLHVCL0JtdEJ3QztFK0JsdEJ4QyxzQkFBZ0M7RUFDaEMsZ0JBQWdCO0FuQ2d6SWxCOztBbUM3eUlBO0VBQ0UsdUJBQWlDO0VBQ2pDLHNCQUFnQztBbkNneklsQzs7QW1DNXlJQTtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsZ0IvQjhzQnlDO0FKaW1IM0M7O0FtQzV5SUE7OztFQUdFLGNBQWM7RUFDZCxXQUFXO0FuQyt5SWI7O0FtQzV5SUE7O0V4QnhISSwyQ1FzSDREO0VSckg1RCw0Q1FxSDREO0FuQm96SWhFOztBbUM3eUlBOztFeEIvR0ksK0NRd0c0RDtFUnZHNUQsOENRdUc0RDtBbkIwekloRTs7QW1DM3lJQTtFQUVJLG1CL0J1ckJzRDtBSnNuSDFEOztBZXQ0SUk7RW9CdUZKO0lBTUksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQi9CaXJCc0Q7SStCaHJCdEQsa0IvQmdyQnNEO0VKOG5IeEQ7RW1DdnpJRjtJQWFNLFlBQVk7SUFDWixrQi9CMnFCb0Q7SStCMXFCcEQsZ0JBQWdCO0lBQ2hCLGlCL0J5cUJvRDtFSm9vSHhEO0FBQ0Y7O0FtQ3B5SUE7RUFJSSxtQi9CMnBCc0Q7QUp5b0gxRDs7QWV6NUlJO0VvQmlISjtJQVFJLGFBQWE7SUFDYixtQkFBbUI7RW5DcXlJckI7RW1DOXlJRjtJQWNNLFlBQVk7SUFDWixnQkFBZ0I7RW5DbXlJcEI7RW1DbHpJRjtJQWtCUSxjQUFjO0lBQ2QsY0FBYztFbkNteUlwQjtFbUN0eklGO0l4QnhKSSwwQndCaUxvQztJeEJoTHBDLDZCd0JnTG9DO0VuQ2l5SXRDO0VtQzF6SUY7O0lBOEJZLDBCQUEwQjtFbkNneUlwQztFbUM5eklGOztJQW1DWSw2QkFBNkI7RW5DK3hJdkM7RW1DbDBJRjtJeEIxSUkseUJ3QmtMbUM7SXhCakxuQyw0QndCaUxtQztFbkM4eElyQztFbUN0MElGOztJQTZDWSx5QkFBeUI7RW5DNnhJbkM7RW1DMTBJRjs7SUFrRFksNEJBQTRCO0VuQzR4SXRDO0FBQ0Y7O0FtQ2h4SUE7RUFFSSxzQi9CZ2xCc0M7QUprc0gxQzs7QWVwOElJO0VvQmdMSjtJQU1JLGUvQjZsQmlDO0krQjVsQmpDLG1CL0I2bEJ1QztJK0I1bEJ2QyxVQUFVO0lBQ1YsU0FBUztFbkNteElYO0VtQzV4SUY7SUFZTSxxQkFBcUI7SUFDckIsV0FBVztFbkNteElmO0FBQ0Y7O0FtQzF3SUE7RUFFSSxnQkFBZ0I7QW5DNHdJcEI7O0FtQzl3SUE7RUFLTSxnQkFBZ0I7RXhCNU9sQiw2QndCNk9pQztFeEI1T2pDLDRCd0I0T2lDO0FuQzh3SXJDOztBbUNweElBO0V4QnJQSSx5QndCK1A4QjtFeEI5UDlCLDBCd0I4UDhCO0FuQyt3SWxDOztBbUN6eElBO0V4QjlQSSxnQndCNFEwQjtFQUN4QixtQi9CbkMyQjtBSmt6SWpDOztBb0NqaUpBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixxQmhDK2hDc0M7RWdDOWhDdEMsbUJoQ2lpQ3NDO0VnQy9oQ3RDLGdCQUFnQjtFQUNoQix5QmhDRWdCO0VPSmQsc0JQNk9nQztBSnl6SXBDOztBb0NoaUpBO0VBR0ksb0JoQ3FoQ3FDO0FKNGdIekM7O0FvQ3BpSkE7RUFNTSxxQkFBcUI7RUFDckIscUJoQ2loQ21DO0VnQ2hoQ25DLGNoQ05ZO0VnQ09aLFloQ3NoQ3VDO0FKNGdIN0M7O0FvQzNpSkE7RUFvQkksMEJBQTBCO0FwQzJoSjlCOztBb0MvaUpBO0VBd0JJLHFCQUFxQjtBcEMyaEp6Qjs7QW9DbmpKQTtFQTRCSSxjaEMxQmM7QUpxakpsQjs7QXFDbGtKQTtFQUNFLGFBQWE7RTdCR2IsZUFBZTtFQUNmLGdCQUFnQjtFR0FkLHNCUDZPZ0M7QUp1MUlwQzs7QXFDbmtKQTtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsdUJqQ2d4QndDO0VpQy93QnhDLGlCakNxTytCO0VpQ3BPL0IsaUJqQ214QnNDO0VpQ2x4QnRDLGNqQ3dCZTtFaUN2QmYsc0JqQ05hO0VpQ09iLHlCakNKZ0I7QUowa0psQjs7QXFDOWtKQTtFQVdJLFVBQVU7RUFDVixjakNrSzhEO0VpQ2pLOUQscUJBQXFCO0VBQ3JCLHlCakNYYztFaUNZZCxxQmpDWGM7QUprbEpsQjs7QXFDdGxKQTtFQW1CSSxVQUFVO0VBQ1YsVWpDNHdCaUM7RWlDM3dCakMsZ0RqQ1NhO0FKOGpKakI7O0FxQ25rSkE7RUFHTSxjQUFjO0UxQkNoQiwrQlArTWdDO0VPOU1oQyxrQ1A4TWdDO0FKczNJcEM7O0FxQ3prSkE7RTFCVkksZ0NQNk5nQztFTzVOaEMsbUNQNE5nQztBSjIzSXBDOztBcUM5a0pBO0VBY0ksVUFBVTtFQUNWLFdqQ3ZDVztFaUN3Q1gseUJqQ1hhO0VpQ1liLHFCakNaYTtBSmdsSmpCOztBcUNybEpBO0VBcUJJLGNqQ3ZDYztFaUN3Q2Qsb0JBQW9CO0VBRXBCLFlBQVk7RUFDWixzQmpDakRXO0VpQ2tEWCxxQmpDL0NjO0FKa25KbEI7O0FzQ3puSkU7RUFDRSx1QmxDeXhCc0M7RUM5cEJwQyxrQkF0Q1k7RWlDbkZkLGdCbENzTzZCO0FKczVJakM7O0FzQ3ZuSk07RTNCd0JGLDhCUGdOK0I7RU8vTS9CLGlDUCtNK0I7QUpvNUluQzs7QXNDdm5KTTtFM0JLRiwrQlA4TitCO0VPN04vQixrQ1A2TitCO0FKeTVJbkM7O0FzQ3pvSkU7RUFDRSx1QmxDdXhCcUM7RUM1cEJuQyxtQkF0Q1k7RWlDbkZkLGdCbEN1TzZCO0FKcTZJakM7O0FzQ3ZvSk07RTNCd0JGLDhCUGlOK0I7RU9oTi9CLGlDUGdOK0I7QUptNkluQzs7QXNDdm9KTTtFM0JLRiwrQlArTitCO0VPOU4vQixrQ1A4TitCO0FKdzZJbkM7O0F1Q3ZwSkE7RUFDRSxxQkFBcUI7RUFDckIscUJuQ3c1QnNDO0VDdjFCcEMsY0FBVztFa0MvRGIsZ0JuQzJSK0I7RW1DMVIvQixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix3QkFBd0I7RTVCUnRCLHNCUDZPZ0M7RWlCNU85QixxSWpCNmI2STtBSnN1SW5KOztBcUI5cEpJO0VrQk5KO0lsQk9NLGdCQUFnQjtFckJrcUpwQjtBQUNGOztBTS9wSkU7RWlDR0kscUJBQXFCO0F2Q2dxSjNCOztBdUM5cUpBO0VBb0JJLGFBQWE7QXZDOHBKakI7O0F1Q3pwSkE7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztBdkM0cEpYOztBdUNycEpBO0VBQ0Usb0JuQzYzQnNDO0VtQzUzQnRDLG1CbkM0M0JzQztFT2g2QnBDLG9CUG02QnFDO0FKMHhIekM7O0F1Q2hwSkU7RUNqREEsV3BDTWE7RW9DTGIseUJwQ2tDZTtBSm1xSmpCOztBTXZySkU7RWtDVkksV3BDQ1M7RW9DQVQseUJBQWtDO0F4Q3FzSnhDOztBd0N4c0pVO0VBUUosVUFBVTtFQUNWLCtDcEN1Qlc7QUo2cUpqQjs7QXVDL3BKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDV2dCO0FKeXNKbEI7O0FNdHNKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXhDb3RKeEM7O0F3Q3Z0SlU7RUFRSixVQUFVO0VBQ1YsaURwQ0FZO0FKbXRKbEI7O0F1QzlxSkU7RUNqREEsV3BDTWE7RW9DTGIseUJwQ3lDZTtBSjBySmpCOztBTXJ0SkU7RWtDVkksV3BDQ1M7RW9DQVQseUJBQWtDO0F4Q211SnhDOztBd0N0dUpVO0VBUUosVUFBVTtFQUNWLCtDcEM4Qlc7QUpvc0pqQjs7QXVDN3JKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDMkNlO0FKdXNKakI7O0FNcHVKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXhDa3ZKeEM7O0F3Q3J2SlU7RUFRSixVQUFVO0VBQ1YsZ0RwQ2dDVztBSml0SmpCOztBdUM1c0pFO0VDakRBLGNwQ2VnQjtFb0NkaEIseUJwQ3dDZTtBSnl0SmpCOztBTW52SkU7RWtDVkksY3BDVVk7RW9DVFoseUJBQWtDO0F4Q2l3SnhDOztBd0Nwd0pVO0VBUUosVUFBVTtFQUNWLCtDcEM2Qlc7QUptdUpqQjs7QXVDM3RKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDc0NlO0FKMHVKakI7O0FNbHdKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXhDZ3hKeEM7O0F3Q254SlU7RUFRSixVQUFVO0VBQ1YsK0NwQzJCVztBSm92SmpCOztBdUMxdUpFO0VDakRBLGNwQ2VnQjtFb0NkaEIseUJwQ01nQjtBSnl4SmxCOztBTWp4SkU7RWtDVkksY3BDVVk7RW9DVFoseUJBQWtDO0F4Qyt4SnhDOztBd0NseUpVO0VBUUosVUFBVTtFQUNWLGlEcENMWTtBSm15SmxCOztBdUN6dkpFO0VDakRBLFdwQ01hO0VvQ0xiLHlCcENhZ0I7QUppeUpsQjs7QU1oeUpFO0VrQ1ZJLFdwQ0NTO0VvQ0FULHlCQUFrQztBeEM4eUp4Qzs7QXdDanpKVTtFQVFKLFVBQVU7RUFDViw4Q3BDRVk7QUoyeUpsQjs7QXlDMXpKQTtFQUNFLGtCQUFvRDtFQUNwRCxtQnJDcXpCc0M7RXFDbnpCdEMseUJyQ0tnQjtFT0pkLHFCUDhPK0I7QUo4a0puQzs7QWVyd0pJO0UwQjVESjtJQVFJLGtCckMreUJvQztFSitnSXRDO0FBQ0Y7O0F5QzN6SkE7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFOUJUYixnQjhCVXNCO0F6Qzh6SjFCOztBMEN6MEpBO0VBQ0Usa0JBQWtCO0VBQ2xCLHdCdENxOUJ5QztFc0NwOUJ6QyxtQnRDcTlCc0M7RXNDcDlCdEMsNkJBQTZDO0UvQkgzQyxzQlA2T2dDO0FKbW1KcEM7O0EwQ3gwSkE7RUFFRSxjQUFjO0ExQzAwSmhCOztBMEN0MEpBO0VBQ0UsZ0J0Q2dSK0I7QUp5akpqQzs7QTBDajBKQTtFQUNFLG1CQUFzRDtBMUNvMEp4RDs7QTBDcjBKQTtFQUtJLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLHdCdEN1N0J1QztFc0N0N0J2QyxjQUFjO0ExQ28wSmxCOztBMEMxekpFO0VDOUNBLGN4QjhGZ0U7RUl6RjlELHlCSnlGOEQ7RXdCNUZoRSxxQnhCNEZnRTtBbkJneEpsRTs7QTJDMTJKRTtFQUNFLHlCQUFxQztBM0M2Mkp6Qzs7QTJDMTJKRTtFQUNFLGNBQTBCO0EzQzYySjlCOztBMEN4MEpFO0VDOUNBLGN4QjhGZ0U7RUl6RjlELHlCSnlGOEQ7RXdCNUZoRSxxQnhCNEZnRTtBbkI4eEpsRTs7QTJDeDNKRTtFQUNFLHlCQUFxQztBM0MyM0p6Qzs7QTJDeDNKRTtFQUNFLGNBQTBCO0EzQzIzSjlCOztBMEN0MUpFO0VDOUNBLGN4QjhGZ0U7RUl6RjlELHlCSnlGOEQ7RXdCNUZoRSxxQnhCNEZnRTtBbkI0eUpsRTs7QTJDdDRKRTtFQUNFLHlCQUFxQztBM0N5NEp6Qzs7QTJDdDRKRTtFQUNFLGNBQTBCO0EzQ3k0SjlCOztBMENwMkpFO0VDOUNBLGN4QjhGZ0U7RUl6RjlELHlCSnlGOEQ7RXdCNUZoRSxxQnhCNEZnRTtBbkIwekpsRTs7QTJDcDVKRTtFQUNFLHlCQUFxQztBM0N1NUp6Qzs7QTJDcDVKRTtFQUNFLGNBQTBCO0EzQ3U1SjlCOztBMENsM0pFO0VDOUNBLGN4QjhGZ0U7RUl6RjlELHlCSnlGOEQ7RXdCNUZoRSxxQnhCNEZnRTtBbkJ3MEpsRTs7QTJDbDZKRTtFQUNFLHlCQUFxQztBM0NxNkp6Qzs7QTJDbDZKRTtFQUNFLGNBQTBCO0EzQ3E2SjlCOztBMENoNEpFO0VDOUNBLGN4QjhGZ0U7RUl6RjlELHlCSnlGOEQ7RXdCNUZoRSxxQnhCNEZnRTtBbkJzMUpsRTs7QTJDaDdKRTtFQUNFLHlCQUFxQztBM0NtN0p6Qzs7QTJDaDdKRTtFQUNFLGNBQTBCO0EzQ203SjlCOztBMEM5NEpFO0VDOUNBLGN4QjhGZ0U7RUl6RjlELHlCSnlGOEQ7RXdCNUZoRSxxQnhCNEZnRTtBbkJvMkpsRTs7QTJDOTdKRTtFQUNFLHlCQUFxQztBM0NpOEp6Qzs7QTJDOTdKRTtFQUNFLGNBQTBCO0EzQ2k4SjlCOztBMEM1NUpFO0VDOUNBLGN4QjhGZ0U7RUl6RjlELHlCSnlGOEQ7RXdCNUZoRSxxQnhCNEZnRTtBbkJrM0psRTs7QTJDNThKRTtFQUNFLHlCQUFxQztBM0MrOEp6Qzs7QTJDNThKRTtFQUNFLGNBQTBCO0EzQys4SjlCOztBNEN2OUpFO0VBQ0U7SUFBTywyQkFBdUM7RTVDMjlKaEQ7RTRDMTlKRTtJQUFLLHdCQUF3QjtFNUM2OUovQjtBQUNGOztBNEMxOUpBO0VBQ0UsYUFBYTtFQUNiLFl4Qzg5QnNDO0V3Qzc5QnRDLGdCQUFnQjtFdkNvSFosa0JBdENZO0V1QzVFaEIseUJ4Q0pnQjtFT0pkLHNCUDZPZ0M7QUp5dkpwQzs7QTRDejlKQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixXeENoQmE7RXdDaUJiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUJ4Q1VlO0VpQjlCWCwyQmpCMCtCNEM7QUp1Z0lsRDs7QXFCNStKSTtFdUJPSjtJdkJOTSxnQkFBZ0I7RXJCZy9KcEI7QUFDRjs7QTRDLzlKQTtFckJhRSxxTUFBNkk7RXFCWDdJLDBCeEN3OEJzQztBSjBoSXhDOztBNEM5OUpFO0VBQ0Usa0R4QzA4QmtEO0FKdWhJdEQ7O0E0Qzk5Sk07RUFKSjtJQUtNLGVBQWU7RTVDaytKckI7QUFDRjs7QTZDNWdLQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7QTdDK2dLekI7O0E2QzVnS0E7RUFDRSxPQUFPO0E3QytnS1Q7O0E4Q2poS0E7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBR3RCLGVBQWU7RUFDZixnQkFBZ0I7QTlDa2hLbEI7O0E4Q3pnS0E7RUFDRSxXQUFXO0VBQ1gsYzFDUGdCO0UwQ1FoQixtQkFBbUI7QTlDNGdLckI7O0FNbGhLRTtFd0NVRSxVQUFVO0VBQ1YsYzFDYmM7RTBDY2QscUJBQXFCO0VBQ3JCLHlCMUNyQmM7QUppaUtsQjs7QThDdGhLQTtFQWNJLGMxQ2pCYztFMENrQmQseUIxQ3pCYztBSnFpS2xCOztBOENuZ0tBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCx3QjFDODhCeUM7RTBDNThCekMsc0IxQ3pDYTtFMEMwQ2Isc0MxQ2hDYTtBSnFpS2Y7O0E4QzNnS0E7RW5DN0JJLCtCUG9PZ0M7RU9uT2hDLGdDUG1PZ0M7QUp5MEpwQzs7QThDaGhLQTtFbkNmSSxtQ1BzTmdDO0VPck5oQyxrQ1BxTmdDO0FKODBKcEM7O0E4Q3JoS0E7RUFrQkksYzFDaERjO0UwQ2lEZCxvQkFBb0I7RUFDcEIsc0IxQ3hEVztBSitqS2Y7O0E4QzNoS0E7RUF5QkksVUFBVTtFQUNWLFcxQzlEVztFMEMrRFgseUIxQ2xDYTtFMENtQ2IscUIxQ25DYTtBSnlpS2pCOztBOENsaUtBO0VBZ0NJLG1CQUFtQjtBOUNzZ0t2Qjs7QThDdGlLQTtFQW1DTSxnQjFDaUsyQjtFMENoSzNCLHFCMUNnSzJCO0FKdTJKakM7O0E4Q3ovSkk7RUFDRSxtQkFBbUI7QTlDNC9KekI7O0E4QzcvSkk7RW5DakNBLGtDUHNMZ0M7RU9sTWhDLDBCbUNtRHdDO0E5QzQvSjVDOztBOENsZ0tJO0VuQzdDQSxnQ1BrTWdDO0VPdExoQyw0Qm1DNEMwQztBOUM0L0o5Qzs7QThDdmdLSTtFQWVNLGFBQWE7QTlDNC9KdkI7O0E4QzNnS0k7RUFtQk0scUIxQytIdUI7RTBDOUh2QixvQkFBb0I7QTlDNC9KOUI7O0E4Q2hoS0k7RUF1QlEsaUIxQzJIcUI7RTBDMUhyQixzQjFDMEhxQjtBSm00SmpDOztBZXRqS0k7RStCaUNBO0lBQ0UsbUJBQW1CO0U5Q3loS3ZCO0U4QzFoS0U7SW5DakNBLGtDUHNMZ0M7SU9sTWhDLDBCbUNtRHdDO0U5Q3doSzFDO0U4QzloS0U7SW5DN0NBLGdDUGtNZ0M7SU90TGhDLDRCbUM0QzBDO0U5Q3VoSzVDO0U4Q2xpS0U7SUFlTSxhQUFhO0U5Q3NoS3JCO0U4Q3JpS0U7SUFtQk0scUIxQytIdUI7STBDOUh2QixvQkFBb0I7RTlDcWhLNUI7RThDemlLRTtJQXVCUSxpQjFDMkhxQjtJMEMxSHJCLHNCMUMwSHFCO0VKMjVKL0I7QUFDRjs7QWUva0tJO0UrQmlDQTtJQUNFLG1CQUFtQjtFOUNrakt2QjtFOENuaktFO0luQ2pDQSxrQ1BzTGdDO0lPbE1oQywwQm1DbUR3QztFOUNpaksxQztFOEN2aktFO0luQzdDQSxnQ1BrTWdDO0lPdExoQyw0Qm1DNEMwQztFOUNnaks1QztFOEMzaktFO0lBZU0sYUFBYTtFOUMraUtyQjtFOEM5aktFO0lBbUJNLHFCMUMrSHVCO0kwQzlIdkIsb0JBQW9CO0U5QzhpSzVCO0U4Q2xrS0U7SUF1QlEsaUIxQzJIcUI7STBDMUhyQixzQjFDMEhxQjtFSm83Si9CO0FBQ0Y7O0FleG1LSTtFK0JpQ0E7SUFDRSxtQkFBbUI7RTlDMmtLdkI7RThDNWtLRTtJbkNqQ0Esa0NQc0xnQztJT2xNaEMsMEJtQ21Ed0M7RTlDMGtLMUM7RThDaGxLRTtJbkM3Q0EsZ0NQa01nQztJT3RMaEMsNEJtQzRDMEM7RTlDeWtLNUM7RThDcGxLRTtJQWVNLGFBQWE7RTlDd2tLckI7RThDdmxLRTtJQW1CTSxxQjFDK0h1QjtJMEM5SHZCLG9CQUFvQjtFOUN1a0s1QjtFOEMzbEtFO0lBdUJRLGlCMUMySHFCO0kwQzFIckIsc0IxQzBIcUI7RUo2OEovQjtBQUNGOztBZWpvS0k7RStCaUNBO0lBQ0UsbUJBQW1CO0U5Q29tS3ZCO0U4Q3JtS0U7SW5DakNBLGtDUHNMZ0M7SU9sTWhDLDBCbUNtRHdDO0U5Q21tSzFDO0U4Q3ptS0U7SW5DN0NBLGdDUGtNZ0M7SU90TGhDLDRCbUM0QzBDO0U5Q2ttSzVDO0U4QzdtS0U7SUFlTSxhQUFhO0U5Q2ltS3JCO0U4Q2huS0U7SUFtQk0scUIxQytIdUI7STBDOUh2QixvQkFBb0I7RTlDZ21LNUI7RThDcG5LRTtJQXVCUSxpQjFDMkhxQjtJMEMxSHJCLHNCMUMwSHFCO0VKcytKL0I7QUFDRjs7QThDbmxLQTtFQUVJLHFCQUFxQjtFQUNyQixvQkFBb0I7RW5DaklwQixnQm1Da0l3QjtBOUNxbEs1Qjs7QThDemxLQTtFQU9NLG1CQUFtQjtBOUNzbEt6Qjs7QThDN2xLQTtFQWFNLHNCQUFzQjtBOUNvbEs1Qjs7QStDanVLRTtFQUNFLGM1QjJGOEQ7RTRCMUY5RCx5QjVCMEY4RDtBbkIwb0tsRTs7QU16dEtFO0V5Q1BNLGM1QnNGMEQ7RTRCckYxRCx5QkFBeUM7QS9Db3VLakQ7O0ErQzN1S0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCZ0YwRDtFNEIvRTFELHFCNUIrRTBEO0FuQnFwS2xFOztBK0NqdktFO0VBQ0UsYzVCMkY4RDtFNEIxRjlELHlCNUIwRjhEO0FuQjBwS2xFOztBTXp1S0U7RXlDUE0sYzVCc0YwRDtFNEJyRjFELHlCQUF5QztBL0NvdktqRDs7QStDM3ZLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUJnRjBEO0U0Qi9FMUQscUI1QitFMEQ7QW5CcXFLbEU7O0ErQ2p3S0U7RUFDRSxjNUIyRjhEO0U0QjFGOUQseUI1QjBGOEQ7QW5CMHFLbEU7O0FNenZLRTtFeUNQTSxjNUJzRjBEO0U0QnJGMUQseUJBQXlDO0EvQ293S2pEOztBK0Mzd0tFO0VBV00sVzNDUE87RTJDUVAseUI1QmdGMEQ7RTRCL0UxRCxxQjVCK0UwRDtBbkJxcktsRTs7QStDanhLRTtFQUNFLGM1QjJGOEQ7RTRCMUY5RCx5QjVCMEY4RDtBbkIwcktsRTs7QU16d0tFO0V5Q1BNLGM1QnNGMEQ7RTRCckYxRCx5QkFBeUM7QS9Db3hLakQ7O0ErQzN4S0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCZ0YwRDtFNEIvRTFELHFCNUIrRTBEO0FuQnFzS2xFOztBK0NqeUtFO0VBQ0UsYzVCMkY4RDtFNEIxRjlELHlCNUIwRjhEO0FuQjBzS2xFOztBTXp4S0U7RXlDUE0sYzVCc0YwRDtFNEJyRjFELHlCQUF5QztBL0NveUtqRDs7QStDM3lLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUJnRjBEO0U0Qi9FMUQscUI1QitFMEQ7QW5CcXRLbEU7O0ErQ2p6S0U7RUFDRSxjNUIyRjhEO0U0QjFGOUQseUI1QjBGOEQ7QW5CMHRLbEU7O0FNenlLRTtFeUNQTSxjNUJzRjBEO0U0QnJGMUQseUJBQXlDO0EvQ296S2pEOztBK0MzektFO0VBV00sVzNDUE87RTJDUVAseUI1QmdGMEQ7RTRCL0UxRCxxQjVCK0UwRDtBbkJxdUtsRTs7QStDajBLRTtFQUNFLGM1QjJGOEQ7RTRCMUY5RCx5QjVCMEY4RDtBbkIwdUtsRTs7QU16ektFO0V5Q1BNLGM1QnNGMEQ7RTRCckYxRCx5QkFBeUM7QS9DbzBLakQ7O0ErQzMwS0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCZ0YwRDtFNEIvRTFELHFCNUIrRTBEO0FuQnF2S2xFOztBK0NqMUtFO0VBQ0UsYzVCMkY4RDtFNEIxRjlELHlCNUIwRjhEO0FuQjB2S2xFOztBTXowS0U7RXlDUE0sYzVCc0YwRDtFNEJyRjFELHlCQUF5QztBL0NvMUtqRDs7QStDMzFLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUJnRjBEO0U0Qi9FMUQscUI1QitFMEQ7QW5CcXdLbEU7O0FnRHAyS0E7RUFDRSxZQUFZO0UzQzhIUixpQkF0Q1k7RTJDdEZoQixnQjVDaVMrQjtFNENoUy9CLGNB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OEN4ekJ0QyxnQzlDdElnQjtFT0lkLDBDUXNINEQ7RVJySDVELDJDUXFINEQ7QW5CKzZLaEU7O0FrRHg2S0E7RUFTSSxrQjlDb3pCb0M7RThDbHpCcEMsOEJBQTZGO0FsRGs2S2pHOztBa0Q3NUtBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCOUMySStCO0FKcXhLakM7O0FrRDM1S0E7RUFDRSxrQkFBa0I7RUFHbEIsY0FBYztFQUNkLGE5Q3V3QnNDO0FKcXBKeEM7O0FrRHg1S0E7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsZ0JBQWdFO0VBQ2hFLDZCOUN2S2dCO0VPa0JkLDhDUXdHNEQ7RVJ2RzVELDZDUXVHNEQ7QW5CMDhLaEU7O0FrRG42S0E7RUFjSSxlQUF3QztBbER5NUs1Qzs7QWtEcDVLQTtFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7QWxEdTVLbEI7O0FlOWhMSTtFbUN6Qko7SUF1S0ksZ0I5Q213QnFDO0k4Q2x3QnJDLG9CQUF5QztFbERxNUszQztFa0R2aUxGO0lBc0pJLCtCL0IzRTREO0VuQis5SzlEO0VrRDFpTEY7SUF5Sk0sZ0MvQjlFMEQ7RW5CaytLOUQ7RWtEMWhMRjtJQTJJSSwrQi9CbkY0RDtFbkJxK0s5RDtFa0Q3aExGO0lBOElNLDRCL0J0RjBEO0VuQncrSzlEO0VrRDE0S0E7SUFBWSxnQjlDNHVCMkI7RUppcUp2QztBQUNGOztBZXBqTEk7RW1DMEtGOztJQUVFLGdCOUNvdUJxQztFSjBxSnZDO0FBQ0Y7O0FlM2pMSTtFbUNpTEY7SUFBWSxpQjlDOHRCNEI7RUppckp4QztBQUNGOztBbUQ1bkxBO0VBQ0Usa0JBQWtCO0VBQ2xCLGEvQ21yQnNDO0UrQ2xyQnRDLGNBQWM7RUFDZCxTL0N5MUJtQztFZ0Q3MUJuQyxrTWhEdVJpTjtFZ0RyUmpOLGtCQUFrQjtFQUNsQixnQmhEK1IrQjtFZ0Q5Ui9CLGdCaERtUytCO0VnRGxTL0IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixxQkFBcUI7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Rix1Q2pEZzBCaUU7QUp5N0p2RTs7QXFEcndMQTtFQWdCTSxTakRzSzJCO0VpRHJLM0Isb0NBQTJGO0VBQzNGLHdCakRwRVM7QUo2ekxmOztBcURwdkxBO0VBQ0Usa0JqRGl6QnVDO0FKczhKekM7O0FxRHh2TEE7RUFJSSx3QmxDZ0Q0RDtBbkJ3c0xoRTs7QXFENXZMQTtFQU9NLE1BQU07RUFDTixvQ0FBMkY7RUFDM0Ysd0NqRDR5QmlFO0FKNjhKdkU7O0FxRGx3TEE7RUFhTSxRakRrSjJCO0VpRGpKM0Isb0NBQTJGO0VBQzNGLHlCakR4RlM7QUppMUxmOztBcUR4d0xBO0VBcUJJLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULGNBQWM7RUFDZCxXakR3eEJvQztFaUR2eEJwQyxvQkFBc0M7RUFDdEMsV0FBVztFQUNYLGdDakQ0d0J1RDtBSjIrSjNEOztBcURudkxBO0VBQ0Usb0JqRGl4QnVDO0FKcStKekM7O0FxRHZ2TEE7RUFJSSwwQmxDZ0I0RDtFa0NmNUQsYWpENndCcUM7RWlENXdCckMsWWpEMndCb0M7RWlEMXdCcEMsZ0JBQWdDO0FyRHV2THBDOztBcUQ5dkxBO0VBVU0sUUFBUTtFQUNSLG9DakR1d0JtQztFaUR0d0JuQyxzQ2pEeXdCaUU7QUorK0p2RTs7QXFEcHdMQTtFQWdCTSxVakQrRzJCO0VpRDlHM0Isb0NqRGl3Qm1DO0VpRGh3Qm5DLHVCakQzSFM7QUptM0xmOztBcURsdUxBO0VBQ0UsdUJqRGt1QndDO0VpRGp1QnhDLGdCQUFnQjtFaEQzQlosZUF0Q1k7RWdEb0VoQix5QmpEMnRCeUQ7RWlEMXRCekQsZ0NBQXlFO0UxQ2hKdkUsMENRc0g0RDtFUnJINUQsMkNRcUg0RDtBbkJnd0xoRTs7QXFENXVMQTtFQVVJLGFBQWE7QXJEc3VMakI7O0FxRGx1TEE7RUFDRSx1QmpEb3RCd0M7RWlEbnRCeEMsY2pEeEpnQjtBSjYzTGxCOztBc0RoNExBO0VBQ0Usa0JBQWtCO0F0RG00THBCOztBc0RoNExBO0VBQ0UsbUJBQW1CO0F0RG00THJCOztBc0RoNExBO0VBQ0Usa0JBQWtCO0VB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OGdLOUI7O0F3RGxrTUE7RUFDRTtJQUNFLG1CQUFtQjtFeERxa01yQjtFd0Rua01BO0lBQ0UsVUFBVTtFeERxa01aO0FBQ0Y7O0F3RGxrTUE7RUFDRSxxQkFBcUI7RUFDckIsV3BEbWlDMEI7RW9EbGlDMUIsWXBEa2lDMEI7RW9EamlDMUIsMkJBQTJCO0VBQzNCLDhCQUE4QjtFQUU5QixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLDRDQUE0QztBeERva005Qzs7QXdEamtNQTtFQUNFLFdwRDRoQzRCO0VvRDNoQzVCLFlwRDJoQzRCO0FKeWlLOUI7O0F5RHZuTUE7RUFBcUIsbUNBQW1DO0F6RDJuTXhEOztBeUQxbk1BO0VBQXFCLDhCQUE4QjtBekQ4bk1uRDs7QXlEN25NQTtFQUFxQixpQ0FBaUM7QXpEaW9NdEQ7O0F5RGhvTUE7RUFBcUIsaUNBQWlDO0F6RG9vTXREOztBeURub01BO0VBQXFCLHNDQUFzQztBekR1b00zRDs7QXlEdG9NQTtFQUFxQixtQ0FBbUM7QXpEMG9NeEQ7O0EwRDVvTUU7RUFDRSxvQ0FBbUM7QTFEK29NdkM7O0FNcm9NRTs7O0VvRExJLG9DQUFnRDtBMURncE10RDs7QTBEdHBNRTtFQUNFLG9DQUFtQztBMUR5cE12Qzs7QU0vb01FOzs7RW9ETEksb0NBQWdEO0ExRDBwTXREOztBMERocU1FO0VBQ0Usb0NBQW1DO0ExRG1xTXZDOztBTXpwTUU7OztFb0RMSSxvQ0FBZ0Q7QTFEb3FNdEQ7O0EwRDFxTUU7RUFDRSxvQ0FBbUM7QTFENnFNdkM7O0FNbnFNRTs7O0VvRExJLG9DQUFnRDtBMUQ4cU10RDs7QTBEcHJNRTtFQUNFLG9DQUFtQztBMUR1ck12Qzs7QU03cU1FOzs7RW9ETEksb0NBQWdEO0ExRHdyTXREOztBMEQ5ck1FO0VBQ0Usb0NBQW1DO0ExRGlzTXZDOztBTXZyTUU7OztFb0RMSSxvQ0FBZ0Q7QTFEa3NNdEQ7O0EwRHhzTUU7RUFDRSxvQ0FBbUM7QTFEMnNNdkM7O0FNanNNRTs7O0VvRExJLG9DQUFnRDtBMUQ0c010RDs7QTBEbHRNRTtFQUNFLG9DQUFtQztBMURxdE12Qzs7QU0zc01FOzs7RW9ETEksb0NBQWdEO0ExRHN0TXREOztBMkRydE1BO0VBQ0UsaUNBQW1DO0EzRHd0TXJDOztBMkRydE1BO0VBQ0Usd0NBQXdDO0EzRHd0TTFDOztBNERudU1BO0VBQWtCLG9DQUFvRDtBNUR1dU10RTs7QTREdHVNQTtFQUFrQix3Q0FBd0Q7QTVEMHVNMUU7O0E0RHp1TUE7RUFBa0IsMENBQTBEO0E1RDZ1TTVFOztBNEQ1dU1BO0VBQWtCLDJDQUEyRDtBNURndk03RTs7QTREL3VNQTtFQUFrQix5Q0FBeUQ7QTVEbXZNM0U7O0E0RGp2TUE7RUFBbUIsb0JBQW9CO0E1RHF2TXZDOztBNERwdk1BO0VBQW1CLHdCQUF3QjtBNUR3dk0zQzs7QTREdnZNQTtFQUFtQiwwQkFBMEI7QTVEMnZNN0M7O0E0RDF2TUE7RUFBbUIsMkJBQTJCO0E1RDh2TTlDOztBNEQ3dk1BO0VBQW1CLHlCQUF5QjtBNURpd001Qzs7QTREOXZNRTtFQUNFLGdDQUErQjtBNURpd01uQzs7QTREbHdNRTtFQUNFLGdDQUErQjtBNURxd01uQzs7QTREdHdNRTtFQUNFLGdDQUErQjtBNUR5d01uQzs7QTREMXdNRTtFQUNFLGdDQUErQjtBNUQ2d01uQzs7QTREOXdNRTtFQUNFLGdDQUErQjtBNURpeE1uQzs7QTREbHhNRTtFQUNFLGdDQUErQjtBNURxeE1uQzs7QTREdHhNRTtFQUNFLGdDQUErQjtBNUR5eE1uQzs7QTREMXhNRTtFQUNFLGdDQUErQjtBNUQ2eE1uQzs7QTREenhNQTtFQUNFLDZCQUErQjtBNUQ0eE1qQzs7QTREcnhNQTtFQUNFLGdDQUEyQztBNUR3eE03Qzs7QTREcnhNQTtFQUNFLGlDQUF3QztBNUR3eE0xQzs7QTREcnhNQTtFQUNFLDBDQUFpRDtFQUNqRCwyQ0FBa0Q7QTVEd3hNcEQ7O0E0RHJ4TUE7RUFDRSwyQ0FBa0Q7RUFDbEQsOENBQXFEO0E1RHd4TXZEOztBNERyeE1BO0VBQ0UsOENBQXFEO0VBQ3JELDZDQUFvRDtBNUR3eE10RDs7QTREcnhNQTtFQUNFLDBDQUFpRDtFQUNqRCw2Q0FBb0Q7QTVEd3hNdEQ7O0E0RHJ4TUE7RUFDRSxnQ0FBMkM7QTVEd3hNN0M7O0E0RHJ4TUE7RUFDRSw2QkFBNkI7QTVEd3hNL0I7O0E0RHJ4TUE7RUFDRSwrQkFBdUM7QTVEd3hNekM7O0E0RHJ4TUE7RUFDRSwyQkFBMkI7QTVEd3hNN0I7O0F1RGgyTUU7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLFdBQVc7QXZEbTJNZjs7QTZENTFNTTtFQUF3Qix3QkFBMEI7QTdEZzJNeEQ7O0E2RGgyTU07RUFBd0IsMEJBQTBCO0E3RG8yTXhEOztBNkRwMk1NO0VBQXdCLGdDQUEwQjtBN0R3Mk14RDs7QTZEeDJNTTtFQUF3Qix5QkFBMEI7QTdENDJNeEQ7O0E2RDUyTU07RUFBd0IseUJBQTBCO0E3RGczTXhEOztBNkRoM01NO0VBQXdCLDZCQUEwQjtBN0RvM014RDs7QTZEcDNNTTtFQUF3Qiw4QkFBMEI7QTdEdzNNeEQ7O0E2RHgzTU07RUFBd0Isd0JBQTBCO0E3RDQzTXhEOztBNkQ1M01NO0VBQXdCLCtCQUEwQjtBN0RnNE14RDs7QWUvME1JO0U4Q2pERTtJQUF3Qix3QkFBMEI7RTdEcTRNdEQ7RTZEcjRNSTtJQUF3QiwwQkFBMEI7RTdEdzRNdEQ7RTZEeDRNSTtJQUF3QixnQ0FBMEI7RTdEMjRNdEQ7RTZEMzRNSTtJQUF3Qix5QkFBMEI7RTdEODRNdEQ7RTZEOTRNSTtJQUF3Qix5QkFBMEI7RTdEaTVNdEQ7RTZEajVNSTtJQUF3Qiw2QkFBMEI7RTdEbzVNdEQ7RTZEcDVNSTtJQUF3Qiw4QkFBMEI7RTdEdTVNdEQ7RTZEdjVNSTtJQUF3Qix3QkFBMEI7RTdEMDVNdEQ7RTZEMTVNSTtJQUF3QiwrQkFBMEI7RTdENjVNdEQ7QUFDRjs7QWU3Mk1JO0U4Q2pERTtJQUF3Qix3QkFBMEI7RTdEbTZNdEQ7RTZEbjZNSTtJQUF3QiwwQkFBMEI7RTdEczZNdEQ7RTZEdDZNSTtJQUF3QixnQ0FBMEI7RTdEeTZNdEQ7RTZEejZNSTtJQUF3Qix5QkFBMEI7RTdENDZNdEQ7RTZENTZNSTtJQUF3Qix5QkFBMEI7RTdEKzZNdEQ7RTZELzZNSTtJQUF3Qiw2QkFBMEI7RTdEazdNdEQ7RTZEbDdNSTtJQUF3Qiw4QkFBMEI7RTdEcTdNdEQ7RTZEcjdNSTtJQUF3Qix3QkFBMEI7RTdEdzdNdEQ7RTZEeDdNSTtJQUF3QiwrQkFBMEI7RTdEMjdNdEQ7QUFDRjs7QWUzNE1JO0U4Q2pERTtJQUF3Qix3QkFBMEI7RTdEaThNdEQ7RTZEajhNSTtJQUF3QiwwQkFBMEI7RTdEbzhNdEQ7RTZEcDhNSTtJQUF3QixnQ0FBMEI7RTdEdThNdEQ7RTZEdjhNSTtJQUF3Qix5QkFBMEI7RTdEMDhNdEQ7RTZEMThNSTtJQUF3Qix5QkFBMEI7RTdENjhNdEQ7RTZENzhNSTtJQUF3Qiw2QkFBMEI7RTdEZzlNdEQ7RTZEaDlNSTtJQUF3Qiw4QkFBMEI7RTdEbTlNdEQ7RTZEbjlNSTtJQUF3Qix3QkFBMEI7RTdEczlNdEQ7RTZEdDlNSTtJQUF3QiwrQkFBMEI7RTdEeTlNdEQ7QUFDRjs7QWV6Nk1JO0U4Q2pERTtJQUF3Qix3QkFBMEI7RTdEKzlNdEQ7RTZELzlNSTtJQUF3QiwwQkFBMEI7RTdEaytNdEQ7RTZEbCtNSTtJQUF3QixnQ0FBMEI7RTdEcStNdEQ7RTZEcitNSTtJQUF3Qix5QkFBMEI7RTdEdytNdEQ7RTZEeCtNSTtJQUF3Qix5QkFBMEI7RTdEMitNdEQ7RTZEMytNSTtJQUF3Qiw2QkFBMEI7RTdEOCtNdEQ7RTZEOStNSTtJQUF3Qiw4QkFBMEI7RTdEaS9NdEQ7RTZEai9NSTtJQUF3Qix3QkFBMEI7RTdEby9NdEQ7RTZEcC9NSTtJQUF3QiwrQkFBMEI7RTdEdS9NdEQ7QUFDRjs7QTZEOStNQTtFQUVJO0lBQXFCLHdCQUEwQjtFN0RpL01qRDtFNkRqL01FO0lBQXFCLDBCQUEwQjtFN0RvL01qRDtFNkRwL01FO0lBQXFCLGdDQUEwQjtFN0R1L01qRDtFNkR2L01FO0lBQXFCLHlCQUEwQjtFN0QwL01qRDtFNkQxL01FO0lBQXFCLHlCQUEwQjtFN0Q2L01qRDtFNkQ3L01FO0lBQXFCLDZCQUEwQjtFN0RnZ05qRDtFNkRoZ05FO0lBQXFCLDhCQUEwQjtFN0RtZ05qRDtFNkRuZ05FO0lBQXFCLHdCQUEwQjtFN0RzZ05qRDtFNkR0Z05FO0lBQXFCLCtCQUEwQjtFN0R5Z05qRDtBQUNGOztBOEQvaE5BO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxXQUFXO0VBQ1gsVUFBVTtFQUNWLGdCQUFnQjtBOURraU5sQjs7QThEdmlOQTtFQVFJLGNBQWM7RUFDZCxXQUFXO0E5RG1pTmY7O0E4RDVpTkE7Ozs7O0VBaUJJLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULE9BQU87RUFDUCxXQUFXO0VBQ1gsWUFBWTtFQUNaLFNBQVM7QTlEbWlOYjs7QThEM2hORTtFQUVJLHNCQUE0RjtBOUQ2aE5sRzs7QThEL2hORTtFQUVJLG1CQUE0RjtBOURpaU5sRzs7QThEbmlORTtFQUVJLGdCQUE0RjtBOURxaU5sRzs7QThEdmlORTtFQUVJLGlCQUE0RjtBOUR5aU5sRzs7QStEbGtOSTtFQUFnQyw4QkFBOEI7QS9Ec2tObEU7O0ErRHJrTkk7RUFBZ0MsaUNBQWlDO0EvRHlrTnJFOztBK0R4a05JO0VBQWdDLHNDQUFzQztBL0Q0a04xRTs7QStEM2tOSTtFQUFnQyx5Q0FBeUM7QS9EK2tON0U7O0ErRDdrTkk7RUFBOEIsMEJBQTBCO0EvRGlsTjVEOztBK0RobE5JO0VBQThCLDRCQUE0QjtBL0RvbE45RDs7QStEbmxOSTtFQUE4QixrQ0FBa0M7QS9EdWxOcEU7O0ErRHRsTkk7RUFBOEIseUJBQXlCO0EvRDBsTjNEOztBK0R6bE5JO0VBQThCLHVCQUF1QjtBL0Q2bE56RDs7QStENWxOSTtFQUE4Qix1QkFBdUI7QS9EZ21OekQ7O0ErRC9sTkk7RUFBOEIseUJBQXlCO0EvRG1tTjNEOztBK0RsbU5JO0VBQThCLHlCQUF5QjtBL0RzbU4zRDs7QStEcG1OSTtFQUFvQyxzQ0FBc0M7QS9Ed21OOUU7O0ErRHZtTkk7RUFBb0Msb0NBQW9DO0EvRDJtTjVFOztBK0QxbU5JO0VBQW9DLGtDQUFrQztBL0Q4bU4xRTs7QStEN21OSTtFQUFvQyx5Q0FBeUM7QS9EaW5OakY7O0ErRGhuTkk7RUFBb0Msd0NBQXdDO0EvRG9uTmhGOztBK0Rsbk5JO0VBQWlDLGtDQUFrQztBL0Rzbk52RTs7QStEcm5OSTtFQUFpQyxnQ0FBZ0M7QS9EeW5OckU7O0ErRHhuTkk7RUFBaUMsOEJBQThCO0EvRDRuTm5FOztBK0Qzbk5JO0VBQWlDLGdDQUFnQztBL0Qrbk5yRTs7QStEOW5OSTtFQUFpQywrQkFBK0I7QS9Ea29OcEU7O0ErRGhvTkk7RUFBa0Msb0NBQW9DO0EvRG9vTjFFOztBK0Rub05JO0VBQWtDLGtDQUFrQztBL0R1b054RTs7QStEdG9OSTtFQUFrQyxnQ0FBZ0M7QS9EMG9OdEU7O0ErRHpvTkk7RUFBa0MsdUNBQXVDO0EvRDZvTjdFOztBK0Q1b05JO0VBQWtDLHNDQUFzQztBL0RncE41RTs7QStEL29OSTtFQUFrQyxpQ0FBaUM7QS9EbXBOdkU7O0ErRGpwTkk7RUFBZ0MsMkJBQTJCO0EvRHFwTi9EOztBK0RwcE5JO0VBQWdDLGlDQUFpQztBL0R3cE5yRTs7QStEdnBOSTtFQUFnQywrQkFBK0I7QS9EMnBObkU7O0ErRDFwTkk7RUFBZ0MsNkJBQTZCO0EvRDhwTmpFOztBK0Q3cE5JO0VBQWdDLCtCQUErQjtBL0RpcU5uRTs7QStEaHFOSTtFQUFnQyw4QkFBOEI7QS9Eb3FObEU7O0FleHBOSTtFZ0RsREE7SUFBZ0MsOEJBQThCO0UvRCtzTmhFO0UrRDlzTkU7SUFBZ0MsaUNBQWlDO0UvRGl0Tm5FO0UrRGh0TkU7SUFBZ0Msc0NBQXNDO0UvRG10TnhFO0UrRGx0TkU7SUFBZ0MseUNBQXlDO0UvRHF0TjNFO0UrRG50TkU7SUFBOEIsMEJBQTBCO0UvRHN0TjFEO0UrRHJ0TkU7SUFBOEIsNEJBQTRCO0UvRHd0TjVEO0UrRHZ0TkU7SUFBOEIsa0NBQWtDO0UvRDB0TmxFO0UrRHp0TkU7SUFBOEIseUJBQXlCO0UvRDR0TnpEO0UrRDN0TkU7SUFBOEIsdUJBQXVCO0UvRDh0TnZEO0UrRDd0TkU7SUFBOEIsdUJBQXVCO0UvRGd1TnZEO0UrRC90TkU7SUFBOEIseUJBQXlCO0UvRGt1TnpEO0UrRGp1TkU7SUFBOEIseUJBQXlCO0UvRG91TnpEO0UrRGx1TkU7SUFBb0Msc0NBQXNDO0UvRHF1TjVFO0UrRHB1TkU7SUFBb0Msb0NBQW9DO0UvRHV1TjFFO0UrRHR1TkU7SUFBb0Msa0NBQWtDO0UvRHl1TnhFO0UrRHh1TkU7SUFBb0MseUNBQXlDO0UvRDJ1Ti9FO0UrRDF1TkU7SUFBb0Msd0NBQXdDO0UvRDZ1TjlFO0UrRDN1TkU7SUFBaUMsa0NBQWtDO0UvRDh1TnJFO0UrRDd1TkU7SUFBaUMsZ0NBQWdDO0UvRGd2Tm5FO0UrRC91TkU7SUFBaUMsOEJBQThCO0UvRGt2TmpFO0UrRGp2TkU7SUFBaUMsZ0NBQWdDO0UvRG92Tm5FO0UrRG52TkU7SUFBaUMsK0JBQStCO0UvRHN2TmxFO0UrRHB2TkU7SUFBa0Msb0NBQW9DO0UvRHV2TnhFO0UrRHR2TkU7SUFBa0Msa0NBQWtDO0UvRHl2TnRFO0UrRHh2TkU7SUFBa0MsZ0NBQWdDO0UvRDJ2TnBFO0UrRDF2TkU7SUFBa0MsdUNBQXVDO0UvRDZ2TjNFO0UrRDV2TkU7SUFBa0Msc0NBQXNDO0UvRCt2TjFFO0UrRDl2TkU7SUFBa0MsaUNBQWlDO0UvRGl3TnJFO0UrRC92TkU7SUFBZ0MsMkJBQTJCO0UvRGt3TjdEO0UrRGp3TkU7SUFBZ0MsaUNBQWlDO0UvRG93Tm5FO0UrRG53TkU7SUFBZ0MsK0JBQStCO0UvRHN3TmpFO0UrRHJ3TkU7SUFBZ0MsNkJBQTZCO0UvRHd3Ti9EO0UrRHZ3TkU7SUFBZ0MsK0JBQStCO0UvRDB3TmpFO0UrRHp3TkU7SUFBZ0MsOEJBQThCO0UvRDR3TmhFO0FBQ0Y7O0FlandOSTtFZ0RsREE7SUFBZ0MsOEJBQThCO0UvRHd6TmhFO0UrRHZ6TkU7SUFBZ0MsaUNBQWlDO0UvRDB6Tm5FO0UrRHp6TkU7SUFBZ0Msc0NBQXNDO0UvRDR6TnhFO0UrRDN6TkU7SUFBZ0MseUNBQXlDO0UvRDh6TjNFO0UrRDV6TkU7SUFBOEIsMEJBQTBCO0UvRCt6TjFEO0UrRDl6TkU7SUFBOEIsNEJBQTRCO0UvRGkwTjVEO0UrRGgwTkU7SUFBOEIsa0NBQWtDO0UvRG0wTmxFO0UrRGwwTkU7SUFBOEIseUJBQXlCO0UvRHEwTnpEO0UrRHAwTkU7SUFBOEIsdUJBQXVCO0UvRHUwTnZEO0UrRHQwTkU7SUFBOEIsdUJBQXVCO0UvRHkwTnZEO0UrRHgwTkU7SUFBOEIseUJBQXlCO0UvRDIwTnpEO0UrRDEwTkU7SUFBOEIseUJBQXlCO0UvRDYwTnpEO0UrRDMwTkU7SUFBb0Msc0NBQXNDO0UvRDgwTjVFO0UrRDcwTkU7SUFBb0Msb0NBQW9DO0UvRGcxTjFFO0UrRC8wTkU7SUFBb0Msa0NBQWtDO0UvRGsxTnhFO0UrRGoxTkU7SUFBb0MseUNBQXlDO0UvRG8xTi9FO0UrRG4xTkU7SUFBb0Msd0NBQXdDO0UvRHMxTjlFO0UrRHAxTkU7SUFBaUMsa0NBQWtDO0UvRHUxTnJFO0UrRHQxTkU7SUFBaUMsZ0NBQWdDO0UvRHkxTm5FO0UrRHgxTkU7SUFBaUMsOEJBQThCO0UvRDIxTmpFO0UrRDExTkU7SUFBaUMsZ0NBQWdDO0UvRDYxTm5FO0UrRDUxTkU7SUFBaUMsK0JBQStCO0UvRCsxTmxFO0UrRDcxTkU7SUFBa0Msb0NBQW9DO0UvRGcyTnhFO0UrRC8xTkU7SUFBa0Msa0NBQWtDO0UvRGsyTnRFO0UrRGoyTkU7SUFBa0MsZ0NBQWdDO0UvRG8yTnBFO0UrRG4yTkU7SUFBa0MsdUNBQXVDO0UvRHMyTjNFO0UrRHIyTkU7SUFBa0Msc0NBQXNDO0UvRHcyTjFFO0UrRHYyTkU7SUFBa0MsaUNBQWlDO0UvRDAyTnJFO0UrRHgyTkU7SUFBZ0MsMkJBQTJCO0UvRDIyTjdEO0UrRDEyTkU7SUFBZ0MsaUNBQWlDO0UvRDYyTm5FO0UrRDUyTkU7SUFBZ0MsK0JBQStCO0UvRCsyTmpFO0UrRDkyTkU7SUFBZ0MsNkJBQTZCO0UvRGkzTi9EO0UrRGgzTkU7SUFBZ0MsK0JBQStCO0UvRG0zTmpFO0UrRGwzTkU7SUFBZ0MsOEJBQThCO0UvRHEzTmhFO0FBQ0Y7O0FlMTJOSTtFZ0RsREE7SUFBZ0MsOEJBQThCO0UvRGk2TmhFO0UrRGg2TkU7SUFBZ0MsaUNBQWlDO0UvRG02Tm5FO0UrRGw2TkU7SUFBZ0Msc0NBQXNDO0UvRHE2TnhFO0UrRHA2TkU7SUFBZ0MseUNBQXlDO0UvRHU2TjNFO0UrRHI2TkU7SUFBOEIsMEJBQTBCO0UvRHc2TjFEO0UrRHY2TkU7SUFBOEIsNEJBQTRCO0UvRDA2TjVEO0UrRHo2TkU7SUFBOEIsa0NBQWtDO0UvRDQ2TmxFO0UrRDM2TkU7SUFBOEIseUJBQXlCO0UvRDg2TnpEO0UrRDc2TkU7SUFBOEIsdUJBQXVCO0UvRGc3TnZEO0UrRC82TkU7SUFBOEIsdUJBQXVCO0UvRGs3TnZEO0UrRGo3TkU7SUFBOEIseUJBQXlCO0UvRG83TnpEO0UrRG43TkU7SUFBOEIseUJBQXlCO0UvRHM3TnpEO0UrRHA3TkU7SUFBb0Msc0NBQXNDO0UvRHU3TjVFO0UrRHQ3TkU7SUFBb0Msb0NBQW9DO0UvRHk3TjFFO0UrRHg3TkU7SUFBb0Msa0NBQWtDO0UvRDI3TnhFO0UrRDE3TkU7SUFBb0MseUNBQXlDO0UvRDY3Ti9FO0UrRDU3TkU7SUFBb0Msd0NBQXdDO0UvRCs3TjlFO0UrRDc3TkU7SUFBaUMsa0NBQWtDO0UvRGc4TnJFO0UrRC83TkU7SUFBaUMsZ0NBQWdDO0UvRGs4Tm5FO0UrRGo4TkU7SUFBaUMsOEJBQThCO0UvRG84TmpFO0UrRG44TkU7SUFBaUMsZ0NBQWdDO0UvRHM4Tm5FO0UrRHI4TkU7SUFBaUMsK0JBQStCO0UvRHc4TmxFO0UrRHQ4TkU7SUFBa0Msb0NBQW9DO0UvRHk4TnhFO0UrRHg4TkU7SUFBa0Msa0NBQWtDO0UvRDI4TnRFO0UrRDE4TkU7SUFBa0MsZ0NBQWdDO0UvRDY4TnBFO0UrRDU4TkU7SUFBa0MsdUNBQXVDO0UvRCs4TjNFO0UrRDk4TkU7SUFBa0Msc0NBQXNDO0UvRGk5TjFFO0UrRGg5TkU7SUFBa0MsaUNBQWlDO0UvRG05TnJFO0UrRGo5TkU7SUFBZ0MsMkJBQTJCO0UvRG85TjdEO0UrRG45TkU7SUFBZ0MsaUNBQWlDO0UvRHM5Tm5FO0UrRHI5TkU7SUFBZ0MsK0JBQStCO0UvRHc5TmpFO0UrRHY5TkU7SUFBZ0MsNkJBQTZCO0UvRDA5Ti9EO0UrRHo5TkU7SUFBZ0MsK0JBQStCO0UvRDQ5TmpFO0UrRDM5TkU7SUFBZ0MsOEJBQThCO0UvRDg5TmhFO0FBQ0Y7O0FlbjlOSTtFZ0RsREE7SUFBZ0MsOEJBQThCO0UvRDBnT2hFO0UrRHpnT0U7SUFBZ0MsaUNBQWlDO0UvRDRnT25FO0UrRDNnT0U7SUFBZ0Msc0NBQXNDO0UvRDhnT3hFO0UrRDdnT0U7SUFBZ0MseUNBQXlDO0UvRGdoTzNFO0UrRDlnT0U7SUFBOEIsMEJBQTBCO0UvRGloTzFEO0UrRGhoT0U7SUFBOEIsNEJBQTRCO0UvRG1oTzVEO0UrRGxoT0U7SUFBOEIsa0NBQWtDO0UvRHFoT2xFO0UrRHBoT0U7SUFBOEIseUJBQXlCO0UvRHVoT3pEO0UrRHRoT0U7SUFBOEIsdUJBQXVCO0UvRHloT3ZEO0UrRHhoT0U7SUFBOEIsdUJBQXVCO0UvRDJoT3ZEO0UrRDFoT0U7SUFBOEIseUJBQXlCO0UvRDZoT3pEO0UrRDVoT0U7SUFBOEIseUJBQXlCO0UvRCtoT3pEO0UrRDdoT0U7SUFBb0Msc0NBQXNDO0UvRGdpTzVFO0UrRC9oT0U7SUFBb0Msb0NBQW9DO0UvRGtpTzFFO0UrRGppT0U7SUFBb0Msa0NBQWtDO0UvRG9pT3hFO0UrRG5pT0U7SUFBb0MseUNBQXlDO0UvRHNpTy9FO0UrRHJpT0U7SUFBb0Msd0NBQXdDO0UvRHdpTzlFO0UrRHRpT0U7SUFBaUMsa0NBQWtDO0UvRHlpT3JFO0UrRHhpT0U7SUFBaUMsZ0NBQWdDO0UvRDJpT25FO0UrRDFpT0U7SUFBaUMsOEJBQThCO0UvRDZpT2pFO0UrRDVpT0U7SUFBaUMsZ0NBQWdDO0UvRCtpT25FO0UrRDlpT0U7SUFBaUMsK0JBQStCO0UvRGlqT2xFO0UrRC9pT0U7SUFBa0Msb0NBQW9DO0UvRGtqT3hFO0UrRGpqT0U7SUFBa0Msa0NBQWtDO0UvRG9qT3RFO0UrRG5qT0U7SUFBa0MsZ0NBQWdDO0UvRHNqT3BFO0UrRHJqT0U7SUFBa0MsdUNBQXVDO0UvRHdqTzNFO0UrRHZqT0U7SUFBa0Msc0NBQXNDO0UvRDBqTzFFO0UrRHpqT0U7SUFBa0MsaUNBQWlDO0UvRDRqT3JFO0UrRDFqT0U7SUFBZ0MsMkJBQTJCO0UvRDZqTzdEO0UrRDVqT0U7SUFBZ0MsaUNBQWlDO0UvRCtqT25FO0UrRDlqT0U7SUFBZ0MsK0JBQStCO0UvRGlrT2pFO0UrRGhrT0U7SUFBZ0MsNkJBQTZCO0UvRG1rTy9EO0UrRGxrT0U7SUFBZ0MsK0JBQStCO0UvRHFrT2pFO0UrRHBrT0U7SUFBZ0MsOEJBQThCO0UvRHVrT2hFO0FBQ0Y7O0FnRWxuT0k7RUFBd0Isc0JBQXNCO0FoRXNuT2xEOztBZ0Vybk9JO0VBQXdCLHVCQUF1QjtBaEV5bk9uRDs7QWdFeG5PSTtFQUF3QixzQkFBc0I7QWhFNG5PbEQ7O0FleGtPSTtFaUR0REE7SUFBd0Isc0JBQXNCO0VoRW1vT2hEO0VnRWxvT0U7SUFBd0IsdUJBQXVCO0VoRXFvT2pEO0VnRXBvT0U7SUFBd0Isc0JBQXNCO0VoRXVvT2hEO0FBQ0Y7O0FlcGxPSTtFaUR0REE7SUFBd0Isc0JBQXNCO0VoRStvT2hEO0VnRTlvT0U7SUFBd0IsdUJBQXVCO0VoRWlwT2pEO0VnRWhwT0U7SUFBd0Isc0JBQXNCO0VoRW1wT2hEO0FBQ0Y7O0FlaG1PSTtFaUR0REE7SUFBd0Isc0JBQXNCO0VoRTJwT2hEO0VnRTFwT0U7SUFBd0IsdUJBQXVCO0VoRTZwT2pEO0VnRTVwT0U7SUFBd0Isc0JBQXNCO0VoRStwT2hEO0FBQ0Y7O0FlNW1PSTtFaUR0REE7SUFBd0Isc0JBQXNCO0VoRXVxT2hEO0VnRXRxT0U7SUFBd0IsdUJBQXVCO0VoRXlxT2pEO0VnRXhxT0U7SUFBd0Isc0JBQXNCO0VoRTJxT2hEO0FBQ0Y7O0FpRWpyT0U7RUFBc0IseUJBQTJCO0FqRXFyT25EOztBaUVyck9FO0VBQXNCLDJCQUEyQjtBakV5ck9uRDs7QWtFeHJPRTtFQUF5QiwyQkFBOEI7QWxFNHJPekQ7O0FrRTVyT0U7RUFBeUIsNkJBQThCO0FsRWdzT3pEOztBa0Voc09FO0VBQXlCLDZCQUE4QjtBbEVvc096RDs7QWtFcHNPRTtFQUF5QiwwQkFBOEI7QWxFd3NPekQ7O0FrRXhzT0U7RUFBeUIsMkJBQThCO0FsRTRzT3pEOztBa0V2c09BO0VBQ0UsZUFB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TzlDOztBd0VuN09ROztFQUVFLCtCQUF3QztBeEVzN09sRDs7QXdFcDdPUTs7RUFFRSxnQ0FBMEM7QXhFdTdPcEQ7O0F3RXI3T1E7O0VBRUUsOEJBQXNDO0F4RXc3T2hEOztBd0V2OE9RO0VBQWdDLHVCQUE0QjtBeEUyOE9wRTs7QXdFMThPUTs7RUFFRSwyQkFBb0M7QXhFNjhPOUM7O0F3RTM4T1E7O0VBRUUsNkJBQXdDO0F4RTg4T2xEOztBd0U1OE9ROztFQUVFLDhCQUEwQztBeEUrOE9wRDs7QXdFNzhPUTs7RUFFRSw0QkFBc0M7QXhFZzlPaEQ7O0F3RS85T1E7RUFBZ0MscUJBQTRCO0F4RW0rT3BFOztBd0VsK09ROztFQUVFLHlCQUFvQztBeEVxK085Qzs7QXdFbitPUTs7RUFFRSwyQkFBd0M7QXhFcytPbEQ7O0F3RXArT1E7O0VBRUUsNEJBQTBDO0F4RXUrT3BEOztBd0VyK09ROztFQUVFLDBCQUFzQztBeEV3K09oRDs7QXdFdi9PUTtFQUFnQywyQkFBNEI7QXhFMi9PcEU7O0F3RTEvT1E7O0VBRUUsK0JBQW9DO0F4RTYvTzlDOztBd0UzL09ROztFQUVFLGlDQUF3QztBeEU4L09sRDs7QXdFNS9PUTs7RUFFRSxrQ0FBMEM7QXhFKy9PcEQ7O0F3RTcvT1E7O0VBRUUsZ0NBQXNDO0F4RWdnUGhEOztBd0UvZ1BRO0VBQWdDLDBCQUE0QjtBeEVtaFBwRTs7QXdFbGhQUTs7RUFFRSw4QkFBb0M7QXhFcWhQOUM7O0F3RW5oUFE7O0VBRUUsZ0NBQXdDO0F4RXNoUGxEOztBd0VwaFBROztFQUVFLGlDQUEwQztBeEV1aFBwRDs7QXdFcmhQUTs7RUFFRSwrQkFBc0M7QXhFd2hQaEQ7O0F3RXZpUFE7RUFBZ0Msd0JBQTRCO0F4RTJpUHBFOztBd0UxaVBROztFQUVFLDRCQUFvQztBeEU2aVA5Qzs7QXdFM2lQUTs7RUFFRSw4QkFBd0M7QXhFOGlQbEQ7O0F3RTVpUFE7O0VBRUUsK0JBQTBDO0F4RStpUHBEOztBd0U3aVBROztFQUVFLDZCQUFzQztBeEVnalBoRDs7QXdFL2pQUTtFQUFnQywwQkFBNEI7QXhFbWtQcEU7O0F3RWxrUFE7O0VBRUUsOEJBQW9DO0F4RXFrUDlDOztBd0Vua1BROztFQUVFLGdDQUF3QztBeEVza1BsRDs7QXdFcGtQUTs7RUFFRSxpQ0FBMEM7QXhFdWtQcEQ7O0F3RXJrUFE7O0VBRUUsK0JBQXNDO0F4RXdrUGhEOztBd0V2bFBRO0VBQWdDLHdCQUE0QjtBeEUybFBwRTs7QXdFMWxQUTs7RUFFRSw0QkFBb0M7QXhFNmxQOUM7O0F3RTNsUFE7O0VBRUUsOEJBQXdDO0F4RThsUGxEOztBd0U1bFBROztFQUVFLCtCQUEwQztBeEUrbFBwRDs7QXdFN2xQUTs7RUFFRSw2QkFBc0M7QXhFZ21QaEQ7O0F3RXhsUFE7RUFBd0IsMkJBQTJCO0F4RTRsUDNEOztBd0UzbFBROztFQUVFLCtCQUErQjtBeEU4bFB6Qzs7QXdFNWxQUTs7RUFFRSxpQ0FBaUM7QXhFK2xQM0M7O0F3RTdsUFE7O0VBRUUsa0NBQWtDO0F4RWdtUDVDOztBd0U5bFBROztFQUVFLGdDQUFnQztBeEVpbVAxQzs7QXdFaG5QUTtFQUF3QiwwQkFBMkI7QXhFb25QM0Q7O0F3RW5uUFE7O0VBRUUsOEJBQStCO0F4RXNuUHpDOztBd0VwblBROztFQUVFLGdDQUFpQztBeEV1blAzQzs7QXdFcm5QUTs7RUFFRSxpQ0FBa0M7QXhFd25QNUM7O0F3RXRuUFE7O0VBRUUsK0JBQWdDO0F4RXluUDFDOztBd0V4b1BRO0VBQXdCLHdCQUEyQjtBeEU0b1AzRDs7QXdFM29QUTs7RUFFRSw0QkFBK0I7QXhFOG9QekM7O0F3RTVvUFE7O0VBRUUsOEJBQWlDO0F4RStvUDNDOztBd0U3b1BROztFQUVFLCtCQUFrQztBeEVncFA1Qzs7QXdFOW9QUTs7RUFFRSw2QkFBZ0M7QXhFaXBQMUM7O0F3RWhxUFE7RUFBd0IsMEJBQTJCO0F4RW9xUDNEOztBd0VucVBROztFQUVFLDhCQUErQjtBeEVzcVB6Qzs7QXdFcHFQUTs7RUFFRSxnQ0FBaUM7QXhFdXFQM0M7O0F3RXJxUFE7O0VBRUUsaUNBQWtDO0F4RXdxUDVDOztBd0V0cVBROztFQUVFLCtCQUFnQztBeEV5cVAxQzs7QXdFeHJQUTtFQUF3Qix3QkFBMkI7QXhFNHJQM0Q7O0F3RTNyUFE7O0VBRUUsNEJBQStCO0F4RThyUHpDOztBd0U1clBROztFQUVFLDhCQUFpQztBeEUrclAzQzs7QXdFN3JQUTs7RUFFRSwrQkFBa0M7QXhFZ3NQNUM7O0F3RTlyUFE7O0VBRUUsNkJBQWdDO0F4RWlzUDFDOztBd0UzclBJO0VBQW1CLHVCQUF1QjtBeEUrclA5Qzs7QXdFOXJQSTs7RUFFRSwyQkFBMkI7QXhFaXNQakM7O0F3RS9yUEk7O0VBRUUsNkJBQTZCO0F4RWtzUG5DOztBd0Voc1BJOztFQUVFLDhCQUE4QjtBeEVtc1BwQzs7QXdFanNQSTs7RUFFRSw0QkFBNEI7QXhFb3NQbEM7O0FlN3NQSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V4RW93UGxFO0V3RW53UE07O0lBRUUsd0JBQW9DO0V4RXF3UDVDO0V3RW53UE07O0lBRUUsMEJBQXdDO0V4RXF3UGhEO0V3RW53UE07O0lBRUUsMkJBQTBDO0V4RXF3UGxEO0V3RW53UE07O0lBRUUseUJBQXNDO0V4RXF3UDlDO0V3RXB4UE07SUFBZ0MsMEJBQTRCO0V4RXV4UGxFO0V3RXR4UE07O0lBRUUsOEJBQW9DO0V4RXd4UDVDO0V3RXR4UE07O0lBRUUsZ0NBQXdDO0V4RXd4UGhEO0V3RXR4UE07O0lBRUUsaUNBQTBDO0V4RXd4UGxEO0V3RXR4UE07O0lBRUUsK0JBQXNDO0V4RXd4UDlDO0V3RXZ5UE07SUFBZ0MseUJBQTRCO0V4RTB5UGxFO0V3RXp5UE07O0lBRUUsNkJBQW9DO0V4RTJ5UDVDO0V3RXp5UE07O0lBRUUsK0JBQXdDO0V4RTJ5UGhEO0V3RXp5UE07O0lBRUUsZ0NBQTBDO0V4RTJ5UGxEO0V3RXp5UE07O0lBRUUsOEJBQXNDO0V4RTJ5UDlDO0V3RTF6UE07SUFBZ0MsdUJBQTRCO0V4RTZ6UGxFO0V3RTV6UE07O0lBRUUsMkJBQW9DO0V4RTh6UDVDO0V3RTV6UE07O0lBRUUsNkJBQXdDO0V4RTh6UGhEO0V3RTV6UE07O0lBRUUsOEJBQTBDO0V4RTh6UGxEO0V3RTV6UE07O0lBRUUsNEJBQXNDO0V4RTh6UDlDO0V3RTcwUE07SUFBZ0MseUJBQTRCO0V4RWcxUGxFO0V3RS8wUE07O0lBRUUsNkJBQW9DO0V4RWkxUDVDO0V3RS8wUE07O0lBRUUsK0JBQXdDO0V4RWkxUGhEO0V3RS8wUE07O0lBRUUsZ0NBQTBDO0V4RWkxUGxEO0V3RS8wUE07O0lBRUUsOEJBQXNDO0V4RWkxUDlDO0V3RWgyUE07SUFBZ0MsdUJBQTRCO0V4RW0yUGxFO0V3RWwyUE07O0lBRUUsMkJBQW9DO0V4RW8yUDVDO0V3RWwyUE07O0lBRUUsNkJBQXdDO0V4RW8yUGhEO0V3RWwyUE07O0lBRUUsOEJBQTBDO0V4RW8yUGxEO0V3RWwyUE07O0lBRUUsNEJBQXNDO0V4RW8yUDlDO0V3RW4zUE07SUFBZ0MscUJBQTRCO0V4RXMzUGxFO0V3RXIzUE07O0lBRUUseUJBQW9DO0V4RXUzUDVDO0V3RXIzUE07O0lBRUUsMkJBQXdDO0V4RXUzUGhEO0V3RXIzUE07O0lBRUUsNEJBQTBDO0V4RXUzUGxEO0V3RXIzUE07O0lBRUUsMEJBQXNDO0V4RXUzUDlDO0V3RXQ0UE07SUFBZ0MsMkJBQTRCO0V4RXk0UGxFO0V3RXg0UE07O0lBRUUsK0JBQW9DO0V4RTA0UDVDO0V3RXg0UE07O0lBRUUsaUNBQXdDO0V4RTA0UGhEO0V3RXg0UE07O0lBRUUsa0NBQTBDO0V4RTA0UGxEO0V3RXg0UE07O0lBRUUsZ0NBQXNDO0V4RTA0UDlDO0V3RXo1UE07SUFBZ0MsMEJBQTRCO0V4RTQ1UGxFO0V3RTM1UE07O0lBRUUsOEJBQW9DO0V4RTY1UDVDO0V3RTM1UE07O0lBRUUsZ0NBQXdDO0V4RTY1UGhEO0V3RTM1UE07O0lBRUUsaUNBQTBDO0V4RTY1UGxEO0V3RTM1UE07O0lBRUUsK0JBQXNDO0V4RTY1UDlDO0V3RTU2UE07SUFBZ0Msd0JBQTRCO0V4RSs2UGxFO0V3RTk2UE07O0lBRUUsNEJBQW9DO0V4RWc3UDVDO0V3RTk2UE07O0lBRUUsOEJBQXdDO0V4RWc3UGhEO0V3RTk2UE07O0lBRUUsK0JBQTBDO0V4RWc3UGxEO0V3RTk2UE07O0lBRUUsNkJBQXNDO0V4RWc3UDlDO0V3RS83UE07SUFBZ0MsMEJBQTRCO0V4RWs4UGxFO0V3RWo4UE07O0lBRUUsOEJBQW9DO0V4RW04UDVDO0V3RWo4UE07O0lBRUUsZ0NBQXdDO0V4RW04UGhEO0V3RWo4UE07O0lBRUUsaUNBQTBDO0V4RW04UGxEO0V3RWo4UE07O0lBRUUsK0JBQXNDO0V4RW04UDlDO0V3RWw5UE07SUFBZ0Msd0JBQTRCO0V4RXE5UGxFO0V3RXA5UE07O0lBRUUsNEJBQW9DO0V4RXM5UDVDO0V3RXA5UE07O0lBRUUsOEJBQXdDO0V4RXM5UGhEO0V3RXA5UE07O0lBRUUsK0JBQTBDO0V4RXM5UGxEO0V3RXA5UE07O0lBRUUsNkJBQXNDO0V4RXM5UDlDO0V3RTk4UE07SUFBd0IsMkJBQTJCO0V4RWk5UHpEO0V3RWg5UE07O0lBRUUsK0JBQStCO0V4RWs5UHZDO0V3RWg5UE07O0lBRUUsaUNBQWlDO0V4RWs5UHpDO0V3RWg5UE07O0lBRUUsa0NBQWtDO0V4RWs5UDFDO0V3RWg5UE07O0lBRUUsZ0NBQWdDO0V4RWs5UHhDO0V3RWorUE07SUFBd0IsMEJBQTJCO0V4RW8rUHpEO0V3RW4rUE07O0lBRUUsOEJBQStCO0V4RXErUHZDO0V3RW4rUE07O0lBRUUsZ0NBQWlDO0V4RXErUHpDO0V3RW4rUE07O0lBRUUsaUNBQWtDO0V4RXErUDFDO0V3RW4rUE07O0lBRUUsK0JBQWdDO0V4RXErUHhDO0V3RXAvUE07SUFBd0Isd0JBQTJCO0V4RXUvUHpEO0V3RXQvUE07O0lBRUUsNEJBQStCO0V4RXcvUHZDO0V3RXQvUE07O0lBRUUsOEJBQWlDO0V4RXcvUHpDO0V3RXQvUE07O0lBRUUsK0JBQWtDO0V4RXcvUDFDO0V3RXQvUE07O0lBRUUsNkJBQWdDO0V4RXcvUHhDO0V3RXZnUU07SUFBd0IsMEJBQTJCO0V4RTBnUXpEO0V3RXpnUU07O0lBRUUsOEJBQStCO0V4RTJnUXZDO0V3RXpnUU07O0lBRUUsZ0NBQWlDO0V4RTJnUXpDO0V3RXpnUU07O0lBRUUsaUNBQWtDO0V4RTJnUTFDO0V3RXpnUU07O0lBRUUsK0JBQWdDO0V4RTJnUXhDO0V3RTFoUU07SUFBd0Isd0JBQTJCO0V4RTZoUXpEO0V3RTVoUU07O0lBRUUsNEJBQStCO0V4RThoUXZDO0V3RTVoUU07O0lBRUUsOEJBQWlDO0V4RThoUXpDO0V3RTVoUU07O0lBRUUsK0JBQWtDO0V4RThoUTFDO0V3RTVoUU07O0lBRUUsNkJBQWdDO0V4RThoUXhDO0V3RXhoUUU7SUFBbUIsdUJBQXVCO0V4RTJoUTVDO0V3RTFoUUU7O0lBRUUsMkJBQTJCO0V4RTRoUS9CO0V3RTFoUUU7O0lBRUUsNkJBQTZCO0V4RTRoUWpDO0V3RTFoUUU7O0lBRUUsOEJBQThCO0V4RTRoUWxDO0V3RTFoUUU7O0lBRUUsNEJBQTRCO0V4RTRoUWhDO0FBQ0Y7O0FldGlRSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V4RTZsUWxFO0V3RTVsUU07O0lBRUUsd0JBQW9DO0V4RThsUTVDO0V3RTVsUU07O0lBRUUsMEJBQXdDO0V4RThsUWhEO0V3RTVsUU07O0lBRUUsMkJBQTBDO0V4RThsUWxEO0V3RTVsUU07O0lBRUUseUJBQXNDO0V4RThsUTlDO0V3RTdtUU07SUFBZ0MsMEJBQTRCO0V4RWduUWxFO0V3RS9tUU07O0lBRUUsOEJBQW9DO0V4RWluUTVDO0V3RS9tUU07O0lBRUUsZ0NBQXdDO0V4RWluUWhEO0V3RS9tUU07O0lBRUUsaUNBQTBDO0V4RWluUWxEO0V3RS9tUU07O0lBRUUsK0JBQXNDO0V4RWluUTlDO0V3RWhvUU07SUFBZ0MseUJBQTRCO0V4RW1vUWxFO0V3RWxvUU07O0lBRUUsNkJBQW9DO0V4RW9vUTVDO0V3RWxvUU07O0lBRUUsK0JBQXdDO0V4RW9vUWhEO0V3RWxvUU07O0lBRUUsZ0NBQTBDO0V4RW9vUWxEO0V3RWxvUU07O0lBRUUsOEJBQXNDO0V4RW9vUTlDO0V3RW5wUU07SUFBZ0MsdUJBQTRCO0V4RXNwUWxFO0V3RXJwUU07O0lBRUUsMkJBQW9DO0V4RXVwUTVDO0V3RXJwUU07O0lBRUUsNkJBQXdDO0V4RXVwUWhEO0V3RXJwUU07O0lBRUUsOEJBQTBDO0V4RXVwUWxEO0V3RXJwUU07O0lBRUUsNEJBQXNDO0V4RXVwUTlDO0V3RXRxUU07SUFBZ0MseUJBQTRCO0V4RXlxUWxFO0V3RXhxUU07O0lBRUUsNkJBQW9DO0V4RTBxUTVDO0V3RXhxUU07O0lBRUUsK0JBQXdDO0V4RTBxUWhEO0V3RXhxUU07O0lBRUUsZ0NBQTBDO0V4RTBxUWxEO0V3RXhxUU07O0lBRUUsOEJBQXNDO0V4RTBxUTlDO0V3RXpyUU07SUFBZ0MsdUJBQTRCO0V4RTRyUWxFO0V3RTNyUU07O0lBRUUsMkJBQW9DO0V4RTZyUTVDO0V3RTNyUU07O0lBRUUsNkJBQXdDO0V4RTZyUWhEO0V3RTNyUU07O0lBRUUsOEJBQTBDO0V4RTZyUWxEO0V3RTNyUU07O0lBRUUsNEJBQXNDO0V4RTZyUTlDO0V3RTVzUU07SUFBZ0MscUJBQTRCO0V4RStzUWxFO0V3RTlzUU07O0lBRUUseUJBQW9DO0V4RWd0UTVDO0V3RTlzUU07O0lBRUUsMkJBQXdDO0V4RWd0UWhEO0V3RTlzUU07O0lBRUUsNEJBQTBDO0V4RWd0UWxEO0V3RTlzUU07O0lBRUUsMEJBQXNDO0V4RWd0UTlDO0V3RS90UU07SUFBZ0MsMkJBQTRCO0V4RWt1UWxFO0V3RWp1UU07O0lBRUUsK0JBQW9DO0V4RW11UTVDO0V3RWp1UU07O0lBRUUsaUNBQXdDO0V4RW11UWhEO0V3RWp1UU07O0lBRUUsa0NBQTBDO0V4RW11UWxEO0V3RWp1UU07O0lBRUUsZ0NBQXNDO0V4RW11UTlDO0V3RWx2UU07SUFBZ0MsMEJBQTRCO0V4RXF2UWxFO0V3RXB2UU07O0lBRUUsOEJBQW9DO0V4RXN2UTVDO0V3RXB2UU07O0lBRUUsZ0NBQXdDO0V4RXN2UWhEO0V3RXB2UU07O0lBRUUsaUNBQTBDO0V4RXN2UWxEO0V3RXB2UU07O0lBRUUsK0JBQXNDO0V4RXN2UTlDO0V3RXJ3UU07SUFBZ0Msd0JBQTRCO0V4RXd3UWxFO0V3RXZ3UU07O0lBRUUsNEJBQW9DO0V4RXl3UTVDO0V3RXZ3UU07O0lBRUUsOEJBQXdDO0V4RXl3UWhEO0V3RXZ3UU07O0lBRUUsK0JBQTBDO0V4RXl3UWxEO0V3RXZ3UU07O0lBRUUsNkJBQXNDO0V4RXl3UTlDO0V3RXh4UU07SUFBZ0MsMEJBQTRCO0V4RTJ4UWxFO0V3RTF4UU07O0lBRUUsOEJBQW9DO0V4RTR4UTVDO0V3RTF4UU07O0lBRUUsZ0NBQXdDO0V4RTR4UWhEO0V3RTF4UU07O0lBRUUsaUNBQTBDO0V4RTR4UWxEO0V3RTF4UU07O0lBRUUsK0JBQXNDO0V4RTR4UTlDO0V3RTN5UU07SUFBZ0Msd0JBQTRCO0V4RTh5UWxFO0V3RTd5UU07O0lBRUUsNEJBQW9DO0V4RSt5UTVDO0V3RTd5UU07O0lBRUUsOEJBQXdDO0V4RSt5UWhEO0V3RTd5UU07O0lBRUUsK0JBQTBDO0V4RSt5UWxEO0V3RTd5UU07O0lBRUUsNkJBQXNDO0V4RSt5UTlDO0V3RXZ5UU07SUFBd0IsMkJBQTJCO0V4RTB5UXpEO0V3RXp5UU07O0lBRUUsK0JBQStCO0V4RTJ5UXZDO0V3RXp5UU07O0lBRUUsaUNBQWlDO0V4RTJ5UXpDO0V3RXp5UU07O0lBRUUsa0NBQWtDO0V4RTJ5UTFDO0V3RXp5UU07O0lBRUUsZ0NBQWdDO0V4RTJ5UXhDO0V3RTF6UU07SUFBd0IsMEJBQTJCO0V4RTZ6UXpEO0V3RTV6UU07O0lBRUUsOEJBQStCO0V4RTh6UXZDO0V3RTV6UU07O0lBRUUsZ0NBQWlDO0V4RTh6UXpDO0V3RTV6UU07O0lBRUUsaUNBQWtDO0V4RTh6UTFDO0V3RTV6UU07O0lBRUUsK0JBQWdDO0V4RTh6UXhDO0V3RTcwUU07SUFBd0Isd0JBQTJCO0V4RWcxUXpEO0V3RS8wUU07O0lBRUUsNEJBQStCO0V4RWkxUXZDO0V3RS8wUU07O0lBRUUsOEJBQWlDO0V4RWkxUXpDO0V3RS8wUU07O0lBRUUsK0JBQWtDO0V4RWkxUTFDO0V3RS8wUU07O0lBRUUsNkJBQWdDO0V4RWkxUXhDO0V3RWgyUU07SUFBd0IsMEJBQTJCO0V4RW0yUXpEO0V3RWwyUU07O0lBRUUsOEJBQStCO0V4RW8yUXZDO0V3RWwyUU07O0lBRUUsZ0NBQWlDO0V4RW8yUXpDO0V3RWwyUU07O0lBRUUsaUNBQWtDO0V4RW8yUTFDO0V3RWwyUU07O0lBRUUsK0JBQWdDO0V4RW8yUXhDO0V3RW4zUU07SUFBd0Isd0JBQTJCO0V4RXMzUXpEO0V3RXIzUU07O0lBRUUsNEJBQStCO0V4RXUzUXZDO0V3RXIzUU07O0lBRUUsOEJBQWlDO0V4RXUzUXpDO0V3RXIzUU07O0lBRUUsK0JBQWtDO0V4RXUzUTFDO0V3RXIzUU07O0lBRUUsNkJBQWdDO0V4RXUzUXhDO0V3RWozUUU7SUFBbUIsdUJBQXVCO0V4RW8zUTVDO0V3RW4zUUU7O0lBRUUsMkJBQTJCO0V4RXEzUS9CO0V3RW4zUUU7O0lBRUUsNkJBQTZCO0V4RXEzUWpDO0V3RW4zUUU7O0lBRUUsOEJBQThCO0V4RXEzUWxDO0V3RW4zUUU7O0lBRUUsNEJBQTRCO0V4RXEzUWhDO0FBQ0Y7O0FlLzNRSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V4RXM3UWxFO0V3RXI3UU07O0lBRUUsd0JBQW9DO0V4RXU3UTVDO0V3RXI3UU07O0lBRUUsMEJBQXdDO0V4RXU3UWhEO0V3RXI3UU07O0lBRUUsMkJBQTBDO0V4RXU3UWxEO0V3RXI3UU07O0lBRUUseUJBQXNDO0V4RXU3UTlDO0V3RXQ4UU07SUFBZ0MsMEJBQTRCO0V4RXk4UWxFO0V3RXg4UU07O0lBRUUsOEJBQW9DO0V4RTA4UTVDO0V3RXg4UU07O0lBRUUsZ0NBQXdDO0V4RTA4UWhEO0V3RXg4UU07O0lBRUUsaUNBQTBDO0V4RTA4UWxEO0V3RXg4UU07O0lBRUUsK0JBQXNDO0V4RTA4UTlDO0V3RXo5UU07SUFBZ0MseUJBQTRCO0V4RTQ5UWxFO0V3RTM5UU07O0lBRUUsNkJBQW9DO0V4RTY5UTVDO0V3RTM5UU07O0lBRUUsK0JBQXdDO0V4RTY5UWhEO0V3RTM5UU07O0lBRUUsZ0NBQTBDO0V4RTY5UWxEO0V3RTM5UU07O0lBRUUsOEJBQXNDO0V4RTY5UTlDO0V3RTUrUU07SUFBZ0MsdUJBQTRCO0V4RSsrUWxFO0V3RTkrUU07O0lBRUUsMkJBQW9DO0V4RWcvUTVDO0V3RTkrUU07O0lBRUUsNkJBQXdDO0V4RWcvUWhEO0V3RTkrUU07O0lBRUUsOEJBQTBDO0V4RWcvUWxEO0V3RTkrUU07O0lBRUUsNEJBQXNDO0V4RWcvUTlDO0V3RS8vUU07SUFBZ0MseUJBQTRCO0V4RWtnUmxFO0V3RWpnUk07O0lBRUUsNkJBQW9DO0V4RW1nUjVDO0V3RWpnUk07O0lBRUUsK0JBQXdDO0V4RW1nUmhEO0V3RWpnUk07O0lBRUUsZ0NBQTBDO0V4RW1nUmxEO0V3RWpnUk07O0lBRUUsOEJBQXNDO0V4RW1nUjlDO0V3RWxoUk07SUFBZ0MsdUJBQTRCO0V4RXFoUmxFO0V3RXBoUk07O0lBRUUsMkJBQW9DO0V4RXNoUjVDO0V3RXBoUk07O0lBRUUsNkJBQXdDO0V4RXNoUmhEO0V3RXBoUk07O0lBRUUsOEJBQTBDO0V4RXNoUmxEO0V3RXBoUk07O0lBRUUsNEJBQXNDO0V4RXNoUjlDO0V3RXJpUk07SUFBZ0MscUJBQTRCO0V4RXdpUmxFO0V3RXZpUk07O0lBRUUseUJBQW9DO0V4RXlpUjVDO0V3RXZpUk07O0lBRUUsMkJBQXdDO0V4RXlpUmhEO0V3RXZpUk07O0lBRUUsNEJBQTBDO0V4RXlpUmxEO0V3RXZpUk07O0lBRUUsMEJBQXNDO0V4RXlpUjlDO0V3RXhqUk07SUFBZ0MsMkJBQTRCO0V4RTJqUmxFO0V3RTFqUk07O0lBRUUsK0JBQW9DO0V4RTRqUjVDO0V3RTFqUk07O0lBRUUsaUNBQXdDO0V4RTRqUmhEO0V3RTFqUk07O0lBRUUsa0NBQTBDO0V4RTRqUmxEO0V3RTFqUk07O0lBRUUsZ0NBQXNDO0V4RTRqUjlDO0V3RTNrUk07SUFBZ0MsMEJBQTRCO0V4RThrUmxFO0V3RTdrUk07O0lBRUUsOEJBQW9DO0V4RStrUjVDO0V3RTdrUk07O0lBRUUsZ0NBQXdDO0V4RStrUmhEO0V3RTdrUk07O0lBRUUsaUNBQTBDO0V4RStrUmxEO0V3RTdrUk07O0lBRUUsK0JBQXNDO0V4RStrUjlDO0V3RTlsUk07SUFBZ0Msd0JBQTRCO0V4RWltUmxFO0V3RWhtUk07O0lBRUUsNEJBQW9DO0V4RWttUjVDO0V3RWhtUk07O0lBRUUsOEJBQXdDO0V4RWttUmhEO0V3RWhtUk07O0lBRUUsK0JBQTBDO0V4RWttUmxEO0V3RWhtUk07O0lBRUUsNkJBQXNDO0V4RWttUjlDO0V3RWpuUk07SUFBZ0MsMEJBQTRCO0V4RW9uUmxFO0V3RW5uUk07O0lBRUUsOEJBQW9DO0V4RXFuUjVDO0V3RW5uUk07O0lBRUUsZ0NBQXdDO0V4RXFuUmhEO0V3RW5uUk07O0lBRUUsaUNBQTBDO0V4RXFuUmxEO0V3RW5uUk07O0lBRUUsK0JBQXNDO0V4RXFuUjlDO0V3RXBvUk07SUFBZ0Msd0JBQTRCO0V4RXVvUmxFO0V3RXRvUk07O0lBRUUsNEJBQW9DO0V4RXdvUjVDO0V3RXRvUk07O0lBRUUsOEJBQXdDO0V4RXdvUmhEO0V3RXRvUk07O0lBRUUsK0JBQTBDO0V4RXdvUmxEO0V3RXRvUk07O0lBRUUsNkJBQXNDO0V4RXdvUjlDO0V3RWhvUk07SUFBd0IsMkJBQTJCO0V4RW1vUnpEO0V3RWxvUk07O0lBRUUsK0JBQStCO0V4RW9vUnZDO0V3RWxvUk07O0lBRUUsaUNBQWlDO0V4RW9vUnpDO0V3RWxvUk07O0lBRUUsa0NBQWtDO0V4RW9vUjFDO0V3RWxvUk07O0lBRUUsZ0NBQWdDO0V4RW9vUnhDO0V3RW5wUk07SUFBd0IsMEJBQTJCO0V4RXNwUnpEO0V3RXJwUk07O0lBRUUsOEJBQStCO0V4RXVwUnZDO0V3RXJwUk07O0lBRUUsZ0NBQWlDO0V4RXVwUnpDO0V3RXJwUk07O0lBRUUsaUNBQWtDO0V4RXVwUjFDO0V3RXJwUk07O0lBRUUsK0JBQWdDO0V4RXVwUnhDO0V3RXRxUk07SUFBd0Isd0JBQTJCO0V4RXlxUnpEO0V3RXhxUk07O0lBRUUsNEJBQStCO0V4RTBxUnZDO0V3RXhxUk07O0lBRUUsOEJBQWlDO0V4RTBxUnpDO0V3RXhxUk07O0lBRUUsK0JBQWtDO0V4RTBxUjFDO0V3RXhxUk07O0lBRUUsNkJBQWdDO0V4RTBxUnhDO0V3RXpyUk07SUFBd0IsMEJBQTJCO0V4RTRyUnpEO0V3RTNyUk07O0lBRUUsOEJBQStCO0V4RTZyUnZDO0V3RTNyUk07O0lBRUUsZ0NBQWlDO0V4RTZyUnpDO0V3RTNyUk07O0lBRUUsaUNBQWtDO0V4RTZyUjFDO0V3RTNyUk07O0lBRUUsK0JBQWdDO0V4RTZyUnhDO0V3RTVzUk07SUFBd0Isd0JBQTJCO0V4RStzUnpEO0V3RTlzUk07O0lBRUUsNEJBQStCO0V4RWd0UnZDO0V3RTlzUk07O0lBRUUsOEJBQWlDO0V4RWd0UnpDO0V3RTlzUk07O0lBRUUsK0JBQWtDO0V4RWd0UjFDO0V3RTlzUk07O0lBRUUsNkJBQWdDO0V4RWd0UnhDO0V3RTFzUkU7SUFBbUIsdUJBQXVCO0V4RTZzUjVDO0V3RTVzUkU7O0lBRUUsMkJBQTJCO0V4RThzUi9CO0V3RTVzUkU7O0lBRUUsNkJBQTZCO0V4RThzUmpDO0V3RTVzUkU7O0lBRUUsOEJBQThCO0V4RThzUmxDO0V3RTVzUkU7O0lBRUUsNEJBQTRCO0V4RThzUmhDO0FBQ0Y7O0FleHRSSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V4RSt3UmxFO0V3RTl3Uk07O0lBRUUsd0JBQW9DO0V4RWd4UjVDO0V3RTl3Uk07O0lBRUUsMEJBQXdDO0V4RWd4UmhEO0V3RTl3Uk07O0lBRUUsMkJBQTBDO0V4RWd4UmxEO0V3RTl3Uk07O0lBRUUseUJBQXNDO0V4RWd4UjlDO0V3RS94Uk07SUFBZ0MsMEJBQTRCO0V4RWt5UmxFO0V3RWp5Uk07O0lBRUUsOEJBQW9DO0V4RW15UjVDO0V3RWp5Uk07O0lBRUUsZ0NBQXdDO0V4RW15UmhEO0V3RWp5Uk07O0lBRUUsaUNBQTBDO0V4RW15UmxEO0V3RWp5Uk07O0lBRUUsK0JBQXNDO0V4RW15UjlDO0V3RWx6Uk07SUFBZ0MseUJBQTRCO0V4RXF6UmxFO0V3RXB6Uk07O0lBRUUsNkJBQW9DO0V4RXN6UjVDO0V3RXB6Uk07O0lBRUUsK0JBQXdDO0V4RXN6UmhEO0V3RXB6Uk07O0lBRUUsZ0NBQTBDO0V4RXN6UmxEO0V3RXB6Uk07O0lBRUUsOEJBQXNDO0V4RXN6UjlDO0V3RXIwUk07SUFBZ0MsdUJBQTRCO0V4RXcwUmxFO0V3RXYwUk07O0lBRUUsMkJBQW9DO0V4RXkwUjVDO0V3RXYwUk07O0lBRUUsNkJBQXdDO0V4RXkwUmhEO0V3RXYwUk07O0lBRUUsOEJBQTBDO0V4RXkwUmxEO0V3RXYwUk07O0lBRUUsNEJBQXNDO0V4RXkwUjlDO0V3RXgxUk07SUFBZ0MseUJBQTRCO0V4RTIxUmxFO0V3RTExUk07O0lBRUUsNkJBQW9DO0V4RTQxUjVDO0V3RTExUk07O0lBRUUsK0JBQXdDO0V4RTQxUmhEO0V3RTExUk07O0lBRUUsZ0NBQTBDO0V4RTQxUmxEO0V3RTExUk07O0lBRUUsOEJBQXNDO0V4RTQxUjlDO0V3RTMyUk07SUFBZ0MsdUJBQTRCO0V4RTgyUmxFO0V3RTcyUk07O0lBRUUsMkJBQW9DO0V4RSsyUjVDO0V3RTcyUk07O0lBRUUsNkJBQXdDO0V4RSsyUmhEO0V3RTcyUk07O0lBRUUsOEJBQTBDO0V4RSsyUmxEO0V3RTcyUk07O0lBRUUsNEJBQXNDO0V4RSsyUjlDO0V3RTkzUk07SUFBZ0MscUJBQTRCO0V4RWk0UmxFO0V3RWg0Uk07O0lBRUUseUJBQW9DO0V4RWs0UjVDO0V3RWg0Uk07O0lBRUUsMkJBQXdDO0V4RWs0UmhEO0V3RWg0Uk07O0lBRUUsNEJBQTBDO0V4RWs0UmxEO0V3RWg0Uk07O0lBRUUsMEJBQXNDO0V4RWs0UjlDO0V3RWo1Uk07SUFBZ0MsMkJBQTRCO0V4RW81UmxFO0V3RW41Uk07O0lBRUUsK0JBQW9DO0V4RXE1UjVDO0V3RW41Uk07O0lBRUUsaUNBQXdDO0V4RXE1UmhEO0V3RW41Uk07O0lBRUUsa0NBQTBDO0V4RXE1UmxEO0V3RW41Uk07O0lBRUUsZ0NBQXNDO0V4RXE1UjlDO0V3RXA2Uk07SUFBZ0MsMEJBQTRCO0V4RXU2UmxFO0V3RXQ2Uk07O0lBRUUsOEJBQW9DO0V4RXc2UjVDO0V3RXQ2Uk07O0lBRUUsZ0NBQXdDO0V4RXc2UmhEO0V3RXQ2Uk07O0lBRUUsaUNBQTBDO0V4RXc2UmxEO0V3RXQ2Uk07O0lBRUUsK0JBQXNDO0V4RXc2UjlDO0V3RXY3Uk07SUFBZ0Msd0JBQTRCO0V4RTA3UmxFO0V3RXo3Uk07O0lBRUUsNEJBQW9DO0V4RTI3UjVDO0V3RXo3Uk07O0lBRUUsOEJBQXdDO0V4RTI3UmhEO0V3RXo3Uk07O0lBRUUsK0JBQTBDO0V4RTI3UmxEO0V3RXo3Uk07O0lBRUUsNkJBQXNDO0V4RTI3UjlDO0V3RTE4Uk07SUFBZ0MsMEJBQTRCO0V4RTY4UmxFO0V3RTU4Uk07O0lBRUUsOEJBQW9DO0V4RTg4UjVDO0V3RTU4Uk07O0lBRUUsZ0NBQXdDO0V4RTg4UmhEO0V3RTU4Uk07O0lBRUUsaUNBQTBDO0V4RTg4UmxEO0V3RTU4Uk07O0lBRUUsK0JBQXNDO0V4RTg4UjlDO0V3RTc5Uk07SUFBZ0Msd0JBQTRCO0V4RWcrUmxFO0V3RS85Uk07O0lBRUUsNEJBQW9DO0V4RWkrUjVDO0V3RS85Uk07O0lBRUUsOEJBQXdDO0V4RWkrUmhEO0V3RS85Uk07O0lBRUUsK0JBQTBDO0V4RWkrUmxEO0V3RS85Uk07O0lBRUUsNkJBQXNDO0V4RWkrUjlDO0V3RXo5Uk07SUFBd0IsMkJBQTJCO0V4RTQ5UnpEO0V3RTM5Uk07O0lBRUUsK0JBQStCO0V4RTY5UnZDO0V3RTM5Uk07O0lBRUUsaUNBQWlDO0V4RTY5UnpDO0V3RTM5Uk07O0lBRUUsa0NBQWtDO0V4RTY5UjFDO0V3RTM5Uk07O0lBRUUsZ0NBQWdDO0V4RTY5UnhDO0V3RTUrUk07SUFBd0IsMEJBQTJCO0V4RSsrUnpEO0V3RTkrUk07O0lBRUUsOEJBQStCO0V4RWcvUnZDO0V3RTkrUk07O0lBRUUsZ0NBQWlDO0V4RWcvUnpDO0V3RTkrUk07O0lBRUUsaUNBQWtDO0V4RWcvUjFDO0V3RTkrUk07O0lBRUUsK0JBQWdDO0V4RWcvUnhDO0V3RS8vUk07SUFBd0Isd0JBQTJCO0V4RWtnU3pEO0V3RWpnU007O0lBRUUsNEJBQStCO0V4RW1nU3ZDO0V3RWpnU007O0lBRUUsOEJBQWlDO0V4RW1nU3pDO0V3RWpnU007O0lBRUUsK0JBQWtDO0V4RW1nUzFDO0V3RWpnU007O0lBRUUsNkJBQWdDO0V4RW1nU3hDO0V3RWxoU007SUFBd0IsMEJBQTJCO0V4RXFoU3pEO0V3RXBoU007O0lBRUUsOEJBQStCO0V4RXNoU3ZDO0V3RXBoU007O0lBRUUsZ0NBQWlDO0V4RXNoU3pDO0V3RXBoU007O0lBRUUsaUNBQWtDO0V4RXNoUzFDO0V3RXBoU007O0lBRUUsK0JBQWdDO0V4RXNoU3hDO0V3RXJpU007SUFBd0Isd0JBQTJCO0V4RXdpU3pEO0V3RXZpU007O0lBRUUsNEJBQStCO0V4RXlpU3ZDO0V3RXZpU007O0lBRUUsOEJBQWlDO0V4RXlpU3pDO0V3RXZpU007O0lBRUUsK0JBQWtDO0V4RXlpUzFDO0V3RXZpU007O0lBRUUsNkJBQWdDO0V4RXlpU3hDO0V3RW5pU0U7SUFBbUIsdUJBQXVCO0V4RXNpUzVDO0V3RXJpU0U7O0lBRUUsMkJBQTJCO0V4RXVpUy9CO0V3RXJpU0U7O0lBRUUsNkJBQTZCO0V4RXVpU2pDO0V3RXJpU0U7O0lBRUUsOEJBQThCO0V4RXVpU2xDO0V3RXJpU0U7O0lBRUUsNEJBQTRCO0V4RXVpU2hDO0FBQ0Y7O0F5RXZtU0E7RUFBa0IsNEdBQThDO0F6RTJtU2hFOztBeUV2bVNBO0VBQWlCLDhCQUE4QjtBekUybVMvQzs7QXlFMW1TQTtFQUFpQiw4QkFBOEI7QXpFOG1TL0M7O0F5RTdtU0E7RUFBaUIsOEJBQThCO0F6RWluUy9DOztBeUVoblNBO0VDVEUsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixtQkFBbUI7QTFFNm5TckI7O0F5RTltU0k7RUFBd0IsMkJBQTJCO0F6RWtuU3ZEOztBeUVqblNJO0VBQXdCLDRCQUE0QjtBekVxblN4RDs7QXlFcG5TSTtFQUF3Qiw2QkFBNkI7QXpFd25TekQ7O0FlbmxTSTtFMER2Q0E7SUFBd0IsMkJBQTJCO0V6RStuU3JEO0V5RTluU0U7SUFBd0IsNEJBQTRCO0V6RWlvU3REO0V5RWhvU0U7SUFBd0IsNkJBQTZCO0V6RW1vU3ZEO0FBQ0Y7O0FlL2xTSTtFMER2Q0E7SUFBd0IsMkJBQTJCO0V6RTJvU3JEO0V5RTFvU0U7SUFBd0IsNEJBQTRCO0V6RTZvU3REO0V5RTVvU0U7SUFBd0IsNkJBQTZCO0V6RStvU3ZEO0FBQ0Y7O0FlM21TSTtFMER2Q0E7SUFBd0IsMkJBQTJCO0V6RXVwU3JEO0V5RXRwU0U7SUFBd0IsNEJBQTRCO0V6RXlwU3REO0V5RXhwU0U7SUFBd0IsNkJBQTZCO0V6RTJwU3ZEO0FBQ0Y7O0Fldm5TSTtFMER2Q0E7SUFBd0IsMkJBQTJCO0V6RW1xU3JEO0V5RWxxU0U7SUFBd0IsNEJBQTRCO0V6RXFxU3REO0V5RXBxU0U7SUFBd0IsNkJBQTZCO0V6RXVxU3ZEO0FBQ0Y7O0F5RWxxU0E7RUFBbUIsb0NBQW9DO0F6RXNxU3ZEOztBeUVycVNBO0VBQW1CLG9DQUFvQztBekV5cVN2RDs7QXlFeHFTQTtFQUFtQixxQ0FBcUM7QXpFNHFTeEQ7O0F5RXhxU0E7RUFBdUIsMkJBQTBDO0F6RTRxU2pFOztBeUUzcVNBO0VBQXVCLCtCQUE0QztBekUrcVNuRTs7QXlFOXFTQTtFQUF1QiwyQkFBMkM7QXpFa3JTbEU7O0F5RWpyU0E7RUFBdUIsMkJBQXlDO0F6RXFyU2hFOztBeUVwclNBO0VBQXVCLDhCQUEyQztBekV3clNsRTs7QXlFdnJTQTtFQUF1Qiw2QkFBNkI7QXpFMnJTcEQ7O0F5RXZyU0E7RUFBYyxzQkFBd0I7QXpFMnJTdEM7O0EyRWx1U0U7RUFDRSx5QkFBd0I7QTNFcXVTNUI7O0FNM3RTRTtFcUVMTSx5QkFBMEU7QTNFb3VTbEY7O0EyRTF1U0U7RUFDRSx5QkFBd0I7QTNFNnVTNUI7O0FNbnVTRTtFcUVMTSx5QkFBMEU7QTNFNHVTbEY7O0EyRWx2U0U7RUFDRSx5QkFBd0I7QTNFcXZTNUI7O0FNM3VTRTtFcUVMTSx5QkFBMEU7QTNFb3ZTbEY7O0EyRTF2U0U7RUFDRSx5QkFBd0I7QTNFNnZTNUI7O0FNbnZTRTtFcUVMTSx5QkFBMEU7QTNFNHZTbEY7O0EyRWx3U0U7RUFDRSx5QkFBd0I7QTNFcXdTNUI7O0FNM3ZTRTtFcUVMTSx5QkFBMEU7QTNFb3dTbEY7O0EyRTF3U0U7RUFDRSx5QkFBd0I7QTNFNndTNUI7O0FNbndTRTtFcUVMTSx5QkFBMEU7QTNFNHdTbEY7O0EyRWx4U0U7RUFDRSx5QkFBd0I7QTNFcXhTNUI7O0FNM3dTRTtFcUVMTSx5QkFBMEU7QTNFb3hTbEY7O0EyRTF4U0U7RUFDRSx5QkFBd0I7QTNFNnhTNUI7O0FNbnhTRTtFcUVMTSx5QkFBMEU7QTNFNHhTbEY7O0F5RXJ2U0E7RUFBYSx5QkFBNkI7QXpFeXZTMUM7O0F5RXh2U0E7RUFBYyx5QkFBNkI7QXpFNHZTM0M7O0F5RTF2U0E7RUFBaUIsb0NBQWtDO0F6RTh2U25EOztBeUU3dlNBO0VBQWlCLDBDQUFrQztBekVpd1NuRDs7QXlFN3ZTQTtFR3ZERSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0IsU0FBUztBNUV3elNYOztBeUVqd1NBO0VBQXdCLGdDQUFnQztBekVxd1N4RDs7QXlFbndTQTtFQUNFLGlDQUFpQztFQUNqQyxvQ0FBb0M7QXpFc3dTdEM7O0F5RWp3U0E7RUFBYyx5QkFBeUI7QXpFcXdTdkM7O0E2RXQwU0E7RUFDRSw4QkFBOEI7QTdFeTBTaEM7O0E2RXQwU0E7RUFDRSw2QkFBNkI7QTdFeTBTL0I7O0E4RXowU0U7RTNFT0Y7OztJMkVETSw0QkFBNEI7SUFFNUIsMkJBQTJCO0U5RXkwUy9CO0U4RXQwU0U7SUFFSSwwQkFBMEI7RTlFdTBTaEM7RThFOXpTRTtJQUNFLDZCQUE2QjtFOUVnMFNqQztFR2xvU0Y7STJFL0tNLGdDQUFnQztFOUVvelNwQztFOEVselNFOztJQUVFLHlCMUV6Q1k7STBFMENaLHdCQUF3QjtFOUVvelM1QjtFOEU1eVNFO0lBQ0UsMkJBQTJCO0U5RTh5Uy9CO0U4RTN5U0U7O0lBRUUsd0JBQXdCO0U5RTZ5UzVCO0U4RTF5U0U7OztJQUdFLFVBQVU7SUFDVixTQUFTO0U5RTR5U2I7RThFenlTRTs7SUFFRSx1QkFBdUI7RTlFMnlTM0I7RThFbnlTRTtJQUNFLFExRTRoQ2dDO0VKeXdRcEM7RUdqMVNGO0kyRStDTSwyQkFBMkM7RTlFcXlTL0M7RWEzM1NBO0lpRXlGSSwyQkFBMkM7RTlFcXlTL0M7RWtDbjNTRjtJNENtRk0sYUFBYTtFOUVteVNqQjtFdUNsNFNGO0l1Q2tHTSxzQjFFdEZTO0VKeTNTYjtFaUJ0NFNGO0k2RHVHTSxvQ0FBb0M7RTlFa3lTeEM7RThFbnlTRTs7SUFLSSxp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O0U4Qk5JLHlCQUF3QjtBbEgwK1k1Qjs7QW9GNTlZQTtFOEJWSSx5QkFBd0I7QWxIMCtZNUI7O0FvRjc5WUE7RThCVkkseUJBQXdCO0FsSDIrWTVCOztBb0Y5OVlBO0U4QlZJLHlCQUF3QjtBbEg0K1k1Qjs7QW9GLzlZQTtFOEJWSSx5QkFBd0I7QWxINitZNUI7O0FvRjU5WUE7RThCZEkseUJBQTJCO0FsSDgrWS9COztBb0Z6OVlBO0U4QmxCSSx5QkFBd0I7QWxIKytZNUI7O0FvRjE5WUE7RThCbEJJLHlCQUF3QjtBbEhnL1k1Qjs7QW9GMzlZQTtFOEJsQkkseUJBQXdCO0FsSGkvWTVCOztBb0Z4OVlBO0U4QnRCSSx5QkFBZ0M7QWxIay9ZcEM7O0FHai9ZQTtFZ0g1Q0ksb0NBQW9DO0FuSGlpWnhDOztBR3oyWUE7RWdIckxJLGdDQUErQjtFQUMvQixjbkNEb0I7QWhGbWlaeEI7O0FNM2haRTtFNkdKRSxnQ0FBK0I7RUFDL0IsY25DTG9CO0FoRndpWnhCOztBbUhqaVpBO0VBQ0kscURBQXFEO0FuSG9pWnpEOztBbUhsaVpBO0VBQ0ksb0NBQW9DO0FuSHFpWnhDOztBbUhsaVpBO0VBQ0ksc0JBQXFCO0VBQ3JCLGdCQUFnQjtBbkhxaVpwQjs7QW1IbmlaQTs7RUFFSSxrQkFBa0I7QW5Ic2ladEI7O0FtSHBpWkE7RUFFSSxhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLGdCQUFnQjtBbkhzaVpwQjs7QW1IMWlaQTtFQU1RLGdCQUFnQjtBbkh3aVp4Qjs7QW1IcmlaQTtFQUNJLFlBQVk7RUFDWixTQUFTO0VBQ1QsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixrQkFBa0I7QW5Id2ladEI7O0FtSHRpWkE7RUFDSSxVQUFVO0FuSHlpWmQ7O0FtSHZpWkE7RUFDSSwwQkFBeUI7QW5IMGlaN0I7O0FtSHhpWkE7RUFDSSxrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLFFBQVE7RUFDUixVQUFVO0FuSDJpWmQ7O0FtSHppWkE7RUFDSSxXQUFXO0FuSDRpWmY7O0FtSDFpWkE7RUFDSSxhQUFhO0FuSDZpWmpCOztBbUgzaVpBO0VB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OztBMkg1emVBO0VBRUUsNkIzQ2pDc0I7RTJDa0N0Qiw4QjNDbENzQjtBaEZnMmV4Qjs7QTJINXplQTtFQUNFLGdCQUFnQjtBM0gremVsQjs7QTJIN3plQTtFQUNFLFVBQVU7RUFDVixZQUNGO0EzSCt6ZUE7O0FBMXVlQTs7RUE4dWVFO0FBMXVlRjtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsV0FBVztBQTR1ZWI7O0FBMXVlQTtFQUNFLFNBQVM7QUE2dWVYOztBQTF1ZUE7OztFQUdFLGVBQWU7RUFDZixNQUFNO0VBQ04sUUFBUTtFQUNSLE9BQU87RUFDUCxTQUFTO0VBQ1QsOEJBQTZCO0VBQzdCLGFBQWE7QUE2dWVmOztBQXR2ZUE7OztFQVlJLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2IsU0FBUztFQUNULHFCZ0ZuSmU7RWhGb0pmLFFBQVE7RUFDUixnQ0FBZ0M7RUFDaEMsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixnQkFBZ0I7QUFndmVwQjs7QUF2d2VBOzs7RUEwQk0sa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixlQUFlO0FBbXZlckI7O0FBL3dlQTs7O0VBZ0NNLHlCQUFpQztFQUNqQyxlQUFlO0VBQ2YsVUFBVTtFQUNWLFdBQVc7RUFDWCxTQUFTO0VBQ1QsYUFBYTtBQXF2ZW5COztBQWh2ZUE7O0VBb3ZlRTtBQWh2ZUY7RUFHTSxtQkFDRjtBQSt1ZUo7O0FBNXVlQTs7RUFndmVFO0FBN3VlRjtFQUNFLHNCQUFxQjtBQSt1ZXZCOztBQTd1ZUE7O0VBaXZlRTtBQTl1ZUY7RUFDRSxrQkFBbUI7QUFndmVyQjs7QUE3dWVBOztFQUVFLHdCQUF1QjtBQWd2ZXpCIiwiZmlsZSI6ImFwcC41YTMwNWFkZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucmdwZC1iYW5uZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIHdpZHRoOiA5NnZ3O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvdHRvbTogMnZoO1xuICAgIGxlZnQ6IDJ2dztcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDBweCAzcHggMzBweCAjMDAwMDAwNEQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAwcHggMjBweCAyMHB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5yZ3BkLWJhbm5lciAudGl0bGV7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuLnJncGQtYmFubmVyIC5pbmZvcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOjExOTlweCl7XG4gICAgLnJncGQtYmFubmVyIC5pbmZvcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxufVxuXG4ucmdwZC1iYW5uZXIgLmxpbmtzIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5yZ3BkLWJhbm5lciAubGlua3MgYXtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG59XG4ucmdwZC1iYW5uZXIgLmxpbmtzIGE6Zmlyc3QtY2hpbGR7XG4gICAgbWFyZ2luOiAwIDEwcHggMTBweCAwO1xufVxuIiwiLyohXG4gKiBEYXRldGltZXBpY2tlciBmb3IgQm9vdHN0cmFwXG4gKlxuICogQ29weXJpZ2h0IDIwMTIgU3RlZmFuIFBldHJlXG4gKiBJbXByb3ZlbWVudHMgYnkgQW5kcmV3IFJvd2xzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICovLmRhdGV0aW1lcGlja2Vye3BhZGRpbmc6NHB4O21hcmdpbi10b3A6MXB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDtkaXJlY3Rpb246bHRyfS5kYXRldGltZXBpY2tlci1pbmxpbmV7d2lkdGg6MjIwcHh9LmRhdGV0aW1lcGlja2VyLmRhdGV0aW1lcGlja2VyLXJ0bHtkaXJlY3Rpb246cnRsfS5kYXRldGltZXBpY2tlci5kYXRldGltZXBpY2tlci1ydGwgdGFibGUgdHIgdGQgc3BhbntmbG9hdDpyaWdodH0uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24sLmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWxlZnR7dG9wOjA7bGVmdDowfVtjbGFzcyo9XCIgZGF0ZXRpbWVwaWNrZXItZHJvcGRvd25cIl06YmVmb3Jle2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQgI2NjYztib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsMC4yKTtwb3NpdGlvbjphYnNvbHV0ZX1bY2xhc3MqPVwiIGRhdGV0aW1lcGlja2VyLWRyb3Bkb3duXCJdOmFmdGVye2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLWxlZnQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgI2ZmZjtwb3NpdGlvbjphYnNvbHV0ZX1bY2xhc3MqPVwiIGRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcFwiXTpiZWZvcmV7Y29udGVudDonJztkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItbGVmdDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjdweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwwLjIpO2JvcmRlci1ib3R0b206MH1bY2xhc3MqPVwiIGRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLXRvcFwiXTphZnRlcntjb250ZW50OicnO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1sZWZ0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NnB4IHNvbGlkICNmZmY7Ym9yZGVyLWJvdHRvbTowfS5kYXRldGltZXBpY2tlci1kcm9wZG93bi1ib3R0b20tbGVmdDpiZWZvcmV7dG9wOi03cHg7cmlnaHQ6NnB4fS5kYXRldGltZXBpY2tlci1kcm9wZG93bi1ib3R0b20tbGVmdDphZnRlcnt0b3A6LTZweDtyaWdodDo3cHh9LmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWJvdHRvbS1yaWdodDpiZWZvcmV7dG9wOi03cHg7bGVmdDo2cHh9LmRhdGV0aW1lcGlja2VyLWRyb3Bkb3duLWJvdHRvbS1yaWdodDphZnRlcnt0b3A6LTZweDtsZWZ0OjdweH0uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tdG9wLWxlZnQ6YmVmb3Jle2JvdHRvbTotN3B4O3JpZ2h0OjZweH0uZGF0ZXRpbWVwaWNrZXItZHJvcGRvd24tdG9wLWxlZnQ6YWZ0ZXJ7Ym90dG9tOi02cHg7cmlnaHQ6N3B4fS5kYXRldGltZXBpY2tlci1kcm9wZG93bi10b3AtcmlnaHQ6YmVmb3Jle2JvdHRvbTotN3B4O2xlZnQ6NnB4fS5kYXRldGltZXBpY2tlci1kcm9wZG93bi10b3AtcmlnaHQ6YWZ0ZXJ7Ym90dG9tOi02cHg7bGVmdDo3cHh9LmRhdGV0aW1lcGlja2VyPmRpdntkaXNwbGF5Om5vbmV9LmRhdGV0aW1lcGlja2VyLm1pbnV0ZXMgZGl2LmRhdGV0aW1lcGlja2VyLW1pbnV0ZXN7ZGlzcGxheTpibG9ja30uZGF0ZXRpbWVwaWNrZXIuaG91cnMgZGl2LmRhdGV0aW1lcGlja2VyLWhvdXJze2Rpc3BsYXk6YmxvY2t9LmRhdGV0aW1lcGlja2VyLmRheXMgZGl2LmRhdGV0aW1lcGlja2VyLWRheXN7ZGlzcGxheTpibG9ja30uZGF0ZXRpbWVwaWNrZXIubW9udGhzIGRpdi5kYXRldGltZXBpY2tlci1tb250aHN7ZGlzcGxheTpibG9ja30uZGF0ZXRpbWVwaWNrZXIueWVhcnMgZGl2LmRhdGV0aW1lcGlja2VyLXllYXJze2Rpc3BsYXk6YmxvY2t9LmRhdGV0aW1lcGlja2VyIHRhYmxle21hcmdpbjowfS5kYXRldGltZXBpY2tlciB0ZCwuZGF0ZXRpbWVwaWNrZXIgdGh7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjB9LnRhYmxlLXN0cmlwZWQgLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLC50YWJsZS1zdHJpcGVkIC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0aHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5taW51dGU6aG92ZXJ7YmFja2dyb3VuZDojZWVlO2N1cnNvcjpwb2ludGVyfS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5ob3VyOmhvdmVye2JhY2tncm91bmQ6I2VlZTtjdXJzb3I6cG9pbnRlcn0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuZGF5OmhvdmVye2JhY2tncm91bmQ6I2VlZTtjdXJzb3I6cG9pbnRlcn0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQub2xkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5uZXd7Y29sb3I6Izk5OX0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6MDtjb2xvcjojOTk5O2N1cnNvcjpkZWZhdWx0fS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZGUxOWE7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZkZDQ5YSwjZmRmNTlhKTtiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciwwIDAsMCAxMDAlLGZyb20oI2ZkZDQ5YSksdG8oI2ZkZjU5YSkpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZGQ0OWEsI2ZkZjU5YSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmRkNDlhJyxlbmRDb2xvcnN0cj0nI2ZkZjU5YScsR3JhZGllbnRUeXBlPTApO2JvcmRlci1jb2xvcjojZmRmNTlhICNmZGY1OWEgI2ZiZWQ1MDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpIHJnYmEoMCwwLDAsMC4xKSByZ2JhKDAsMCwwLDAuMjUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9LmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcjpob3ZlciwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyOmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5W2Rpc2FibGVkXSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXJbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZFtkaXNhYmxlZF0sLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZGY1OWF9LmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXI6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlci5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZiZjA2OX0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwNmRjYztiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLDAgMCwwIDEwMCUsZnJvbSgjMDhjKSx0bygjMDRjKSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzA4YywjMDRjKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzA4YywjMDRjKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyMwMDg4Y2MnLGVuZENvbG9yc3RyPScjMDA0NGNjJyxHcmFkaWVudFR5cGU9MCk7Ym9yZGVyLWNvbG9yOiMwNGMgIzA0YyAjMDAyYTgwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSkgcmdiYSgwLDAsMCwwLjEpIHJnYmEoMCwwLDAsMC4yNSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsMC4yNSl9LmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3ZlciwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcjpob3ZlciwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmVbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWRbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6IzA0Y30uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMzl9LmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW57ZGlzcGxheTpibG9jazt3aWR0aDoyMyU7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweDtmbG9hdDpsZWZ0O21hcmdpbjoxJTtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHh9LmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyBzcGFue2hlaWdodDoyNnB4O2xpbmUtaGVpZ2h0OjI2cHh9LmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyB0YWJsZSB0ciB0ZCBzcGFuLmhvdXJfYW0sLmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyB0YWJsZSB0ciB0ZCBzcGFuLmhvdXJfcG17d2lkdGg6MTQuNiV9LmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1ob3VycyBmaWVsZHNldCBsZWdlbmQsLmRhdGV0aW1lcGlja2VyIC5kYXRldGltZXBpY2tlci1taW51dGVzIGZpZWxkc2V0IGxlZ2VuZHttYXJnaW4tYm90dG9tOmluaGVyaXQ7bGluZS1oZWlnaHQ6MzBweH0uZGF0ZXRpbWVwaWNrZXIgLmRhdGV0aW1lcGlja2VyLW1pbnV0ZXMgc3BhbntoZWlnaHQ6MjZweDtsaW5lLWhlaWdodDoyNnB4fS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuOmhvdmVye2JhY2tncm91bmQ6I2VlZX0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOjA7Y29sb3I6Izk5OTtjdXJzb3I6ZGVmYXVsdH0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDA2ZGNjO2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCMwOGMsIzA0Yyk7YmFja2dyb3VuZC1pbWFnZTotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsMCAwLDAgMTAwJSxmcm9tKCMwOGMpLHRvKCMwNGMpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjMDhjLCMwNGMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDhjLCMwNGMpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwODhjYycsZW5kQ29sb3JzdHI9JyMwMDQ0Y2MnLEdyYWRpZW50VHlwZT0wKTtib3JkZXItY29sb3I6IzA0YyAjMDRjICMwMDJhODA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKSByZ2JhKDAsMCwwLDAuMSkgcmdiYSgwLDAsMCwwLjI1KTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwwLjI1KX0uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmhvdmVyLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuZGlzYWJsZWQsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmVbZGlzYWJsZWRdLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcltkaXNhYmxlZF0sLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6IzA0Y30uZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5hY3RpdmUsLmRhdGV0aW1lcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZSwuZGF0ZXRpbWVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLC5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMDM5fS5kYXRldGltZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLm9sZHtjb2xvcjojOTk5fS5kYXRldGltZXBpY2tlciB0aC5zd2l0Y2h7d2lkdGg6MTQ1cHh9LmRhdGV0aW1lcGlja2VyIHRoIHNwYW4uZ2x5cGhpY29ue3BvaW50ZXItZXZlbnRzOm5vbmV9LmRhdGV0aW1lcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLC5kYXRldGltZXBpY2tlciB0Zm9vdCB0aHtjdXJzb3I6cG9pbnRlcn0uZGF0ZXRpbWVwaWNrZXIgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6aG92ZXIsLmRhdGV0aW1lcGlja2VyIHRmb290IHRoOmhvdmVye2JhY2tncm91bmQ6I2VlZX0uaW5wdXQtYXBwZW5kLmRhdGUgLmFkZC1vbiBpLC5pbnB1dC1wcmVwZW5kLmRhdGUgLmFkZC1vbiBpLC5pbnB1dC1ncm91cC5kYXRlIC5pbnB1dC1ncm91cC1hZGRvbiBzcGFue2N1cnNvcjpwb2ludGVyO3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIElNUE9SVCBCT09UU1JBUFxuICovXG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcFwiO1xuQGltcG9ydCBcIn5qcXVlcnktdWkvdGhlbWVzL2Jhc2UvYWxsLmNzc1wiO1xuQGltcG9ydCBcIi4uL2pzL2hjLW9mZmNhbnZhcy9oYy1vZmZjYW52YXMtbmF2LmNzc1wiO1xuXG5cbkBpbXBvcnQgXCJkYXRldGltZXBpY2tlci9ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXIubWluLmNzc1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuSU1QT1JUIERFUyBGSUNISUVSUyBTQ1NTXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInJlc2V0XCI7XG5AaW1wb3J0IFwiZm9udHNcIjtcbkBpbXBvcnQgXCJmb250c1wiO1xuXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2J0blwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb2xvcnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xvZ2luXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90aXRsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFibGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsZXJ0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXYtdGFiXCI7XG5cblxuQGltcG9ydCBcImZvcm1zL2NoZWNrYm94XCI7XG5AaW1wb3J0IFwiZm9ybXMvcmFkaW9cIjtcbkBpbXBvcnQgXCJmb3Jtcy9wYXNzd29yZFwiO1xuQGltcG9ydCBcImZvcm1zL2RhdGVwaWNrZXJcIjtcbkBpbXBvcnQgXCJmb3Jtcy9lcnJvclwiO1xuQGltcG9ydCBcImZvcm1zL2Zvcm1cIjtcbkBpbXBvcnQgXCJmb3Jtcy9pbnB1dFwiO1xuQGltcG9ydCBcImZvcm1zL2ZpZWxkc2V0XCI7XG5cbkBpbXBvcnQgXCJwYWdlcy9nbG9iYWxcIjtcbkBpbXBvcnQgXCJwYWdlcy9ob21lXCI7XG5AaW1wb3J0IFwicGFnZXMvbW9kdWxlc1wiO1xuQGltcG9ydCBcInBhZ2VzL01haW4vbWVtYnJlLWRlc2NcIjtcbkBpbXBvcnQgXCJwYWdlcy9NYWluL2FuaW1hbC1kZXNjXCI7XG5AaW1wb3J0IFwicGFnZXMvc2VjdXJpdHkvbG9naW5cIjtcbkBpbXBvcnQgXCJwYWdlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb25cIjtcbkBpbXBvcnQgXCJwYWdlcy9jb25maWd1cmF0aW9uL29yZ2FuaXNtZVwiO1xuQGltcG9ydCBcInBhZ2VzL2NvbmZpZ3VyYXRpb24vc2NyaXB0c19hdXRvXCI7XG5AaW1wb3J0IFwicGFnZXMvY29uZmlndXJhdGlvbi91c2VyXCI7XG5AaW1wb3J0IFwicGFnZXMvZmFtaWxpZXMvZmFtaWx5LXN0YXR1c1wiO1xuQGltcG9ydCBcInBhZ2VzL2V4cG9ydC9leHBvcnRfaG9tZV9tYWRlXCI7XG5AaW1wb3J0IFwicGFnZXMvY29uZmlnLWNoZWNrbGlzdFwiO1xuQGltcG9ydCBcInBhZ2VzL2NvbmZpZ3VyYXRpb24vbWVtYmVyc2hpcFwiO1xuQGltcG9ydCBcInBhZ2VzL3JlcG9ydC9yZXBvcnRcIjtcbkBpbXBvcnQgXCJwYWdlcy9wcmVzZW5jZS9jb3Vyc1wiO1xuXG5cblxuLy9vbGRcbkBpbXBvcnQgXCJHbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiR2xvYmFsL2dsb2JhbFwiO1xuQGltcG9ydCBcInJlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJzdHlsZVwiO1xuXG5cbi8vY29tcHRhXG4vL0BpbXBvcnQgXCJhY2NvdW50aW5nL21lbnUtc2lkZWJhclwiO1xuQGltcG9ydCBcImFjY291bnRpbmcvY29tcHRhX21vZHVsZVwiO1xuXG5cbi8vbWVtYmVyc2hpcFxuQGltcG9ydCBcIkdsb2JhbC9tZW1iZXJzaGlwL21lbWJlcnNoaXBcIjtcblxuLy9wcm9qZWN0XG5AaW1wb3J0IFwicGFnZXMvcHJvamVjdC9wcm9qZWN0XCI7XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbk9WRVJSSURFU1xuICovXG4uc2VsZWN0MntcbiAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xufVxuLnNlbGVjdDItc2VsZWN0aW9ue1xuICBtaW4taGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSApIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0Mi1zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvd3tcbiAgLy9oZWlnaHQ6IDkwJSFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGV7XG4gIGJvcmRlci1jb2xvcjogI2NlZDRkYVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuR0VORVJBTFxuICovXG5ib2R5IHtcbiAgY29sb3I6JHR4dF9jb2xvcl9kYXJrO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgLmNvbnRhaW5lcntcbiAgICBtYXJnaW46IDV2aCBhdXRvO1xuICB9XG5cbiAgLyoqIEEgcGFydGlyIGRlICoqL1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhzKSB7XG5cbiAgfVxuXG4gIC8qKiBFbiBkZXNzb3VzIGRlICoqL1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcblxuICB9XG5cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkhFQURFUlxuICovXG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5NRU5VXG4gKi9cbkBpbXBvcnQgXCJtZW51XCI7XG5AaW1wb3J0IFwibWVudS1yZXNwb25zaXZlXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5GT1JNVUxBSVJFXG4gKi9cblxuI2Zvcm1fYWJzb2x1dGVfYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xufVxuLmNvdGlzYXRpb25fc3RlcHMgI2Zvcm1fYWJzb2x1dGVfYnV0dG9ue1xuICB0b3A6IDQwcHg7XG59XG5cbiNmb3JtX2Fic29sdXRlLmNyZWF0aW9uX2Zvcm0sXG4jZm9ybV9hYnNvbHV0ZS5jcmVhdGlvbl9mb3JtX2RvYyxcbiNmb3JtX2Fic29sdXRlX3JlcG9ydC5jcmVhdGlvbl9mb3JtX3JlcG9ydHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjcpO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDkwdncgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCAkZHBtX2NvbG9yO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDk1dmg7XG5cbiAgICAudGl0cmUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB9XG5cbiAgICAuY2xvc2Uge1xuICAgICAgY29sb3I6ICR0eHRfY29sb3JfZGFyayAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblRBQkxFXG4gKi9cblxudGFibGUge1xuICB0ciB7XG4gICAgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbFxuICAgIH1cbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIEVUQy4uLlxuICovXG4uY3JvaXNlIC5zZWxlY3QyIHtcbiAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIENBTEVOREFSLi4uXG4gKi9cbi5mYy1jb250ZW50e1xuICBwYWRkaW5nLWxlZnQ6ICAxMHB4O1xufVxuXG4jY2tlX25vdGlmaWNhdGlvbnNfYXJlYV9lbWFpbF9tYWluX21lc3NhZ2UsXG4uY2tlX25vdGlmaWNhdGlvbnNfYXJlYXtcbiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG59IiwiLyohXG4gKiBCb290c3RyYXAgdjQuNC4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicm9vdFwiO1xuQGltcG9ydCBcInJlYm9vdFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJjb2RlXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJidXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJpbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImN1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJhZGdlXCI7XG5AaW1wb3J0IFwianVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYWxlcnRcIjtcbkBpbXBvcnQgXCJwcm9ncmVzc1wiO1xuQGltcG9ydCBcIm1lZGlhXCI7XG5AaW1wb3J0IFwibGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5AaW1wb3J0IFwidG9hc3RzXCI7XG5AaW1wb3J0IFwibW9kYWxcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwicG9wb3ZlclwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwic3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuIiwiLy8gRG8gbm90IGZvcmdldCB0byB1cGRhdGUgZ2V0dGluZy1zdGFydGVkL3RoZW1pbmcubWQhXG46cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBhdC1ydWxlLW5vLXZlbmRvci1wcmVmaXgsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG4vLyBUT0RPOiByZW1vdmUgaW4gdjVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2Vcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gRnV0dXJlLXByb29mIHJ1bGU6IGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCA6Zm9jdXMtdmlzaWJsZSwgc3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmVcbi8vIG9uIGVsZW1lbnRzIHRoYXQgcHJvZ3JhbW1hdGljYWxseSByZWNlaXZlIGZvY3VzIGJ1dCB3b3VsZG4ndCBub3JtYWxseSBzaG93IGEgdmlzaWJsZVxuLy8gZm9jdXMgb3V0bGluZS4gSW4gZ2VuZXJhbCwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIG91dGxpbmUgaXMgb25seSBhcHBsaWVkIGlmIHRoZVxuLy8gaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGVsZW1lbnQgcmVjZWl2aW5nIHByb2dyYW1tYXRpYyBmb2N1cyB3YXMgYSBrZXlib2FyZCBpbnRlcmFjdGlvbixcbi8vIG9yIHRoZSBicm93c2VyIGhhcyBzb21laG93IGRldGVybWluZWQgdGhhdCB0aGUgdXNlciBpcyBwcmltYXJpbHkgYSBrZXlib2FyZCB1c2VyIGFuZC9vclxuLy8gd2FudHMgZm9jdXMgb3V0bGluZXMgdG8gYWx3YXlzIGJlIHByZXNlbnRlZC5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpmb2N1cy12aXNpYmxlXG4vLyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE4LzAzL2ZvY3VzLXZpc2libGUtYW5kLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5L1xuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDUuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyAxXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDVcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg4MCUpOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg3NSUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4gIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsXCIlM2NcIiksXG4gIChcIj5cIixcIiUzZVwiKSxcbiAgKFwiI1wiLFwiJTIzXCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDIpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSBuby1yZXBlYXQgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCgpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyIC8gMjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cblxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRjb250YWluZXItbWF4LXdpZHRoID4gJHdpZHRoIG9yICRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIFNlZSBodHRwczovL2NvZGVwZW4uaW8va2V2aW53ZWJlci9wZW4vZFhXb1J3XG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICRjaGFyLCAkZW5jb2RlZCk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG5cbi8vIFJldHVybiB2YWxpZCBjYWxjXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBzdWJ0cmFjdCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCBhbmQgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuIC0kdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxIC0gJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSAtICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiAtIFwiKSArICR2YWx1ZTIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSBzZWxlY3Qgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkaW5wdXQtY29sb3I7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCBlc2NhcGUtc3ZnKCRpY29uKSAkY3VzdG9tLXNlbGVjdC1iZyBuby1yZXBlYXQgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGJ0bi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1saW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tbGluZS1oZWlnaHQtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4gICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG4gIH1cbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15IDA7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gZW5hYmxlZCBQb3BwZXIuanMsIHJlc2V0IGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc2V1ZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtY3Vyc29yO1xuXG4gIC8vIEJhY2tncm91bmQtY29sb3IgYW5kICh3aGVuIGVuYWJsZWQpIGdyYWRpZW50XG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDI7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc3dpdGNoZXNcbi8vXG4vLyBUd2VhayBhIGZldyB0aGluZ3MgZm9yIHN3aXRjaGVzXG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLXdpZHRoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogYWRkKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgbGVmdDogYWRkKC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGhlaWdodDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dCwgJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkY3VzdG9tLXN3aXRjaC13aWR0aCAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdywgJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpIC8gMjsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcblxuICAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLm5hdi1saW5rIHtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgaW1hZ2Ugc2l6ZSBidWcgaW4gSUVcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yODg1NVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxuXG4gICsgLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBTdXBwcmVzcyB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yIGluIG1vZGVybiBicm93c2Vyc1xuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gY2hlYXAgcm91bmRlZCBjb3JuZXJzIG9uIG5lc3RlZCBpdGVtc1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvYXN0LWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoIC8gMjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlIC8gMTAwJSAxMDAlO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IC41O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHNwaW5uZXItYm9yZGVyIC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uc3Bpbm5lci1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy12YXJpYW50YCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgLmQtcHJpbnQtI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBlYWNoICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbyBpbiAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zIHtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXg6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDEpO1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teTogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMik7XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtI3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teH1ieSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXl9IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXkgLyAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLy8gSnVzdCBpbiBjYXNlIGBwb2ludGVyLWV2ZW50czogbm9uZWAgaXMgc2V0IG9uIGEgcGFyZW50XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvLyBJRTEwIGJ1Z2ZpeCwgc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2OTQ3OTY3L2llMTAtaG92ZXItcHNldWRvLWNsYXNzLWRvZXNudC13b3JrLXdpdGhvdXQtYmFja2dyb3VuZC1jb2xvclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gSUUgJiA8IEVkZ2UgMThcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvbWFpbi5jc3MvYmxvYi9tYXN0ZXIvc3JjL19wcmludC5jc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuLy8gaHR0cHM6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vYVtocmVmXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAvL31cblxuICAgIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICAvL1xuXG4gICAgLy9hW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gICAgLy9hW2hyZWZePVwiamF2YXNjcmlwdDpcIl06OmFmdGVyIHtcbiAgICAvLyBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdyYXktNTAwOyAvLyBCb290c3RyYXAgY3VzdG9tIGNvZGU7IHVzaW5nIGAkYm9yZGVyLXdpZHRoYCBpbnN0ZWFkIG9mIDFweFxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbnRpbmcgVGFibGVzOlxuICAgIC8vIGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE4MDgxNTE1MDkzNC9odHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBTcGVjaWZ5IGEgc2l6ZSBhbmQgbWluLXdpZHRoIHRvIG1ha2UgcHJpbnRpbmcgY2xvc2VyIGFjcm9zcyBicm93c2Vycy5cbiAgICAvLyBXZSBkb24ndCBzZXQgbWFyZ2luIGhlcmUgYmVjYXVzZSBpdCBicmVha3MgYHNpemVgIGluIENocm9tZS4gV2UgYWxzb1xuICAgIC8vIGRvbid0IHVzZSBgIWltcG9ydGFudGAgb24gYHNpemVgIGFzIGl0IGJyZWFrcyBpbiBDaHJvbWUuXG4gICAgQHBhZ2Uge1xuICAgICAgc2l6ZTogJHByaW50LXBhZ2Utc2l6ZTtcbiAgICB9XG4gICAgYm9keSB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJsYWNrO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1kYXJrIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiaHRtbCB7XG4gIGZvbnQtc2l6ZToxNHB4O1xufVxuXG5ib2R5e1xuICBmb250LXNpemU6ICRmb250X3NpemVfYmFzZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6JHR4dF9jb2xvcl9saWdodDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuYXtcbiAgY29sb3I6JG1haW5fY29sb3I7XG59XG5cbip7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuIiwiJG1haW5fY29sb3I6ICMwMDU2YmU7XG4kbWFpbl9jb2xvcl9saWdodGVyOiAjMmI3ZGY2O1xuXG4kdHh0X2NvbG9yX2xpZ2h0OiAjRkZGRkZGO1xuJHR4dF9jb2xvcl9kYXJrOiAjMzMzMzMzO1xuLy8kdHh0X2NvbG9yX2Rhcms6ICMwMDAwMDA7XG5cbiRlcnJvckNvbG9yOiByZWQ7XG4kdmFsaWRDb2xvcjogZ3JlZW47XG4kdXBkYXRlZDogeWVsbG93O1xuJGVycm9yQ29sb3JEcG0gOiAjOGIwMDAwO1xuJGdyZWVuRHBtIDogIzNjYjM3MTtcblxuJGZvbnRfc2l6ZV9iYXNlOiBjYWxjKDFlbSArIDAuMnZ3KTtcblxuJGRwbV9jb2xvcjogIzU5QkRCRDtcbiRsb2dpc3RpY19jb2xvcjogI2RhNzBkNjtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICAgICAgeHM6IDAsXG4gICAgICAgIHNtOiA1NzZweCxcbiAgICAgICAgbWQ6IDc2OHB4LFxuICAgICAgICBsZzogOTkycHgsXG4gICAgICAgIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cblxuJGNvdXJzZV9jb2xvcjogI2Y4YWE2YVxuIiwiLyohIEdlbmVyYXRlZCBieSBGb250IFNxdWlycmVsIChodHRwczovL3d3dy5mb250c3F1aXJyZWwuY29tKSBvbiBPY3RvYmVyIDEwLCAyMDE5ICovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3NoZWF2eSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL292ZXJwYXNzL292ZXJwYXNzLWhlYXZ5LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9vdmVycGFzcy9vdmVycGFzcy1oZWF2eS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3NoZWF2eV9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vdmVycGFzcy9vdmVycGFzcy1oZWF2eS1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL292ZXJwYXNzL292ZXJwYXNzLWhlYXZ5LWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3NpdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vdmVycGFzcy9vdmVycGFzcy1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL292ZXJwYXNzL292ZXJwYXNzLWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3NsaWdodCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL292ZXJwYXNzL292ZXJwYXNzLWxpZ2h0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9vdmVycGFzcy9vdmVycGFzcy1saWdodC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3NsaWdodF9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vdmVycGFzcy9vdmVycGFzcy1saWdodC1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL292ZXJwYXNzL292ZXJwYXNzLWxpZ2h0LWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3NyZWd1bGFyJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvb3ZlcnBhc3Mvb3ZlcnBhc3MtcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvb3ZlcnBhc3Mvb3ZlcnBhc3MtcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3NzZW1pYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL292ZXJwYXNzL292ZXJwYXNzLXNlbWlib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9vdmVycGFzcy9vdmVycGFzcy1zZW1pYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3NzZW1pYm9sZF9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vdmVycGFzcy9vdmVycGFzcy1zZW1pYm9sZC1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL292ZXJwYXNzL292ZXJwYXNzLXNlbWlib2xkLWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3N0aGluJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvb3ZlcnBhc3Mvb3ZlcnBhc3MtdGhpbi13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvb3ZlcnBhc3Mvb3ZlcnBhc3MtdGhpbi13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3ZlcnBhc3N0aGluX2l0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL292ZXJwYXNzL292ZXJwYXNzLXRoaW4taXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9vdmVycGFzcy9vdmVycGFzcy10aGluLWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9zZW1pY29uZGVuc2VkdGhpbic7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC10aGluLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtdGhpbi13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfc2VtaWNvbmRlbnNlZFRoSXQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtdGhpbml0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLXRoaW5pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhdGhpbic7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLXRoaW4td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLXRoaW4td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhdGhpbl9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS10aGluaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS10aGluaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9zZW1pY29uZGVuc2VkaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfc2VtaWNvbmRlbnNlZGxpZ2h0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWxpZ2h0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtbGlnaHQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX3NlbWljb25kZW5zZWRMdEl0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWxpZ2h0aXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX3NlbWljb25kZW5zZWRtZWRpdW0nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtbWVkaXVtLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtbWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9zZW1pY29uZGVuc2VkTWRJdCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC1tZWRpdW1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC1tZWRpdW1pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX3NlbWljb25kZW5zZWRyZWd1bGFyJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9zZW1pY29uZGVuc2Vkc2VtaWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtc2VtaWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC1zZW1pYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfc2VtaWNvbmRlbnNlZFNCZEl0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLXNlbWlib2xkaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX3NlbWljb25kZW5zZWRibGFjayc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC1ibGFjay13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWJsYWNrLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9zZW1pY29uZGVuc2VkQmxrSXQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtYmxhY2tpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC1ibGFja2l0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfc2VtaWNvbmRlbnNlZGJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX3NlbWljb25kZW5zZWRCZEl0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC1ib2xkaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9zZW1pY29uZGVuc2VkZXh0cmFib2xkJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWV4dHJhYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWV4dHJhYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfc2VtaWNvbmRlbnNlZFhCZEl0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWV4dHJhYm9sZGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWV4dHJhYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfc2VtaWNvbmRlbnNlZGV4dHJhbGlnaHQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtZXh0cmFsaWdodC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFzZW1pY29uZGVuc2VkLWV4dHJhbGlnaHQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX3NlbWljb25kZW5zZWRYTHRJdCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhc2VtaWNvbmRlbnNlZC1leHRyYWxpZ2h0aXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYXNlbWljb25kZW5zZWQtZXh0cmFsaWdodGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFleHRyYWxpZ2h0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtZXh0cmFsaWdodC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtZXh0cmFsaWdodC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFleHRyYWxpZ2h0X2l0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLWV4dHJhbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLWV4dHJhbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS1pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhbGlnaHQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS1saWdodC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtbGlnaHQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhbGlnaHRfaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLWxpZ2h0aXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYW1lZGl1bSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLW1lZGl1bS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtbWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYW1lZGl1bV9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS1tZWRpdW1pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLW1lZGl1bWl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFyZWd1bGFyJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFzZW1pYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLXNlbWlib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS1zZW1pYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFzZW1pYm9sZF9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS1zZW1pYm9sZGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX2V4dHJhY29uZGVuc2Vkc2VtaWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWV4dHJhY29uZGVuc2VkLXNlbWlib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWV4dHJhY29uZGVuc2VkLXNlbWlib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9leHRyYWNvbmRlbnNlZFNCZEl0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFleHRyYWNvbmRlbnNlZC1zZW1pYm9sZGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFleHRyYWNvbmRlbnNlZC1zZW1pYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfZXh0cmFjb25kZW5zZWR0aGluJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFleHRyYWNvbmRlbnNlZC10aGluLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWV4dHJhY29uZGVuc2VkLXRoaW4td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX2V4dHJhY29uZGVuc2VkVGhJdCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhZXh0cmFjb25kZW5zZWQtdGhpbml0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFleHRyYWNvbmRlbnNlZC10aGluaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYWV4dHJhbGlnaHQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS1leHRyYWxpZ2h0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS1leHRyYWxpZ2h0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYWV4dHJhbGlnaHRfaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtZXh0cmFsaWdodGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtZXh0cmFsaWdodGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfY29uZGVuc2VkaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX2NvbmRlbnNlZGxpZ2h0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtbGlnaHQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhY29uZGVuc2VkLWxpZ2h0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9jb25kZW5zZWRsaWdodF9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1saWdodGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX2NvbmRlbnNlZG1lZGl1bSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhY29uZGVuc2VkLW1lZGl1bS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtbWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9jb25kZW5zZWRtZWRpdW1faXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtbWVkaXVtaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1tZWRpdW1pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX2NvbmRlbnNlZHJlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9jb25kZW5zZWRib2xkJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfY29uZGVuc2VkYm9sZF9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1ib2xkaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1ib2xkaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9jb25kZW5zZWRleHRyYWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1leHRyYWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhY29uZGVuc2VkLWV4dHJhYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfY29uZGVuc2VkWEJkSXQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1leHRyYWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhY29uZGVuc2VkLWV4dHJhYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFfY29uZGVuc2VkZXh0cmFsaWdodCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhY29uZGVuc2VkLWV4dHJhbGlnaHQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhY29uZGVuc2VkLWV4dHJhbGlnaHQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX2NvbmRlbnNlZFhMdEl0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtZXh0cmFsaWdodGl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtZXh0cmFsaWdodGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYWJsYWNrJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtYmxhY2std2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLWJsYWNrLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYWJsYWNrX2l0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLWJsYWNraXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYS1ibGFja2l0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFib2xkJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmEtYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2FpcmFib2xkX2l0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3NhaXJhX2NvbmRlbnNlZGJsYWNrJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtYmxhY2std2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NhaXJhL3NhaXJhY29uZGVuc2VkLWJsYWNrLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9jb25kZW5zZWRibGFja19pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9zYWlyYWNvbmRlbnNlZC1ibGFja2l0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc2FpcmEvc2FpcmFjb25kZW5zZWQtYmxhY2tpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5CVE4gR0VOXG4gKi9cblxuLmJ0bi1nZW57XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjojNjY2NjY2O1xuICBmb250LXNpemU6MS4wMnZ3O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjoxcHggc29saWQgIzY2NjY2NjtcbiAgYm9yZGVyLXJhZGl1czoyMHB4O1xuICBwYWRkaW5nOjJweCAxNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIC8qKiBFbiBkZXNzb3VzIGRlICoqL1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIGZvbnQtc2l6ZTozLjEyNXZ3O1xuICB9XG59XG4uYnRuLWdlbjpob3ZlcntcbiAgY29sb3I6I2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogIzY2NjY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgbGluZWFyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDUwMG1zIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246IGNvbG9yIDUwMG1zIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgNTAwbXMgbGluZWFyO1xufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5CVE4gQVZFQyBJQ09ORVxuICovXG5cbi5idG4tbG9naW46YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZjJmNlwiO1xuICAvKiA+PiBOYW1lIG9mIHRoZSBGQSBmcmVlIGZvbnQgKG1hbmRhdG9yeSlcbiAgICAgICAgICAgICAtICdGb250IEF3ZXNvbWUgNSBGcmVlJyBmb3IgUmVndWxhciBhbmQgU29saWQgc3ltYm9scztcbiAgICAgICAgICAgICAtICdGb250IEF3ZXNvbWUgNSBCcmFuZCcgZm9yIEJyYW5kcyBzeW1ib2xzLiAqL1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICAvKiA+PiBXZWlnaHQgb2YgdGhlIGZvbnQgKG1hbmRhdG9yeSlcbiAgICAgICAgICAgICAtIDQwMCBmb3IgUmVndWxhciBhbmQgQnJhbmRzIHN5bWJvbHM7XG4gICAgICAgICAgICAgLSA5MDAgZm9yIFNvbGlkIHN5bWJvbHMuICovXG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gbWFyZ2luOjAgMCAwIDA7XG59XG5cblxuLmJ0bi1uZXc6YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZjA2N1wiO1xuICAvKiA+PiBOYW1lIG9mIHRoZSBGQSBmcmVlIGZvbnQgKG1hbmRhdG9yeSlcbiAgICAgICAgICAgICAtICdGb250IEF3ZXNvbWUgNSBGcmVlJyBmb3IgUmVndWxhciBhbmQgU29saWQgc3ltYm9scztcbiAgICAgICAgICAgICAtICdGb250IEF3ZXNvbWUgNSBCcmFuZCcgZm9yIEJyYW5kcyBzeW1ib2xzLiAqL1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICAvKiA+PiBXZWlnaHQgb2YgdGhlIGZvbnQgKG1hbmRhdG9yeSlcbiAgICAgICAgICAgICAtIDQwMCBmb3IgUmVndWxhciBhbmQgQnJhbmRzIHN5bWJvbHM7XG4gICAgICAgICAgICAgLSA5MDAgZm9yIFNvbGlkIHN5bWJvbHMuICovXG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gbWFyZ2luOjAgMCAwIDA7XG59XG4uYnRuLWZpbHRlcnM6YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZjBiMFwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gbWFyZ2luOjAgMCAwIDA7XG59XG5cbi5idG4tc2F2ZTpiZWZvcmV7XG4gIGNvbnRlbnQ6IFwiXFxmMGM3XCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiBtYXJnaW46MCAwIDAgMDtcbn1cblxuLmJ0bi1zZWU6YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gbWFyZ2luOjAgMCAwIDA7XG59XG5cbi5idG4tYWRkOmJlZm9yZXtcbiAgY29udGVudDogXCJcXGYwNjdcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXdlaWdodDogOTAwO1xuIG1hcmdpbjowIDAgMCAwO1xufVxuLmJ0bi1lZGl0OmJlZm9yZXtcbiAgY29udGVudDogXCJcXGYwNDRcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXdlaWdodDogOTAwO1xuICBtYXJnaW46MCAwIDAgMDtcbn1cbi5idG4tbGlzdDpiZWZvcmV7XG4gIGNvbnRlbnQ6IFwiXFxmMGNhXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiBtYXJnaW46MCAwIDAgMDtcbn1cbi5idG4tY3N2OmJlZm9yZXtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXdlaWdodDogOTAwO1xuIG1hcmdpbjowIDAgMCAwO1xufVxuLmJ0bi11cGxvYWQ6YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZjA5M1wiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gbWFyZ2luOjAgMCAwIDA7XG59XG4uYnRuLWRvd25sb2FkOmJlZm9yZXtcbiAgY29udGVudDogXCJcXGYwMTlcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXdlaWdodDogOTAwO1xuIG1hcmdpbjowIDAgMCAwO1xufVxuLmJ0bi10cmFzaDpiZWZvcmV7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiBtYXJnaW46MCAwIDAgMDtcbn1cblxuLmJ0bi1sb2dvdXQ6YmVmb3Jle1xuICBjb250ZW50OlwiXFxmMmY1XCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiBtYXJnaW46MCAwIDAgMDtcbn1cblxuLmJ0bi1jb2dzOmJlZm9yZXtcbiAgY29udGVudDpcIlxcZjA4NVwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gbWFyZ2luOjAgMCAwIDA7XG59XG5cbi5idG4tY2hlY2s6YmVmb3Jle1xuICBjb250ZW50OlwiXFxmMDBjXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiBtYXJnaW46MCAwIDAgMDtcbn1cblxuIiwidGFibGUgLmJ0bi1zbXtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuLmJ0bi1lcntcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjYzgyMzMzO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjODIzMzMhaW1wb3J0YW50O1xufVxuLmJ0bi1lcjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAjYzgyMzMzO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93Om5vbmU7XG59XG5cbi5idG4tY2xvc2V7XG4gICAgY29sb3I6ICNGRjhDMDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjRkY4QzAwIWltcG9ydGFudDtcbn1cbi5idG4tY2xvc2U6aG92ZXJ7XG4gICAgYmFja2dyb3VuZDogI0ZGOEMwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzpub25lO1xufVxuXG4uYnRuLXJlc2V0ICB7XG4gICAgY29sb3I6ICMxN2EyYjg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMTdhMmI4IWltcG9ydGFudDtcbn1cbi5idG4tcmVzZXQ6aG92ZXJ7XG4gICAgYmFja2dyb3VuZDogIzE3YTJiODtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzpub25lO1xufVxuXG5cbi5idG4tbmV4dCxcbi5idG4tc2VlLFxuLyouYnRuLXN1Y2Nlc3MsKi9cbi5idG4tYWpvdXQgIHtcbiAgICBjb2xvcjogIzI4YTc0NTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMyOGE3NDUhaW1wb3J0YW50O1xufVxuLmJ0bi1uZXh0OmhvdmVyLFxuLmJ0bi1zZWU6aG92ZXIgLFxuLmJ0bi1ham91dDpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAjMjhhNzQ1O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93Om5vbmU7XG59XG5cbi5idG4tY3hsICB7XG4gICAgY29sb3I6ICM4QjAwMDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjOEIwMDAwIWltcG9ydGFudDtcbn1cbi5idG4tY3hsOmhvdmVye1xuICAgIGJhY2tncm91bmQ6ICM4QjAwMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6bm9uZTtcbn1cblxuLmJ0bi1lZGl0ICB7XG4gICAgY29sb3I6ICNEMjY5MUU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjRDI2OTFFIWltcG9ydGFudDtcbn1cbi5idG4tZWRpdDpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAjRDI2OTFFO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93Om5vbmU7XG59XG5cbi5idG4tcmVsb2FkICB7XG4gICAgY29sb3I6ICMxN2EyYjggIDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMxN2EyYjggICAhaW1wb3J0YW50O1xufVxuLmJ0bi1yZWxvYWQ6aG92ZXJ7XG4gICAgYmFja2dyb3VuZDogIzE3YTJiOCA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6bm9uZTtcbn1cblxuLmJ0bi1zZWUtb3JhbmdlICB7XG4gICAgY29sb3I6ICNEMjY5MUU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjRDI2OTFFIWltcG9ydGFudDtcbn1cbi5idG4tc2VlLW9yYW5nZTpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAjRDI2OTFFO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93Om5vbmU7XG59XG5cbi5lbWFpbF9kcm9we1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4IWltcG9ydGFudDtcbiAgICBjb2xvcjogIzE3YTJiOCFpbXBvcnRhbnQ7XG59XG4uZW1haWxfZHJvcDpob3ZlcntcbiAgICBjb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLXNlY29uZGFyeXtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICAgIGJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbn1cbi5idG4tc2Vjb25kYXJ5OmhvdmVye1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6ICM2Yzc1N2Rcbn1cblxuLmJ0bi1yZ3Bke1xuICAgIGNvbG9yOiAjZGMzNTQ1O1xufVxuI2Nsb3NlX3ByZXZpZXd7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnRuLWRwbXtcbiAgICBjb2xvcjogJGRwbV9jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogJGRwbV9jb2xvcjtcbn1cbi5idG4tZHBtOmhvdmVye1xuICAgIGNvbG9yOiAkZHBtX2NvbG9yO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmZcbn1cbi5kZWxldGVfcHJvamVjdF9kb2N1bWVudCxcbi5kZWxldGVfcHJvamVjdHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idG4tc2hvd3tcbiAgICBjb2xvcjogI2JmYmZiZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNiZmJmYmYhaW1wb3J0YW50O1xufVxuLmJ0bi1zaG93OmhvdmVye1xuICAgIGJhY2tncm91bmQ6ICNiZmJmYmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6bm9uZTtcbn0iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cblxuLm1vdXRhcmRle1xuICAgIGNvbG9yOiAjZmZjMTA3IWltcG9ydGFudDtcbn1cbi52ZXJ0e1xuICAgIGNvbG9yOiAjMjhhNzQ1IWltcG9ydGFudDtcbn1cbi52ZXJ0LmJ0bjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAjMjhhNzQ1IWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xufVxuLnJlZHtcbiAgICBjb2xvcjogI2M4MjMzMyFpbXBvcnRhbnQ7XG59XG4ucG91cnByZXtcbiAgICBjb2xvcjogIzhiMDAwMCFpbXBvcnRhbnQ7XG59XG4uYnJvd257XG4gICAgY29sb3I6ICM5MzI4MmEhaW1wb3J0YW50O1xufVxuLmJsdWV7XG4gICAgY29sb3I6ICM0MTY5RTEhaW1wb3J0YW50O1xufVxuLmJsdWUuYnRuOmhvdmVye1xuICAgIGJhY2tncm91bmQ6ICM0MTY5RTE7XG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbn1cblxuLmJsdWVfbGlnaHR7XG4gICAgY29sb3I6ICM5N2JmZTMhaW1wb3J0YW50O1xufVxuLmdyZXl7XG4gICAgY29sb3I6ICNiZmJmYmYhaW1wb3J0YW50O1xufVxuLm9yYW5nZXtcbiAgICBjb2xvcjogI0QyNjkxRSFpbXBvcnRhbnQ7XG59XG4ub3JhbmdlX2RwbXtcbiAgICBjb2xvcjogJGNvdXJzZV9jb2xvcjtcbn1cbi5vcmFuZ2VfZHBtLmJ0bjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAkY291cnNlX2NvbG9yIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xufVxuLmJsdWVfZHBte1xuICAgIGNvbG9yOiAkZHBtX2NvbG9yIWltcG9ydGFudDtcbn1cbi5ibHVlX2RwbS5idG46aG92ZXJ7XG4gICAgYmFja2dyb3VuZDogJGRwbV9jb2xvciFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbn1cbi5yZWRfc3Ryb25ne1xuICAgIGNvbG9yOiAjRDgwQTBBIWltcG9ydGFudDtcbn1cbi55ZWxsb3d7XG4gICAgY29sb3I6ICNlZWM2NGQhaW1wb3J0YW50O1xufVxuLmdyZWVuX2RwbXtcbiAgICBjb2xvcjogIzNjYjM3MSFpbXBvcnRhbnQ7XG59XG4uZ3JlZW5fZHBtLmJ0bjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAjM2NiMzcxIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xufVxuLnB1cnBsZV9kcG17XG4gICAgY29sb3I6ICRsb2dpc3RpY19jb2xvciFpbXBvcnRhbnQ7XG59XG4ucHVycGxlX2RwbS5idG46aG92ZXJ7XG4gICAgYmFja2dyb3VuZDogJGxvZ2lzdGljX2NvbG9yIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xufVxuLmJsdWVfcmVsb2Fke1xuICAgIGNvbG9yOiAjMTdhMmI4IWltcG9ydGFudDtcbn0iLCIjZm9ybS1sb2dpbiB7XG4gIGgxIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICN0aXRyZSB7XG4gICAgbWFyZ2luLXRvcDogNSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdPdmVycGFzcycsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiA5MHB4O1xuICAgIGNvbG9yOiAjNTI1MjUyXG4gIH1cblxuICAubG9naW4tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbjogNjBweCBhdXRvIDYwcHggYXV0bztcbiAgICBib3gtc2hhZG93OiAwIDJweCAzMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgaDEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMiU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xuICAgICAgLy9oZWlnaHQ6IDQ0cHg7XG4gICAgICAvL2ZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICAvKiBib3JkZXItcmFkaXVzOiAycHg7ICovXG4gICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT10ZXh0XTpob3ZlciwgaW5wdXRbdHlwZT1wYXNzd29yZF06aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2I5YjliOTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYTBhMGEwO1xuICAgICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG4gIH1cblxuICAubG9naW4tc3VibWl0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHBtX2NvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMTdweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC5sb2dpbi1zdWJtaXQ6aG92ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB9XG5cbiAgLmxvZ2luLWhlbHAge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gICNsb2dvLW9rIHtcbiAgICBtYXJnaW4tdG9wOiAxJTtcbiAgICB3aWR0aDogMTAlO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgd2lkdGg6IDE1JTtcbiAgICB9O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gIH1cblxuICAjb3B0aW9ucyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICAvKnNpIGEgZ2F1Y2hlKi9cbiAgICBtYXJnaW4tbGVmdDogMTUlO1xuICB9XG5cbiAgLmJnLWlkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9iYWNrZ3JvdW5kd2ViMi5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjMlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cblxuICAuYmctaWQgaW1nIHtcbiAgICB3aWR0aDogNjUlO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cbi8vLmZvc191c2VyX3JlZ2lzdHJhdGlvbl9yZWdpc3Rlcntcbi8vICBwYWRkaW5nOiAzMHB4O1xuLy8gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLyAgbWF4LXdpZHRoOiAzNTBweDtcbi8vICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuLy8gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gIG1hcmdpbjogNTBweCBhdXRvO1xuLy8gIGJveC1zaGFkb3c6IDAgMnB4IDMwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4vLyAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vICBmb250LWZhbWlseTogJ01hcnZlbCcsIHNhbnMtc2VyaWY7XG4vLyAgZm9udC1zaXplOiAyMHB4O1xuLy99XG4vL1xuLy8jZm9zX3VzZXJfcmVnaXN0cmF0aW9uX2Zvcm0gaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT1wYXNzd29yZF0sIGlucHV0W3R5cGU9ZW1haWxdLCNmb3NfdXNlcl9yZWdpc3RyYXRpb25fZm9ybV91c2VybmFtZSB7XG4vLyAgaGVpZ2h0OiA0NHB4O1xuLy8gIGZvbnQtc2l6ZTogMjBweDtcbi8vICB3aWR0aDogMTAwJTtcbi8vICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbi8vICBiYWNrZ3JvdW5kOiAjZmZmO1xuLy8gIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4vLyAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjMGMwYzA7XG4vLyAgLyogYm9yZGVyLXJhZGl1czogMnB4OyAqL1xuLy8gIHBhZGRpbmc6IDAgOHB4O1xuLy8gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLyAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy99XG4vL1xuLy8jZm9zX3VzZXJfcmVnaXN0cmF0aW9uX2Zvcm0gaW5wdXRbdHlwZT10ZXh0XTpob3ZlciwgaW5wdXRbdHlwZT1wYXNzd29yZF06aG92ZXIge1xuLy8gIGJvcmRlcjogMXB4IHNvbGlkICNiOWI5Yjk7XG4vLyAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhMGEwYTA7XG4vLyAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpO1xuLy8gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcbi8vICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpO1xuLy99XG4vLyNmb3NfdXNlcl9yZWdpc3RyYXRpb25fZm9ybSBhIHtcbi8vICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyAgY29sb3I6ICM2NjY7XG4vLyAgZm9udC13ZWlnaHQ6IDQwMDtcbi8vICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gIG9wYWNpdHk6IDAuNjtcbi8vICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UgMC41cztcbi8vfVxuLy9cbi8vLmZvc191c2VyX3JlZ2lzdHJhdGlvbl9yZWdpc3RlciBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuLy8gIC8qIGJvcmRlcjogMXB4IHNvbGlkICMzMDc5ZWQ7ICovXG4vLyAgYm9yZGVyOiAwO1xuLy8gIGNvbG9yOiAjZmZmO1xuLy8gIHRleHQtc2hhZG93OiAwIDFweCByZ2JhKDAsMCwwLDAuMSk7XG4vLyAgYmFja2dyb3VuZC1jb2xvcjogJGRwbV9jb2xvcjtcbi8vICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8gIHBhZGRpbmc6IDE3cHggMDtcbi8vICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgZm9udC1zaXplOiAyMHB4O1xuLy8gIHdpZHRoOiAxMDAlXG4vLyAgLyogYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCAgIGZyb20oIzRkOTBmZSksIHRvKCM0Nzg3ZWQpKTsgKi9cbi8vfSIsIi50YWJsZS13cmFwcGVyLXJlc3BvbnNpdmV7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblxudGFibGUuc29ydGFibGUgdHJ7XG4gIGN1cnNvcjogbW92ZTtcbn1cblxuLnRhYmxlLXRodW1ibmFpbHtcbiAgbWF4LXdpZHRoOiAxNTBweDtcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQUxFUlRTXG4gKi9cblxuLmFsZXJ0LWZpeGVke1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHRvcDozMCU7XG4gIHdpZHRoOjEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYWxlcnR7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cbiAgICAuYnV0dG9ue1xuICAgICAgbWFyZ2luLWxlZnQ6MjBweDtcbiAgICB9XG4gIH1cbn1cblxuLmFsZXJ0LWNlbnRlcntcbiAgbWFyZ2luOjAgYXV0bztcbn1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkZJTCBEJ0FSSUFOTkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNicmVhZGNydW1ie1xuICBwYWRkaW5nOjAgMCAwIDEyMHB4O1xuICBoZWlnaHQ6NDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQ6ICNmOWY2ZWQ7XG5cbiAgdWwge1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MDtcblxuICAgIGxpe1xuICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgZmxvYXQ6bGVmdDtcblxuICAgICAgYXtcbiAgICAgICAgcGFkZGluZzowIDVweDtcbiAgICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICAgIGNvbG9yOiM1ZDU4NTg7XG4gICAgICB9XG5cbiAgICAgIGE6aG92ZXJ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgfVxuXG4gICAgICBhLmxhc3R7XG4gICAgICAgIGNvbG9yOiNlNTY5NGY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGk6bGFzdC1jaGlsZCBhe1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLy5uYXYtdGFic3tcbi8vICBtYXJnaW46IDAgMCAxNXB4IDA7XG4vLyAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbi8vXG4vLyAgbGl7XG4vLyAgICBhLm5hdi1saW5re1xuLy8gICAgICBiYWNrZ3JvdW5kOiAjREVERURFO1xuLy8gICAgICBib3JkZXItY29sb3I6ICR0eHRfY29sb3JfZGFyaztcbi8vICAgIH1cbi8vICAgIGEubmF2LWxpbmsuYWN0aXZle1xuLy8gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuLy8gICAgICBib3JkZXItY29sb3I6ICR0eHRfY29sb3JfZGFyaztcbi8vICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbi8vICAgIH1cbi8vICB9XG4vL31cblxuI3RpbGUtMSB7XG4gIC5uYXYtdGFicyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpIHtcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2NvbG9yOiAjMzliY2QzICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5zbGlkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU5QkRCRDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHMgbGluZWFyO1xuICB9XG59XG4iLCIuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNoZWNrYm94IGxhYmVsIC50b2dnbGUsIC5jaGVja2JveC1pbmxpbmUgLnRvZ2dsZSB7XG4gIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcbn1cblxuLmNoZWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmNoZWNrYm94LWlubGluZSB7XG4gICNvcmdhbmlzbWVfZWRpdF9hbmltYWxUeXBlIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4XG4gICAgfVxuICB9XG59XG5cbiIsIi5yYWRpby1pbmxpbmUtYmxvY2sge1xuICAucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gIH1cblxuICAucmFkaW86Zmlyc3QtY2hpbGR7XG4gICAgbWFyZ2luOjA7XG4gIH1cbn1cbiIsIi5wYXNzd29yZC1zZWVhYmxle1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IDM3cHg7XG4gICAgZm9udC1zaXplOjEuMDJ2dztcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIG1hcmdpbjowIDEwcHggMCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuIiwiLypcbi5kYXRlcGlja2Vye1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjowIDAgMTBweCAwO1xuXG4gIGxhYmVsOmZpcnN0LWNoaWxke1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgc2VsZWN0e1xuICAgIG1hcmdpbjowIDEwcHggMCAwO1xuICB9XG5cbiAgLmRhdGVwaWNrZXItd2lkZ2V0LFxuICAuYmlydGhkYXlwaWNrZXItd2lkZ2V0LFxuICAuanMtZGF0ZXBpY2tlcntcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuZGF0ZXBpY2tlci13aWRnZXQudmlzaWJsZSxcbiAgLmJpcnRoZGF5cGlja2VyLXdpZGdldC52aXNpYmxlLFxuICAuanMtZGF0ZXBpY2tlci52aXNpYmxle1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gIH1cblxuICBpe1xuICAgIGZvbnQtc2l6ZToycmVtO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICB9XG59XG4qL1xuIiwiZm9ybXtcbiAgLmZvcm0tZXJyb3ItbWVzc2FnZXtcbiAgICBjb2xvcjogJGVycm9yQ29sb3I7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5oYXMtZXJyb3J7XG4gICAgaW5wdXQsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhe1xuICAgICAgYm9yZGVyOjFweCBzb2xpZCAkZXJyb3JDb2xvcjtcbiAgICB9XG5cbiAgICAuaGVscC1ibG9ja3tcbiAgICAgIGNvbG9yOiAkZXJyb3JDb2xvcjtcbiAgICB9XG5cbiAgICAuZm9ybS1lcnJvci1tZXNzYWdle1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmFsZXJ0LmFsZXJ0LWRhbmdlcntcbiAgICAubGlzdC11bnN0eWxlZHtcbiAgICAgIG1hcmdpbjowO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tZ3JvdXAuZm9ybS1jb250cm9sLXdpZHRoLWF1dG97XG4gIC5mb3JtLWNvbnRyb2x7XG4gICAgLy93aWR0aDogYXV0bztcbiAgfVxufVxuLmZvcm0tZ3JvdXB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi5mb3JtLWdyb3VwLWRpc3BsYXktaW5saW5lLWJsb2Nre1xuICA+ZGl2e1xuICAgID5kaXYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5cbi5jb21wdWxzb3J5OmFmdGVye1xuICBjb250ZW50OiAnIConO1xuICBjb2xvcjogJGVycm9yQ29sb3I7XG59XG4ubWFuZGF0b3J5X2Zvcm06YWZ0ZXJ7XG4gIGNvbnRlbnQ6IFwiKlwiO1xuICBjb2xvcjogJGVycm9yQ29sb3JEcG07XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbntcbiAgei1pbmRleDogOTk5OTk5OTtcbn0iLCJpbnB1dC51cGRhdGVke1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXBkYXRlZDtcbn1cblxuLmJ1dHRvbi1ob3Zlci1pbnB1dC13cmFwcGVye1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmhvdmVyLWlucHV0e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6MDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAuMjVyZW0gMC4yNXJlbSAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGl7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vKi8vbW9kaWYgYm91dG9uIHVwbG9hZCovXG5cbiNGYWtlSW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNGYWtlSW5wdXQgaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTA7XG59XG5cbiNGYWtlSW5wdXQgIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbiNGYWtlSW5wdXQgc3BhbjpmaXJzdC1jaGlsZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGZvbnQ6IDEwMCUvMjVweCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4jRmFrZUlucHV0IHNwYW4gKyBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL2NvbG9yOiAjMUY5RUU1O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiNGYWtlSW5wdXQgbGFiZWx7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG4jcHJvamVjdC1jb250YWluZXIgI0Zha2VJbnB1dCBsYWJlbHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG4vKioqKioqKioqKioqKioqKioqKioqKiogY291bGV1ciBERUZBVUxUICoqKioqKioqKioqKioqKioqKioqKioqL1xuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDVweDtcbiAgLy9ib3JkZXI6IHNvbGlkIDFweCAkdHh0X2NvbG9yX2Rhcms7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O1xuXG4gICYuZmllbGRzZXRfYmx1ZSB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGRwbV9jb2xvcjtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbn1cblxubGVnZW5kIHtcbiAgbWFyZ2luOiAxNXB4IDAgMCAwO1xuICBwYWRkaW5nOiA1cHggNXB4IDVweCA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlcjogc29saWQgMXB4ICR0eHRfY29sb3JfZGFyaztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gIC8vJjphZnRlciB7XG4gIC8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICByaWdodDogMTVweDtcbiAgLy8gIGNvbG9yOiAjMzMzO1xuICAvLyAgaGVpZ2h0OiAyMHB4O1xuICAvLyAgd2lkdGg6IDIwcHg7XG4gIC8vICBib3JkZXI6IHNvbGlkIDFweCAjMzMzO1xuICAvLyAgYm9yZGVyLXRvcDogbm9uZTtcbiAgLy8gIGJvcmRlci1sZWZ0OiBub25lO1xuICAvLyAgcm90YXRlOiA0NWRlZztcbiAgLy99XG59XG5sZWdlbmQubWFpbntcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzLCAxNjIsIDE4NCwgMSk7XG59XG5cbmxlZ2VuZC5sZWdlbmRfYmx1ZS5jcm9zcyB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMjVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICB0b3A6IDQ1JTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxufVxuXG5sZWdlbmQuYWN0aXZlIHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgdG9wOiAxNXB4IWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKSAgdHJhbnNsYXRlKDAsMCkgIWltcG9ydGFudDtcbiAgfVxuXG4gIGJvcmRlcjogc29saWQgMXB4ICR0eHRfY29sb3JfZGFyaztcbiAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG59XG5cblxubGVnZW5kLmJsdWVfYm9yZGVyLmNyb3Nze1xuICBib3JkZXI6IHNvbGlkIDFweCAkZHBtX2NvbG9yIWltcG9ydGFudDtcbn1cbmxlZ2VuZC5hY3RpdmUuYmx1ZV9ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIDFweCAkZHBtX2NvbG9yIWltcG9ydGFudDtcbn1cblxubGVnZW5kLm9yYW5nZV9ib3JkZXIuY3Jvc3N7XG4gIGJvcmRlcjogc29saWQgMXB4ICRjb3Vyc2VfY29sb3IhaW1wb3J0YW50O1xufVxubGVnZW5kLmFjdGl2ZS5vcmFuZ2VfYm9yZGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggJGNvdXJzZV9jb2xvciFpbXBvcnRhbnQ7XG59IiwiXG4uYW1vdW50X3dyb25nOmFmdGVyIHtcbiAgY29udGVudDogJ1xcZjA2YSc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDVweDtcbiAgdG9wOiA1MCU7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGNvbG9yOiAkZXJyb3JDb2xvckRwbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSlcbn1cbi5hbW91bnRfb2s6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxmMDU4JztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNXB4O1xuICB0b3A6IDUwJTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgY29sb3I6ICRncmVlbkRwbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSlcbn1cblxuXG5cblxuXG4jc2VsZWN0aW9uX2FkZHJlc3N7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdWx7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHotaW5kZXg6IDk7XG4gICAgbGVmdDogMTVweDtcbiAgICByaWdodDogMTVweDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2VkNGRhO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xuICAgIGxpIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgc3BhbntcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICBsaTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHBtX2NvbG9yO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgfVxuICB9XG59XG4jbWVtYmVyLXRlbXBsYXRlIC5idG4tZmlsdGVyLFxuI2ZhbWlseS1kZXNjIC5idG4tZmlsdGVyLFxuI2FuaW1hbC10ZW1wbGF0ZSAuYnRuLWZpbHRlcntcbiAgZGlzcGxheTogbm9uZVxufVxuXG4ucm9sZXNfY2hlY2sgPiBkaXYsXG4ucm9sZXNfY2hlY2sgI2VkaXRfcm9sZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnJvbGVzX2NoZWNrID4gZGl2ID4gZGl2IGxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cblxuI2NoZWNrbGlzdF9taXNzaW5ne1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTElO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC41KTtcbiAgei1pbmRleDogOTtcbiAgLmNvbnRlbnR7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHZoO1xuICAgIGgze1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gICAgdWx7XG4gICAgICBsaXtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgaXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnRhYmxlIHtcbiAgLmFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgcGFkZGluZzogNXB4IDAgIWltcG9ydGFudDtcbiAgICBsaXtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cbnRhYmxlIC5hY3Rpb25zIGxpe1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gIH1cbn1cbnRhYmxlIC5hY3Rpb25zPmEge1xuICBtYXJnaW46IDAgMnB4XG59XG4uZmFkZS5pbntcbiAgb3BhY2l0eTogMTtcbn0iLCIuaG9tZV9oZWFkZXJ7XG59XG4uaG9tZV9oZWFkZXI+ZGl2e1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmhvbWVfaGVhZGVyIGgxe1xuICBmb250LXNpemU6IDEuMnJlbSFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbn1cbi5ob21lX2hlYWRlciAgaDJ7XG4gIGZvbnQtc2l6ZTogMS41cmVtIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uaG9tZV9oZWFkZXIgLmxvZ29faG9tZSBpbWd7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnN0YXRzIHtcbiAgLmxhc3RfZml2ZSB7XG4gICAgLnRpdHJlLmg1IHtcbiAgICAgIGg1e1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgLmxhc3RfY29udGVudCB7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRkcG1fY29sb3I7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUpO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgcGFkZGluZzogMSU7XG5cbiAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICB3aWR0aDogMTElO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICB3aWR0aDogMTElO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxufVxuXG4udGFiIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoMiB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMnM7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICRkcG1fY29sb3I7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICBoMiB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udGFiLmFjdGl2ZSB7XG4gIGgyIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uYW5pbWFsX2NvbnRlbnQge1xuICAudGFiaSB7XG4gICAgLm5hdi10YWJzIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDc5ZmM5O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU1ZTE7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzA3OWZjOTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IC0xcHggMDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGkuYWN0aXZlIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDc5ZmM5O1xuICAgICAgICBtYXJnaW46IDAgMTBweCAtMXB4IDA7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGFiLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLmFuaW1hbF9jb250ZW50IHtcbiAgICAudGFiaSB7XG4gICAgICAubmF2LXRhYnMge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwNzlmYzk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2NvbmZpZ3VyYXRpb24tcGFnZS5tb2R1bGVzIGgyOmFmdGVye1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjNzFiOGFiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDQ1JTtcbiAgYm90dG9tOiAtMTBweDtcbn1cbiNjb25maWd1cmF0aW9uLXBhZ2UubW9kdWxlcyBoMntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4XG59XG4jY29uZmlndXJhdGlvbi1wYWdlLm1vZHVsZXMgLnZpZ25ldHRle1xuICBwYWRkaW5nOiAzMHB4O1xuICBib3gtc2hhZG93OiAwcHggOHB4IDIwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjc1KTs7XG4gIG1hcmdpbi1ib3R0b206IDUwcHghaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzMjBweCFpbXBvcnRhbnQ7XG59XG4jY29uZmlndXJhdGlvbi1wYWdlLm1vZHVsZXM+LmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDMwcHhcbn1cbiNjb25maWd1cmF0aW9uLXBhZ2UubW9kdWxlcyAudmlnbmV0dGUgLmRldGFpbHN7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNDBweDtcbiAgcmlnaHQ6IDQwcHg7XG4gIGJvdHRvbTogMTBweDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG4jY29uZmlndXJhdGlvbi1wYWdlLm1vZHVsZXMgLmltYWdlX2Jsb2Nre1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jY29uZmlndXJhdGlvbi1wYWdlLm1vZHVsZXMgLmltYWdlX2Jsb2NrIGltZ3tcbiAgd2lkdGg6IDQwcHhcbn1cbiNidWlsZGluZ3tcbiAgYmFja2dyb3VuZDogcmVkO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHdpZHRoOiAyNDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOCU7XG4gIHRvcDogMTAlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzVkZWcpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIGxlZnQ6IC0xNyU7XG4gICAgdG9wOiA3JTtcbiAgfVxufVxuI2NvbmZpZ3VyYXRpb24tcGFnZSAudmlnbmV0dGV7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn0iLCIjbWVtYmVyLXRlbXBsYXRlIHtcbiAgI2dsb2JhbC1kZXRhaWxzLCAjY2F0ZWdvcnktZGV0YWlscyB7XG4gICAgaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICB9XG4gIH1cbn0iLCIjYW5pbWFsLXRlbXBsYXRle1xuICAjZ2xvYmFsLWFuaW1hbCwgI2RldGFpbC1hbmltYWwge1xuICAgIGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5pZGVudGl0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGltZ3tcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gICAgfVxuICB9XG59IiwiXG4jaWRlbnRpZmljYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAucHNzd3JkIC5mb3JtLWdyb3VwLFxuICAgICNpZGVudGlmaWNhdGlvbiAucHNzd3JkIGlucHV0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnRuLW1kcCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDBcbiAgICB9XG5cbiAgICAucmVtZW1iZXJfbWUge1xuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDgwJSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAvL2hlaWdodDogMCAhaW1wb3J0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgIH1cblxuICAgICAgLnRvZ2dsZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAudG9nZ2xlLWhhbmRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuI25ld19vcmdhbmlzbWUsICNmb3JtX2Fic29sdXRlIHtcblxuICAucmdwZCB7XG4gICAgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvL2p1c3RpZnktY29udGVudDogZmxleC1lbmRcbiAgICB9XG4gIH1cbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5PVkVSUklERSBERSBIQ09GRkNBTlZBUyBQT1VSIFZFUlNJT04gREVTS1RPUFxuICovXG4jbWVudS1zaWRlYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhjLW9mZmNhbnZhcy1uYXYge1xuICAvL3otaW5kZXg6IDAhaW1wb3J0YW50O1xuICAubmF2LWNsb3NlIHtcbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIC8vaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODBweCk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgLy9oZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTtcbiAgICB9XG4gIH1cblxuICAubmF2LXdyYXBwZXItMiB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAxNHB4IDE3cHggMTRweCAyN3B4O1xuICAgIH1cbiAgfVxufVxuXG4uaGMtbmF2LTIge1xuICBsZWZ0OiAxMDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4uaGMtbmF2LTIgPiBzcGFuOmJlZm9yZSxcbi5oYy1uYXYtMiA+IHNwYW46YWZ0ZXIsXG4uaGMtbmF2LTIgPiBzcGFuIHtcbiAgYmFja2dyb3VuZDogIzhiMDAwMCAhaW1wb3J0YW50O1xufVxuXG5cbi8qKiBNRCBldCBhdSBkZXNzdXMgKiovXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIG5hdi5oYy1vZmZjYW52YXMtbmF2IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5oYy1uYXYtdHJpZ2dlci5oYy1uYXYtMSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5oYy1vZmZjYW52YXMtbmF2LmhjLW5hdi0xLm5hdi1wb3NpdGlvbi1sZWZ0IC5uYXYtY29udGFpbmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhjLW9mZmNhbnZhcy1uYXYgLm5hdi1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi5uYXYtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogODBweDtcbiAgYm94LXNoYWRvdzogMTBweCAxMHB4IDIwcHggIzAwMDAwMDI5O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5wYWdlLWNvbnRhaW5lciAuY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xufVxuXG4ucGFnZS1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIC8vYmFja2dyb3VuZDogd2hpdGU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbiAgcGFkZGluZy1sZWZ0OiAyNTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gIH1cbn1cblxuI2NvbmZpZy13cmFwcGVyIC5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHVuc2V0O1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuI2VkaXRfZ2VuZGVyIHtcbiAgLyogICBkaXNwbGF5OiBmbGV4OyAqL1xuICBwYWRkaW5nOiAyNXB4IDAgMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXhcbn1cblxuI2VkaXRfZ2VuZGVyIC5yYWRpbyBpbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTIwcHg7XG59XG5cbiNlZGl0X2dlbmRlciAucmFkaW8gbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuXG5cbiNjb25maWctd3JhcHBlcj5kaXY+LmNvbnRhaW5lcntcbiAgYm9yZGVyOiBzb2xpZCAjOGIwMDAwICAxcHg7XG59IiwiXG4uZWRpdF9tZHAge1xuICBjb2xvcjogIzhiMDAwMDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzhiMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcbn1cblxuI29yZ2FuaXNtZSB7XG4gIC5sb2dvLW9yZ2FuaXNtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTVweDtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweFxuICB9XG5cbiAgLmJ0bntcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAjYWNjb3JkaW9uIHtcbiAgICAucGFuZWwge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5yb3dfZGVsZXRlIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWNcbiAgICB9XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICM4YjAwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzhiMDAwMDtcbiAgICB9XG4gICAgYS5idG4gIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIH1cblxuICAgIC5wYW5lbC1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGF7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgICBhLmNvbGxhcHNlZDpob3ZlciwgYS5jb2xsYXBzZWQ6Zm9jdXMge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluO1xuICAgICAgICBjb2xvcjogIzhiMDAwMDtcbiAgICAgIH1cblxuICAgICAgYTpub3QoLmNvbGxhcHNlZCkge1xuICAgICAgICBjb2xvcjogIzhiMDAwMDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzhiMDAwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgLmFjY29yZGlvbi10b2dnbGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5hY2NvcmRpb24tdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBjb250ZW50OiBcIlxcZjAwZFwiO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGNvbG9yOiAjOGIwMDAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICAgIC5hY2NvcmRpb24tdG9nZ2xlLmNvbGxhcHNlZDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM4YjAwMDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiNwYXJhbWV0cmUtY3JvbiBsaXtcbiAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xufSIsIiNjcnVkIHtcbiAgZm9ybSB7XG4gICAgLnZhbGlkYXRpb257XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHotaW5kZXg6IDEyO1xuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgdGhlYWQge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggM3B4ICM5OTk7XG5cbiAgICAgICAgICB0aCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICM5OTk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbnB1dDpob3ZlcntcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyXG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiI2NvbmZpZy13cmFwcGVyIHtcbiAgLmZvcm1fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNsb3NlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMVxuICAgIH1cblxuICAgICNpY29uc19mYSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgbGVmdDogNSU7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweDtcbiAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIC5pY29uc19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblxuICAgICAgICAuaWNvbl9zZWxlY3Qge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXJcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgI2FwcF9idW5kbGVfc3RhdHV0X3R5cGVfaWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmljb25fZGlzcGxheV9qcyB7XG4gICAgICBjb2xvcjogIzQ5NTA1NztcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgbGVmdDogMTVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgfVxuICB9XG59XG5cbiNmYW1pbHktd3JhcHBlciB7XG4gIC5zZWxlY3RfdmFjY2luIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNzUlO1xuICAgIH1cbiAgfVxuICBocntcbiAgICBib3JkZXItY29sb3I6ICRkcG1fY29sb3I7XG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgbWFyZ2luOiAycHhcbiAgfVxufSIsIlxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cbiNleHBvcnQtY2hvaWNle1xuICAuZmFtaWxsZSwgLmFsZXJ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgdGFibGV7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIH1cbiAgICB0cjpudGgtY2hpbGQob2RkKXtcbiAgICAgIGJhY2tncm91bmQ6ICBsaWdodGdyYXlcbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5wdXR7XG4gICAgcG9zaXRpb246IGluaGVyaXRcbiAgfVxufSIsIlxuXG4jb3JnYW5pc21lX2NoZWNrbGlzdC5ub3JtYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICAuY2hlY2tsaXN0X2RldGFpbHM+ZGl2OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZHBtX2NvbG9yO1xuICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1hbmRhdG9yeXtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYzgyMzMzO1xuICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiAjYzgyMzMzO1xuICB9XG4gIC53cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR0eHRfY29sb3JfZGFyayFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDI1cHghaW1wb3J0YW50OztcbiAgICAgIH1cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkZHBtX2NvbG9yO1xuICAgICAgICAudGl0cmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiNtaW5pbWlzZV9vcmdhbmlzbWVfY2hlY2tsaXN0IHtcbiAgLmdyZWVuIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5wcm9ncmVzc2V7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5ncmVlbiAucHJvZ3Jlc3NlLFxuICAucmVkIC5wcm9ncmVzc2UsXG4gIC5vcmFuZ2UgLnByb2dyZXNzZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC5ncmVlbiAucHJvZ3Jlc3NlLFxuICAucmVkIC5wcm9ncmVzc2UsXG4gIC5vcmFuZ2UgLnByb2dyZXNzZSB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gIH1cblxuICAuZ3JlZW4gLnByb2dyZXNzZSB7XG4gICAgYm9yZGVyOiA1cHggc29saWQgIzUzZmM1MztcbiAgfVxuXG4gIC5ncmVlbiAucHJvZ3Jlc3NlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCAjMDI5NTAyO1xuICB9XG5cbiAgLmdyZWVuIC5wcm9ncmVzc2UsXG4gIC5yZWQgLnByb2dyZXNzZSxcbiAgLm9yYW5nZSAucHJvZ3Jlc3NlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICB9XG5cbiAgLmdyZWVuIC5wcm9ncmVzc2UgLmlubmVyLFxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyLFxuICAub3JhbmdlIC5wcm9ncmVzc2UgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC5ncmVlbiAucHJvZ3Jlc3NlIC5pbm5lcixcbiAgLnJlZCAucHJvZ3Jlc3NlIC5pbm5lcixcbiAgLm9yYW5nZSAucHJvZ3Jlc3NlIC5pbm5lciB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gIH1cblxuICAuZ3JlZW4gLnByb2dyZXNzZSAuaW5uZXIsXG4gIC5yZWQgLnByb2dyZXNzZSAuaW5uZXIsXG4gIC5vcmFuZ2UgLnByb2dyZXNzZSAuaW5uZXIge1xuICAgIGJvcmRlcjogNXB4IHNvbGlkIHdoaXRlO1xuICB9XG5cbiAgLmdyZWVuIC5wcm9ncmVzc2UgLmlubmVyLFxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyLFxuICAub3JhbmdlIC5wcm9ncmVzc2UgLmlubmVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICB9XG5cbiAgLmdyZWVuIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlcixcbiAgLnJlZCAucHJvZ3Jlc3NlIC5pbm5lciAud2F0ZXIsXG4gIC5vcmFuZ2UgLnByb2dyZXNzZSAuaW5uZXIgLndhdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7XG4gICAgbGVmdDogLTUwJTtcbiAgICBib3JkZXItcmFkaXVzOiA0MCU7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3BpbjtcbiAgICBhbmltYXRpb24tbmFtZTogc3BpbjtcbiAgfVxuXG4gIC5ncmVlbiAucHJvZ3Jlc3NlIC5pbm5lciAud2F0ZXIge1xuICAgIHRvcDogMjUlO1xuICB9XG5cbiAgLmdyZWVuIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg4MywgMjUyLCA4MywgMC41KTtcbiAgfVxuXG4gIC5ncmVlbiAucHJvZ3Jlc3NlIC5pbm5lciAud2F0ZXIsXG4gIC5yZWQgLnByb2dyZXNzZSAuaW5uZXIgLndhdGVyLFxuICAub3JhbmdlIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlciB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgfVxuXG4gIC5ncmVlbiAucHJvZ3Jlc3NlIC5pbm5lciAud2F0ZXIsXG4gIC5yZWQgLnByb2dyZXNzZSAuaW5uZXIgLndhdGVyLFxuICAub3JhbmdlIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlciB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEwcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEwcztcbiAgfVxuXG4gIC5ncmVlbiAucHJvZ3Jlc3NlIC5pbm5lciAud2F0ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4ICMwM2JjMDM7XG4gIH1cblxuICAuZ3JlZW4gLnByb2dyZXNzZSAuaW5uZXIgLmdsYXJlLFxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyIC5nbGFyZSxcbiAgLm9yYW5nZSAucHJvZ3Jlc3NlIC5pbm5lciAuZ2xhcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMjAlO1xuICAgIGxlZnQ6IC0xMjAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAyMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAuZ3JlZW4gLnByb2dyZXNzZSAuaW5uZXIgLmdsYXJlLFxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyIC5nbGFyZSxcbiAgLm9yYW5nZSAucHJvZ3Jlc3NlIC5pbm5lciAuZ2xhcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cblxuICAuZ3JlZW4gLnByb2dyZXNzZSAuaW5uZXIgLmdsYXJlLFxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyIC5nbGFyZSxcbiAgLm9yYW5nZSAucHJvZ3Jlc3NlIC5pbm5lciAuZ2xhcmUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIH1cblxuICAuZ3JlZW4gLnByb2dyZXNzZSAuaW5uZXIgLnBlcmNlbnQsXG4gIC5yZWQgLnByb2dyZXNzZSAuaW5uZXIgLnBlcmNlbnQsXG4gIC5vcmFuZ2UgLnByb2dyZXNzZSAuaW5uZXIgLnBlcmNlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmdyZWVuIC5wcm9ncmVzc2UgLmlubmVyIC5wZXJjZW50LFxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyIC5wZXJjZW50LFxuICAub3JhbmdlIC5wcm9ncmVzc2UgLmlubmVyIC5wZXJjZW50IHtcbiAgICBsaW5lLWhlaWdodDogOTBweDtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gIH1cblxuICAuZ3JlZW4gLnByb2dyZXNzZSAuaW5uZXIgLnBlcmNlbnQge1xuICAgIGNvbG9yOiAjMDNjNjAzO1xuICB9XG5cbiAgLmdyZWVuIC5wcm9ncmVzc2UgLmlubmVyIC5wZXJjZW50IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggIzAyOTUwMjtcbiAgfVxuXG4gIC5ncmVlbiAucHJvZ3Jlc3NlIC5pbm5lciAucGVyY2VudCxcbiAgLnJlZCAucHJvZ3Jlc3NlIC5pbm5lciAucGVyY2VudCxcbiAgLm9yYW5nZSAucHJvZ3Jlc3NlIC5pbm5lciAucGVyY2VudCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgfVxuXG4gIC5yZWQge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cblxuICAucmVkIC5wcm9ncmVzc2Uge1xuICAgIGJvcmRlcjogNXB4IHNvbGlkICNlZDNiM2I7XG4gIH1cblxuICAucmVkIC5wcm9ncmVzc2Uge1xuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4ICM3YTBiMGI7XG4gIH1cblxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlciB7XG4gICAgdG9wOiA3NSU7XG4gIH1cblxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzcsIDU5LCA1OSwgMC41KTtcbiAgfVxuXG4gIC5yZWQgLnByb2dyZXNzZSAuaW5uZXIgLndhdGVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCAjOWIwZTBlO1xuICB9XG5cbiAgLnJlZCAucHJvZ3Jlc3NlIC5pbm5lciAucGVyY2VudCB7XG4gICAgY29sb3I6ICNhMzBmMGY7XG4gIH1cblxuICAucmVkIC5wcm9ncmVzc2UgLmlubmVyIC5wZXJjZW50IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggIzdhMGIwYjtcbiAgfVxuXG4gIC5vcmFuZ2Uge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cblxuICAub3JhbmdlIC5wcm9ncmVzc2Uge1xuICAgIGJvcmRlcjogNXB4IHNvbGlkICNmMDdjM2U7XG4gIH1cblxuICAub3JhbmdlIC5wcm9ncmVzc2Uge1xuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4ICM3ZTMyMGE7XG4gIH1cblxuICAub3JhbmdlIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlciB7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICAub3JhbmdlIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDAsIDEyNCwgNjIsIDAuNSk7XG4gIH1cblxuICAub3JhbmdlIC5wcm9ncmVzc2UgLmlubmVyIC53YXRlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggI2EwNDAwYztcbiAgfVxuXG4gIC5vcmFuZ2UgLnByb2dyZXNzZSAuaW5uZXIgLnBlcmNlbnQge1xuICAgIGNvbG9yOiAjYTg0MzBkO1xuICB9XG5cbiAgLm9yYW5nZSAucHJvZ3Jlc3NlIC5pbm5lciAucGVyY2VudCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4ICM3ZTMyMGE7XG4gIH1cblxuICAjY29weXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2IzYjNiMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAjY29weXJpZ2h0IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICNjb3B5cmlnaHQgYSxcbiAgI2NvcHlyaWdodCBhOmxpbmsge1xuICAgIGNvbG9yOiAjODA4MDgwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODA4MDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICB9XG5cbiAgI2NvcHlyaWdodCBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNiM2IzYjM7XG4gIH1cblxuICAjY29weXJpZ2h0IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjYjNiM2IzO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjNiM2IzO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIH1cblxuICAuaW5zdHJ1Y3Rpb25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICBALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XG4gICAgZnJvbSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgc3BpbiB7XG4gICAgZnJvbSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5cblxufVxuXG5cblxuXG5cblxuXG4iLCIjbWVtYmVyc2hpcHMge1xuICBsZWdlbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuZWRpdHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICByaWdodDogNSU7XG4gICAgfVxuICB9XG4gIGZpZWxkc2V0IHtcbiAgICAuY29udGVudCB7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCByZWQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIC5kYXRlcywgLmRhdGVfcGFpZW1lbnQsIC5tZXRob2RfcGFpZW1lbnR7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQuZ3JlZW57XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCBncmVlbiFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuI2FqYXhfcmVuZGVyX2RldGFpbHN7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNyk7XG4gIC5jb3Rpc2F0aW9uX2NvbnRlbnR7XG4gICAgd2lkdGg6IDgwdnc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIC5jbG9zZWR7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59IiwiI2NvdXJzZS13cmFwcGVyIHtcbiAgLm1hbmRhdG9yeSB7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggcmVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlVuIGRlIGNlcyBjaGFtcHMgZXN0IG9ibGlnYXRvaXJlXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiA5O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOCk7XG4gICAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0b3A6IDExMCVcbiAgICB9XG4gIH1cbn0iLCIjY291cnNlLXdyYXBwZXIge1xuXG4gIC5hY3Rpb25fYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICB9XG5cbn1cbiN0YWJsZV9sdmwgLmFsaWduLWl0ZW1zLWNlbnRlcntcbiAgd2lkdGg6IDEwMHZ3IWltcG9ydGFudDs7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuI3N0YXQge1xuICAuY29udGVudC10YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIG1pbi13aWR0aDogNDAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXG4gICAgdGhlYWQge1xuICAgICAgdHIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5ODc5O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgcGFkZGluZzogMTJweCAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEycHggMTVweDtcblxuICAgICAgJjpub3QoLmNvbnRlbnQtdGFibGVcblx0XHRcdHRkOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGRkZGQ7XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwOTg3OTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0ci5hY3RpdmUtcm93IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAjMDA5ODc5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRmb290IHtcbiAgICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgfVxuXG4gIH1cbn0iLCIubW91dGFyZGV7XG4gICAgY29sb3I6ICNmZmMxMDchaW1wb3J0YW50O1xufVxuLnZlcnR7XG4gICAgY29sb3I6ICMyOGE3NDUhaW1wb3J0YW50O1xufVxuLnJlZHtcbiAgICBjb2xvcjogI2M4MjMzMyFpbXBvcnRhbnQ7XG59XG4ucG91cnByZXtcbiAgICBjb2xvcjogIzhiMDAwMCFpbXBvcnRhbnQ7XG59XG4uYnJvd257XG4gICAgY29sb3I6ICM5MzI4MmEhaW1wb3J0YW50O1xufVxuLmJsdWV7XG4gICAgY29sb3I6ICM0MTY5RTEhaW1wb3J0YW50O1xufVxuXG4uYmx1ZV9saWdodHtcbiAgICBjb2xvcjogIzk3YmZlMyFpbXBvcnRhbnQ7XG59XG4uZ3JleXtcbiAgICBjb2xvcjogI2JmYmZiZiFpbXBvcnRhbnQ7XG59XG4ub3Jhbmdle1xuICAgIGNvbG9yOiAjRDI2OTFFIWltcG9ydGFudDtcbn1cbi5vcmFuZ2VfZHBte1xuICAgIGNvbG9yOiAjZjhhYTZhIWltcG9ydGFudDtcbn1cbi5ibHVlX2RwbXtcbiAgICBjb2xvcjogJGRwbV9jb2xvciFpbXBvcnRhbnQ7XG59XG4ucmVkX3N0cm9uZ3tcbiAgICBjb2xvcjogI0Q4MEEwQSFpbXBvcnRhbnQ7XG59XG4ueWVsbG93e1xuICAgIGNvbG9yOiAjZWVjNjRkIWltcG9ydGFudDtcbn1cbi5ncmVlbl9kcG17XG4gICAgY29sb3I6ICMzY2IzNzEhaW1wb3J0YW50O1xufVxuLnB1cnBsZV9kcG17XG4gICAgY29sb3I6ICRsb2dpc3RpY19jb2xvciFpbXBvcnRhbnQ7XG59IiwiYm9keXtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuOCk7XG59XG5he1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICR0eHRfY29sb3JfZGFyaztcbn1cbmE6aG92ZXJ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHR4dF9jb2xvcl9kYXJrO1xufVxuKiwgaDF7XG4gICAgZm9udC1mYW1pbHk6ICdzYWlyYV9zZW1pY29uZGVuc2VkcmVndWxhcicsIHNhbnMtc2VyaWY7XG59XG5oMiwgaDMsIGg0LCBoNSwgaDZ7XG4gICAgZm9udC1mYW1pbHk6ICdFY29ub21pY2EnLCBzYW5zLXNlcmlmO1xufVxuXG5oMiBzdXAgc3Zne1xuICAgIHdpZHRoOiAyMHB4IWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLnRhYmxlX29wdGlvbnMsXG4jdGFibGVfb3B0aW9uc3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jY29uZmlnLXdyYXBwZXIgLnRhYmxlX29wdGlvbnMgdWx7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXtcbiAgICAgICAgbWFyZ2luOiA1cHggMTBweDtcbiAgICB9XG59XG4jdGFibGVfb3B0aW9ucyB1bHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG50YWJsZSB1bHtcbiAgICBwYWRkaW5nOiAwO1xufVxudGFibGUgc3Zne1xuICAgIG1hcmdpbjogaW5pdGlhbCFpbXBvcnRhbnQ7XG59XG4jbWVzc2FnZV9mbGFzaHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAxMDhweCkgO1xuICAgIHRvcDogMjUlO1xuICAgIHotaW5kZXg6IDk7XG59XG4jbG9nbyB7XG4gICAgd2lkdGg6IDUwcHg7XG59XG4uaGlkZGVue1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uaS1iaWd7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5cbi8qLy9tb2RpZiBib3V0b24gdXBsb2FkKi9cbiNGYWtlSW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHR4dF9jb2xvcl9kYXJrO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBmb250OiAxMDAlLzI1cHggc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB9XG4gICAgICAgICsge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLm5ld19sYWJlbCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAudXBsYW9kX3J1bGVzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG59XG5cblxuLnRvZ2dsZS1ncm91cCAuYnRue1xuICAgIHdpZHRoOiBpbml0aWFsIWltcG9ydGFudDtcbn1cbi52YWxpZGUge1xuICAgIGNvbG9yOiAjMjhhNzQ1O1xufVxuLnByb2NoZXMge1xuICAgIGNvbG9yOiAjRkY4QzAwO1xufVxuXG4udXJnZW5jZSB7XG4gICAgY29sb3I6ICNjODIzMzM7XG59XG5cbiNtZW1iZXItc2VjdGlvbiAudmFsaWRlIHtcbiAgICBjb2xvcjogIzI4YTc0NTtcbn1cbiNtZW1iZXItc2VjdGlvbiAucHJvY2hlcyB7XG4gICAgY29sb3I6ICNGRjhDMDA7XG59XG5cbiNtZW1iZXItc2VjdGlvbiAudXJnZW5jZSB7XG4gICAgY29sb3I6ICNjODIzMzM7XG59XG4uZnMtMjV7XG4gICAgZm9udC1zaXplOiAyNXB4O1xufVxuLmZzLTIwe1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5mcy0xOHtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG4uYm9yZGVyLTF7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHg7XG59XG4uYm9yZGVyLTJ7XG4gICAgYm9yZGVyOiBzb2xpZCAycHg7XG59XG4uYm9yZGVyLTN7XG4gICAgYm9yZGVyOiBzb2xpZCAzcHg7XG59XG4uYm9yZGVyLTR7XG4gICAgYm9yZGVyOiBzb2xpZCA0cHg7XG59XG4uYm9yZGVyLTV7XG4gICAgYm9yZGVyOiBzb2xpZCA1cHg7XG59XG4uYm9yZGVyLWRwbXtcbiAgICBib3JkZXItY29sb3IgOiAkZHBtX2NvbG9yIWltcG9ydGFudDtcbn1cblxuXG5cbi5hY3Rpb25zX2VsZW1lbnRzX2Jsb2Nre1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG4uYWN0aW9uc19lbGVtZW50c19ibG9jayBsYWJlbCBzZWxlY3R7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuI3BlcmlvZGVfZXNzYWl7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCByZWQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB6LWluZGV4OiA5O1xuICAgIGF7XG4gICAgICAgIGNvbG9yOiByZWQhaW1wb3J0YW50O1xuICAgIH1cbn1cbi52aWRlb19kb2N1bWVudGF0aW9uIC50aXRsZXtcbiAgICBjb2xvcjogJGRwbV9jb2xvcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuM3JlbVxufVxuXG5cblxuLypDSEVDS0JPWCovXG5cbiNvcmdhbmlzbWUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJde1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNjBweCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyMHB4IWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogIzhiMDAwMCFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggcmdiYSgwLDAsMCwuMik7XG4gICAgdHJhbnNpdGlvbjogLjVzO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuI29yZ2FuaXNtZSBpbnB1dDpjaGVja2VkW3R5cGU9XCJjaGVja2JveFwiXXtcbiAgICBiYWNrZ3JvdW5kOiAkZHBtX2NvbG9yICFpbXBvcnRhbnQ7XG59XG4jb3JnYW5pc21lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpiZWZvcmV7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMHB4IWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIwcHghaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZiFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsMCwwLC4yKTtcbiAgICB0cmFuc2l0aW9uOiAuNXM7XG59XG4jb3JnYW5pc21lIGlucHV0OmNoZWNrZWRbdHlwZT1cImNoZWNrYm94XCJdOmJlZm9yZXtcbiAgICBsZWZ0OiAyOHB4IWltcG9ydGFudDtcbn1cbi5pbnZhbGlke1xuICAgIGNvbG9yOiByZWQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipMT0FERVIqKioqKioqKioqKioqKioqKioqKiovXG4jbG9hZGVye1xuICAgIHBvc2l0aW9uOiBmaXhlZDt0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogOTk5OTk7XG59XG4jbG9hZGVyIC5jb250ZW50e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbn1cbiNsb2FkZXIgLmNvbnRlbnQgaW1ne1xuICAgIG1hcmdpbjogYXV0bztcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbj4+PiBUQUJMRSBPRiBDT05URU5UUzpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuMCBDb2xvci9UaXRsZS9Gb250L2xpbmsvTGlzdFxuMi4wIE5hdmlnYXRpb25cbjMuMCBIZWFkZXJcbjQuMCBGb290ZXJcbjUuMCBCdXR0b25cbjYuMCBGb290ZXJcbjcuMCBQYWdlc1xuXHQgNy4xIEhPTUVcblx0IDcuMiBGYW1pbHlcblx0ICAgIDcuMi4xIEZhbWlseSBsaXN0XG5cdCAgICA3LjIuMyBGYW1pbHkgZGV0YWlsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xLjAgQ29sb3IvVGl0bGUvRm9udC9saW5rL0xpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCl7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tIDEuMCBDb2xvci9UaXRsZS9Gb250L2xpbmsvTGlzdFxuXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAjbW9kYWwtb3V0aWxzLWhvbWV7XG4gICAgICAgIG1hcmdpbjogMCAwO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzk5OTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIH1cbiAgICAjbW9kYWwtb3V0aWxzLWhvbWUgaW1ne1xuICAgICAgICB3aWR0aDogNTAlIWltcG9ydGFudDtcbiAgICB9XG4gICAgI21vZGFsLW91dGlscy1ob21lIHN2Z3tcbiAgICAgICAgZm9udC1zaXplOiA1MHB4XG4gICAgfVxuICAgICNtb2RhbC1vdXRpbHMtaG9tZT5kaXY+ZGl2PmRpdntcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgI21vZGFsLW91dGlscy1ob21lICNzdGF0dXQtcGFnZXtcbiAgICAgICAgLyohIG1hcmdpbi10b3A6IDEwcHghaW1wb3J0YW50OyAqL1xuICAgIH1cbiAgICAjbW9kYWwtb3V0aWxzLWhvbWUgI2lkZW50aWZpY2F0aW9ue1xuICAgICAgICB3aWR0aDogNDAlIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHghaW1wb3J0YW50O1xuICAgIH1cbiAgICAjbW9kYWwtb3V0aWxzLWhvbWUgLmhpZGUge1xuICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgfVxuICAgICNtb2RhbC1vdXRpbHMtaG9tZSAjYWN0aXZhdGlvbntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsXG4gICAgfVxuICAgICNtZW1iZXItdGVtcGxhdGUgI21vZGFsLW91dGlscy1ob21le1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cbiAgICAjbW9kYWwtb3V0aWxzLWhvbWUgLmNvbnRlbnR7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1NRU5VLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgI25ld19tZW51e1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgICAjbmV3X21lbnUgLm5hdmJhcntcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgfVxuXG4gICAgI25ld19tZW51IC5uYXYtbGluayBzdmd7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBcbiAgICB9XG4gICAgI25ld19tZW51IC5uYXYtbGluayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHhcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tIE1FTUJSRVNcblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICAuYm91dG9uLWxhdHtcbiAgICAgICAgdG9wOiA5MHB4IWltcG9ydGFudDtcbiAgICB9XG4gICAgI21lbWJlci10ZW1wbGF0ZSBoMXtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4XG4gICAgfVxuICAgICNtZW1iZXItdGVtcGxhdGUgc3Vwe1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgLmJsb2NrLWFkcmVzc2V7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgI3Nob3csICNlZGl0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4XG4gICAgfVxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tREVUQUlMUyBNRU1CUkUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgICNhY3Rpb24tYWxlcnRlIC5lbWFpbHN7XG4gICAgICAgIGNvbG9yOiAjMTdhMmI4IDtcbiAgICB9XG4gICAgI2FjdGlvbi1hbGVydGUgLmVtYWlsczpob3ZlcntcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgICNhY3Rpb24tYWxlcnRlIC5ob3ZlcntcbiAgICAgICAgdG9wOiAtOTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICNhY3Rpb24tYWxlcnRlIC5ob3ZlciBhe1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5OSFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHhcbiAgICB9XG4gICAgI2FjdGlvbi1hbGVydGUgLmhvdmVyIGE6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxN2EyYjg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAjYWN0aW9uLWFsZXJ0ZSAuYnRuLWdyb3VwOmhvdmVyIC5ob3ZlcntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgIH1cblxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tTUVNQlJFIExJU1RFLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgI21lbWJlci1zZWN0aW9uIGgxe1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIhaW1wb3J0YW50O1xuICAgIH1cblxuXG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tIEFOSU1BTFxuXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAudHVpbGUtYW5pbWFsICNzaG93LCAudHVpbGUtYW5pbWFsICNlZGl0e1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0gdGFibGVhdXhcblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgI3RhYmxlX2FsZXJ0ZV93cmFwcGVye1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsXG4gICAgfVxuXG5cbiAgICAuZW1haWxzIC5idG4tZ3JvdXB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLSBQcsOpc2VuY2VcblxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICAgLmZjLWxlZnR7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICAuZmMtbGVmdCBkaXZ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mYy1sZWZ0IGRpdiBidXR0b246bnRoLWNoaWxkKDMpe1xuICAgICAgICB3aWR0aDogNjUlXG4gICAgfVxuXG4gICAgLmZjLXJpZ2h0e1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuZmMtcmlnaHQgLmZjLWJ1dHRvbi1ncm91cHtcbiAgICAgICAgd2lkdGg6IDk2JVxuICAgIH1cblxuICAgIC5mYy1yaWdodCBidXR0b257XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmZjLWNlbnRlciBoMntcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxufSIsIi5lc3NhaSB7XG4gIGNvbG9yOiAjZmZjMTA3XG59XG5cbi52YWxpZCB7XG4gIGNvbG9yOiAjMjhhNzQ1XG59XG5cbi5yZWFkaCB7XG4gIGNvbG9yOiAjYzgyMzMzXG59XG5cbi5jeGwge1xuICBjb2xvcjogIzhiMDAwMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI25hdmJhciAubmF2YmFyLW5hdiBsaSBpZnJhbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI25hdmJhclN1cHBvcnRlZENvbnRlbnQgbGkgYSBzdmcge1xuICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgI25hdmJhclN1cHBvcnRlZENvbnRlbnQgbGkgYSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMnB4ICM5OTk7XG59XG5cbiNzdGF0LmNvbnRhaW5lciB7XG4gIGJvcmRlcjogc29saWQgI2VlYzY0ZCAhaW1wb3J0YW50XG59XG5cbi5yZXN1bWUtdGV4dCxcbiNjb21tZW50LFxuLmRldGFpbC10ZXh0LFxuLnR1aWxlLWFuaW1hbCxcbiNhbmltYWwtcHJvYmxlbXMsXG4jc2VjdGlvbiAjdHVpbGVzIC5vayxcbiNtZW1iZXItc2VjdGlvbiAubWVtYmVycy1saXN0LFxuI2FjY3VlaWwtY3JlYXRpb24gLnZpZ25ldHRlIHtcbiAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMXB4IDAgM3B4ICM5OTkgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICBib3JkZXItbGVmdC13aWR0aDogM3B4ICFpbXBvcnRhbnQ7XG4gIC8vYm9yZGVyLWxlZnQ6ICBzb2xpZCAkZHBtX2NvbG9yO1xufVxuXG4uZGVzY3JpcHRpZiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5lci1jb250YWN0IHtcbiAgaGVpZ2h0OiA4MXB4O1xufVxuXG4jYW5pbWFsLXpvbmUsICNtZW1iZXItem9uZSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi50dWlsZS1hbmltYWwge1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udGFibGlua3Mge1xuICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuI3Zlcnktc21hbGwge1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbiNzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuI3JldG91ciB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4jZG9jLXBkZiwgI2RvYy13b3JkIHtcbiAgZm9udC1zaXplOiAxMjBweDtcbn1cblxuI3RpdHJlIHtcbiAgY29sb3I6ICRkcG1fY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucmVzdW1lLXRleHQge1xuICBib3JkZXI6IHNvbGlkIDVweCAkZHBtX2NvbG9yO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi50dWlsZS1hbmltYWwge1xuICBib3JkZXI6IHNvbGlkIDVweCAkZHBtX2NvbG9yO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5kZXRhaWwtdGV4dCB7XG4gIGJvcmRlcjogc29saWQgNXB4ICRkcG1fY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5hc3N1cmFuY2Uge1xuICBjb2xvcjogI2M4MjMzMztcbn1cblxuLmF0dGVudGlvbiB7XG4gIGNvbG9yOiAjRkY4QzAwXG59XG5cbi5ibG9jay1hZHJlc3NlIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4jYW5pbWFsIC5hc3N1cmFuY2UsICNhbmltYWwgLnByb2NoZXMsICNhbmltYWwgLmF0dGVudGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuI2FuaW1hbCAuYXNzdXJhbmNlIGksICNhbmltYWwgLnByb2NoZXMgaSwgI2FuaW1hbCAuYXR0ZW50aW9uIGkge1xuICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG59XG5cbi5kcm9wZG93bjpob3ZlciA+IC5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuI2JvbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZm9ybSBsaSB7XG4gIGNvbG9yOiByZWQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKioqKioqKiogRm9ybSoqKioqKioqKioqKioqKi9cbi5jb250YWluZXIge1xuICBib3JkZXI6IHNvbGlkICRkcG1fY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5jb250YWluZXIgLnRvcCB7XG4gIG1hcmdpbi10b3A6IDUwcHhcbn1cblxuLmNvbnRhaW5lciAuYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgY29sb3I6ICM0OTUwNTc7XG59XG5cbi5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogIzQ5NTA1Nztcbn1cblxuLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cbiAgY29sb3I6ICM0OTUwNTc7XG59XG5cbi5mb3JtLWNvbnRyb2w6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gIGNvbG9yOiAjNDk1MDU3O1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbmlucHV0IHtcbiAgLy9oZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogMTUwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuI2FuaW1hbF9zb2xvX2ltYWdlc19maWxlLCAjYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9pbWFnZXNfZmlsZSB7XG4gIGhlaWdodDogNDZweCAhaW1wb3J0YW50O1xufVxuXG5cbiNtZW1iZXJfc29sb19pZGZhbWlseSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbFxufVxuXG4jYm91dG9uLXJvdyB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuaHIge1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbiNhcHBfYnVuZGxlX2ZhbWlseV90eXBlX2lkX3R5cGUge1xuICB3aWR0aDogMTAwJVxufVxuXG4uYWRoZXJlbnQgI2FwcF9idW5kbGVfYWRoZXJlbnRfdHlwZV9pbWFnZV9yaWdodHMsXG4uYWRoZXJlbnQgI2FwcF9idW5kbGVfYWRoZXJlbnRfdHlwZV9qb2IsXG4uYWRoZXJlbnQgI2FwcF9idW5kbGVfYWRoZXJlbnRfdHlwZV9jYXRlZ29yaWVzLFxuI21lbWJlcl9zb2xvX2lkZmFtaWx5IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmFuaW1hbCBzZWxlY3Qge1xuICB3aWR0aDogMTAwJVxufVxuXG4uYW5pbWFsICNhcHBfYnVuZGxlX2FuaW1hbF90eXBlX3N0ZXJpbGl6ZWQsICNhbmltYWxfc29sb19zdGVyaWxpemVkIHtcbiAgLyogICBib3JkZXI6IHNvbGlkOyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleFxuXG59XG5cbi5hbmltYWwgI2FwcF9idW5kbGVfYW5pbWFsX3R5cGVfc3RlcmlsaXplZCBsYWJlbCxcbiNhbmltYWxfc29sb19zdGVyaWxpemVkIGxhYmVsLFxuLmFuaW1hbCAjYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9zdGVyaWxpemVkICNhcHBfYnVuZGxlX2FuaW1hbF90eXBlX3N0ZXJpbGl6ZWRfMCxcbi5hbmltYWwgI2FwcF9idW5kbGVfYW5pbWFsX3R5cGVfc3RlcmlsaXplZCAjYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9zdGVyaWxpemVkXzEsXG4jYW5pbWFsX3NvbG9fc3RlcmlsaXplZF8wLCAjYW5pbWFsX3NvbG9fc3RlcmlsaXplZF8xIHtcbiAgLyogICBib3JkZXI6IHJlZCBzb2xpZDsgKi9cbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiNhcHBfYnVuZGxlX2FuaW1hbF90eXBlX3N0ZXJpbGl6ZWRfMCwgI2FwcF9idW5kbGVfYW5pbWFsX3R5cGVfc3RlcmlsaXplZF8xLFxuI2FuaW1hbF9zb2xvX3N0ZXJpbGl6ZWRfMCwgI2FuaW1hbF9zb2xvX3N0ZXJpbGl6ZWRfMSB7XG4gIG1hcmdpbjogMCAxMHB4IDAgMjBweDtcbn1cblxuLmFuaW1hbCAjYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9vdGhlcl92YWNjaW5zIHtcbiAgaGVpZ2h0OiAxMDRweDtcbn1cblxuLmFuaW1hbCAjaW1hZ2UtaG9sZGVyIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IHNvbGlkIHdoaXRlIDFweDtcbn1cblxuLmFuaW1hbCAjaW1hZ2UtaG9sZGVyIHtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4jYXBwX2J1bmRsZV9mYW1pbHlfdHlwZV9mYW1pbHlTdGF0dXMsICNhcHBfYnVuZGxlX2ZhbWlseV90eXBlX2lkX3R5cGUge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5jb250YWN0IHRleHRhcmVhIHtcbiAgaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5jb21tZW50YWlyZSB0ZXh0YXJlYSB7XG4gIGhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbn1cblxuLnRodW1iLWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuI21lbWJlcl9zb2xvX3NhdmVfYW5kX2FkZCwgI2FuaW1hbF9zb2xvX3NhdmVfYW5kX2FkZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuI2FwcF9idW5kbGVfYWRoZXJlbnRfdHlwZV9pZGZhbWlseSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmJpZyBzZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipGT05EIEZPUk0gRkFNSUxZKioqKioqKioqKioqKioqKioqKioqKiovXG4uZmFtaWx5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy5mYW1pbHk6YmVmb3JlIHtcbi8vICAvKiAgICAgY290ZW50OiBcIlxcZjBjMFwiOyAqL1xuLy8gIGNvbnRlbnQ6IFwiXFxGMEMwXCI7XG4vLyAgY29sb3I6ICRkcG1fY29sb3I7XG4vLyAgY29sb3I6IHJnYmEoODksIDE4OSwgMTg5LCAuMSkgIWltcG9ydGFudDtcbi8vICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuLy8gIGZvbnQtd2VpZ2h0OiA5MDA7XG4vLyAgZm9udC1zaXplOiA1MDBweDtcbi8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgYm90dG9tOiAwO1xuLy8gIGxlZnQ6IDUwJTtcbi8vICBtYXJnaW4tbGVmdDogLTMxMnB4O1xuLy99XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NjVweCkge1xuXG4gIC5mYW1pbHk6YmVmb3JlLCAuYWRoZXJlbnQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqRk9ORCBGT1JNIGFkaGVyZW50KioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5hZGhlcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2FwcF9idW5kbGVfdHJ5X2FkaGVyZW50X3R5cGVfaWRmYW1pbHkge1xuICBib3JkZXI6IG5vbmVcbn1cblxuLyoqKioqKioqKioqKioqKioqKipGT05EIEZPUk0gYWRoZXJlbnQgdHJ5KioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5hZGhlcmVudC10cnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hZGhlcmVudC10cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEYwMDdcIjtcbiAgY29sb3I6ICRkcG1fY29sb3I7XG4gIGNvbG9yOiByZ2JhKDg5LCAxODksIDE4OSwgLjEpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogNTAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMTAwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMTJweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipGT05EIEZPUk0gQU5JTUFMKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5hbmltYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kZWF0aCBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqdHJ5KioqKioqKioqKioqKioqKioqKi9cbi5hbmltYWwtdHJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYW5pbWFsLXRyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRjFCMFwiO1xuICBjb2xvcjogJGRwbV9jb2xvcjtcbiAgY29sb3I6IHJnYmEoODksIDE4OSwgMTg5LCAuMSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiA1MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xMDBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTMxMnB4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKkZPTkQgRk9STSBGQU1JTFkgVFJZKioqKioqKioqKioqKioqKioqKioqKiovXG4uZmFtaWx5LXRyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZhbWlseS10cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEYwQzBcIjtcbiAgY29sb3I6ICRkcG1fY29sb3I7XG4gIGNvbG9yOiByZ2JhKDg5LCAxODksIDE4OSwgLjEpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogNTAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMTAwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMTJweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKiBzZWN0aW9uKioqKioqKioqKioqL1xuLnNlYXJjaCAuc2VhcmNoLWZpbHRyZSBpbnB1dCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnNlYXJjaCAuYWxlcnQtZmlsdHJlIGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnNlYXJjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG59XG5cbi5zZWFyY2ggPiBkaXY6Zmlyc3QtY2hpbGQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG59XG5cbi5zZWFyY2ggPiBkaXY6Zmlyc3QtY2hpbGQgLmlucHV0LWZsYXQge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaCA+IGRpdjpmaXJzdC1jaGlsZCAuZm9ybS1ncm91cCB7XG4gIG1hcmdpbjogMFxufVxuXG4jc2VjdGlvbiAjdHVpbGVzIHtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuI3NlY3Rpb24gYSB7XG4gIGNvbG9yOiBpbml0aWFsXG59XG5cbiNzZWN0aW9uICN0dWlsZXMgaDMge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbiNtZW1iZXJzLXNlY3Rpb24gI3R1aWxlcyBhIHtcbiAgY29sb3I6JHR4dF9jb2xvcl9kYXJrXG59XG5cbiNtZW1iZXJzLXNlY3Rpb24gI3R1aWxlcyBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jc2VjdGlvbiAuaWNvbmVzLCAjc2VjdGlvbiAucmFnZXMge1xuICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgYm90dG9tOiA1JTtcbiAgZm9udC1zaXplOiAyNXB4O1xufVxuXG4jc2VjdGlvbiAjdHVpbGVzIC5vayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8jc2VjdGlvbiAjZmFtaWx5ICN0dWlsZXMgLm9rOmJlZm9yZSB7XG4vLyAgLyogICAgIGNvdGVudDogXCJcXGYwYzBcIjsgKi9cbi8vICBjb250ZW50OiBcIlxcRjBDMFwiO1xuLy8gIGNvbG9yOiAkZHBtX2NvbG9yO1xuLy8gIGNvbG9yOiByZ2JhKDg5LCAxODksIDE4OSwgLjEpICFpbXBvcnRhbnQ7XG4vLyAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbi8vICBmb250LXdlaWdodDogOTAwO1xuLy8gIGZvbnQtc2l6ZTogODBweDtcbi8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgdG9wOiAxMHB4O1xuLy8gIGxlZnQ6IDUwJTtcbi8vICBtYXJnaW4tbGVmdDogLTUwcHg7XG4vL31cblxuI3NlY3Rpb24gLnZhbGlkZSB7XG4gIGNvbG9yOiAjMjhhNzQ1O1xufVxuXG4jc2VjdGlvbiAuYWZmaWNoZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6JHR4dF9jb2xvcl9kYXJrO1xufVxuXG4jc2VjdGlvbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jc2VjdGlvbiAuY2FyZC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL2hlaWdodDogMTAwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIC8qICAgICBwYWRkaW5nLXRvcDogMCAqL1xufVxuXG4jc2VjdGlvbiAuYXNzdXJhbmNlczpob3ZlciAuaG92ZXIsICNzZWN0aW9uIC5hZGhlc2lvbjpob3ZlciAuaG92ZXIsICNzZWN0aW9uIC5zdGF0dXM6aG92ZXIgLmhvdmVyLCAjc2VjdGlvbiAucmFnZXM6aG92ZXIgLmhvdmVyLCAjc2VjdGlvbiAuaWQtZmFtaWx5OmhvdmVyIC5ob3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jc2VjdGlvbiAuYXNzdXJhbmNlcyAuaG92ZXIsICNzZWN0aW9uIC5hZGhlc2lvbiAuaG92ZXIsICNzZWN0aW9uIC5zdGF0dXMgLmhvdmVyLCAjc2VjdGlvbiAucmFnZXMgLmhvdmVyLCAjc2VjdGlvbiAuaWQtZmFtaWx5IC5ob3ZlciB7XG4gIGJvcmRlcjogc29saWQgMXB4ICRkcG1fY29sb3I7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuI3NlY3Rpb24gLmhvdmVyIGgzLCAjc2VjdGlvbiAuaG92ZXIgaDMge1xuICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbn1cblxuI3NlY3Rpb24gLnRleHQtaG92ZXIge1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbiNzZWN0aW9uICNmYW1pbHktbnVtYmVyIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4jc2VjdGlvbiAuc291cy10aXRyZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuXG4jc2VjdGlvbiB7XG4gICNhbmltYWwge1xuICAgIC5kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAuZGV0YWlscz5kaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gNik7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jc2VjdGlvbiAjYW5pbWFsIC5kZXRhaWxzID4gZGl2ID4gZGl2IHtcbiAgd2lkdGg6IDEwMCVcbn1cblxuI3NlY3Rpb24gI2FuaW1hbCAuZGV0YWlscyBoMyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqZ2VuZXJhbCBpY29ucyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKi9cbiNwZXJmZWN0IHtcbiAgY29sb3I6ICMyOGE3NDU7XG59XG5cbiN3cm9uZyB7XG4gIGNvbG9yOiAjZGMzNTQ1O1xufVxuXG4jYmlydGgsICNwaG9uZSwgI2FuaW1hbC10ZW1wbGF0ZSAjdXNlciwgI2VtYWlsIHtcbiAgY29sb3I6ICM0MTY5RTE7XG59XG5cbiNzaG93LCAuc2hvdyB7XG4gIGNvbG9yOiAjYmZiZmJmO1xufVxuXG4jZWRpdCB7XG4gIGNvbG9yOiAjRDI2OTFFO1xufVxuXG4jZmVtZWxsZSwgI21hbGUsICNwYXNzZXBvcnQsICNpZGVudGl0eSwgI2NhdGVnb3JpZSwgI3N0dWRlbnQsICNhY3Rpdml0eSwgI2pvYi1jYXNlLCAjdXNlci1hZGQsICN1c2VyLWxpbmsge1xuICBjb2xvcjogIzZFNmU2ZTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbiNwYXcsICNmYW1pbHkge1xuICBjb2xvcjogJGRwbV9jb2xvcjtcbn1cblxuI25vLWRvY3MsICNzdGVyaS1ubyB7XG4gIGNvbG9yOiAjRDgwQTBBO1xufVxuXG4jeWVzLWRvY3MsICNzdGVyaS15ZXMsICN2YWxpZCB7XG4gIGNvbG9yOiAjMjhhNzQ1O1xufVxuXG4jcG9zdC1pdCB7XG4gIGNvbG9yOiAjREFBNTIwO1xufVxuXG4jdHJ5IHtcbiAgY29sb3I6ICNmZmMxMDc7XG59XG5cbiNyZWRvIHtcbiAgY29sb3I6ICNjODIzMzM7XG59XG5cbiNzb29uLCAuc29vbiB7XG4gIGNvbG9yOiAjRkY4QzAwO1xufVxuXG4jZGVsZXRlLCAjY2FuY2VsZWQge1xuICBjb2xvcjogIzhCMDAwMDtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuI2FsZXJ0ZSB7XG4gIGNvbG9yOiAjYzgyMzMzO1xufVxuXG4jYWN0aXZpdGUgI2RlbGV0ZSwgI3JhY2UgI2RlbGV0ZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuI3N0YXR1dC1wYWdlIHtcbiAgd2lkdGg6IDIwcHg7XG4gIG1hcmdpbjogMCA3cHg7XG59XG5cbi5mYS1zeXJpbmdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqQ1JFQVRJT04gUEFHRSoqKioqKioqKi9cblxuI2FjY3VlaWwtY3JlYXRpb24gLnZpZ25ldHRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogc29saWQgNXB4ICRkcG1fY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBoZWlnaHQ6IDE1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNhY2N1ZWlsLWNyZWF0aW9uIC52aWduZXR0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICRkcG1fY29sb3I7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyoqKioqKioqRE9DUyBQQUdFKioqKioqKiovXG4vKioqKioqKmFuaW1hbCB0ZW1wbGF0ZSoqKioqKioqKi9cbiNkZXRhaWwtYW5pbWFsIHVsIGxpIHtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4XG59XG5cbiNhbmltYWwtdGVtcGxhdGUgLmxpc3RlLWNvbmR1Y3RldXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG4jYW5pbWFsLXRlbXBsYXRlIC5kZXNjcmlwdGlmICNkZXRhaWwtYW5pbWFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbiNjb21tZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbiNhbmltYWwtdGVtcGxhdGUgLmRlc2NyaXB0aWYgI2dsb2JhbC1hbmltYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuI2FuaW1hbC10ZW1wbGF0ZSAjc2Nob29sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbiNhbmltYWwtdGVtcGxhdGUgI3NjaG9vbCAjc2hvdyB7XG4gIHdpZHRoOiAxNXB4XG59XG5cbiNhbmltYWwtdGVtcGxhdGUgI2dsb2JhbC1hbmltYWwgLnJvdywgI2FuaW1hbC10ZW1wbGF0ZSAjZGV0YWlsLWFuaW1hbCAuY29sLTEyIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4jYW5pbWFsLXRlbXBsYXRlIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4jYW5pbWFsLXRlbXBsYXRlICNzY2hvb2wgZGl2IHtcbiAgLyogICBib3JkZXI6IHNvbGlkOyAqL1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbiNhbmltYWwtdGVtcGxhdGUgLmxpc3RlLWNvbmR1Y3RldXIgbGkge1xuICAvKiAgIGJvcmRlcjogc29saWQ7ICovXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHdpZHRoOiA0OCU7XG4gIGRpc3BsYXk6IGlubGluZS10YWJsZVxufVxuXG4jYW5pbWFsLXRlbXBsYXRlICNwYXNzZXBvcnQge1xuICB3aWR0aDogMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbiNhbmltYWwtdGVtcGxhdGUgLmRlc2NyaXB0aWYgc3ZnIHtcbiAgd2lkdGg6IDI1cHg7XG59XG5cbiNhbmltYWwtdGVtcGxhdGUgLmxpc3RlLWNvbmR1Y3RldXIgYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuI2FuaW1hbC10ZW1wbGF0ZSAuZGVzY3JpcHRpZiAucmVzdW1lLXRleHQsICNtZW1iZXItdGVtcGxhdGUgLmRlc2NyaXB0aWYgLnJlc3VtZS10ZXh0IHtcbiAgYm9yZGVyOiBzb2xpZCA1cHggJGRwbV9jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jYW5pbWFsLXRlbXBsYXRlIC5yZXN1bWUtdGV4dCAjbXlJbWcge1xuICBtYXgtaGVpZ2h0OiAyNzBweDtcbn1cblxuLyogU3R5bGUgdGhlIEltYWdlIFVzZWQgdG8gVHJpZ2dlciB0aGUgTW9kYWwgKi9cbiNteUltZyB7XG4gIC8qYm9yZGVyLXJhZGl1czogNXB4OyovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICM5OTk7XG59XG5cbiNteUltZzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLyogQ2FwdGlvbiBvZiBNb2RhbCBJbWFnZSAoSW1hZ2UgVGV4dCkgLSBTYW1lIFdpZHRoIGFzIHRoZSBJbWFnZSAqL1xuI2NhcHRpb24ge1xuICBib3gtc2hhZG93OiBub25lO1xuICBtYXJnaW46IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogODAlO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qY29sb3I6ICNjY2M7Ki9cbiAgcGFkZGluZzogMTBweCAwO1xuICBoZWlnaHQ6IDE1MHB4O1xufVxuXG4vKiBBZGQgQW5pbWF0aW9uIC0gWm9vbSBpbiB0aGUgTW9kYWwgKi9cbi5tb2RhbC1jb250ZW50LCAjY2FwdGlvbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XG59XG5cbkBrZXlmcmFtZXMgem9vbSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMClcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKVxuICB9XG59XG5cbi8qIFRoZSBDbG9zZSBCdXR0b24gKi9cbi5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3JTtcbiAgcmlnaHQ6IDIxJTtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiA3MHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuXG4uY2xvc2U6aG92ZXIsXG4uY2xvc2U6Zm9jdXMge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIDEwMCUgSW1hZ2UgV2lkdGggb24gU21hbGxlciBTY3JlZW5zICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKm1lbWJlciB0ZW1wbGF0ZSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4jbWVtYmVyLXRlbXBsYXRlIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuI21lbWJlci10ZW1wbGF0ZSB1bCB7XG4gIHBhZGRpbmc6IDBcbn1cblxuI21lbWJlci10ZW1wbGF0ZSBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbiNtZW1iZXItdGVtcGxhdGUgI3NtYWxsIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubWVtYmVyLWNhdGVnb3J5IGxpIHtcbiAgLyogICBib3JkZXI6IHNvbGlkOyAqL1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB3aWR0aDogNDklO1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGVcbn1cblxuI21lbWJlci10ZW1wbGF0ZSAjZ2xvYmFsLWRldGFpbHMgLnJlc3VtZS10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jbWVtYmVyLXRlbXBsYXRlICNjYXRlZ29yeS1kZXRhaWxzIC5yZXN1bWUtdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqbWVtYmVyIGxpc3QgKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4jbWVtYmVyLXNlY3Rpb24gLm1lbWJlcnMtbGlzdCB7XG4gIGJvcmRlcjogc29saWQgNXB4ICRkcG1fY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICAvKiAgIGNvbG9yOiB3aGl0ZTsgKi9cbn1cblxuI21lbWJlci1zZWN0aW9uICNzaG93LCAjbWVtYmVyLXNlY3Rpb24gI2VkaXQge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi8qKioqKioqKioqKioqKipkYXRlIGZvcm0qKioqKioqKioqKioqKioqKiovXG5cbiNhcHBfYnVuZGxlX2FuaW1hbF90eXBlX3JhZ19kYXRlX21vbnRoLFxuI2FwcF9idW5kbGVfYW5pbWFsX3R5cGVfcmFnX2RhdGVfZGF5LFxuI2FwcF9idW5kbGVfYW5pbWFsX3R5cGVfcmFnX2RhdGVfeWVhcixcbiNmYW1pbHlfc29sb19maXJzdF9hZGhfZGF0ZV9tb250aCxcbiNmYW1pbHlfc29sb19maXJzdF9hZGhfZGF0ZV9kYXksXG4jZmFtaWx5X3NvbG9fZmlyc3RfYWRoX2RhdGVfeWVhcixcbiNtZW1iZXJfc29sb19kb2JfbW9udGgsXG4jbWVtYmVyX3NvbG9fZG9iX2RheSxcbiNtZW1iZXJfc29sb19kb2JfeWVhcixcbiNmYW1pbHlfc29sb19lbmRfYWRoX2RhdGVfbW9udGgsXG4jZmFtaWx5X3NvbG9fZW5kX2FkaF9kYXRlX2RheSxcbiNmYW1pbHlfc29sb19lbmRfYWRoX2RhdGVfeWVhcixcbiNmYW1pbHlfc29sb19pbnN1cmFuY2VEYXRlX21vbnRoLFxuI2ZhbWlseV9zb2xvX2luc3VyYW5jZURhdGVfZGF5LFxuI2ZhbWlseV9zb2xvX2luc3VyYW5jZURhdGVfeWVhcixcbiNhcHBfYnVuZGxlX2FuaW1hbF90eXBlX2RvYl9kYXksXG4jYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9kb2JfbW9udGgsXG4jYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9kb2JfeWVhcixcbiNhcHBfYnVuZGxlX2FkaGVyZW50X3R5cGVfZG9iX2RheSxcbiNhcHBfYnVuZGxlX2FkaGVyZW50X3R5cGVfZG9iX21vbnRoLFxuI2FwcF9idW5kbGVfYWRoZXJlbnRfdHlwZV9kb2JfeWVhcixcbiNhcHBfYnVuZGxlX2ZhbWlseV90eXBlX2VuZF9hZGhfZGF0ZV9kYXksXG4jYXBwX2J1bmRsZV9mYW1pbHlfdHlwZV9lbmRfYWRoX2RhdGVfbW9udGgsXG4jYXBwX2J1bmRsZV9mYW1pbHlfdHlwZV9lbmRfYWRoX2RhdGVfeWVhcixcbiNhcHBfYnVuZGxlX2ZhbWlseV90eXBlX2ZpcnN0X2FkaF9kYXRlX2RheSxcbiNhcHBfYnVuZGxlX2ZhbWlseV90eXBlX2ZpcnN0X2FkaF9kYXRlX21vbnRoLFxuI2FwcF9idW5kbGVfZmFtaWx5X3R5cGVfZmlyc3RfYWRoX2RhdGVfeWVhcixcbiNhcHBfYnVuZGxlX2ZhbWlseV90eXBlX2luc3VyYW5jZURhdGVfZGF5LFxuI2FwcF9idW5kbGVfZmFtaWx5X3R5cGVfaW5zdXJhbmNlRGF0ZV9tb250aCxcbiNhcHBfYnVuZGxlX2ZhbWlseV90eXBlX2luc3VyYW5jZURhdGVfeWVhcixcbiNhbmltYWxfc29sb19kb2JfZGF5LFxuI2FuaW1hbF9zb2xvX2RvYl9tb250aCxcbiNhbmltYWxfc29sb19kb2JfeWVhcixcbiNhbmltYWxfc29sb19yYWdfZGF0ZV9kYXksXG4jYW5pbWFsX3NvbG9fcmFnX2RhdGVfbW9udGgsXG4jYW5pbWFsX3NvbG9fcmFnX2RhdGVfeWVhcixcbiNhbmltYWxfc29sb19kb2RfZGF5LFxuI2FuaW1hbF9zb2xvX2RvZF9tb250aCxcbiNhbmltYWxfc29sb19kb2RfeWVhcixcbiNhcHBfYnVuZGxlX2FuaW1hbF90eXBlX2RvZF9kYXksXG4jYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9kb2RfbW9udGgsXG4jYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9kb2RfeWVhcixcbiNhcHBfYnVuZGxlX2FuaW1hbF90eXBlX2RhdGVPdGhlclZhY2Npbl9kYXksXG4jYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9kYXRlT3RoZXJWYWNjaW5fbW9udGgsXG4jYXBwX2J1bmRsZV9hbmltYWxfdHlwZV9kYXRlT3RoZXJWYWNjaW5feWVhcixcbiNhbmltYWxfc29sb19kYXRlT3RoZXJWYWNjaW5fZGF5LFxuI2FuaW1hbF9zb2xvX2RhdGVPdGhlclZhY2Npbl9tb250aCxcbiNhbmltYWxfc29sb19kYXRlT3RoZXJWYWNjaW5feWVhcixcbiNhcHBfYnVuZGxlX2FsZXJ0ZV90eXBlX2FsZXJ0ZURhdGVfZGF5LFxuI2FwcF9idW5kbGVfYWxlcnRlX3R5cGVfYWxlcnRlRGF0ZV9tb250aCxcbiNhcHBfYnVuZGxlX2FsZXJ0ZV90eXBlX2FsZXJ0ZURhdGVfeWVhciB7XG4gIHdpZHRoOiAzMi4yJSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqTkFWIERST0lURSoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uYm91dG9uLWxhdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAxMTBweDtcbiAgei1pbmRleDogMTAwO1xuICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICM5OTk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xufVxuXG4uYm91dG9uLWxhdCBzdmcge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGNvbG9yOiAjMDA4MDgwO1xuICBtYXJnaW46IDEwcHggMDtcbiAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbn1cblxuLmJvdXRvbi1sYXQgLmJ0biwgLmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYm91dG9uLWxhdCAuc2lkZWJhciB7XG4gIHdpZHRoOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKipJTkRFWCAqKioqKioqKioqKioqKioqKiovXG4vLyNpbmRleCB7XG4vLyAgaDEge1xuLy8gICAgc3ZnIHtcbi8vICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuLy8gICAgfVxuLy8gIH1cbi8vXG4vLyAgaDUge1xuLy8gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbi8vICAgIGZvbnQtc2l6ZTogMzBweDtcbi8vICB9XG4vL1xuLy8gIC5zdGF0cy1tZW1icmVzIHtcbi8vICAgIGgxIHtcbi8vICAgICAgY29sb3I6ICRkcG1fY29sb3Jcbi8vICAgIH1cbi8vICB9XG4vL1xuLy8gIHRoLCB0ZCB7XG4vLyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbi8vICB9XG4vL1xuLy8gIC5mYS1jbG91ZHNjYWxlIHtcbi8vICAgIGZvbnQtc2l6ZTogODBweDtcbi8vICAgIGNvbG9yOiAjZDRkNGQ0O1xuLy8gIH1cbi8vXG4vLyAgYSB7XG4vLyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vL1xuLy8gICAgaDIge1xuLy8gICAgICBmb250LXNpemU6IDJyZW07XG4vLyAgICB9XG4vLyAgfVxuLy9cbi8vICAuY29tcHRlX2hvbWUge1xuLy8gICAgZGlzcGxheTogZmxleDtcbi8vICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuLy8gICAgcGFkZGluZzogMCAxNXB4O1xuLy8gICAgZmxleC13cmFwOiB3cmFwXG4vLyAgfVxuLy9cbi8vICAuY29tcHRlX2hvbWUgPiBkaXYge1xuLy8gICAgd2lkdGg6IDMzJTtcbi8vICAgIHBhZGRpbmc6IDAgMTBweDtcbi8vICB9XG4vL1xuLy8gIC5jb21wdGVfaG9tZSA+IGRpdjpudGgtY2hpbGQoMikge1xuLy8gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZHBtX2NvbG9yO1xuLy8gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGRwbV9jb2xvcjtcbi8vXG4vLyAgfVxuLy99XG5cbi8qKioqKioqKioqKioqKioqQUNDRVVJTCoqKioqKioqKioqKioqKioqKiovXG4vLyNhY2N1ZWlsLWFkaGVyZW50IHtcbi8vICBtYXJnaW4tdG9wOiA1JTtcbi8vfVxuLy9cbi8vI2FjY3VlaWwtYWRoZXJlbnQgLmNvbC00IGEge1xuLy8gIGJhY2tncm91bmQ6ICRkcG1fY29sb3I7XG4vLyAgYm9yZGVyLXJhZGl1czogMTBweDtcbi8vICBwYWRkaW5nOiAyMHB4O1xuLy8gIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICBjb2xvcjogI2ZmZmZmZjtcbi8vfVxuLy9cbi8vI2FjY3VlaWwtYWRoZXJlbnQgLmNvbC00IGE6aG92ZXIge1xuLy8gIGJvcmRlcjogMXB4ICRkcG1fY29sb3Igc29saWQ7XG4vLyAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuLy8gIGNvbG9yOiAjNTlEQkRCO1xuLy8gIGZvbnQtd2VpZ2h0OiBib2xkXG4vL31cblxuLyoqKioqKioqKioqKioqKioqKkRPQ1VNRU5UUyoqKioqKioqKioqKioqKi9cbiNkb2N1bWVudHMgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuI2FwcF9idW5kbGVfZG9jdW1lbnRzX2ltYWdlRmlsZSwgI2FkZF9kb2N1bWVudF9zb2xvX2ltYWdlRmlsZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuI2RldGFpbC1kb2Mge1xuICBib3JkZXI6IHNvbGlkIDVweCAkZHBtX2NvbG9yO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuI2RvY3VtZW50cyB0ZCwgdGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKipDT01NRU5UIFpPTkUqKioqKioqKioqKiovXG4jY29tbWVudCB7XG4gIGJvcmRlcjogc29saWQgNXB4ICRkcG1fY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jbWVtYmVyLXRlbXBsYXRlICNjb21tZW50IC5kZXNjcmlwdGlvbiwgI2FuaW1hbC10ZW1wbGF0ZSAjY29tbWVudCAuZGVzY3JpcHRpb24ge1xuICAvKmJvcmRlcjogc29saWQgMXB4ICRkcG1fY29sb3I7Ki9cbiAgaGVpZ2h0OiAxOTBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuI2NvbW1lbnQgLmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgY29sb3I6ICM0OTUwNTc7XG59XG5cbiNjb21tZW50IC5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogIzQ5NTA1Nztcbn1cblxuI2NvbW1lbnQgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cbiAgY29sb3I6ICM0OTUwNTc7XG59XG5cbiNjb21tZW50IC5mb3JtLWNvbnRyb2w6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gIGNvbG9yOiAjNDk1MDU3O1xufVxuXG4jY29tbWVudCB0ZXh0YXJlYSB7XG4gIGhlaWdodDogMTAwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKipjb25maWcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI2NvbmZpZy13cmFwcGVyIC5jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4jY29uZmlnLXdyYXBwZXIgc2VsZWN0LCAjY29uZmlnLXdyYXBwZXIgaW5wdXQsICNjb25maWctd3JhcHBlciBsYWJlbCB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cbiNjb25maWctd3JhcHBlciAjYWN0aXZpdGUgLnNlYXJjaCBsYWJlbCwgI2NvbmZpZy13cmFwcGVyICNyYWNlIC5zZWFyY2ggbGFiZWwge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBtYXJnaW46IDIwcHggYXV0bztcbn1cblxuI3Bvd2VyLW9uIHtcbiAgY29sb3I6ICNjODIzMzM7XG4gIGZvbnQtc2l6ZTogMjVweFxufVxuXG4jdXNlcl9hY3Rpdml0eV90YWJsZSAjdXNlclJvbGUgI2VkaXQge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAyNXB4XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogcmFkaW8gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaW5wdXQsIHRleHRhcmVhLCBidXR0b24ge1xuICAvKi13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgcmVzaXplOiBub25lO1xufVxuXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5kcm9wZG93bjpob3ZlciA+IC5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbnB1dC1mbGF0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jUmV0b3VyIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHotaW5kZXg6IDk5OTk5O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbiAwLjJzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm90dG9tOiAxZW07XG4gIHJpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY1JldG91cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMSk7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluIDAuMnM7XG59XG5cbiNhcnJvdywgI3Bob25lIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4jY29uZmlnLXdyYXBwZXIgdWwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8jY29uZmlnLXdyYXBwZXIgdWwgbGkge1xuLy8gIHdpZHRoOiA0OSU7XG4vLyAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy99XG5cbi8qKioqKioqKioqKioqKioqKioqVVNFUiBST0xFKioqKioqKioqKioqKioqKioqKiovXG5cbiNwb3dlci1vZmYge1xuICBjb2xvcjogI2M4MjMzMztcbiAgZm9udC1zaXplOiAyNXB4XG59XG5cbiN3YXJuaW5nIHtcbiAgY29sb3I6ICNGRkE1MDA7XG4gIGZvbnQtc2l6ZTogMjVweDtcbn1cblxuI3Bvd2VyLW9uIHtcbiAgY29sb3I6ICMyOGE3NDU7XG4gIGZvbnQtc2l6ZTogMjVweFxufVxuXG4jdXNlclJvbGUgI2VkaXQge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAyNXB4XG59XG5cbiN1c2VyUm9sZSB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqRVhQT1JUUyoqKioqKioqKioqKioqKioqKioqKioqL1xuI2V4cG9ydC1jaG9pY2UgYTpub3QoLmxpbmstY291cnNlcyksICNleHBvcnQtY2hvaWNlIC5idG4tc2Vjb25kYXJ5IHtcbiAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDNweCAwIDNweCAjOTk5ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2VlYzY0ZCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogIzU2NTY1NjtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNleHBvcnQtY2hvaWNlIHtcbiAgcGFkZGluZzogMjBweFxufVxuXG4jZXhwb3J0LWNob2ljZSBhIHN2ZyB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgY29sb3I6ICNlZWM2NGQ7XG59XG5cbiNleHBvcnQtY2hvaWNlIGE6aG92ZXIgc3ZnLCAjZXhwb3J0LWNob2ljZSAuYWN0aXZlIHN2ZyB7XG4gIGNvbG9yOiAjNTY1NjU2XG59XG5cbi8qKioqKioqKioqKioqKioqKipBTEVSVEUqKioqKioqKioqKioqKioqKioqKioqL1xuI2FsZXJ0LXdyYXBwZXIgLmNvbnRhaW5lciB7XG4gIGJvcmRlcjogc29saWQgI2M4MjMzMyAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG1hcmdpbjogNTBweCBhdXRvIDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuLy9cbi8vI2FsZXJ0LXdyYXBwZXIgbGFiZWwge1xuLy8gIGRpc3BsYXk6IGJsb2NrO1xuLy99XG4vL1xuLy9cbi8vI2FsZXJ0LXdyYXBwZXIgI2FwcF9idW5kbGVfYWxlcnRlX3R5cGVfYWxlcnRlRGF0ZV9kYXksXG4vLyNhbGVydC13cmFwcGVyICNhcHBfYnVuZGxlX2FsZXJ0ZV90eXBlX2FsZXJ0ZURhdGVfbW9udGgsXG4vLyNhbGVydC13cmFwcGVyICNhcHBfYnVuZGxlX2FsZXJ0ZV90eXBlX2FsZXJ0ZURhdGVfeWVhciB7XG4vLyAgd2lkdGg6IDMyLjklO1xuLy99XG4vL1xuLy8jYWxlcnQtd3JhcHBlciB0ZXh0YXJlYSB7XG4vLyAgd2lkdGg6IDEwMCU7XG4vL31cbi8vXG4vLyNsaXN0ZS1hbGVydGUgdGJvZHkgdGgsICNjb3Rpc2F0aW9uLWFsZXJ0ZSB0Ym9keSB0aCB7XG4vLyAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vfVxuLy9cbi8vI2xpc3RlLWFsZXJ0ZSAuZmlsdHJlIHtcbi8vICBkaXNwbGF5OiBmbGV4O1xuLy8gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuLy8gIGZsZXgtd3JhcDogd3JhcFxuLy99XG4vL1xuLy8jbGlzdGUtYWxlcnRlIC5maWx0cmUgPiBidXR0b24ge1xuLy8gIG1hcmdpbi10b3A6IDEwcHg7XG4vL31cbi8vXG4vLyNhY3Rpb24tYWxlcnRlIC5ob3ZlciB7XG4vLyAgZGlzcGxheTogbm9uZTtcbi8vfVxuLy9cbi8vI2FjdGlvbi1hbGVydGUgLmhvdmVyIGEge1xuLy8gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuLy8gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4vLyAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4vLyAgY29sb3I6ICMxN2EyYjg7XG4vL31cbi8vXG4vLyNhY3Rpb24tYWxlcnRlIC5ob3ZlciBhOmhvdmVyIHtcbi8vICBiYWNrZ3JvdW5kOiAjMTdhMmI4O1xuLy8gIGNvbG9yOiAjZmZmO1xuLy99XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5tb2RhbHNcbiAqL1xuXG4vKiBUaGUgTW9kYWwgKGJhY2tncm91bmQpICovXG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lOyAvKiBIaWRkZW4gYnkgZGVmYXVsdCAqL1xuICBwb3NpdGlvbjogZml4ZWQ7IC8qIFN0YXkgaW4gcGxhY2UgKi9cbiAgei1pbmRleDogMTsgLyogU2l0IG9uIHRvcCAqL1xuICBwYWRkaW5nLXRvcDogMTAwcHg7IC8qIExvY2F0aW9uIG9mIHRoZSBib3ggKi9cbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCAqL1xuICBoZWlnaHQ6IDEwMCU7IC8qIEZ1bGwgaGVpZ2h0ICovXG4gIG92ZXJmbG93OiBhdXRvOyAvKiBFbmFibGUgc2Nyb2xsIGlmIG5lZWRlZCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCk7IC8qIEZhbGxiYWNrIGNvbG9yICovXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgLyokdHh0X2NvbG9yX2Rhcmsgdy8gb3BhY2l0eSAqL1xufVxuXG4vKiBNb2RhbCBDb250ZW50ICovXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICB3aWR0aDogODAlO1xuICBib3gtc2hhZG93OiAwIDRweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgNnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBhbmltYXRldG9wO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC40cztcbiAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGV0b3A7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC40c1xufVxuXG4vKiBBZGQgQW5pbWF0aW9uICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZXRvcCB7XG4gIGZyb20ge1xuICAgIHRvcDogLTMwMHB4O1xuICAgIG9wYWNpdHk6IDBcbiAgfVxuICB0byB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDFcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGV0b3Age1xuICBmcm9tIHtcbiAgICB0b3A6IC0zMDBweDtcbiAgICBvcGFjaXR5OiAwXG4gIH1cbiAgdG8ge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAxXG4gIH1cbn1cblxuLyogVGhlIENsb3NlIEJ1dHRvbiAqL1xuLmNsb3NlTW9kYWwge1xuICBjb2xvcjogd2hpdGU7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNsb3NlTW9kYWw6aG92ZXIsXG4uY2xvc2VNb2RhbDpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IDJweCAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogMnB4IDE2cHg7XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAycHggMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YztcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4vKiBwYWdlIHNhaXNpIGNvbW1lbnRhaXJlKi9cblxuI2NvbW1lbnQtem9uZSB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8qKioqKioqKioqKioqT1VUSUxTKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKk9VVElMUyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNvdXRpbHMgLm9uLW9mZiB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuI291dGlscyAub24tb2ZmIGEge1xuICBsaW5lLWhlaWdodDogMlxufVxuXG4jb3V0aWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jb3V0aWxzICNpZGVudGlmaWNhdGlvbiB7XG4gIHdpZHRoOiA0MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuI291dGlscyAjb3Zlci1vdXRpbHMge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDU1JTtcbiAgcmlnaHQ6IDA7XG59XG5cbiNvdXRpbHMgI2lkZW50aWZpY2F0aW9uOmhvdmVyICNvdmVyLW91dGlscyB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jb3V0aWxzICNvdmVyLW91dGlscyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDgwJTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjOTk5O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiA5MDA7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNvdXRpbHMgI292ZXItb3V0aWxzIGxpIHtcbiAgd2lkdGg6IDMzJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4jb3V0aWxzICNvdmVyLW91dGlscyBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNvdXRpbHMgI292ZXItb3V0aWxzIC5pZC1udW1iZXIsICNvdXRpbHMgI292ZXItb3V0aWxzIC5vbi1vZmYge1xuICB3aWR0aDogMTAwJTtcbn1cblxuI291dGlscyAjb3Zlci1vdXRpbHMgbGkgaW1nIHtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xufVxuXG4jb3V0aWxzICNvdmVyLW91dGlscyBsaSBzdmcge1xuICBmb250LXNpemU6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4jb3V0aWxzICNvdmVyLW91dGlscyBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAwO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbiNmYW1pbHktZGVzYyAjb3V0aWxzIC5mYW1pbHktc3VwcHJlc2lvbjpob3ZlciAuc3VwcHJlc2lvbi1ob3ZlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbiNmYW1pbHktZGVzYyAjb3V0aWxzIC5mYW1pbHktc3VwcHJlc2lvbiAuc3VwcHJlc2lvbi1ob3ZlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNmYW1pbHktZGVzYyAjb3V0aWxzIC5mYW1pbHktc3VwcHJlc2lvbiAuc3VwcHJlc2lvbi1ob3ZlciBhIHtcbiAgbGluZS1oZWlnaHQ6IDIuMjtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4jZmFtaWx5LWRlc2MgI291dGlscyAuZmFtaWx5LXN1cHByZXNpb24gLnN1cHByZXNpb24taG92ZXIgYTpob3ZlciB7XG4gIGxpbmUtaGVpZ2h0OiAyLjI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAgICBlbWFpbCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNjcmVhdGUtZW1haWwgaW5wdXQsICNjcmVhdGUtZW1haWwgdGV4dGFyZWEsICNjcmVhdGUtZW1haWwgc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCVcbn1cblxuI2VtYWlsLXdyYXBwZXIgLmNvbnRhaW5lciB7XG4gIGJvcmRlcjogc29saWQgIzk3YmZlMyAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG1hcmdpbjogNTBweCBhdXRvIDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4jZW1haWwtc2VuZCBzZWxlY3QsICNlbWFpbC1zZW5kIHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuI2VtYWlsLXNlbmQgaW5wdXQge1xuICB3aWR0aDogMTAwJVxufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qICAgIGZvcm11bGFpcmVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uY29tbWVudF9mb3JtIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcmVzaXplOiBub25lO1xufVxuXG4jZm9ybV9yZXF1aXJlZCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJldmlld19mcm9udF9ib3gge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAjOTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC44KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ucHJldmlld19mcm9udF9ib3ggLnByZXZpZXdfYm94IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA5MHZ3O1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5wcmV2aWV3X2Zyb250X2JveCBpbWcge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbiNkb2N1bWVudHMgLmNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2Nsb3NlX3ByZXZpZXcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbiNjbG9zZV9wcmV2aWV3OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2M4MjMzMztcbiAgY29sb3I6ICNmZmY7XG59XG5cblxuZGl2LmR0cyBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHtcbiAgYmFja2dyb3VuZDogbm9uZVxufVxuXG4uZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciBpbnB1dCxcbi5kYXRhVGFibGVzX3dyYXBwZXIgbGFiZWwsXG4uZGF0YVRhYmxlc193cmFwcGVyIHNlbGVjdCB7XG4gIHdpZHRoOiBpbml0aWFsO1xuICBmb250LXNpemU6IGluaXRpYWw7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmR0LWJ1dHRvbnMge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIgYnV0dG9uLmR0LWJ1dHRvbixcbi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmR0LWJ1dHRvbixcbi5kYXRhVGFibGVzX3dyYXBwZXIgYS5kdC1idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbiN0YWJsZV9hbGVydGVfZmlsdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiN0YWJsZV9hbGVydGVfZmlsdGVyIGlucHV0IHtcbiAgd2lkdGg6IDc0JTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAgICBTRUFSQ0ggUEFHRSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4jc2VhcmNoX3Jlc3VsdCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogICAgcHJlc2VuY2VzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4jY291cnNlLXdyYXBwZXIgLmNvbnRhaW5lciB7XG4gIGJvcmRlcjogc29saWQgI2Y4YWE2YTtcbn1cblxuI2NvdXJzZS13cmFwcGVyIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5saXN0ZV9tb25pdGV1cnMgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZmMtY2VudGVyIGgyIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbiNjb3Vyc2Utd3JhcHBlciAudG9nZ2xlLWdyb3VwIGxhYmVsIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbiNhcnRpY2xlX2ZpbHRlcl9tb2JpbGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMXZoO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgd2lkdGg6IDkzJTtcbiAgbWFyZ2luOiAwIDIuNzV2dztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogNXB4IDVweCAwO1xuICBib3gtc2hhZG93OiAwIDNweCA1MHB4ICMwMDAwMDAxQztcbn1cblxuI2FydGljbGVfZmlsdGVyX21vYmlsZSAucGFuZWwtaGVhZGluZyBhIHtcbiAgd2lkdGg6IDkzJTtcbn1cblxuI2FydGljbGVfZmlsdGVyX21vYmlsZSAucGFuZWwtZGVmYXVsdCB7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuI2FydGljbGVfZmlsdGVyX21vYmlsZSAuY2F0ZWdvcnlfdGl0bGUge1xuICBsaW5lLWhlaWdodDogMztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNhN2E4YTk7XG59XG5cbiNhcnRpY2xlX2ZpbHRlcl9tb2JpbGUgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4jYXJ0aWNsZV9maWx0ZXJfbW9iaWxlIC5wcmVzc190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDM7XG4gIGNvbG9yOiAjMDAzYjVjO1xufVxuXG4jYXJ0aWNsZV9maWx0ZXJfbW9iaWxlIC5jYXRlZ29yaWVfdGl0cmUgdWwsICNhcnRpY2xlX2ZpbHRlcl9tb2JpbGUgLnN1Yl9maWx0cmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbiNhcnRpY2xlX2ZpbHRlcl9tb2JpbGUge1xuICAvKiAgIGJvcmRlcjogc29saWQ7ICAqL1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAjOTk5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLmZhbWlseS1zdXBwcmVzaW9uOmhvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5mYW1pbHktc3VwcHJlc2lvbjpob3ZlciAucmdwZC1zZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDAgMXB4ICM5OTlcbn1cblxuI2V4cG9ydC12aWV3cyAjdGFibGVfcmVzcG9uc2l2ZV93cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNxdWlja19hZGRfZm9ybSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlcjogc29saWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC41KTtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBpIHtcblxuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICByaWdodDogNXB4O1xuICAgIH1cbiAgfVxuICAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgd2lkdGg6IDkwdnc7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsXG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgIH1cbiAgICAuZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICAgIC5zZWxlY3Qge1xuICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICBtYXJnaW46IDElO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc3VibWl0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG4jY29tcHRhLXdyYXBwZXIge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG59IiwiLmNyZWF0aW9uX2Zvcm0ge1xuICAuZGlzY291bnRfY2hvaWNlLCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMzLjVweDtcbiAgICAgIC5jaGVja2JveCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgLnRvZ2dsZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc3Vic19kZXRhaWxzIHtcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG4gIC5yZWR1Y3Rpb25fdHlwZSAuY2hlY2tib3gge1xuICAgIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIC50b2dnbGV7XG4gICAgICAgIHdpZHRoOiA5OCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbiNtZW51LXNpZGViYXIucHJvamVjdF9tZW51IHtcbiAgLmhjLW9mZmNhbnZhcy1uYXYge1xuICAgIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsb2dpc3RpY19jb2xvcjtcbiAgICB9XG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbG9naXN0aWNfY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiNwcm9qZWN0LWNvbnRhaW5lciB7XG4gICNmb3JtX2Fic29sdXRlLmNyZWF0aW9uX2Zvcm0sXG4gICNmb3JtX2Fic29sdXRlLmNyZWF0aW9uX2Zvcm1fZG9jLFxuICAjZm9ybV9hYnNvbHV0ZV9yZXBvcnQuY3JlYXRpb25fZm9ybV9yZXBvcnR7XG4gICAgLmNvbnRlbnQge1xuICAgICAgYm9yZGVyOiBzb2xpZCAkbG9naXN0aWNfY29sb3I7XG4gICAgfVxuICB9XG4gICNmb3JtX2Fic29sdXRlX2J1dHRvbntcbiAgICByaWdodDogMjBweDtcbiAgfVxuICAudGFiIHtcbiAgICBoMiB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgJGxvZ2lzdGljX2NvbG9yO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPi5jb250YWluZXIsIC5jb250YWluZXIucHJvamVjdCB7XG4gICAgYm9yZGVyOiBzb2xpZCAkbG9naXN0aWNfY29sb3IgMXB4ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgLy9taW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAuaG9tZV9oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICA+ZGl2e1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIG1hcmdpbjogNXB4IDVweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgd2lkdGg6IDIxJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuaG9tZV9oZWFkZXJ7XG4gICAgfVxuICB9XG4gIC50YWJfY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuY2FyZCB7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDNweCAkbG9naXN0aWNfY29sb3I7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB3aWR0aDogMzIlO1xuICAgIG1hcmdpbi1yaWdodDogMS4zJTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAlO1xuICAgIH1cbiAgICA+LnRvcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbG9naXN0aWNfY29sb3I7XG4gICAgICA+ZGl2IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcCB7XG4gICAgICAucmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBkaXYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAudG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICAgIC5yaWdodCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgfVxuICAgICAgLmxlZnQge1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkbG9naXN0aWNfY29sb3I7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgLnRleHQtY2VudGVyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWlkZGxlIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGxvZ2lzdGljX2NvbG9yO1xuICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIC50ZXh0LWNlbnRlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWRkX2Zvcm1fZG9jX2J1dHRvbntcbiAgICByaWdodDogMTYwcHghaW1wb3J0YW50OztcbiAgfVxuXG5cbiAgI3Byb2plY3RfZGV0YWlscyB7XG4gICAgI3Byb2plY3RfcXVpY2tfYWN0aW9uIHtcbiAgICAgIC5kZWxldGVfcmVwb3J0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm9zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgID5kaXYge1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgd2lkdGg6IDIyJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzZWN0aW9uIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkbG9naXN0aWNfY29sb3I7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMTBweDtcbiAgICB9XG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJvdHRvbSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gICAgLmxlZ2VuZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgID5kaXYge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5kZWFkIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmVuY291cnMge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogZ3JleTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBhc3NlZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnByb2NoZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBvcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5oZWxwX25vdGljZSB7XG4gICAgICAgIGJvcmRlcjogMXB4ICRsb2dpc3RpY19jb2xvciBzb2xpZDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGxvZ2lzdGljX2NvbG9yO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICN0YXNrcywgI2NhbGVuZGFyMXtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuXG5cbn0iLCIjc2VhcmNoLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDUwcHg7XG4gICAgdG9wOiAyNXB4O1xuICB9XG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzO1xuICAgIHJpZ2h0OiAwO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICBpLnNlYXJjaF9pY29uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcztcbiAgICB9XG4gIH1cblxuICAuYnRuLm9wZW4ge1xuICAgIHdpZHRoOiA5MHZ3O1xuICAgIG1pbi1oZWlnaHQ6IDUzcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzO1xuICAgIGJhY2tncm91bmQ6ICMxN2EyYjg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMHZ3O1xuICAgICAgei1pbmRleDogOTk5OTk5O1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgd2lkdGg6IDk3JTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcztcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICB3aWR0aDogOTQlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGkuc2VhcmNoX2ljb24ge1xuICAgICAgd2lkdGg6IDIlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICNzZWFyY2hfcmVzdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgd2lkdGg6IDk2LjglO1xuICAgIG1hcmdpbi1yaWdodDogMi45JTtcbiAgICBjb2xvcjokdHh0X2NvbG9yX2Rhcms7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA5M3ZoO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICB3aWR0aDogOTMuNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUuNiU7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiR0eHRfY29sb3JfZGFyaztcbiAgICB9XG5cbiAgICAjZmFtaWxpZXMge1xuICAgICAgLmJvcmRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDAgM3B4ICM5OTkgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogNXB4XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3NlYXJjaF9yZXN1bHRfYmFjayB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IC05O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjUpO1xuICB9XG59XG5cblxuXG5ib2R5LmJldGFfbW9kZXtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xufVxuYm9keS5iZXRhX21vZGUgLm1lc3NhZ2VfYmV0YXtcbiAgcGFkZGluZzogNXB4IDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmJvZHkuYmV0YV9tb2RlIC5tZXNzYWdlX2JldGEgYXtcbiAgY29sb3I6ICMwNDZmYWE7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIWltcG9ydGFudDtcbn1cblxuLm1lc3NhZ2VkZWZpbGFudCAge1xuICAtbW96LWFuaW1hdGlvbjogbWFycXVlZSAzMHMgbGluZWFyIGluZmluaXRlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogbWFycXVlZSAzMHMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IG1hcnF1ZWUgMzBzIGxpbmVhciBpbmZpbml0ZTtcbn1cbkAtbW96LWtleWZyYW1lcyBtYXJxdWVlIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBtYXJxdWVlIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbn1cbkBrZXlmcmFtZXMgbWFycXVlZSB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5PVkVSUklERSBERSBIQ09GRkNBTlZBU1xuICovXG4uaGMtb2ZmY2FudmFzLW5hdiAubmF2LWNsb3NlIGE6aG92ZXJ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5cbmhlYWRlcntcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggMCByZ2JhKDEzOCwgMTU1LCAxNjUsIDAuMTUpO1xufVxuaGVhZGVyIC5sb2dve1xuICBtYXgtd2lkdGg6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogMSU7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIHdpZHRoOiAxNSU7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbn1cbmhlYWRlciAubG9nbyBpbWd7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1heC1oZWlnaHQ6IDY1cHg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuaGVhZGVyICNzZWFyY2gtYnRue1xuICBtYXJnaW4tcmlnaHQ6IDElO1xuICB3aWR0aDogNSU7XG4gIHBhZGRpbmc6IDAgMCAwIDZweDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDUwcHg7XG4gICAgdG9wOiAyNXB4O1xuICB9XG5cbn1cbmhlYWRlciAjbWVudS1zaXRle1xuICB3aWR0aDogOTAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5oZWFkZXIgI21lbnUtc2l0ZT51bHtcbiAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbn1cbmhlYWRlciAjbWVudS1zaXRlIHVse1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuaGVhZGVyICNtZW51LXNpdGU+dWw+bGl7XG4gIHdpZHRoOiAxMS4xMTExMTExMTExJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI21lbnUtc2l0ZT51bD5saT5he1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVudS1zaXRlPnVsPmxpPmEgc3BhbntcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgLy9tYXJnaW4tdG9wOiA4cHg7XG59XG4ubWVudV9saW5rIGltZ3tcbiAgLyogICBib3JkZXI6IHNvbGlkOyAqL1xuICB3aWR0aDogMzVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbn1cbiNtZW51LXNpdGU+dWw+bGk+YSBpe1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVudS1zaXRlIHVsIGxpIHVse1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgYmFja2dyb3VuZDogI2ZjZmFmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiYSgxMzgsIDE1NSwgMTY1LCAwLjE1KTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNtZW51LXNpdGU+dWw+bGkgaXtcbiAgZm9udC1zaXplOiAyMHB4XG59XG4jbWVudS1zaXRlIHVsIGxpOmhvdmVyIHVse1xuICBkaXNwbGF5OiBibG9ja1xufVxuXG4jbWVudS1zaXRlIHVsIGxpIHVsIGxpIGF7XG4gIHBhZGRpbmc6IDNweCAxNXB4O1xuICBtYXJnaW46IDVweCAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG5cbn1cblxuI21lbnUtc2l0ZSB1bCBsaSB1bCBsaSBhOmhvdmVye1xuICBtYXJnaW46IDVweCAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyOSwxMDMsMTY5LC42KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjZmZmO1xufVxuI21lbnUtc2l0ZSB1bCBsaSB1bCBsaSBhIGl7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogNXB4IDA7XG59XG4jbWVudS1zaXRlIGE6aG92ZXJ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI21lbnUtc2l0ZSAuc3ViLWl0ZW0gLnJpZ2h0LXNlbGVjdDpob3ZlciAucmlnaHQtc3VibWVudXtcbiAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xufVxuI21lbnUtc2l0ZSAuc3ViLWl0ZW0gLnJpZ2h0LXN1Ym1lbnV7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTAwJTtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jbWVudS1zaXRlIC5yaWdodC1zZWxlY3R7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNtZW51LXNpdGUgLnJpZ2h0LXNlbGVjdDphZnRlcntcbiAgY29udGVudDogJ1xcZjBkYSc7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiAxMnB4O1xuICBmb250LXdlaWdodDogOTAwO1xufVxuI21lbnUtc2l0ZSAuc3ViLWl0ZW17XG4gIHotaW5kZXg6IDk5OTk7XG5cbn1cbi5oYy1vZmZjYW52YXMtbmF2e1xuICB6LWluZGV4OiAxIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAgOTkycHgpe1xuLmhjLW9mZmNhbnZhcy1uYXYubmF2LW9wZW57XG4gIHotaW5kZXg6IDk5OTkhaW1wb3J0YW50O1xuXG59XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAgMTgwMHB4KXtcblxuICAjbWVudS1zaXRlIHVsIGxpIHVse1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuXG5cblxuI21lbnUtc2l0ZSAubWVudV9saW5rIC5jb25zdHJ1Y3Rpb257XG4gIGNvbG9yOiByZWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG5cbiNtZW51LXNpdGUgLm1lbnVfbGluazpob3ZlciAuY29uc3RydWN0aW9uOmFmdGVye1xuICBjb250ZW50OiAnRW4gY29uc3RydWN0aW9uJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBzb2xpZCAxcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbm5hdiBhIHtcbiAgaW1ne1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgfVxuICB9XG59XG5uYXYubmF2LW9wZW4gYXtcbiAgY29sb3I6IGluaXRpYWwhaW1wb3J0YW50O1xufVxuLmhjLW9mZmNhbnZhcy1uYXYubmF2LW9wZW5bY2xhc3MqPVwiaGMtbmF2LVwiXSBkaXYubmF2LWNvbnRhaW5lcixcbi5oYy1vZmZjYW52YXMtbmF2Lm5hdi1sZXZlbHMtb3ZlcmxhcCB1bCBsaS5sZXZlbC1vcGVuID4gLm5hdi13cmFwcGVye1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkhaW1wb3J0YW50OztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSFpbXBvcnRhbnQ7O1xufVxuXG5cbiNtZW51LXNpdGUgLm5hdi1pdGVte1xuICBtaW4td2lkdGg6IDEwNHB4O1xufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIuaGMtbmF2LXRyaWdnZXJ7XG4gIHJpZ2h0OiAyMHB4O1xufVxuLmhjLW9mZmNhbnZhcy1uYXYgLm5hdi1jb250YWluZXIsIC5oYy1vZmZjYW52YXMtbmF2IC5uYXYtd3JhcHBlciwgLmhjLW9mZmNhbnZhcy1uYXYgdWx7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAkdHh0X2NvbG9yX2Rhcms7XG59XG5cbi5oYy1vZmZjYW52YXMtbmF2Lm5hdi1sZXZlbHMtZXhwYW5kIC5uYXYtY29udGFpbmVyIGxpLmxldmVsLW9wZW4gYSwgLmhjLW9mZmNhbnZhcy1uYXYubmF2LWxldmVscy1ub25lIC5uYXYtY29udGFpbmVyIGxpLmxldmVsLW9wZW4gYSxcbi5oYy1vZmZjYW52YXMtbmF2Lm5hdi1sZXZlbHMtZXhwYW5kIC5uYXYtY29udGFpbmVyIGxpLmxldmVsLW9wZW4gYTpob3ZlciwgLmhjLW9mZmNhbnZhcy1uYXYubmF2LWxldmVscy1ub25lIC5uYXYtY29udGFpbmVyIGxpLmxldmVsLW9wZW4gYTpob3Zlcixcbi5oYy1vZmZjYW52YXMtbmF2Lm5hdi1sZXZlbHMtZXhwYW5kIC5uYXYtY29udGFpbmVyIGxpLmxldmVsLW9wZW4sIC5oYy1vZmZjYW52YXMtbmF2Lm5hdi1sZXZlbHMtbm9uZSAubmF2LWNvbnRhaW5lciBsaS5sZXZlbC1vcGVue1xuICBiYWNrZ3JvdW5kOiAjZmNmYWZmO1xufVxuLmhjLW9mZmNhbnZhcy1uYXYgbGkubmF2LWNsb3NlIGEsIC5oYy1vZmZjYW52YXMtbmF2IGxpLm5hdi1iYWNrIGF7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMjk1ODg3O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI5NTg4Nztcbn1cbi5oYy1vZmZjYW52YXMtbmF2IGEsXG4uaGMtb2ZmY2FudmFzLW5hdiBhLCAuaGMtb2ZmY2FudmFzLW5hdiAubmF2LWl0ZW17XG4gIGNvbG9yOiAkdHh0X2NvbG9yX2Rhcms7XG59XG4uaGMtb2ZmY2FudmFzLW5hdiBsaS5uYXYtY2xvc2Ugc3Bhbjo6YmVmb3JlLFxuLmhjLW9mZmNhbnZhcy1uYXYgbGkubmF2LWNsb3NlIHNwYW46OmFmdGVyIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0eHRfY29sb3JfZGFyaztcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkdHh0X2NvbG9yX2Rhcms7XG59XG4uaGMtb2ZmY2FudmFzLW5hdjpub3QoLnRvdWNoLWRldmljZSkgYTpob3ZlcntcbiAgYmFja2dyb3VuZDogI2ZjZmFmZjtcbn1cblxuLmhjLW9mZmNhbnZhcy1uYXYgbGkubmF2LWNsb3NlIGE6aG92ZXIsIC5oYy1vZmZjYW52YXMtbmF2IGxpLm5hdi1iYWNrIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmNmYWZmO1xuICBjb2xvcjogJHR4dF9jb2xvcl9kYXJrO1xufVxuLmhjLW9mZmNhbnZhcy1uYXYgc3Bhbi5uYXYtbmV4dDo6YmVmb3JlLCAuaGMtb2ZmY2FudmFzLW5hdiBsaS5uYXYtYmFjayBzcGFuOjpiZWZvcmV7XG5cbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0eHRfY29sb3JfZGFyaztcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkdHh0X2NvbG9yX2Rhcms7XG59XG4uaGMtb2ZmY2FudmFzLW5hdiBsaS5uYXYtcGFyZW50IC5uYXYtaXRlbXtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5oYy1vZmZjYW52YXMtbmF2IC5zdWItaXRlbSBsaXtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lXG59Il0sInNvdXJjZVJvb3QiOiIifQ==*/