@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Serif:ital,wght@0,400;0,700;1,400&display=swap");
:root {
  --bs-body-font-size: .9rem;
  --base-font-size: 1rem;
  --bs-border-color: var(--grey);
  --bs-border-radius: var(--border-radius-small);
}

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

.nav-link,
.dropdown-menu,
.form-select {
  --bs-nav-link-font-size: var(--base-font-size);
  font-size: inherit;
}

.nav-link {
  --bs-navbar-nav-link-padding-x: inherit;
  --bs-navbar-nav-link-padding-x: inherit;
  font-size: inherit;
  display: inline-block;
}
.nav-link:focus-visible {
  box-shadow: none;
}

.dropdown-menu {
  --bs-dropdown-font-size: var(--base-font-size);
}

.dropdown-item {
  --bs-dropdown-item-padding-y: inherit;
  --bs-dropdown-item-padding-x: inherit;
}

.placeholder {
  background-color: transparent;
  opacity: 1;
}

:root,
.ck-content {
  --light-primary-blue: #C2DCE3;
  --primary-blue: #0E738F;
  --dark-primary-blue: #A6C2C9;
  --lighter-blue: #F4F8F9;
  --light-blue: #E2E6EA;
  --dark-blue: #809BA2;
  --darker-blue: #0C5E75;
  --lighter-yellow: #FFEBAE;
  --light-yellow: #FFE186;
  --accent-yellow: #FFD75E;
  --dark-yellow: #C2B963;
  --light-red: #DC9786;
  --accent-red: #B52400;
  --white-transparent: #F6F6F669;
  --white: #FFFFFF;
  --lighter-grey: #f9f9f9;
  --light-grey: #E0E0E0;
  --grey: #C0C5C3;
  --dark-grey: #646E6B;
  --darker-grey: #343A40;
  --black: #343A40;
  --box-shadow-standard: 3px 3px 6px #00000029;
}

:root {
  --font-family-sans: "IBM Plex Sans", Helvetica, Arial, sans-serif;
  --font-family-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;
  --gin-font-size: .8rem;
}

:root {
  --max-width: 1315px;
  --max-width--narrow: 1180px;
  --gutter-standard: 1.25rem;
  --responsive-padding: 1rem;
  --vertical-padding: 1.5rem;
  --border-radius-small: .2rem;
  --border-radius-big: 1rem;
  --border-radius-bigger: 1.5rem;
}

@media (min-width: 960px) {
  :root {
    --gutter-standard: 1.5rem;
  }
}
@media (min-width: 1375px) {
  :root {
    --responsive-padding: 0;
    --gutter-standard: 1.75rem;
    --vertical-padding: 2rem;
  }
}
@media (max-width: 1620px) {
  .admin-toolbar-expanded .gin--navigation,
  .gin--vertical-toolbar[data-toolbar-menu=open] {
    --responsive-padding: 1rem;
  }
}
:root {
  --clip-angle-top: polygon(0 0, 100% 2rem, 100% 100%, 0% 100%);
  --clip-angle-bottom: polygon(0 0, 100% 0, 100% calc(100% - 2rem), 0% 100%);
}

.block--basic h2::before,
.heading-has-bar h2::before {
  content: "";
  display: block;
  height: 6px;
  width: 1.5rem;
  margin-bottom: 1rem;
  background: var(--primary-blue);
}

.caret-link {
  display: block;
  line-height: 1.2;
  margin-bottom: 0.4rem;
  padding-left: 1.2rem;
}
.caret-link:before {
  content: "";
  display: inline-block;
  border: 0.4rem solid transparent;
  border-left: 0.4rem solid var(--primary-blue);
  margin-right: 0.3rem;
  margin-left: -1.1rem;
}

.list-inline li {
  display: inline-block;
  margin-right: 0.5rem;
}

.list-inline-tags li {
  display: inline;
  margin-bottom: 0;
  margin-right: 0.2rem;
}
.list-inline-tags li::after {
  content: ",";
}
.list-inline-tags li:last-child::after {
  content: "";
}

@media (min-width: 960px) {
  .list-threecol {
    column-count: 3;
    column-gap: 3;
  }
}
.grid {
  display: grid;
  grid-gap: var(--gutter-standard);
}

@media (min-width: 768px) {
  .grid--4col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 960px) {
  .grid--2col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid--3col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid--4col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1240px) {
  .grid--4col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.columns {
  column-gap: var(--gutter-standard);
}

@media (min-width: 768px) {
  .columns--3col {
    column-count: 3;
  }
}
.content--unpublished {
  background-color: #d9eaee;
}
.content--unpublished.taxonomy-term.full {
  margin-inline: calc(-1 * var(--max-width) / 2);
}

/**
 * Basic typography
 */
html {
  font-size: 125%;
}

body {
  font-family: var(--font-family-sans);
  font-size: var(--base-font-size);
  line-height: 1.5;
  color: var(--black);
}

h1,
h2,
h3,
h4,
h5,
dl,
table,
blockquote,
p,
.form-item,
fieldset,
details {
  margin: 0 0 1.5rem;
}

h1,
h2,
h3,
h4 {
  font-weight: 700;
  line-height: 1.15;
}

:root {
  --h1-font-size: 2.4rem;
}

@media (min-width: 1240px) {
  :root {
    --h1-font-size: 3.2rem;
  }
}
h1 {
  font-size: var(--h1-font-size);
  font-family: var(--font-family-serif);
}

h2 {
  font-size: 2rem;
}

h2 {
  font-size: 1.8rem;
}

h3 {
  font-size: 1.3rem;
}

h4 {
  font-size: 1.2rem;
}

/* Links  */
a {
  color: var(--primary-blue);
  font-weight: 500;
  text-decoration: none;
}
a:is(:hover, :focus) {
  text-decoration: underline;
}

svg.ext,
svg.mailto {
  fill: var(--dark-primary-blue);
  margin: -0.6rem 0 0 0.2rem;
  height: 1.5rem;
  width: 1.5rem;
}
svg.ext path,
svg.mailto path {
  stroke: var(--dark-primary-blue);
}

blockquote {
  font-family: var(--font-family-serif);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--dark-grey);
  line-height: 2;
  padding-left: 2.3rem;
}
blockquote:before {
  content: "";
  background: top left no-repeat;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11.1125 10.583334' fill='%23A6C2C9'%3E%3Cpath d='m -0.06364217,9.5960774 q 0,-0.8639448 0,-1.7278896 0,-0.8999425 0,-1.7638873 0,-2.7718229 0.79194939,-4.3557217 Q 1.5202566,0.16468002 3.5001301,0.09268462 L 4.1840864,1.4965949 Q 3.0681577,1.604588 2.6361853,2.5765259 2.2402106,3.5124661 2.2402106,5.564335 h 1.9078781 v 4.0317424 z m 6.33559517,0 q 0,-0.8639448 0,-1.7278896 0,-0.8999425 0,-1.7638873 0,-2.7718229 0.7919494,-4.3557217 Q 7.8558518,0.16468002 9.8357253,0.09268462 L 10.519682,1.4965949 Q 9.4037529,1.604588 8.9717805,2.5765259 8.5758058,3.5124661 8.5758058,5.564335 h 1.9078782 v 4.0317424 z' /%3E%3C/svg%3E");
  display: block;
  float: left;
  height: 2rem;
  width: 2rem;
  margin-left: -2.4rem;
}

.text-formatted ul,
.text-formatted ol {
  margin: 1.5rem 0;
}
.text-formatted ul li,
.text-formatted ol li {
  margin-bottom: 1rem;
  padding-left: 0.7rem;
}
.text-formatted .list-unstyled {
  margin: 0;
  padding: 0;
}
.text-formatted ::marker {
  color: var(--primary-blue);
  font-weight: bold;
  margin-right: 0.5rem;
}
.text-formatted ol {
  list-style: decimal;
}
.text-formatted ol ol {
  list-style: lower-alpha;
}
.text-formatted ol ol ol {
  list-style: lower-roman;
}

dt p,
dl p {
  margin: 0;
}

dt {
  font-weight: bold;
  margin-bottom: 0;
}

dd {
  margin-left: 1rem;
}

table {
  font-size: 0.8rem;
}
table thead {
  border-bottom: 1px solid var(--black);
}
table td,
table th {
  padding: 0.5rem;
}
table th {
  font-weight: bold;
}
table tr:nth-child(even) {
  background: var(--light-grey);
  border-bottom: 1px solid var(--black);
}
table caption {
  color: var(--black);
}

/*
 * Bootstrap overrides for buttons
*/
.btn,
.form-submit {
  --bs-btn-font-weight: 500;
  --bs-btn-font-size: 1.15rem;
  --bs-btn-color: var(--primary-blue);
  --bs-btn-bg: var(--white);
  --bs-btn-border-color: var(--bs-btn-color);
  --bs-btn-hover-color: var(--white);
  --bs-btn-hover-bg: var(--bs-btn-color);
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-focus-shadow-rgb: transparent;
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: var(--bs-btn-hover-bg);
  --bs-btn-active-border-color: var(--bs-btn-hover-bg);
  --bs-btn-disabled-bg: var(--grey-light);
  --bs-btn-disabled-border-color: var(--grey-light);
  border: 3px solid;
  border-radius: var(--border-radius-small);
  box-shadow: var(--box-shadow-standard);
  line-height: 1;
  padding: 0.9rem 1.6rem;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.btn svg,
.form-submit svg {
  height: 1rem;
  width: 1rem;
  fill: var(--bs-btn-color);
  stroke: var(--bs-btn-color);
  opacity: 0.8;
}
.btn svg:not(.ext):first-child,
.form-submit svg:not(.ext):first-child {
  margin-left: -0.5rem;
}
.btn svg.ext,
.form-submit svg.ext {
  padding: 0;
  opacity: 0.8;
}
.btn svg.ext path,
.form-submit svg.ext path {
  stroke: var(--bs-btn-color);
}
.btn:is(:hover, :focus, :active, :focus-visible), .btn.active,
.form-submit:is(:hover, :focus, :active, :focus-visible),
.form-submit.active {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none;
}
.btn:is(:hover, :focus, :active, :focus-visible) svg, .btn.active svg,
.form-submit:is(:hover, :focus, :active, :focus-visible) svg,
.form-submit.active svg {
  fill: var(--bs-btn-hover-color);
}
.btn:is(:hover, :focus, :active, :focus-visible) svg path, .btn.active svg path,
.form-submit:is(:hover, :focus, :active, :focus-visible) svg path,
.form-submit.active svg path {
  stroke: var(--bs-btn-hover-color);
}

.btn-secondary {
  --bs-btn-color: var(--primary-blue);
}
.btn-secondary:is(:hover, :focus) {
  background-color: var(--primary-blue);
}
.btn-secondary svg {
  fill: var(--primary-blue);
}
.btn-secondary svg path {
  stroke: var(--primary-blue);
}

.btn--reversed {
  --bs-btn-color: var(--white);
  --bs-btn-bg: var(--accent-red);
  border-color: var(--accent-red);
  --bs-btn-hover-bg: var(--primary-blue);
}
.btn--reversed:is(:hover, :focus) {
  --bs-btn-bg: var(--primary-blue);
}

.btn-unstyled {
  border: none;
  background: transparent;
  color: var(--primary-blue);
  font-weight: 500;
  padding: 0;
}

/**
 * Background color classes
 * Includes appropriate link/btn/hover states
*/
.section-bg-color {
  clip-path: var(--clip-angle-bottom);
}

.bg-color--lt-grey,
.bg-color--light-grey {
  background-color: var(--lighter-grey);
}

.bg-color--light-blue {
  background-color: var(--light-primary-blue);
}

.bg-color--light-yellow {
  background-color: var(--light-yellow);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2Uuc2NzcyIsImJhc2UvX2Jvb3RzdHJhcC1yZXNldC5zY3NzIiwiYmFzZS5jc3MiLCJiYXNlL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL2NvbnRyaWIvYm9vdHN0cmFwNS9kaXN0L2Jvb3RzdHJhcC81LjMuOC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsImJhc2UvX3V0aWxpdGllcy5zY3NzIiwiX21peGlucy5zY3NzIiwiYmFzZS9fZWxlbWVudHMuc2NzcyIsImJhc2UvX2J1dHRvbnMuc2NzcyIsImJhc2UvX2JnLWNvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVRLHlKQUFBO0FDQVI7RUFDRSwwQkFBQTtFQUNBLHNCQUFBO0VBQ0EsOEJBQUE7RUFDQSw4Q0FBQTtBQ0FGOztBREdBO0VBQ0Usd0NBQUE7QUNBRjs7QURJQTs7O0VBR0UsOENBQUE7RUFDQSxrQkFBQTtBQ0RGOztBREtBO0VBQ0UsdUNBQUE7RUFDQSx1Q0FBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7QUNGRjtBRElFO0VBQ0UsZ0JBQUE7QUNGSjs7QURNQTtFQUNFLDhDQUFBO0FDSEY7O0FETUE7RUFDRSxxQ0FBQTtFQUNBLHFDQUFBO0FDSEY7O0FETUE7RUFDRSw2QkFBQTtFQUNBLFVBQUE7QUNIRjs7QUN4Q0E7O0VBRUUsNkJBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0VBRUEsdUJBQUE7RUFDQSxxQkFBQTtFQUNBLG9CQUFBO0VBQ0Esc0JBQUE7RUFFQSx5QkFBQTtFQUNBLHVCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtFQUVBLG9CQUFBO0VBQ0EscUJBQUE7RUFFQSw4QkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFFQSw0Q0FBQTtBRHNDRjs7QUNsQ0E7RUFDRSxpRUFBQTtFQUNBLHdFQUFBO0VBR0Esc0JBQUE7QURtQ0Y7O0FDL0JB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V0U7RUFDRSxnQ0FBQTtBTm9XSjs7QU0vVkE7RUFDRSxZQUFBO0VBQ0EsdUJBQUE7RUFDQSwwQkFBQTtFQUNBLGdCQUFBO0VBQ0EsVUFBQTtBTmtXRjs7QU9sZEE7OztDQUFBO0FBS0E7RUFDRSxtQ0FBQTtBUG9kRjs7QU9qZEE7O0VBRUUscUNBQUE7QVBvZEY7O0FPamRBO0VBQ0UsMkNBQUE7QVBvZEY7O0FPamRBO0VBQ0UscUNBQUE7QVBvZEYiLCJmaWxlIjoiYmFzZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBQcm9qZWN0IGJhc2VcblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SUJNK1BsZXgrU2Fuczp3Z2h0QDQwMDs1MDA7NjAwOzcwMCZmYW1pbHk9SUJNK1BsZXgrU2VyaWY6aXRhbCx3Z2h0QDAsNDAwOzAsNzAwOzEsNDAwJmRpc3BsYXk9c3dhcCcpO1xuXG5AaW1wb3J0IFwibWl4aW5zXCIsXG5cImJhc2UvYm9vdHN0cmFwLXJlc2V0XCIsXG5cImJhc2UvdmFyaWFibGVzXCIsXG5cImJhc2UvdXRpbGl0aWVzXCIsXG5cImJhc2UvZWxlbWVudHNcIixcblwiYmFzZS9idXR0b25zXCIsXG5cImJhc2UvYmctY29sb3JzXCI7XG4iLCIvLyBSZXNldCAmIG92ZXJyaWRlIG92ZXJyaWRlIHNvbWUgQm9vdHN0cmFwIHN0dWZmLlxuXG46cm9vdCB7XG4gIC0tYnMtYm9keS1mb250LXNpemU6IC45cmVtO1xuICAtLWJhc2UtZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JleSk7XG4gIC0tYnMtYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG5cbi5wbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8vIE92ZXJyaWRpbmcgbW9yZSBvZiBCb290c3RyYXAncyBmb250IHNpemVzXG4ubmF2LWxpbmssXG4uZHJvcGRvd24tbWVudSxcbi5mb3JtLXNlbGVjdCB7XG4gIC0tYnMtbmF2LWxpbmstZm9udC1zaXplOiB2YXIoLS1iYXNlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLy8gTmF2IGxpbmtzXG4ubmF2LWxpbmsge1xuICAtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6IGluaGVyaXQ7XG4gIC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgLS1icy1kcm9wZG93bi1mb250LXNpemU6IHZhcigtLWJhc2UtZm9udC1zaXplKTtcbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICAtLWJzLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiBpbmhlcml0O1xuICAtLWJzLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiBpbmhlcml0O1xufVxuXG4ucGxhY2Vob2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMTtcbn1cbiIsIkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JQk0rUGxleCtTYW5zOndnaHRANDAwOzUwMDs2MDA7NzAwJmZhbWlseT1JQk0rUGxleCtTZXJpZjppdGFsLHdnaHRAMCw0MDA7MCw3MDA7MSw0MDAmZGlzcGxheT1zd2FwXCIpO1xuOnJvb3Qge1xuICAtLWJzLWJvZHktZm9udC1zaXplOiAuOXJlbTtcbiAgLS1iYXNlLWZvbnQtc2l6ZTogMXJlbTtcbiAgLS1icy1ib3JkZXItY29sb3I6IHZhcigtLWdyZXkpO1xuICAtLWJzLWJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuXG4ucGxhY2Vob2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4ubmF2LWxpbmssXG4uZHJvcGRvd24tbWVudSxcbi5mb3JtLXNlbGVjdCB7XG4gIC0tYnMtbmF2LWxpbmstZm9udC1zaXplOiB2YXIoLS1iYXNlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLm5hdi1saW5rIHtcbiAgLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiBpbmhlcml0O1xuICAtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm5hdi1saW5rOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIC0tYnMtZHJvcGRvd24tZm9udC1zaXplOiB2YXIoLS1iYXNlLWZvbnQtc2l6ZSk7XG59XG5cbi5kcm9wZG93bi1pdGVtIHtcbiAgLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTogaW5oZXJpdDtcbiAgLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteDogaW5oZXJpdDtcbn1cblxuLnBsYWNlaG9sZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbjpyb290LFxuLmNrLWNvbnRlbnQge1xuICAtLWxpZ2h0LXByaW1hcnktYmx1ZTogI0MyRENFMztcbiAgLS1wcmltYXJ5LWJsdWU6ICMwRTczOEY7XG4gIC0tZGFyay1wcmltYXJ5LWJsdWU6ICNBNkMyQzk7XG4gIC0tbGlnaHRlci1ibHVlOiAjRjRGOEY5O1xuICAtLWxpZ2h0LWJsdWU6ICNFMkU2RUE7XG4gIC0tZGFyay1ibHVlOiAjODA5QkEyO1xuICAtLWRhcmtlci1ibHVlOiAjMEM1RTc1O1xuICAtLWxpZ2h0ZXIteWVsbG93OiAjRkZFQkFFO1xuICAtLWxpZ2h0LXllbGxvdzogI0ZGRTE4NjtcbiAgLS1hY2NlbnQteWVsbG93OiAjRkZENzVFO1xuICAtLWRhcmsteWVsbG93OiAjQzJCOTYzO1xuICAtLWxpZ2h0LXJlZDogI0RDOTc4NjtcbiAgLS1hY2NlbnQtcmVkOiAjQjUyNDAwO1xuICAtLXdoaXRlLXRyYW5zcGFyZW50OiAjRjZGNkY2Njk7XG4gIC0td2hpdGU6ICNGRkZGRkY7XG4gIC0tbGlnaHRlci1ncmV5OiAjZjlmOWY5O1xuICAtLWxpZ2h0LWdyZXk6ICNFMEUwRTA7XG4gIC0tZ3JleTogI0MwQzVDMztcbiAgLS1kYXJrLWdyZXk6ICM2NDZFNkI7XG4gIC0tZGFya2VyLWdyZXk6ICMzNDNBNDA7XG4gIC0tYmxhY2s6ICMzNDNBNDA7XG4gIC0tYm94LXNoYWRvdy1zdGFuZGFyZDogM3B4IDNweCA2cHggIzAwMDAwMDI5O1xufVxuXG46cm9vdCB7XG4gIC0tZm9udC1mYW1pbHktc2FuczogXCJJQk0gUGxleCBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1mYW1pbHktc2VyaWY6IFwiSUJNIFBsZXggU2VyaWZcIiwgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIC0tZ2luLWZvbnQtc2l6ZTogLjhyZW07XG59XG5cbjpyb290IHtcbiAgLS1tYXgtd2lkdGg6IDEzMTVweDtcbiAgLS1tYXgtd2lkdGgtLW5hcnJvdzogMTE4MHB4O1xuICAtLWd1dHRlci1zdGFuZGFyZDogMS4yNXJlbTtcbiAgLS1yZXNwb25zaXZlLXBhZGRpbmc6IDFyZW07XG4gIC0tdmVydGljYWwtcGFkZGluZzogMS41cmVtO1xuICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IC4ycmVtO1xuICAtLWJvcmRlci1yYWRpdXMtYmlnOiAxcmVtO1xuICAtLWJvcmRlci1yYWRpdXMtYmlnZ2VyOiAxLjVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICA6cm9vdCB7XG4gICAgLS1ndXR0ZXItc3RhbmRhcmQ6IDEuNXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNzVweCkge1xuICA6cm9vdCB7XG4gICAgLS1yZXNwb25zaXZlLXBhZGRpbmc6IDA7XG4gICAgLS1ndXR0ZXItc3RhbmRhcmQ6IDEuNzVyZW07XG4gICAgLS12ZXJ0aWNhbC1wYWRkaW5nOiAycmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTYyMHB4KSB7XG4gIC5hZG1pbi10b29sYmFyLWV4cGFuZGVkIC5naW4tLW5hdmlnYXRpb24sXG4gIC5naW4tLXZlcnRpY2FsLXRvb2xiYXJbZGF0YS10b29sYmFyLW1lbnU9b3Blbl0ge1xuICAgIC0tcmVzcG9uc2l2ZS1wYWRkaW5nOiAxcmVtO1xuICB9XG59XG46cm9vdCB7XG4gIC0tY2xpcC1hbmdsZS10b3A6IHBvbHlnb24oMCAwLCAxMDAlIDJyZW0sIDEwMCUgMTAwJSwgMCUgMTAwJSk7XG4gIC0tY2xpcC1hbmdsZS1ib3R0b206IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gMnJlbSksIDAlIDEwMCUpO1xufVxuXG4uYmxvY2stLWJhc2ljIGgyOjpiZWZvcmUsXG4uaGVhZGluZy1oYXMtYmFyIGgyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA2cHg7XG4gIHdpZHRoOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZSk7XG59XG5cbi5jYXJldC1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjJyZW07XG59XG4uY2FyZXQtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMC40cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMC40cmVtIHNvbGlkIHZhcigtLXByaW1hcnktYmx1ZSk7XG4gIG1hcmdpbi1yaWdodDogMC4zcmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMXJlbTtcbn1cblxuLmxpc3QtaW5saW5lIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLmxpc3QtaW5saW5lLXRhZ3MgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1yaWdodDogMC4ycmVtO1xufVxuLmxpc3QtaW5saW5lLXRhZ3MgbGk6OmFmdGVyIHtcbiAgY29udGVudDogXCIsXCI7XG59XG4ubGlzdC1pbmxpbmUtdGFncyBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAubGlzdC10aHJlZWNvbCB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1nYXA6IDM7XG4gIH1cbn1cbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWd1dHRlci1zdGFuZGFyZCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ3JpZC0tNGNvbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLmdyaWQtLTJjb2wge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxuICAuZ3JpZC0tM2NvbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICB9XG4gIC5ncmlkLS00Y29sIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgLmdyaWQtLTRjb2wge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxufVxuLmNvbHVtbnMge1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1ndXR0ZXItc3RhbmRhcmQpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbHVtbnMtLTNjb2wge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgfVxufVxuLmNvbnRlbnQtLXVucHVibGlzaGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWFlZTtcbn1cbi5jb250ZW50LS11bnB1Ymxpc2hlZC50YXhvbm9teS10ZXJtLmZ1bGwge1xuICBtYXJnaW4taW5saW5lOiBjYWxjKC0xICogdmFyKC0tbWF4LXdpZHRoKSAvIDIpO1xufVxuXG4vKipcbiAqIEJhc2ljIHR5cG9ncmFwaHlcbiAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1zYW5zKTtcbiAgZm9udC1zaXplOiB2YXIoLS1iYXNlLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5kbCxcbnRhYmxlLFxuYmxvY2txdW90ZSxcbnAsXG4uZm9ybS1pdGVtLFxuZmllbGRzZXQsXG5kZXRhaWxzIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG46cm9vdCB7XG4gIC0taDEtZm9udC1zaXplOiAyLjRyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0taDEtZm9udC1zaXplOiAzLjJyZW07XG4gIH1cbn1cbmgxIHtcbiAgZm9udC1zaXplOiB2YXIoLS1oMS1mb250LXNpemUpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktc2VyaWYpO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuOHJlbTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuM3JlbTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLyogTGlua3MgICovXG5hIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbnN2Zy5leHQsXG5zdmcubWFpbHRvIHtcbiAgZmlsbDogdmFyKC0tZGFyay1wcmltYXJ5LWJsdWUpO1xuICBtYXJnaW46IC0wLjZyZW0gMCAwIDAuMnJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHdpZHRoOiAxLjVyZW07XG59XG5zdmcuZXh0IHBhdGgsXG5zdmcubWFpbHRvIHBhdGgge1xuICBzdHJva2U6IHZhcigtLWRhcmstcHJpbWFyeS1ibHVlKTtcbn1cblxuYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1zZXJpZik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiB2YXIoLS1kYXJrLWdyZXkpO1xuICBsaW5lLWhlaWdodDogMjtcbiAgcGFkZGluZy1sZWZ0OiAyLjNyZW07XG59XG5ibG9ja3F1b3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHRvcCBsZWZ0IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUwQSUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMS4xMTI1IDEwLjU4MzMzNCcgZmlsbD0nJTIzQTZDMkM5JyUzRSUzQ3BhdGggZD0nbSAtMC4wNjM2NDIxNyw5LjU5NjA3NzQgcSAwLC0wLjg2Mzk0NDggMCwtMS43Mjc4ODk2IDAsLTAuODk5OTQyNSAwLC0xLjc2Mzg4NzMgMCwtMi43NzE4MjI5IDAuNzkxOTQ5MzksLTQuMzU1NzIxNyBRIDEuNTIwMjU2NiwwLjE2NDY4MDAyIDMuNTAwMTMwMSwwLjA5MjY4NDYyIEwgNC4xODQwODY0LDEuNDk2NTk0OSBRIDMuMDY4MTU3NywxLjYwNDU4OCAyLjYzNjE4NTMsMi41NzY1MjU5IDIuMjQwMjEwNiwzLjUxMjQ2NjEgMi4yNDAyMTA2LDUuNTY0MzM1IGggMS45MDc4NzgxIHYgNC4wMzE3NDI0IHogbSA2LjMzNTU5NTE3LDAgcSAwLC0wLjg2Mzk0NDggMCwtMS43Mjc4ODk2IDAsLTAuODk5OTQyNSAwLC0xLjc2Mzg4NzMgMCwtMi43NzE4MjI5IDAuNzkxOTQ5NCwtNC4zNTU3MjE3IFEgNy44NTU4NTE4LDAuMTY0NjgwMDIgOS44MzU3MjUzLDAuMDkyNjg0NjIgTCAxMC41MTk2ODIsMS40OTY1OTQ5IFEgOS40MDM3NTI5LDEuNjA0NTg4IDguOTcxNzgwNSwyLjU3NjUyNTkgOC41NzU4MDU4LDMuNTEyNDY2MSA4LjU3NTgwNTgsNS41NjQzMzUgaCAxLjkwNzg3ODIgdiA0LjAzMTc0MjQgeicgLyUzRSUzQy9zdmclM0VcIik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAycmVtO1xuICB3aWR0aDogMnJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0yLjRyZW07XG59XG5cbi50ZXh0LWZvcm1hdHRlZCB1bCxcbi50ZXh0LWZvcm1hdHRlZCBvbCB7XG4gIG1hcmdpbjogMS41cmVtIDA7XG59XG4udGV4dC1mb3JtYXR0ZWQgdWwgbGksXG4udGV4dC1mb3JtYXR0ZWQgb2wgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuN3JlbTtcbn1cbi50ZXh0LWZvcm1hdHRlZCAubGlzdC11bnN0eWxlZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi50ZXh0LWZvcm1hdHRlZCA6Om1hcmtlciB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG4udGV4dC1mb3JtYXR0ZWQgb2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuLnRleHQtZm9ybWF0dGVkIG9sIG9sIHtcbiAgbGlzdC1zdHlsZTogbG93ZXItYWxwaGE7XG59XG4udGV4dC1mb3JtYXR0ZWQgb2wgb2wgb2wge1xuICBsaXN0LXN0eWxlOiBsb3dlci1yb21hbjtcbn1cblxuZHQgcCxcbmRsIHAge1xuICBtYXJnaW46IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbnRhYmxlIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG50YWJsZSB0aGVhZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ibGFjayk7XG59XG50YWJsZSB0ZCxcbnRhYmxlIHRoIHtcbiAgcGFkZGluZzogMC41cmVtO1xufVxudGFibGUgdGgge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbnRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmxhY2spO1xufVxudGFibGUgY2FwdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG59XG5cbi8qXG4gKiBCb290c3RyYXAgb3ZlcnJpZGVzIGZvciBidXR0b25zXG4qL1xuLmJ0bixcbi5mb3JtLXN1Ym1pdCB7XG4gIC0tYnMtYnRuLWZvbnQtd2VpZ2h0OiA1MDA7XG4gIC0tYnMtYnRuLWZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgLS1icy1idG4tY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZSk7XG4gIC0tYnMtYnRuLWJnOiB2YXIoLS13aGl0ZSk7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWNvbG9yKTtcbiAgLS1icy1idG4taG92ZXItY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgLS1icy1idG4taG92ZXItYmc6IHZhcigtLWJzLWJ0bi1jb2xvcik7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJnKTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiB2YXIoLS1icy1idG4taG92ZXItYmcpO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYmcpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdmFyKC0tZ3JleS1saWdodCk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JleS1saWdodCk7XG4gIGJvcmRlcjogM3B4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1zdGFuZGFyZCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwLjlyZW0gMS42cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjJyZW07XG59XG4uYnRuIHN2Zyxcbi5mb3JtLXN1Ym1pdCBzdmcge1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBmaWxsOiB2YXIoLS1icy1idG4tY29sb3IpO1xuICBzdHJva2U6IHZhcigtLWJzLWJ0bi1jb2xvcik7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi5idG4gc3ZnOm5vdCguZXh0KTpmaXJzdC1jaGlsZCxcbi5mb3JtLXN1Ym1pdCBzdmc6bm90KC5leHQpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG59XG4uYnRuIHN2Zy5leHQsXG4uZm9ybS1zdWJtaXQgc3ZnLmV4dCB7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi5idG4gc3ZnLmV4dCBwYXRoLFxuLmZvcm0tc3VibWl0IHN2Zy5leHQgcGF0aCB7XG4gIHN0cm9rZTogdmFyKC0tYnMtYnRuLWNvbG9yKTtcbn1cbi5idG46aXMoOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsIDpmb2N1cy12aXNpYmxlKSwgLmJ0bi5hY3RpdmUsXG4uZm9ybS1zdWJtaXQ6aXMoOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsIDpmb2N1cy12aXNpYmxlKSxcbi5mb3JtLXN1Ym1pdC5hY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bjppcyg6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSwgOmZvY3VzLXZpc2libGUpIHN2ZywgLmJ0bi5hY3RpdmUgc3ZnLFxuLmZvcm0tc3VibWl0OmlzKDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLCA6Zm9jdXMtdmlzaWJsZSkgc3ZnLFxuLmZvcm0tc3VibWl0LmFjdGl2ZSBzdmcge1xuICBmaWxsOiB2YXIoLS1icy1idG4taG92ZXItY29sb3IpO1xufVxuLmJ0bjppcyg6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSwgOmZvY3VzLXZpc2libGUpIHN2ZyBwYXRoLCAuYnRuLmFjdGl2ZSBzdmcgcGF0aCxcbi5mb3JtLXN1Ym1pdDppcyg6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSwgOmZvY3VzLXZpc2libGUpIHN2ZyBwYXRoLFxuLmZvcm0tc3VibWl0LmFjdGl2ZSBzdmcgcGF0aCB7XG4gIHN0cm9rZTogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICAtLWJzLWJ0bi1jb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlKTtcbn1cbi5idG4tc2Vjb25kYXJ5OmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZSk7XG59XG4uYnRuLXNlY29uZGFyeSBzdmcge1xuICBmaWxsOiB2YXIoLS1wcmltYXJ5LWJsdWUpO1xufVxuLmJ0bi1zZWNvbmRhcnkgc3ZnIHBhdGgge1xuICBzdHJva2U6IHZhcigtLXByaW1hcnktYmx1ZSk7XG59XG5cbi5idG4tLXJldmVyc2VkIHtcbiAgLS1icy1idG4tY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgLS1icy1idG4tYmc6IHZhcigtLWFjY2VudC1yZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC1yZWQpO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogdmFyKC0tcHJpbWFyeS1ibHVlKTtcbn1cbi5idG4tLXJldmVyc2VkOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIC0tYnMtYnRuLWJnOiB2YXIoLS1wcmltYXJ5LWJsdWUpO1xufVxuXG4uYnRuLXVuc3R5bGVkIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQmFja2dyb3VuZCBjb2xvciBjbGFzc2VzXG4gKiBJbmNsdWRlcyBhcHByb3ByaWF0ZSBsaW5rL2J0bi9ob3ZlciBzdGF0ZXNcbiovXG4uc2VjdGlvbi1iZy1jb2xvciB7XG4gIGNsaXAtcGF0aDogdmFyKC0tY2xpcC1hbmdsZS1ib3R0b20pO1xufVxuXG4uYmctY29sb3ItLWx0LWdyZXksXG4uYmctY29sb3ItLWxpZ2h0LWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodGVyLWdyZXkpO1xufVxuXG4uYmctY29sb3ItLWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1wcmltYXJ5LWJsdWUpO1xufVxuXG4uYmctY29sb3ItLWxpZ2h0LXllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LXllbGxvdyk7XG59IiwiLy8gQ29sb3VyIHZhcmlhYmxlc1xuOnJvb3QsXG4uY2stY29udGVudCB7XG4gIC0tbGlnaHQtcHJpbWFyeS1ibHVlOiAjQzJEQ0UzO1xuICAtLXByaW1hcnktYmx1ZTogIzBFNzM4RjtcbiAgLS1kYXJrLXByaW1hcnktYmx1ZTogI0E2QzJDOTtcblxuICAtLWxpZ2h0ZXItYmx1ZTogI0Y0RjhGOTtcbiAgLS1saWdodC1ibHVlOiAjRTJFNkVBO1xuICAtLWRhcmstYmx1ZTogIzgwOUJBMjtcbiAgLS1kYXJrZXItYmx1ZTogIzBDNUU3NTtcblxuICAtLWxpZ2h0ZXIteWVsbG93OiAjRkZFQkFFO1xuICAtLWxpZ2h0LXllbGxvdzogI0ZGRTE4NjtcbiAgLS1hY2NlbnQteWVsbG93OiAjRkZENzVFO1xuICAtLWRhcmsteWVsbG93OiAjQzJCOTYzO1xuXG4gIC0tbGlnaHQtcmVkOiAjREM5Nzg2O1xuICAtLWFjY2VudC1yZWQ6ICNCNTI0MDA7XG5cbiAgLS13aGl0ZS10cmFuc3BhcmVudDogI0Y2RjZGNjY5O1xuICAtLXdoaXRlOiAjRkZGRkZGO1xuICAtLWxpZ2h0ZXItZ3JleTogI2Y5ZjlmOTtcbiAgLS1saWdodC1ncmV5OiAjRTBFMEUwO1xuICAtLWdyZXk6ICNDMEM1QzM7XG4gIC0tZGFyay1ncmV5OiAjNjQ2RTZCO1xuICAtLWRhcmtlci1ncmV5OiAjMzQzQTQwO1xuICAtLWJsYWNrOiAjMzQzQTQwO1xuXG4gIC0tYm94LXNoYWRvdy1zdGFuZGFyZDogM3B4IDNweCA2cHggIzAwMDAwMDI5O1xufVxuXG4vLyBUeXBvZ3JhcGh5IHZhcmlhYmxlc1xuOnJvb3Qge1xuICAtLWZvbnQtZmFtaWx5LXNhbnM6IFwiSUJNIFBsZXggU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtZmFtaWx5LXNlcmlmOiBcIklCTSBQbGV4IFNlcmlmXCIsIEdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcblxuICAvLyBBZGp1c3QgZ2luIGZvbnQgc2l6ZVxuICAtLWdpbi1mb250LXNpemU6IC44cmVtO1xufVxuXG4vLyBMYXlvdXQvc2l6aW5nIHZhcmlhYmxlcy5cbjpyb290IHtcbiAgLS1tYXgtd2lkdGg6IDEzMTVweDtcbiAgLS1tYXgtd2lkdGgtLW5hcnJvdzogMTE4MHB4O1xuICAtLWd1dHRlci1zdGFuZGFyZDogMS4yNXJlbTtcbiAgLS1yZXNwb25zaXZlLXBhZGRpbmc6IDFyZW07XG4gIC0tdmVydGljYWwtcGFkZGluZzogMS41cmVtO1xuICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IC4ycmVtO1xuICAtLWJvcmRlci1yYWRpdXMtYmlnOiAxcmVtO1xuICAtLWJvcmRlci1yYWRpdXMtYmlnZ2VyOiAxLjVyZW07XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgOnJvb3Qge1xuICAgIC0tZ3V0dGVyLXN0YW5kYXJkOiAxLjVyZW07XG4gIH1cbn1cblxuLy8gTGFyZ2VyIHNjcmVlbiBsYXlvdXRcbkBtZWRpYSAobWluLXdpZHRoOiAxMzc1cHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tcmVzcG9uc2l2ZS1wYWRkaW5nOiAwO1xuICAgIC0tZ3V0dGVyLXN0YW5kYXJkOiAxLjc1cmVtO1xuICAgIC0tdmVydGljYWwtcGFkZGluZzogMnJlbTtcbiAgfVxufVxuXG4vLyBBbHRlciByZXNwb25zaXZlIHBhZGRpbmcgaWYgbG9nZ2VkIGluL2lmIGdpbiB0b29sYmFyIHNpZGVcblxuQG1lZGlhIChtYXgtd2lkdGg6IDE2MjBweCkge1xuXG4gIC5hZG1pbi10b29sYmFyLWV4cGFuZGVkIC5naW4tLW5hdmlnYXRpb24sXG4gIC5naW4tLXZlcnRpY2FsLXRvb2xiYXJbZGF0YS10b29sYmFyLW1lbnU9XCJvcGVuXCJdIHtcbiAgICAtLXJlc3BvbnNpdmUtcGFkZGluZzogMXJlbTtcbiAgfVxufVxuXG5cbi8vIEFuZ2xlZCBjbGlwIHBhdGhzXG46cm9vdCB7XG4gIC0tY2xpcC1hbmdsZS10b3A6IHBvbHlnb24oMCAwLCAxMDAlIDJyZW0sIDEwMCUgMTAwJSwgMCUgMTAwJSk7XG4gIC0tY2xpcC1hbmdsZS1ib3R0b206IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gMnJlbSksIDAlIDEwMCUpO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFZhcmlvdXMgdXRpbGl0eSBjbGFzc2VzXG5cbi8vIEhlYWRpbmcgdXRpbGl0aWVzXG4uYmxvY2stLWJhc2ljLFxuLmhlYWRpbmctaGFzLWJhciB7XG4gIGgyOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGhlYWRpbmctYmFyKCRjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlKSwgJGNlbnRlcjogZmFsc2UpO1xuICB9XG59XG5cbi8vIExpbmsgdXRpbGl0aWVzXG4uY2FyZXQtbGluayB7XG4gIEBpbmNsdWRlIGNhcmV0LWxpbmsoJGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUpKTtcbn1cblxuLy8gTGlzdCB1dGlsaXRpZXNcbi5saXN0LWlubGluZSBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbn1cblxuLmxpc3QtaW5saW5lLXRhZ3MgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1yaWdodDogLjJyZW07XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcsJztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmxpc3QtdGhyZWVjb2wge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tZ2FwOiAzO1xuICB9XG59XG5cbi8vIEdyaWQgdXRpbGl0aWVzXG4uZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ndXR0ZXItc3RhbmRhcmQpO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5ncmlkLS00Y29sIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuZ3JpZC0tMmNvbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG5cbiAgLmdyaWQtLTNjb2wge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxuXG4gIC5ncmlkLS00Y29sIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAuZ3JpZC0tNGNvbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG5cbi8vIENvbHVtbnMgdXRpbGl0aWVzXG4uY29sdW1ucyB7XG4gIGNvbHVtbi1nYXA6IHZhcigtLWd1dHRlci1zdGFuZGFyZCk7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLmNvbHVtbnMtLTNjb2wge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgfVxufVxuXG4vLyBVbnB1Ymxpc2hlZCBjb250ZW50XG5cbi5jb250ZW50LS11bnB1Ymxpc2hlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWVhZWU7XG5cbiAgJi50YXhvbm9teS10ZXJtLmZ1bGwge1xuICAgIG1hcmdpbi1pbmxpbmU6IGNhbGMoLTEgKiAodmFyKC0tbWF4LXdpZHRoKSAvIDIpKTtcbiAgfVxufVxuIiwiLy8gR2V0IHNvbWUgdXNlZnVsIGZpbGVzIGZyb20gQm9vdHN0cmFwLlxuLy8gQ29tcGlsaW5nIGV2ZXJ5dGhpbmcgaXMgc2xvdywgc28ganVzdCBnZXQgdGhlIHBhcnRzIHdlIG5lZWQgdG8gdXNlXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi90aGVtZXMvY29udHJpYi9ib290c3RyYXA1L2Rpc3QvYm9vdHN0cmFwLzUuMy44L3Njc3MvZnVuY3Rpb25zJztcblxuQGltcG9ydCAnLi4vLi4vLi4vLi4vdGhlbWVzL2NvbnRyaWIvYm9vdHN0cmFwNS9kaXN0L2Jvb3RzdHJhcC81LjMuOC9zY3NzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi8uLi8uLi90aGVtZXMvY29udHJpYi9ib290c3RyYXA1L2Rpc3QvYm9vdHN0cmFwLzUuMy44L3Njc3MvbWl4aW5zJztcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHhzbTogMzc0cHgsXG4gIHNtOiA2MDBweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMjQwcHgsXG4gIHh4bDogMTQwMHB4XG4pO1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vdGhlbWVzL2NvbnRyaWIvYm9vdHN0cmFwNS9kaXN0L2Jvb3RzdHJhcC81LjMuOC9zY3NzL21peGlucy9icmVha3BvaW50cyc7XG5cbi8vIE92ZXJyaWRlIEJvb3N0cmFwIGNvbnRhaW5lciBtaXhpblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRwYWRkaW5nLXg6IHZhcigtLXJlc3BvbnNpdmUtcGFkZGluZyksXG4gICRwYWRkaW5nLXk6IHZhcigtLXZlcnRpY2FsLXBhZGRpbmcpKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbn1cblxuLy8gSGVhZGluZyBiYXI7IFVzZSBpbiBhIHBzZXVkby1lbGVtZW50IChwcm9iYWJseSA6YmVmb3JlKVxuQG1peGluIGhlYWRpbmctYmFyKCRjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlKSwgJGNlbnRlcjogZmFsc2UpIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDZweDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYmFja2dyb3VuZDogJGNvbG9yO1xuXG4gIEBpZiAkY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLy8gQW5nbGVkIGJvdHRvbSBzZWN0aW9uIGZvciBza2V3ZWQgYmxvY2tzXG4vLyBTaG91bGQgYmUgdXNlZCBpbiBnZW5lcmF0ZWQgY29udGVudCwgcHJvYmFibHkgOjphZnRlclxuLy8gTWFrZSBzdXJlIHRoZSBwYXJlbnQgZWxlbWVudCBoYXMgcG9zaXRpb246IHJlbGF0aXZlXG5AbWl4aW4gYW5nbGVkLWJvdHRvbS1jdXJ2ZSgpIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cmVtO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMXJlbTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMDtcblxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJpZyk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIHRyYW5zZm9ybTogc2tld1koLTNkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbW9iaWxlLW1hcmdpbi1ibGVlZCgpIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1yZXNwb25zaXZlLXBhZGRpbmcpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tcmVzcG9uc2l2ZS1wYWRkaW5nKSk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqIHZhcigtLXJlc3BvbnNpdmUtcGFkZGluZykpKTtcbn1cblxuLy8gQm9vdHN0cmFwJ3MgY2FyZXQgbWl4aW4gaW5jbHVkZXMgOjphZnRlciBhbmQgaW5jbHVkZXMgc29tZSByZWR1bmRhbnQgY29kZVxuLy8gaWYgbmVlZGVkIDo6YmVmb3JlXG5AbWl4aW4gY2FyZXQoJHNpemU6IC40cmVtLCAkZGlyZWN0aW9uOiAncmlnaHQnLCAkY29sb3I6IHZhcigtLWJsYWNrKSkge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0ncmlnaHQnIHtcbiAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgJGNvbG9yO1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0nbGVmdCcge1xuICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0ndXAnIHtcbiAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSdkb3duJyB7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICB9XG5cbn1cblxuQG1peGluIGNoZXZyb24oJHNpemU6IDFyZW0sICRzdHJva2U6IDJweCwgJGRpcmVjdGlvbjogJ3JpZ2h0JywgJGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKSkge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci10b3A6ICRzdHJva2Ugc29saWQgJGNvbG9yO1xuICBib3JkZXItcmlnaHQ6ICRzdHJva2Ugc29saWQgJGNvbG9yO1xuICBoZWlnaHQ6ICRzaXplO1xuICB3aWR0aDogJHNpemU7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0ncmlnaHQnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSdsZWZ0JyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSd1cCcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSdkb3duJyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgfVxuXG59XG5cbi8vIENhcmV0IGxpbmtcbkBtaXhpbiBjYXJldC1saW5rKCRjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlKSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogLjRyZW07XG4gIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICA7XG5cbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNhcmV0KCRjb2xvcjogJGNvbG9yKTtcbiAgICBtYXJnaW4tcmlnaHQ6IC4zcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4xcmVtO1xuICB9XG59XG4iLCIvKipcbiAqIEJhc2ljIHR5cG9ncmFwaHlcbiAqL1xuXG5odG1sIHtcbiAgLy8gU2V0cyBiYXNlIGZvbnQgc2l6ZSB0byAyMHB4O1xuICBmb250LXNpemU6IDEyNSU7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktc2Fucyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYmFzZS1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tYmxhY2spO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuZGwsXG50YWJsZSxcbmJsb2NrcXVvdGUsXG5wLFxuLmZvcm0taXRlbSxcbmZpZWxkc2V0LFxuZGV0YWlscyB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbn1cblxuOnJvb3Qge1xuICAtLWgxLWZvbnQtc2l6ZTogMi40cmVtO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIDpyb290IHtcbiAgICAtLWgxLWZvbnQtc2l6ZTogMy4ycmVtOyAvLzY0cHhcbiAgfVxufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDEtZm9udC1zaXplKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXNlcmlmKTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDJyZW07IC8vNDBweFxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjNyZW07IC8vMjdweFxufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtOyAvLzI0cHhcbn1cblxuLyogTGlua3MgICovXG5hIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuc3ZnLmV4dCxcbnN2Zy5tYWlsdG8ge1xuICBmaWxsOiB2YXIoLS1kYXJrLXByaW1hcnktYmx1ZSk7XG4gIG1hcmdpbjogLTAuNnJlbSAwIDAgMC4ycmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgd2lkdGg6IDEuNXJlbTtcblxuICBwYXRoIHtcbiAgICBzdHJva2U6IHZhcigtLWRhcmstcHJpbWFyeS1ibHVlKTtcbiAgfVxufVxuXG4vLyBCbG9ja3F1b3Rlc1xuXG5ibG9ja3F1b3RlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXNlcmlmKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgY29sb3I6IHZhcigtLWRhcmstZ3JleSk7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBwYWRkaW5nLWxlZnQ6IDIuM3JlbTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogdG9wIGxlZnQgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlMEElM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEuMTEyNSAxMC41ODMzMzQnIGZpbGw9JyUyM0E2QzJDOSclM0UlM0NwYXRoIGQ9J20gLTAuMDYzNjQyMTcsOS41OTYwNzc0IHEgMCwtMC44NjM5NDQ4IDAsLTEuNzI3ODg5NiAwLC0wLjg5OTk0MjUgMCwtMS43NjM4ODczIDAsLTIuNzcxODIyOSAwLjc5MTk0OTM5LC00LjM1NTcyMTcgUSAxLjUyMDI1NjYsMC4xNjQ2ODAwMiAzLjUwMDEzMDEsMC4wOTI2ODQ2MiBMIDQuMTg0MDg2NCwxLjQ5NjU5NDkgUSAzLjA2ODE1NzcsMS42MDQ1ODggMi42MzYxODUzLDIuNTc2NTI1OSAyLjI0MDIxMDYsMy41MTI0NjYxIDIuMjQwMjEwNiw1LjU2NDMzNSBoIDEuOTA3ODc4MSB2IDQuMDMxNzQyNCB6IG0gNi4zMzU1OTUxNywwIHEgMCwtMC44NjM5NDQ4IDAsLTEuNzI3ODg5NiAwLC0wLjg5OTk0MjUgMCwtMS43NjM4ODczIDAsLTIuNzcxODIyOSAwLjc5MTk0OTQsLTQuMzU1NzIxNyBRIDcuODU1ODUxOCwwLjE2NDY4MDAyIDkuODM1NzI1MywwLjA5MjY4NDYyIEwgMTAuNTE5NjgyLDEuNDk2NTk0OSBRIDkuNDAzNzUyOSwxLjYwNDU4OCA4Ljk3MTc4MDUsMi41NzY1MjU5IDguNTc1ODA1OCwzLjUxMjQ2NjEgOC41NzU4MDU4LDUuNTY0MzM1IGggMS45MDc4NzgyIHYgNC4wMzE3NDI0IHonIC8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTIuNHJlbTtcbiAgfVxufVxuXG4vLyBMaXN0c1xuLnRleHQtZm9ybWF0dGVkIHtcblxuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbjogMS41cmVtIDA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAuN3JlbTtcbiAgICB9XG4gIH1cblxuICAubGlzdC11bnN0eWxlZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICA6Om1hcmtlciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgfVxuXG4gIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuXG4gICAgb2wge1xuICAgICAgbGlzdC1zdHlsZTogbG93ZXItYWxwaGE7XG5cbiAgICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbG93ZXItcm9tYW5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZHQsXG5kbCB7XG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4vLyBUYWJsZXNcblxudGFibGUge1xuICBmb250LXNpemU6IC44cmVtO1xuXG4gIHRoZWFkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmxhY2spO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgfVxuXG4gIHRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJsYWNrKTtcbiAgfVxuXG4gIGNhcHRpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIH1cbn1cbiIsIi8qXG4gKiBCb290c3RyYXAgb3ZlcnJpZGVzIGZvciBidXR0b25zXG4qL1xuXG5cbi8vIFByaW1hcnkgYnV0dG9uIHNob3VsZCBiZSBhY2NlbnQtcmVkLCBvdXRsaW5lZCwgc29saWQgYmFja2dyb3VuZCBvbiBpbnRlcmFjdGlvblxuLmJ0bixcbi5mb3JtLXN1Ym1pdCB7XG4gIC0tYnMtYnRuLWZvbnQtd2VpZ2h0OiA1MDA7XG4gIC0tYnMtYnRuLWZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgLS1icy1idG4tY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZSk7XG4gIC0tYnMtYnRuLWJnOiB2YXIoLS13aGl0ZSk7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWNvbG9yKTtcblxuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0td2hpdGUpO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogdmFyKC0tYnMtYnRuLWNvbG9yKTtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYmcpO1xuXG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IHRyYW5zcGFyZW50O1xuXG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiB2YXIoLS1icy1idG4taG92ZXItYmcpO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYmcpO1xuXG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiB2YXIoLS1ncmV5LWxpZ2h0KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmV5LWxpZ2h0KTtcblxuICBib3JkZXI6IDNweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctc3RhbmRhcmQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogLjlyZW0gMS42cmVtO1xuXG4gIC8vIEZvciBpY29uIGFsaWdubWVudFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuMnJlbTtcblxuICBzdmcge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBmaWxsOiB2YXIoLS1icy1idG4tY29sb3IpO1xuICAgIHN0cm9rZTogdmFyKC0tYnMtYnRuLWNvbG9yKTtcbiAgICBvcGFjaXR5OiAuODtcblxuICAgICY6bm90KC5leHQpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtLjVyZW07XG4gICAgfVxuICB9XG5cbiAgc3ZnLmV4dCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAuODtcblxuICAgIHBhdGgge1xuICAgICAgc3Ryb2tlOiB2YXIoLS1icy1idG4tY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gICY6aXMoOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsIDpmb2N1cy12aXNpYmxlKSxcbiAgJi5hY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6IHZhcigtLWJzLWJ0bi1ob3Zlci1jb2xvcik7XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBzdHJva2U6IHZhcigtLWJzLWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2Vjb25kYXJ5IGJ1dHRvbiBzaG91bGQgYmUgcHJpbWFyeSBibHVlXG4uYnRuLXNlY29uZGFyeSB7XG4gIC0tYnMtYnRuLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUpO1xuXG4gICY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUpO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS1wcmltYXJ5LWJsdWUpO1xuXG4gICAgcGF0aCB7XG4gICAgICBzdHJva2U6IHZhcigtLXByaW1hcnktYmx1ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJldmVyc2VkIGJ1dHRvblxuXG4uYnRuLS1yZXZlcnNlZCB7XG4gIC0tYnMtYnRuLWNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIC0tYnMtYnRuLWJnOiB2YXIoLS1hY2NlbnQtcmVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtcmVkKTtcbiAgLS1icy1idG4taG92ZXItYmc6IHZhcigtLXByaW1hcnktYmx1ZSk7XG5cbiAgJjppcyg6aG92ZXIsIDpmb2N1cykge1xuICAgIC0tYnMtYnRuLWJnOiB2YXIoLS1wcmltYXJ5LWJsdWUpO1xuICB9XG59XG5cbi8vIENsZWFyIGFsbCBidXR0b24gc3R5bGluZ1xuLmJ0bi11bnN0eWxlZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyoqXG4gKiBCYWNrZ3JvdW5kIGNvbG9yIGNsYXNzZXNcbiAqIEluY2x1ZGVzIGFwcHJvcHJpYXRlIGxpbmsvYnRuL2hvdmVyIHN0YXRlc1xuKi9cblxuLnNlY3Rpb24tYmctY29sb3Ige1xuICBjbGlwLXBhdGg6IHZhcigtLWNsaXAtYW5nbGUtYm90dG9tKTtcbn1cblxuLmJnLWNvbG9yLS1sdC1ncmV5LFxuLmJnLWNvbG9yLS1saWdodC1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHRlci1ncmV5KTtcbn1cblxuLmJnLWNvbG9yLS1saWdodC1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtcHJpbWFyeS1ibHVlKTtcbn1cblxuLmJnLWNvbG9yLS1saWdodC15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC15ZWxsb3cpO1xufVxuIl19 */
