@charset "UTF-8";
/** Import everything from autoload */
/**
 * Import npm dependencies
 *
 * Prefix your imports with `~` to grab from node_modules/
 * @see https://github.com/webpack-contrib/sass-loader#imports
 */
/* Box sizing rules */
/* line 2, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
/* line 9, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
ul[class],
ol[class] {
  padding: 0;
}

/* Remove default margin */
/* line 15, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
/* line 33, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
/* line 41, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
ul[class],
ol[class] {
  list-style: none;
}

/* A elements that don't have a class get default styles */
/* line 47, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
/* line 52, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
img {
  max-width: 100%;
  display: block;
}

/* Natural flow and rhythm in articles by default */
/* line 58, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
/* line 63, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  /* line 72, web/app/themes/sage/resources/assets/styles/base/_reset.scss */
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* line 1, web/app/themes/sage/resources/assets/styles/base/_animations.scss */
.shake-next {
  animation: shake-next 2s ease infinite;
}

@keyframes shake-next {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}

/* line 19, web/app/themes/sage/resources/assets/styles/base/_animations.scss */
.shake-prev {
  animation: shake-prev 1s ease infinite;
}

@keyframes shake-prev {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes shake-interferer {
  10%, 90% {
    transform: translate3d(-0.5px, 0, 0) rotate(25deg);
  }
  20%, 80% {
    transform: translate3d(1px, 0, 0) rotate(25deg);
  }
  30%, 50%, 70% {
    transform: translate3d(-2px, 0, 0) rotate(25deg);
  }
  40%, 60% {
    transform: translate3d(2px, 0, 0) rotate(25deg);
  }
}

@keyframes shake-current {
  10%, 90% {
    transform: translate3d(-0.5px, 0, 0);
  }
  20%, 80% {
    transform: translate3d(1px, 0, 0);
  }
  30%, 50%, 70% {
    transform: translate3d(-2px, 0, 0);
  }
  40%, 60% {
    transform: translate3d(2px, 0, 0);
  }
}

/* line 2, web/app/themes/sage/resources/assets/styles/base/_custom-properties.scss */
:root {
  --gap: 2rem;
  --container-gap: 2rem;
  --nav-height: 10rem;
  --ui-height: 2.3rem;
  --pages-top-gap: 10rem;
}

/* line 9, web/app/themes/sage/resources/assets/styles/base/_custom-properties.scss */
:root header.scrolled {
  --nav-height: 5.2rem;
}

/* line 3, web/app/themes/sage/resources/assets/styles/base/_basics.scss */
h1, h2, h4, h5, h6 {
  font-family: "Teko", sans-serif;
}

/* stylelint-disable */
/* line 1, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.has-drop-cap:not(:focus)::first-letter {
  font-size: 6em;
  font-family: "Teko", sans-serif;
  margin: 0.09em 0.3em 0 0;
  font-weight: 600;
}

/* line 56, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.page-header h1 {
  font-size: 4em;
  line-height: 1.1em;
}

/* line 61, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.paragraph a {
  position: relative;
  color: black;
  font-weight: bold;
  display: inline-block;
}

/* line 67, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.paragraph a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: black;
  opacity: 0;
  transform: translateX(-50%) scaleX(0);
  transition: all 0.24s ease-in-out;
}

/* line 80, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.paragraph a:hover:after, .paragraph a:active:after, .paragraph a:focus:after {
  width: 100%;
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

/* line 2, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form input.wpforms-field-medium,
div.wpforms-container-full .wpforms-form select.wpforms-field-medium,
div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium {
  max-width: 100%;
}

/* line 8, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form .wpforms-field-sublabel {
  font-family: "Teko", sans-serif;
  font-size: 1.06em;
  color: rgba(0, 0, 0, 0.6);
  margin: 0.2em 0 0;
}

/* line 15, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form .wpforms-field-label {
  font-family: "Teko", sans-serif;
  font-size: 1.4em;
  padding-bottom: 0.4em;
  color: black;
  margin: 0;
}

/* line 23, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form input[type=date],
div.wpforms-container-full .wpforms-form input[type=datetime],
div.wpforms-container-full .wpforms-form input[type=datetime-local],
div.wpforms-container-full .wpforms-form input[type=email],
div.wpforms-container-full .wpforms-form input[type=month],
div.wpforms-container-full .wpforms-form input[type=number],
div.wpforms-container-full .wpforms-form input[type=password],
div.wpforms-container-full .wpforms-form input[type=range],
div.wpforms-container-full .wpforms-form input[type=search],
div.wpforms-container-full .wpforms-form input[type=tel],
div.wpforms-container-full .wpforms-form input[type=text],
div.wpforms-container-full .wpforms-form input[type=time],
div.wpforms-container-full .wpforms-form input[type=url],
div.wpforms-container-full .wpforms-form input[type=week],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container form.wpforms-form .choices__inner {
  border-color: rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  height: 3.5em;
  font-weight: bold;
  padding: 1em;
}

/* line 47, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full form.wpforms-form .wpforms-field-stripe-credit-card-cardnumber,
div.wpforms-container-full form.wpforms-form input.wpforms-stripe-credit-card-hidden-input {
  border-color: rgba(0, 0, 0, 0.15);
  height: 3.5em;
  font-weight: bold;
  padding: 1em;
}

/* line 56, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
  background-color: #F80000;
  border-color: #F80000;
  color: white;
  border-radius: 5px;
  padding: 0.8em 2em;
  transition: all 0.24s ease-in-out;
}

/* line 66, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form input[type=submit]:focus, div.wpforms-container-full .wpforms-form input[type=submit]:hover, div.wpforms-container-full .wpforms-form input[type=submit]:active,
div.wpforms-container-full .wpforms-form button[type=submit]:focus,
div.wpforms-container-full .wpforms-form button[type=submit]:hover,
div.wpforms-container-full .wpforms-form button[type=submit]:active,
div.wpforms-container-full .wpforms-form .wpforms-page-button:focus,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-button:active {
  transform: scale(1.05);
  background-color: #F80000;
  color: white;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
}

/* line 76, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form .wpforms-field {
  padding: 1.1em 0;
}

/* line 81, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container form.wpforms-form .choices {
  margin-bottom: 0.3em;
}

/* line 85, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form .choices .choices__inner {
  display: flex;
  align-items: center;
  padding: 0 0.6em;
}

/* line 92, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container form.wpforms-form .choices[data-type*="select-one"]:after {
  right: 1em;
}

/* line 96, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress,
div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap {
  height: 12px;
}

/* line 101, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
.wpforms-field-description {
  line-height: 1.3em;
}

/* line 105, web/app/themes/sage/resources/assets/styles/components/_forms.scss */
div.wpforms-container-full .wpforms-form .wpforms-error-container {
  position: fixed;
  background: #990000;
  padding: 1em 2em;
  color: white;
  z-index: 1;
  text-align: center;
  top: 50%;
  width: 80%;
  left: 10%;
  transform: translateY(-50%);
}

/* line 1, web/app/themes/sage/resources/assets/styles/components/_links.scss */
a {
  cursor: pointer;
  text-decoration: none;
  outline: 0;
  color: inherit;
  font-weight: bold;
}

/* line 10, web/app/themes/sage/resources/assets/styles/components/_links.scss */
main a {
  transition: 0.3s ease-out;
}

/* line 18, web/app/themes/sage/resources/assets/styles/components/_links.scss */
.read-link {
  font-size: 24px;
  position: relative;
  color: white;
  font-family: "Teko", sans-serif;
  display: inline-flex;
  align-items: center;
  text-decoration: underline;
  border-color: white;
}

/* line 64, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.inverted .read-link {
  color: black;
}

/* line 68, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.read-link:after {
  content: '';
  height: 2px;
  background-color: white;
  width: 2.2em;
  margin-left: 0.9em;
  transition: all 0.24s ease-in-out;
  transform-origin: right;
}

/* line 77, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.inverted .read-link:after {
  background: black;
}

/* line 82, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.read-link:before {
  content: '';
  height: 8px;
  width: 8px;
  border-color: inherit;
  border-top: solid 2px;
  border-right: solid 2px;
  position: absolute;
  right: 0;
  transform: rotate(45deg);
  transition: all 0.24s ease-in-out;
}

/* line 94, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.inverted .read-link:before {
  border-color: black;
}

/* line 103, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.read-link:hover:after, .read-link:focus:after, .read-link:active:after,
article:hover .read-link:after {
  transform: translateX(0.5em) scaleX(0.85);
}

/* line 107, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.read-link:hover:before, .read-link:focus:before, .read-link:active:before,
article:hover .read-link:before {
  transform: translateX(0.5em) rotate(45deg);
}

/* line 1, web/app/themes/sage/resources/assets/styles/components/_tags.scss */
ul.tags {
  display: flex;
  flex-wrap: wrap;
  margin: 1.2em 0 0.6em;
}

@media (min-width: 1280px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/components/_tags.scss */
  ul.tags {
    margin: 1.7em 0 0.9em;
  }
}

/* line 10, web/app/themes/sage/resources/assets/styles/components/_tags.scss */
ul.tags li {
  margin: 0 0.6em 0.6em 0;
  display: inline-flex;
}

@media (min-width: 1280px) {
  /* line 10, web/app/themes/sage/resources/assets/styles/components/_tags.scss */
  ul.tags li {
    margin: 0 0.8em 0.8em 0;
  }
}

/* line 19, web/app/themes/sage/resources/assets/styles/components/_tags.scss */
ul.tags a {
  font-family: "Ubuntu", sans-serif;
  font-size: 0.87em;
  color: white;
  opacity: 0.8;
  padding: 0.4em 1.3em;
  border: solid rgba(255, 255, 255, 0.3) 1px;
  text-decoration: none;
  border-radius: 0.6em;
  transition: all 0.5s;
}

/* line 14, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
ul.tags a .inverted {
  color: black;
}

@media (min-width: 1024px) {
  /* line 28, web/app/themes/sage/resources/assets/styles/components/_tags.scss */
  ul.tags a:hover, ul.tags a:active, ul.tags a:focus {
    border: solid 1px white;
    background-color: rgba(0, 0, 0, 0.3);
  }
}

@media (min-width: 1280px) {
  /* line 19, web/app/themes/sage/resources/assets/styles/components/_tags.scss */
  ul.tags a {
    padding: 0.6em 1.6em;
  }
}

/* line 40, web/app/themes/sage/resources/assets/styles/components/_tags.scss */
.inverted ul.tags a {
  color: black;
  border-color: rgba(0, 0, 0, 0.3);
}

/* line 1, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-wrapper {
  position: relative;
  grid-area: dossier;
  display: flex;
  flex-wrap: wrap;
  padding: 3em 0;
  width: 100%;
}

@media (min-width: 1024px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .dossier-wrapper {
    overflow: hidden;
  }
}

/* line 13, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-wrapper:before {
  content: '';
  position: absolute;
  top: 0;
  right: calc(var(--container-gap) * -1);
  height: 100%;
  width: 3em;
  z-index: 2;
  background: linear-gradient(-90deg, white 0%, rgba(255, 255, 255, 0) 100%);
}

/* line 23, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.page-template-template-dossier .dossier-wrapper:before {
  content: none;
}

@media (min-width: 1024px) {
  /* line 13, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .dossier-wrapper:before {
    width: 4em;
    display: block;
    right: 0;
  }
}

/* line 34, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-wrapper:after {
  content: '';
  position: absolute;
  top: 0;
  left: calc(var(--container-gap) * -1);
  height: 100%;
  width: 3em;
  z-index: 2;
  background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%);
}

/* line 44, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.page-template-template-dossier .dossier-wrapper:after {
  content: none;
}

@media (min-width: 1024px) {
  /* line 34, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .dossier-wrapper:after {
    width: 4em;
    display: block;
    left: 0;
  }
}

/* line 56, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-caroussel {
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: var(--container-gap) 0 calc(var(--container-gap) * 2.5);
}

@media (min-width: 1024px) {
  /* line 56, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .dossier-caroussel {
    padding: var(--container-gap) 0 calc(var(--container-gap) * 1.5);
  }
}

/* line 69, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-wrapper .article-head .article-headline {
  font-size: 1.6em;
  line-height: 1em;
  padding: 1.3rem;
}

@media (min-width: 1024px) {
  /* line 69, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .dossier-wrapper .article-head .article-headline {
    font-size: 2em;
  }
}

@media (min-width: 1440px) {
  /* line 69, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .dossier-wrapper .article-head .article-headline {
    font-size: 2.3em;
  }
}

/* line 83, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-top {
  position: relative;
  z-index: 3;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* line 91, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-top .dossier-headline-wrapper {
  max-width: 60ch;
}

/* line 95, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-top .dossier-headline {
  font-size: 2.3em;
  line-height: 0.9em;
  color: black;
  font-family: "Teko", sans-serif;
  font-weight: 500;
}

/* line 102, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.dossier-top .dossier-headline span {
  color: #F80000;
}

@media (min-width: 1024px) {
  /* line 95, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .dossier-top .dossier-headline {
    font-size: 2.6em;
  }
}

@media (min-width: 1280px) {
  /* line 95, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .dossier-top .dossier-headline {
    font-size: 3em;
  }
}

/* line 116, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.micro-slider-vertical {
  position: relative;
  width: calc(70% + calc(var(--container-gap) * 2));
  width: calc(70% + 4rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: 24em;
}

@media (min-width: 768px) {
  /* line 116, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .micro-slider-vertical {
    width: calc(50% - var(--gap));
  }
}

@media (min-width: 1024px) {
  /* line 116, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .micro-slider-vertical {
    height: 20em;
  }
}

@media (min-width: 1280px) {
  /* line 116, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  .micro-slider-vertical {
    height: 22em;
  }
}

/* line 139, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.slider-wrapper-vertical {
  overflow: visible !important;
  position: relative;
  transform-style: preserve-3d;
}

/* line 146, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.slider-item-vertical.active .article-details,
.slider-item-vertical.active .article-text,
.slider-item-vertical.active .read-link {
  opacity: 1;
}

/* line 154, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.slider-item-vertical .article-details,
.slider-item-vertical .article-text,
.slider-item-vertical .read-link {
  opacity: 0;
}

/* line 161, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.slider-item-vertical {
  display: none;
  width: 100%;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
}

/* line 169, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.slider-item-vertical img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 177, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.slider-item.active .section-hero-content {
  opacity: 1;
}

/* line 180, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.slider-item.active .section-hero-content:after {
  opacity: 0.8;
}

/* line 186, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
ul.slider-controls-vertical {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  padding-top: var(--gap);
  margin-top: -11em;
}

@media (min-width: 480px) {
  /* line 186, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  ul.slider-controls-vertical {
    margin-top: -7em;
  }
}

@media (min-width: 768px) {
  /* line 186, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  ul.slider-controls-vertical {
    margin-top: -5em;
  }
}

@media (min-width: 1024px) {
  /* line 186, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  ul.slider-controls-vertical {
    margin-top: -3em;
  }
}

@media (min-width: 1280px) {
  /* line 186, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
  ul.slider-controls-vertical {
    margin-top: 0;
  }
}

/* line 211, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.page-template-template-dossier ul.slider-controls-vertical {
  padding-top: 6rem;
}

/* line 215, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
ul.slider-controls-vertical li {
  display: flex;
  width: 100%;
}

/* line 220, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
ul.slider-controls-vertical li.indicator {
  background: rgba(0, 0, 0, 0.3);
}

/* line 224, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
ul.slider-controls-vertical li a {
  text-indent: -100000px;
  width: 100%;
  height: 1px;
  transition: all 0.4s ease-in-out;
}

/* line 231, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
ul.slider-controls-vertical li.active a {
  height: 5px;
  background: black;
}

/* line 237, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
#previous-vert,
#next-vert {
  height: var(--ui-height);
  width: var(--ui-height);
  text-indent: -1000em;
  border: solid rgba(0, 0, 0, 0.3) 1px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
}

/* line 249, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
#previous-vert span,
#next-vert span {
  height: calc(var(--ui-height) / 4);
  width: calc(var(--ui-height) / 4);
  border-top: solid 2px black;
  border-right: solid 2px black;
  position: absolute;
}

/* line 257, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
#previous-vert:hover, #previous-vert:active, #previous-vert:focus,
#next-vert:hover,
#next-vert:active,
#next-vert:focus {
  border: solid 1px black;
  background-color: rgba(0, 0, 0, 0.3);
}

/* line 265, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
#previous-vert {
  margin-right: 2em;
}

/* line 268, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
#previous-vert span {
  transform: rotate(-135deg);
  margin-left: 0.2em;
}

/* line 274, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
#next-vert {
  margin-left: 2em;
}

/* line 277, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
#next-vert span {
  transform: rotate(45deg);
  margin-left: -0.2em;
}

/* line 283, web/app/themes/sage/resources/assets/styles/components/_dossiers.scss */
.slider-item:not(.active) {
  cursor: pointer;
}

/* line 1, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.burger-container {
  display: flex;
  align-items: center;
  margin-left: auto;
}

@media (min-width: 480px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
  .burger-container {
    margin-left: 0;
  }
}

/* line 11, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.burger {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 1.35em;
  width: 2.1em;
  margin-left: 1.75em;
}

@media (min-width: 1280px) {
  /* line 11, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
  .burger {
    margin-top: 0;
    display: none;
  }
}

/* line 25, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.burger div {
  height: 2px;
  width: 100%;
  background: white;
  opacity: 1;
  transform: rotate(0deg);
  transition: all 0.25s ease-in-out;
}

/* line 34, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.inverted .burger div {
  background-color: black;
}

/* line 37, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.navigation-open .inverted .burger div {
  background-color: white;
}

/* line 43, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.burger div:nth-child(1) {
  align-self: center;
}

/* line 46, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.navigation-open .burger div:nth-child(1) {
  width: 0%;
  left: 50%;
  opacity: 0;
}

/* line 53, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.burger div:nth-child(2) {
  position: absolute;
  top: calc(50% - 1px);
}

/* line 57, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.navigation-open .burger div:nth-child(2) {
  transform: rotate(45deg);
}

/* line 62, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.burger div:nth-child(3) {
  position: absolute;
  top: calc(50% - 1px);
}

/* line 66, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.navigation-open .burger div:nth-child(3) {
  transform: rotate(-45deg);
}

/* line 71, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.burger div:nth-child(4) {
  align-self: center;
}

/* line 74, web/app/themes/sage/resources/assets/styles/components/_burger.scss */
.navigation-open .burger div:nth-child(4) {
  width: 0%;
  left: 50%;
  opacity: 0;
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
html {
  scroll-behavior: smooth;
  font-size: 14.5px;
  font-family: "Ubuntu", sans-serif;
}

@media (min-width: 768px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  html {
    font-size: 15px;
  }
}

@media (min-width: 1440px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  html {
    font-size: 15px;
  }
}

@media (min-width: 1680px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  html {
    font-size: 17px;
  }
}

@media (min-width: 1920px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  html {
    font-size: 18px;
  }
}

@media (min-width: 1930px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  html {
    font-size: 20px;
  }
}

/* line 28, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.navigation-open body {
  overflow: hidden;
}

/* line 33, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
body:not(.home) .wrap {
  position: relative;
  min-height: 50vh;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

/* line 41, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.wrap {
  position: relative;
  min-height: 50vh;
}

/* line 46, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.home .wrap {
  overflow: hidden;
}

/* line 50, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.container {
  max-width: 110em;
  padding: 0 var(--container-gap);
}

@media (min-width: 1280px) {
  /* line 50, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .container {
    margin: 0 auto;
  }
}

/* line 59, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.container-full {
  padding: 2rem;
  width: 100%;
}

/* line 64, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.archive .container-content {
  padding: var(--pages-top-gap) var(--container-gap);
}

/* line 67, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.archive .container-content .article-teaser-section {
  padding: 0;
}

/* line 73, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.page:not(.home) .background-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 5%;
  z-index: -1;
  pointer-events: none;
}

/* line 84, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.page:not(.home) .page-header {
  position: relative;
}

/* line 87, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.page:not(.home) .page-header:before {
  content: '';
  z-index: -1;
  position: absolute;
  top: 50%;
  width: 90vw;
  height: 90vw;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0 rgba(0, 0, 0, 0.15);
  opacity: 0.2;
  transform: translate(-50%, -55%);
}

/* line 101, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.page:not(.home) .page-header:after {
  content: '';
  z-index: -1;
  position: absolute;
  top: 50%;
  width: 50vw;
  height: 50vw;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0 rgba(0, 0, 0, 0.15);
  opacity: 0.3;
  transform: translate(-50%, -55%);
}

/* line 117, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.archive .background-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 5%;
  z-index: -1;
  opacity: 0.8;
}

/* line 128, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.page .container-content {
  position: relative;
  width: 100%;
  padding: var(--pages-top-gap) var(--container-gap);
}

@media (min-width: 768px) {
  /* line 128, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .page .container-content {
    max-width: 70vw;
  }
}

@media (min-width: 1024px) {
  /* line 128, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .page .container-content {
    max-width: 60vw;
  }
}

/* line 143, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.page-header {
  width: auto;
  margin-right: var(--gap);
}

/* line 148, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.page-header-btn-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 3em;
}

@media (min-width: 1024px) {
  /* line 148, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .page-header-btn-container {
    flex-direction: row;
    align-items: center;
  }
}

/* line 160, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.page-header-btn-container button {
  position: relative;
  font-weight: 600;
  color: #ffffff;
  font-size: 0.9em;
  text-transform: uppercase;
  text-decoration: none;
  background: #F80000;
  border-radius: 2em;
  padding: 0.7em 2em 0.6em;
  display: inline-flex;
  align-items: center;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
  font-family: "Teko", sans-serif;
  overflow: hidden;
  transition: all 0.24s ease-in-out;
  background: #FFED00;
  border: none;
  color: black;
}

/* line 19, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.page-header-btn-container button:hover, .page-header-btn-container button:active, .page-header-btn-container button:focus {
  transform: scale(1.08);
  box-shadow: 4px 4px 42px 0px rgba(0, 0, 0, 0.29);
}

/* line 168, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.wp-block-quote {
  background: whitesmoke;
  margin: 0;
  padding: 0.6em 2em 2em;
  color: black;
}

/* line 174, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.wp-block-quote a {
  background: #FFED00;
  color: black;
  padding: 0.2em;
}

/* line 181, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
body .wp-block-quote::before {
  content: '';
}

@media (min-width: 1280px) {
  /* line 186, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  :root {
    --container-gap: 5rem;
    --gap: 2.5rem;
    --pages-top-gap: 12em;
  }
}

/* line 193, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.hero-headline {
  font-size: 3.4em;
  line-height: 0.9em;
  color: white;
  font-family: "Teko", sans-serif;
  font-weight: 500;
}

@media (min-width: 1024px) {
  /* line 193, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .hero-headline {
    font-size: 3.6em;
  }
}

@media (min-width: 1280px) {
  /* line 193, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .hero-headline {
    font-size: 4.4em;
  }
}

/* line 51, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.inverted .hero-headline {
  color: black;
}

/* line 197, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.section-headline {
  scroll-margin-top: 4em;
}

/* line 201, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.error404 .wrap {
  max-width: 110em;
  padding: var(--pages-top-gap) var(--container-gap);
  flex-direction: column;
}

@media (min-width: 1280px) {
  /* line 201, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .error404 .wrap {
    margin: 0 auto;
  }
}

/* line 210, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.error404 .wrap .search-form {
  display: block;
  width: 100%;
  margin: 0;
}

/* line 217, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
#flipbookContainerWrapper {
  height: 0;
  overflow: hidden;
}

/* line 221, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
#flipbookContainerWrapper.show {
  height: auto;
  overflow: visible;
}

/* line 226, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
#flipbookContainerWrapper .df-ui-wrapper.df-ui-controls .df-ui-thumbnail {
  display: none;
}

/* line 234, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.log-in .container-content,
.mein-bereich .container-content,
.vielen-dank-fuer-ihre-bestellung .container-content {
  max-width: 90vw;
}

@media (min-width: 1024px) {
  /* line 234, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .log-in .container-content,
  .mein-bereich .container-content,
  .vielen-dank-fuer-ihre-bestellung .container-content {
    padding-bottom: 0;
  }
}

/* line 242, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.log-in .has-2-columns,
.mein-bereich .has-2-columns,
.vielen-dank-fuer-ihre-bestellung .has-2-columns {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}

@media (min-width: 1024px) {
  /* line 242, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .log-in .has-2-columns,
  .mein-bereich .has-2-columns,
  .vielen-dank-fuer-ihre-bestellung .has-2-columns {
    flex-wrap: nowrap;
  }
}

/* line 252, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.log-in .has-2-columns .wp-block-column:first-child,
.mein-bereich .has-2-columns .wp-block-column:first-child,
.vielen-dank-fuer-ihre-bestellung .has-2-columns .wp-block-column:first-child {
  display: flex;
  align-items: flex-start;
  flex-basis: auto;
}

@media (min-width: 1024px) {
  /* line 252, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .log-in .has-2-columns .wp-block-column:first-child,
  .mein-bereich .has-2-columns .wp-block-column:first-child,
  .vielen-dank-fuer-ihre-bestellung .has-2-columns .wp-block-column:first-child {
    max-width: 35%;
  }
}

/* line 262, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.log-in .has-2-columns .wp-block-column:nth-child(2),
.mein-bereich .has-2-columns .wp-block-column:nth-child(2),
.vielen-dank-fuer-ihre-bestellung .has-2-columns .wp-block-column:nth-child(2) {
  display: flex;
  align-items: flex-start;
  flex-basis: auto;
  margin-left: 0;
}

@media (min-width: 1024px) {
  /* line 262, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .log-in .has-2-columns .wp-block-column:nth-child(2),
  .mein-bereich .has-2-columns .wp-block-column:nth-child(2),
  .vielen-dank-fuer-ihre-bestellung .has-2-columns .wp-block-column:nth-child(2) {
    margin-left: calc(var(--gap) * 2);
    max-width: 65%;
  }
}

@media (min-width: 1024px) {
  /* line 274, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .log-in figure,
  .mein-bereich figure,
  .vielen-dank-fuer-ihre-bestellung figure {
    transform: translateY(-6em);
  }
}

/* line 281, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
figure .copyright {
  position: relative;
  display: block;
  text-align: center;
}

/* line 286, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.main-hero figure .copyright, .slider-item figure .copyright, .article-head figure .copyright {
  display: none;
}

/* line 291, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.navigation.posts-navigation {
  padding-top: 2rem;
}

/* line 294, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.navigation.posts-navigation .nav-links {
  justify-content: space-between;
}

/* line 299, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.notice {
  padding: 0.5em 1em;
  line-height: 1.5em;
  grid-column: 1 / -1;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  background: #FFED00;
}

/* line 307, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
.main-hero-content .notice {
  padding: 0.5em 1em;
  margin-bottom: 1em;
}

@media (min-width: 1024px) {
  /* line 307, web/app/themes/sage/resources/assets/styles/layout/_layout.scss */
  .main-hero-content .notice {
    width: 80%;
  }
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.main-hero {
  position: relative;
  overflow: hidden;
  min-height: 70vh;
  width: 100%;
  display: flex;
  align-items: center;
}

@media (min-width: 1024px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .main-hero {
    min-height: 100vh;
  }
}

/* line 13, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.main-hero:after {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: black;
  opacity: 0;
  z-index: -1;
}

/* line 24, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.inverted .main-hero:after {
  display: none;
}

/* line 29, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.main-hero:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 50%, black 100%);
  opacity: 0.8;
}

/* line 44, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.inverted .main-hero:before {
  display: none;
}

@media (min-width: 768px) {
  /* line 29, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .main-hero:before {
    width: 50vw;
  }
}

/* line 53, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.main-hero .hero-image {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 64, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.home .main-hero + .article-section {
  margin-top: -2.5em;
}

/* line 68, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.hero-content-flex {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: calc(var(--nav-height) * 1.1);
  margin-bottom: calc(var(--nav-height) * 1.1);
}

@media (min-width: 1024px) {
  /* line 68, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .hero-content-flex {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: calc(var(--nav-height) * 1.3);
    margin-bottom: calc(var(--nav-height) * 0.6);
    width: 100%;
  }
}

/* line 85, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.main-hero-content {
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  /* line 85, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .main-hero-content {
    max-width: 32em;
  }
}

@media (min-width: 1280px) {
  /* line 85, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .main-hero-content {
    max-width: 35em;
  }
}

/* line 98, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.article-details {
  font-family: "Ubuntu", sans-serif;
  font-size: 0.87em;
  color: white;
  opacity: 0.8;
  margin-bottom: 1.4em;
}

/* line 14, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.article-details .inverted {
  color: black;
}

/* line 102, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.inverted .article-details {
  color: black;
}

/* line 107, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.article-text {
  font-family: "Ubuntu", sans-serif;
  font-size: 1em;
  color: white;
  opacity: 0.8;
}

/* line 25, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.inverted .article-text {
  color: black;
}

/* line 110, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.inverted .article-text {
  color: black;
}

/* line 115, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.article-details-dot {
  display: inline-flex;
  padding: 0 1em;
}

/* line 121, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.main-hero .read-link {
  font-size: 24px;
  margin-top: 0.7em;
  display: inline-flex;
}

/* line 128, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.interferer {
  position: relative;
  margin-left: auto;
  margin-bottom: 0.5em;
  font-size: 14px;
  line-height: 14px;
  height: 7.6em;
  width: 7.6em;
  padding: 0.85em;
  border-radius: 50%;
  color: black;
  background-color: #FFED00;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: "Teko", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
  transform: rotate(25deg);
  transition: all 0.24s ease-in-out;
}

@media (min-width: 768px) {
  /* line 128, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .interferer {
    font-size: 16px;
    line-height: 16px;
  }
}

@media (min-width: 1024px) {
  /* line 128, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .interferer {
    position: absolute;
    right: -6em;
    top: -2.6em;
    margin-bottom: 0;
  }
  /* line 164, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .category .interferer {
    right: -10em;
  }
}

@media (min-width: 1280px) {
  /* line 128, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
  .interferer {
    font-size: 18px;
    line-height: 18px;
  }
}

/* line 174, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.interferer:hover, .interferer:focus, .interferer:active {
  animation: shake-interferer 0.8s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  box-shadow: 2px 2px 35px 0 rgba(0, 0, 0, 0.4);
}

/* line 181, web/app/themes/sage/resources/assets/styles/layout/_main-hero.scss */
.interferer i {
  font-size: 2em;
  padding-bottom: 0.7rem;
}

/* line 2, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
.theme-light .main-hero {
  flex-wrap: wrap;
  flex-direction: column;
}

@media (min-width: 1024px) {
  /* line 2, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
  .theme-light .main-hero {
    flex-direction: row;
  }
}

/* line 10, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
.theme-light .main-hero .background-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 5%;
}

/* line 20, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
.theme-light .main-hero-content {
  max-width: 100%;
  margin: 0;
}

@media (min-width: 1024px) {
  /* line 20, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
  .theme-light .main-hero-content {
    margin-top: calc(var(--nav-height) * 1.3);
    margin-bottom: calc(var(--nav-height) * 0.6);
    max-width: 34em;
  }
}

/* line 32, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
.theme-light .hero-image-wrapper {
  margin-top: calc(var(--nav-height) * 1.3);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 30%;
}

@media (min-width: 1024px) {
  /* line 32, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
  .theme-light .hero-image-wrapper {
    position: absolute;
    width: 50%;
    height: 100%;
    right: 0;
    margin-top: 0;
  }
}

/* line 49, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
.theme-light .hero-image-wrapper:after {
  content: "";
  z-index: -1;
  position: absolute;
  width: 50vw;
  height: 50vw;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  opacity: 0.4;
}

/* line 61, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
.theme-light .hero-image-wrapper:before {
  content: "";
  z-index: -2;
  position: absolute;
  width: 90vw;
  height: 90vw;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  opacity: 0.2;
}

/* line 73, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
.theme-light .hero-image-wrapper .hero-image {
  z-index: 1;
  position: relative;
}

@media (min-width: 1024px) {
  /* line 73, web/app/themes/sage/resources/assets/styles/layout/_main-hero-light.scss */
  .theme-light .hero-image-wrapper .hero-image {
    position: absolute;
    object-fit: none;
  }
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding-top: var(--gap);
  overflow: hidden;
}

/* line 10, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero .hero-image {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 22, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero-tag {
  position: absolute;
  height: calc(var(--ui-height) * 1.3);
  z-index: 2;
  top: 1em;
  left: var(--container-gap);
  background: #F80000;
  display: flex;
  align-items: center;
  font-family: "Teko", sans-serif;
  padding: 0 1em;
}

/* line 34, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero-tag i {
  color: white;
  font-size: 2em;
}

/* line 39, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero-tag span {
  font-size: 1.4em;
  line-height: 1.4em;
  color: white;
  padding-left: 0.4em;
  padding-top: 0.3em;
}

/* line 48, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero-content {
  z-index: 1;
  opacity: 0;
  transition: all 0.4s ease-in-out;
  transition-delay: 0.2s;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

@media (min-width: 768px) {
  /* line 48, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  .section-hero-content {
    max-width: 32em;
  }
}

@media (min-width: 1280px) {
  /* line 48, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  .section-hero-content {
    max-width: 35em;
  }
}

/* line 65, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero-content .hero-headline {
  font-size: 3.5em;
  line-height: 0.9em;
  color: white;
  font-family: "Teko", sans-serif;
}

@media (min-width: 1280px) {
  /* line 65, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  .section-hero-content .hero-headline {
    font-size: 4.4em;
  }
}

/* line 76, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero-content:after {
  content: '';
  height: 100%;
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 50%, black 100%);
  opacity: 0;
  z-index: -1;
  transition: all 0.4s ease-in-out;
  transition-delay: 0.2s;
}

@media (min-width: 1024px) {
  /* line 76, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  .section-hero-content:after {
    width: 70vw;
  }
}

/* line 101, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.article-details {
  font-family: "Ubuntu", sans-serif;
  font-size: 0.87em;
  color: white;
  opacity: 0.8;
  margin-bottom: 1.4em;
}

/* line 14, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.article-details .inverted {
  color: black;
}

@media (min-width: 768px) {
  /* line 101, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  .article-details {
    width: calc(100% - 35px);
  }
}

/* line 109, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.inverted .article-details {
  color: rgba(0, 0, 0, 0.6);
}

/* line 114, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.article-text {
  font-family: "Ubuntu", sans-serif;
  font-size: 1em;
  color: white;
  opacity: 0.8;
}

/* line 25, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.inverted .article-text {
  color: black;
}

/* line 117, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.inverted .article-text {
  color: black;
}

/* line 122, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.article-details-dot {
  display: inline-flex;
  padding: 0 1em;
}

/* line 128, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero .read-link {
  font-size: 24px;
  margin-top: 0.7em;
  display: inline-flex;
}

/* line 135, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.section-hero .micro-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* line 141, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.slider-wrapper {
  overflow: hidden;
  position: relative;
  transform-style: preserve-3d;
  transform-origin: 0 50%;
  min-height: 35em !important;
}

/* line 150, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.slider-item {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.12);
  height: 100% !important;
  width: 100% !important;
  max-width: none;
  left: 0;
  position: absolute;
  top: 0;
  transform: none;
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
}

@media (min-width: 1024px) {
  /* line 150, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  .slider-item {
    align-items: center;
  }
}

/* line 167, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.slider-item:after, .slider-item:before {
  content: '';
  height: 70%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 50%, black 100%);
  opacity: 0.6;
  z-index: 0;
}

@media (min-width: 1024px) {
  /* line 167, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  .slider-item:after, .slider-item:before {
    height: 30%;
  }
}

/* line 190, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.slider-item:before {
  top: auto;
  bottom: 0;
  background: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 50%, black 100%);
}

/* line 204, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.slider-item.active .section-hero-content {
  opacity: 1;
}

/* line 207, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.slider-item.active .section-hero-content:after {
  opacity: 0.8;
}

/* line 213, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
ul.slider-controls {
  position: absolute;
  right: var(--container-gap);
  bottom: var(--container-gap);
  left: var(--container-gap);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  padding-top: 2em;
  list-style: none;
}

@media (min-width: 1024px) {
  /* line 213, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  ul.slider-controls {
    padding-top: 0;
    left: auto;
    width: auto;
    bottom: calc(var(--container-gap) / 2);
  }
}

/* line 232, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
ul.slider-controls li {
  display: flex;
  width: 100%;
}

/* line 237, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
ul.slider-controls li.indicator {
  background: rgba(255, 255, 255, 0.3);
}

/* line 241, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
ul.slider-controls li a {
  text-indent: -10000px;
  width: 100%;
  height: 1px;
  transition: all 0.4s ease-in-out;
}

@media (min-width: 1024px) {
  /* line 241, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
  ul.slider-controls li a {
    width: 3.5em;
  }
}

/* line 252, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
ul.slider-controls li.active a {
  height: 5px;
  background: white;
}

/* line 258, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
#previous,
#next {
  height: var(--ui-height);
  width: var(--ui-height);
  text-indent: -1000em;
  border: solid rgba(255, 255, 255, 0.3) 1px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
}

/* line 270, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
#previous span,
#next span {
  height: calc(var(--ui-height) / 4);
  width: calc(var(--ui-height) / 4);
  border-top: solid 2px white;
  border-right: solid 2px white;
  position: absolute;
}

/* line 278, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
#previous:hover, #previous:active, #previous:focus,
#next:hover,
#next:active,
#next:focus {
  border: solid 1px white;
  background-color: rgba(0, 0, 0, 0.3);
}

/* line 286, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
#previous {
  margin-right: 2em;
}

/* line 289, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
#previous span {
  transform: rotate(-135deg);
  margin-left: 0.2em;
}

/* line 295, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
#next {
  margin-left: 2em;
}

/* line 298, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
#next span {
  transform: rotate(45deg);
  margin-left: -0.2em;
}

/* line 304, web/app/themes/sage/resources/assets/styles/layout/_section-hero.scss */
.slider-item:not(.active) {
  cursor: pointer;
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
.article-teaser-section {
  display: grid;
  width: 100%;
  grid-template: "article-teaser" "ads" "ads";
}

@media (min-width: 768px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
  .article-teaser-section {
    gap: var(--gap) var(--gap);
    grid-template: "article-teaser article-teaser" "ads       ads";
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
  .article-teaser-section {
    grid-template: "article-teaser article-teaser ads" "article-teaser article-teaser ads";
    grid-template-columns: 1.1fr 1.1fr 0.8fr;
    grid-template-rows: auto 1fr;
  }
}

/* line 26, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
.article-teaser-section .article-head:after {
  display: none;
}

/* line 31, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
.article-teaser-section .article-headline {
  font-size: 2em;
  line-height: 1;
  color: black;
  font-weight: normal;
}

/* line 38, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
.article-teaser-section .article-details {
  margin-bottom: 1.1em;
}

/* line 42, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
.article-teaser-section .read-link {
  margin-top: 0.7em;
}

/* line 46, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
.article-teaser-section .article-teaser-grid {
  margin-top: var(--gap);
  margin-bottom: var(--gap);
  display: grid;
  grid-template-columns: repeat(1, minmax(15em, 1fr));
  gap: var(--gap);
  grid-area: article-teaser;
}

@media (min-width: 768px) {
  /* line 46, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
  .article-teaser-section .article-teaser-grid {
    grid-template-columns: repeat(2, minmax(15em, 1fr));
  }
}

@media (min-width: 1024px) {
  /* line 46, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
  .article-teaser-section .article-teaser-grid {
    grid-template-columns: repeat(2, minmax(12em, 1fr));
  }
}

@media (min-width: 1280px) {
  /* line 46, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
  .article-teaser-section .article-teaser-grid {
    grid-template-columns: repeat(2, minmax(15em, 1fr));
  }
}

@media (min-width: 1440px) {
  /* line 46, web/app/themes/sage/resources/assets/styles/layout/_article-teaser.scss */
  .article-teaser-section .article-teaser-grid {
    grid-template-columns: repeat(3, minmax(18em, 1fr));
  }
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-container {
  display: flex;
  flex-wrap: wrap;
}

/* line 6, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-top {
  margin-top: -7.5rem;
}

/* line 14, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
article:hover .article-head-w-text:after, article:focus .article-head-w-text:after, article:active .article-head-w-text:after {
  height: 100%;
}

/* line 20, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-topbar {
  height: 5rem;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

/* line 27, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-topbar .current-edition-wrapper:hover .current-edition-link,
.article-topbar .current-edition-wrapper:focus .current-edition-link,
.article-topbar .current-edition-wrapper:active .current-edition-link {
  animation: shake-current 0.8s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* line 34, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-topbar .current-edition {
  position: absolute;
  padding: 3em 0;
  right: 0;
  overflow: hidden;
  transform: translateY(-70%);
}

@media (min-width: 1280px) {
  /* line 34, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .article-topbar .current-edition {
    transform: translateY(-50%);
  }
}

/* line 46, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-topbar .current-edition-link {
  display: inline-flex;
}

/* line 50, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-topbar .current-edition-img {
  width: 7.7em;
  box-shadow: 2px 2px 35px 0px rgba(0, 0, 0, 0.8);
  transform: translateX(55%) rotate(-30deg);
}

@media (min-width: 1280px) {
  /* line 50, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .article-topbar .current-edition-img {
    width: 8.5em;
  }
}

/* line 60, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-topbar .read-link {
  font-size: 24px;
  margin-right: 2em;
}

@media (min-width: 1920px) {
  /* line 60, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .article-topbar .read-link {
    margin-right: 0;
  }
}

/* line 70, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content {
  width: 100%;
  display: grid;
  grid-template: "article-1" "article-2" "dossier" "ads" "ads";
}

@media (min-width: 768px) {
  /* line 70, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .home .article-content {
    grid-gap: var(--gap) var(--gap);
    grid-template: "article-1 article-2" "ads       ads" "dossier dossier";
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  /* line 70, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .home .article-content {
    grid-template: "article-1 article-2 ads" "dossier dossier ads";
    grid-template-columns: 1.1fr 1.1fr 0.8fr;
    grid-template-rows: auto;
  }
}

/* line 98, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content article {
  width: 100%;
  margin-bottom: calc(var(--container-gap) * 1.5);
}

/* line 102, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content article .article-text,
.home .article-content article .article-details {
  color: black;
}

@media (min-width: 768px) {
  /* line 98, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .home .article-content article {
    margin-bottom: 0;
  }
}

/* line 112, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content article:nth-of-type(1) {
  grid-area: article-1;
}

/* line 116, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content article:nth-of-type(2) {
  grid-area: article-2;
}

/* line 120, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content article:nth-of-type(3) {
  grid-area: article-3;
}

/* line 124, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content article:nth-of-type(4) {
  grid-area: article-4;
}

/* line 128, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content .article-teaser-section-container {
  grid-area: article-teaser;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15em, 1fr));
  gap: 2em;
}

@media (min-width: 1024px) {
  /* line 128, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .home .article-content .article-teaser-section-container {
    grid-template-columns: repeat(auto-fit, minmax(15em, 1fr));
  }
}

@media (min-width: 1440px) {
  /* line 128, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .home .article-content .article-teaser-section-container {
    grid-template-columns: repeat(auto-fit, minmax(18em, 1fr));
  }
}

/* line 144, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content .article-details {
  margin-top: 1.4em;
}

/* line 148, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content .read-link {
  font-size: 21px;
  margin-top: 0.7em;
  margin-right: 1em;
  display: inline-flex;
  color: black;
  border-color: black;
}

/* line 156, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.home .article-content .read-link:after {
  background-color: black;
}

/* line 162, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head:empty {
  background-image: url("/app/themes/sage/dist/images/background.png");
  background-size: 15%;
}

/* line 167, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head {
  position: relative;
  display: flex;
  box-shadow: 4px 4px 42px 0px rgba(0, 0, 0, 0.29);
  padding-bottom: 65%;
}

/* line 173, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  transition: all 0.24s ease-in-out;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.86) 0%, rgba(0, 0, 0, 0) 100%);
}

/* line 188, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head i {
  position: absolute;
  right: 0;
  top: 0;
  height: var(--ui-height);
  width: var(--ui-height);
  background-color: #FFED00;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: black;
  margin: calc(var(--gap) / 2);
}

/* line 204, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head i:before {
  font-size: 1.2em;
}

/* line 209, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head .article-headline {
  position: absolute;
  z-index: 1;
  bottom: 0;
  font-family: "Teko", sans-serif;
  color: white;
  font-size: 2.2em;
  line-height: 1em;
  padding: calc(var(--gap) / 2.7) calc(var(--gap) / 2);
}

@media (min-width: 1024px) {
  /* line 209, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .article-head .article-headline {
    font-size: 2em;
  }
}

@media (min-width: 1440px) {
  /* line 209, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
  .article-head .article-headline {
    font-size: 2.6em;
  }
}

/* line 228, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head figure {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* line 235, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 244, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head.light-layout {
  overflow: hidden;
  background-size: 15%;
  background-image: url(/app/themes/sage/dist/images/background.png);
}

/* line 249, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head.light-layout:after {
  display: none;
}

/* line 253, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head.light-layout figure {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 87%;
}

/* line 259, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head.light-layout figure:after {
  content: "";
  position: absolute;
  width: 18em;
  height: 18em;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  opacity: 0.4;
}

/* line 270, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head.light-layout figure:before {
  content: "";
  position: absolute;
  width: 30em;
  height: 30em;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  opacity: 0.2;
}

/* line 282, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head.light-layout figure img {
  position: absolute;
  width: auto;
  height: 70%;
  mix-blend-mode: multiply;
  z-index: 1;
}

/* line 290, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.article-head.light-layout .article-headline {
  color: black;
}

/* line 295, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.empty-article-head-container {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 15%;
  background-image: url(/app/themes/sage/dist/images/background.png);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 308, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.empty-article-head-container .logo-svg {
  position: absolute;
  opacity: 0.05;
  height: 120%;
}

/* line 313, web/app/themes/sage/resources/assets/styles/layout/_article.scss */
.empty-article-head-container .logo-svg .side-letters {
  display: none;
}

/* line 2, web/app/themes/sage/resources/assets/styles/layout/_category.scss */
body.category .article-content {
  width: 100%;
  display: grid;
  grid-template: "article-1" "article-2" "ads" "ads" "article-3" "article-4";
}

@media (min-width: 768px) {
  /* line 2, web/app/themes/sage/resources/assets/styles/layout/_category.scss */
  body.category .article-content {
    grid-gap: var(--gap) var(--gap);
    grid-template: "article-1 article-2" "ads       ads" "article-3 article-4";
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  /* line 2, web/app/themes/sage/resources/assets/styles/layout/_category.scss */
  body.category .article-content {
    grid-template: "article-1 article-2 ads" "article-3 article-4 ads";
    grid-template-columns: 1.1fr 1.1fr 0.8fr;
    grid-template-rows: auto;
  }
}

/* line 32, web/app/themes/sage/resources/assets/styles/layout/_category.scss */
body.category .main-hero {
  min-height: 0;
  margin: var(--nav-height) var(--container-gap) var(--container-gap);
}

/* line 37, web/app/themes/sage/resources/assets/styles/layout/_category.scss */
body.category .main-hero-content {
  max-width: 45em;
}

/* line 41, web/app/themes/sage/resources/assets/styles/layout/_category.scss */
body.category .hero-content-flex {
  margin-top: var(--container-gap);
  margin-bottom: var(--container-gap);
  width: 100%;
}

/* line 2, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9em, 1fr));
  gap: var(--gap);
  width: 100%;
  padding: var(--pages-top-gap) calc(var(--container-gap));
}

@media (min-width: 1024px) {
  /* line 2, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
  .archive-grid-container {
    padding: var(--pages-top-gap) calc(var(--container-gap) * 2);
    grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
  }
}

/* line 14, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-grid-container span {
  font-family: "Teko", sans-serif;
  color: black;
  font-size: 1.7em;
  display: inline-flex;
}

/* line 21, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-grid-container a {
  width: 100%;
}

/* line 25, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-grid-container figure {
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
}

/* line 28, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-grid-container figure img {
  width: 100%;
}

@media (min-width: 768px) {
  /* line 25, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
  .archive-grid-container figure {
    transition: all 0.24s ease-in-out;
  }
  /* line 35, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
  .archive-grid-container figure:hover {
    transform: scale(1.02);
  }
}

/* line 41, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-grid-container .empty-cover-container {
  background: #eaeaea;
  width: 100%;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
  padding-bottom: 136%;
}

@media (min-width: 768px) {
  /* line 41, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
  .archive-grid-container .empty-cover-container {
    transition: all 0.24s ease-in-out;
  }
  /* line 52, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
  .archive-grid-container .empty-cover-container:hover {
    transform: scale(1.02);
  }
}

/* line 67, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-grid-container .empty-cover-container img {
  transform: scale(1.1);
  height: 110%;
  width: 110%;
  object-fit: cover;
  position: absolute;
}

/* line 76, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-grid-container .empty-cover-container span {
  writing-mode: vertical-lr;
  transform: rotate(180deg) translateY(50%);
  position: absolute;
  top: 50%;
  left: 0;
  font-size: 5em;
  opacity: 0.5;
  color: white;
  z-index: 2;
  mix-blend-mode: overlay;
}

/* line 92, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive .container-content .section-headline {
  font-size: 3em;
}

/* line 97, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
.archive-claim {
  padding: 2em;
}

@media (min-width: 1024px) {
  /* line 97, web/app/themes/sage/resources/assets/styles/layout/_archive.scss */
  .archive-claim {
    padding: 3em;
  }
}

/* line 2, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
.article-banners {
  display: none;
  grid-area: ads;
  background-color: #f5f5f5;
  width: calc(100% + var(--container-gap) * 2);
  margin-left: calc(var(--container-gap) * -1);
  margin-bottom: calc(var(--container-gap) * 1.5);
  padding-left: calc(var(--container-gap) / 2);
  padding-right: calc(var(--container-gap) / 2);
}

/* line 15, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
.home .article-section:first-of-type .article-banners {
  padding-top: 0;
  background: transparent;
}

@media (min-width: 1024px) {
  /* line 2, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
  .article-banners {
    display: grid;
    width: auto;
    grid-auto-flow: column;
    margin-left: 0;
    margin-bottom: auto;
    padding: 0;
    padding: var(--gap) 0 var(--gap);
  }
}

/* line 31, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
.banner-image-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}

@media (min-width: 1024px) {
  /* line 31, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
  .banner-image-container {
    flex-direction: column;
    background: #f5f5f5;
  }
}

/* line 42, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
.banner-info {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}

@media (min-width: 1024px) {
  /* line 42, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
  .banner-info {
    width: var(--gap);
    padding-top: 1em;
    padding-bottom: 1em;
    background: #f5f5f5;
  }
  /* line 56, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
  .home .article-section:first-of-type .banner-info {
    margin-top: 2.5rem;
  }
}

/* line 61, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
.banner-info span {
  font-family: "Ubuntu", sans-serif;
  font-size: 0.87em;
  color: white;
  opacity: 0.8;
  color: black;
  opacity: 0.6;
  display: inline-flex;
  white-space: nowrap;
}

/* line 14, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.banner-info span .inverted {
  color: black;
}

@media (min-width: 1024px) {
  /* line 61, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
  .banner-info span {
    writing-mode: vertical-rl;
    position: sticky;
    top: var(--nav-height);
    transform: rotate(180deg);
  }
}

/* line 77, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
.banner-image {
  width: 33.33333%;
  padding: 0 calc(var(--gap) / 2);
}

/* line 81, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
.banner-image img {
  width: 100%;
}

@media (min-width: 1024px) {
  /* line 77, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
  .banner-image {
    width: 100%;
    padding: 0;
    margin-bottom: calc(var(--gap));
  }
}

/* line 92, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
.banner-image:last-child {
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  /* line 92, web/app/themes/sage/resources/assets/styles/layout/_ads.scss */
  .banner-image:last-child {
    margin-bottom: calc(var(--gap));
  }
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section {
  background-size: 3%;
  box-shadow: inset 0 14px 63px -5px rgba(0, 0, 0, 0.2);
  width: 100%;
}

/* line 7, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 12, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section-container .abo-section-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
  width: 100%;
  font-family: "Teko", sans-serif;
  padding-top: calc(var(--gap) * 1.5);
  padding-right: calc(var(--container-gap) + 1.5em);
}

@media (min-width: 1024px) {
  /* line 12, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
  .abo-section-container .abo-section-head {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* line 29, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section-container .all-abos-link {
  padding-bottom: calc(var(--gap) * 2);
}

/* line 34, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section-head-link-container {
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 1em;
}

/* line 39, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section-head-link-container a.cta-links {
  z-index: 1;
  margin-top: 0;
}

/* line 43, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section-head-link-container span {
  position: absolute;
  width: 3em;
  height: 3em;
  background: #FFED00;
  border-radius: 50%;
  right: 0;
  transform: translateX(45%);
}

/* line 54, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section-container h2 {
  font-size: 2em;
  line-height: 0.9em;
}

@media (min-width: 1024px) {
  /* line 54, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
  .abo-section-container h2 {
    font-size: 3em;
  }
}

/* line 63, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section .cta-links {
  font-size: 24px;
  position: relative;
  color: white;
  font-family: "Teko", sans-serif;
  display: inline-flex;
  align-items: center;
  text-decoration: underline;
  border-color: white;
  font-size: 1.3em;
  color: black;
  margin-top: 1em;
}

/* line 64, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.inverted .abo-section .cta-links {
  color: black;
}

/* line 68, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.abo-section .cta-links:after {
  content: '';
  height: 2px;
  background-color: white;
  width: 2.2em;
  margin-left: 0.9em;
  transition: all 0.24s ease-in-out;
  transform-origin: right;
}

/* line 77, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.inverted .abo-section .cta-links:after {
  background: black;
}

/* line 82, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.abo-section .cta-links:before {
  content: '';
  height: 8px;
  width: 8px;
  border-color: inherit;
  border-top: solid 2px;
  border-right: solid 2px;
  position: absolute;
  right: 0;
  transform: rotate(45deg);
  transition: all 0.24s ease-in-out;
}

/* line 94, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.inverted .abo-section .cta-links:before {
  border-color: black;
}

/* line 103, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.abo-section .cta-links:hover:after, .abo-section .cta-links:focus:after, .abo-section .cta-links:active:after,
article:hover .abo-section .cta-links:after {
  transform: translateX(0.5em) scaleX(0.85);
}

/* line 107, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.abo-section .cta-links:hover:before, .abo-section .cta-links:focus:before, .abo-section .cta-links:active:before,
article:hover .abo-section .cta-links:before {
  transform: translateX(0.5em) rotate(45deg);
}

/* line 69, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-section .cta-links:after {
  background-color: black;
}

/* line 74, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-card-layout-container {
  width: 100%;
  overflow-y: scroll;
  position: relative;
  -webkit-mask-image: linear-gradient(to right, black 90%, transparent 100%);
  mask-image: linear-gradient(to right, black 90%, transparent 100%);
}

@media (min-width: 1024px) {
  /* line 74, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
  .abo-card-layout-container {
    -webkit-mask-image: none;
    mask-image: none;
  }
}

@media (min-width: 1280px) {
  /* line 74, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
  .abo-card-layout-container {
    overflow: visible;
  }
}

/* line 91, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-cards-flex {
  display: grid;
  grid-template-columns: repeat(3, minmax(22em, 1fr));
  width: calc(100% + 22em);
  gap: var(--gap);
  padding-top: calc(var(--gap) * 3);
  padding-bottom: calc(var(--gap) * 3);
}

@media (min-width: 1024px) {
  /* line 91, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
  .abo-cards-flex {
    grid-template-columns: repeat(3, minmax(20em, 22em));
    width: 100%;
    gap: var(--gap);
    place-content: center;
    padding-top: calc(var(--gap) * 4);
    padding-bottom: calc(var(--gap) * 3);
  }
}

/* line 108, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-cards-flex .abo-card-container {
  background: white;
  padding: 0 var(--gap);
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  width: 100%;
  position: relative;
}

/* line 118, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-cards-flex .abo-card-container .price-flex {
  padding-bottom: 2em;
}

/* line 121, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-cards-flex .abo-card-container .price-flex span {
  font-family: "Teko", sans-serif;
}

/* line 125, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-cards-flex .abo-card-container .price-flex .currency {
  font-size: 2em;
}

/* line 128, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-cards-flex .abo-card-container .price-flex .price {
  font-size: 4.5em;
  margin: 0 0.2em;
  font-weight: 800;
}

/* line 134, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-cards-flex .abo-card-container .price-flex .time {
  font-size: 1.7em;
  color: rgba(0, 0, 0, 0.6);
}

/* line 143, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-card-container a {
  position: relative;
  font-weight: 600;
  color: #ffffff;
  font-size: 0.9em;
  text-transform: uppercase;
  text-decoration: none;
  background: #F80000;
  border-radius: 2em;
  padding: 0.7em 2em 0.6em;
  display: inline-flex;
  align-items: center;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
  font-family: "Teko", sans-serif;
  overflow: hidden;
  transition: all 0.24s ease-in-out;
  font-size: 1.1em;
  position: absolute;
  bottom: -5%;
}

/* line 19, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.abo-card-container a:hover, .abo-card-container a:active, .abo-card-container a:focus {
  transform: scale(1.08);
  box-shadow: 4px 4px 42px 0px rgba(0, 0, 0, 0.29);
}

/* line 150, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-card-container.basic a {
  background-color: #FFED00;
  color: black;
}

/* line 155, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-card-container.soli a {
  color: white;
  background-color: black;
}

/* line 161, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-stars {
  position: absolute;
  font-size: 2.2em;
  top: -2.5em;
}

/* line 166, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.basic .abo-stars {
  color: #FFED00;
}

/* line 170, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.plus .abo-stars {
  color: #F80000;
}

/* line 174, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-stars .abo-dot {
  font-size: 1.6em;
  font-style: normal;
  line-height: 1em;
}

/* line 181, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-model-head-flex {
  margin-top: -2.7em;
  display: flex;
  justify-content: center;
}

/* line 186, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
.abo-model-head-flex .abo-model-name {
  font-family: "Teko", sans-serif;
  font-size: 3.8em;
  font-weight: 600;
  text-transform: uppercase;
}

/* line 194, web/app/themes/sage/resources/assets/styles/layout/_abo.scss */
ul.abo-details-list {
  font-family: "Ubuntu", sans-serif;
  font-size: 1em;
  color: white;
  opacity: 0.8;
  color: black;
  padding: 0.6em 0 1em;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

/* line 25, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.inverted ul.abo-details-list {
  color: black;
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.detail .wrap {
  display: flex;
  align-items: center;
}

/* line 7, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .hero-image-wrapper {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

/* line 15, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .hero-image-wrapper figure {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 22, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .hero-image-wrapper img {
  object-fit: cover;
  max-height: 45vw;
}

@media (min-width: 768px) {
  /* line 28, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
  .single-post .hero-image-wrapper img {
    max-height: 34vw;
  }
}

/* line 35, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .detail-view-wrapper {
  position: relative;
  padding-top: var(--pages-top-gap);
  width: 100%;
}

/* line 40, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .detail-view-wrapper .hero-headline {
  width: 100%;
  text-align: center;
}

/* line 45, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .detail-view-wrapper .detail-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding: var(--container-gap);
}

@media (min-width: 1024px) {
  /* line 45, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
  .single-post .detail-view-wrapper .detail-container {
    padding: 0;
  }
}

/* line 57, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .detail-view-wrapper .detail-content-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 66, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .light-layout:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -3;
  background-size: 5%;
  background-image: url(/app/themes/sage/dist/images/background.png);
}

/* line 78, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .light-layout .detail-head-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column-reverse;
}

/* line 85, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .light-layout .hero-image-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 93, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .light-layout .hero-image-wrapper img {
  max-height: 20em;
  mix-blend-mode: multiply;
  object-fit: contain;
  z-index: 1;
}

/* line 100, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .light-layout .hero-image-wrapper:after {
  content: '';
  z-index: -1;
  position: absolute;
  width: 40vw;
  height: 40vw;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  opacity: 0.3;
}

/* line 112, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.single-post .light-layout .hero-image-wrapper:before {
  content: '';
  z-index: -2;
  position: absolute;
  width: 80vw;
  height: 80vw;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  opacity: 0.15;
}

/* line 127, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.has-no-hero-image .detail-container:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -3;
  background-size: 5%;
  background-image: url(/app/themes/sage/dist/images/background.png);
}

/* line 139, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.has-no-hero-image .detail-container .detail-head-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

/* line 145, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.has-no-hero-image .detail-container .detail-head-container:after {
  content: '';
  z-index: -1;
  position: absolute;
  width: 40vw;
  height: 40vw;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  opacity: 0.3;
}

/* line 157, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
.has-no-hero-image .detail-container .detail-head-container:before {
  content: '';
  z-index: -2;
  position: absolute;
  width: 80vw;
  height: 80vw;
  border-radius: 50%;
  background: white;
  box-shadow: 4px 4px 70px 0px rgba(0, 0, 0, 0.15);
  opacity: 0.15;
}

@media (min-width: 1280px) {
  /* line 171, web/app/themes/sage/resources/assets/styles/layout/_detail-head.scss */
  .detail-head-container {
    max-width: 60vw;
    width: 100%;
  }
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-view-content {
  position: relative;
  margin: 0 auto;
  padding-bottom: var(--pages-top-gap);
  padding-top: calc(var(--gap) * 0.5);
}

@media (min-width: 768px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
  .detail-view-content {
    padding-top: calc(var(--gap) * 1.5);
  }
}

/* line 12, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-view-text {
  font-family: "Ubuntu", sans-serif;
  font-size: 1.25em;
  color: rgba(0, 0, 0, 0.6);
  text-align: left;
  max-width: 30em;
  margin: 0 auto;
  position: relative;
}

/* line 19, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-view-text:first-letter {
  font-size: 4em;
  float: left;
  padding: 0 0.4em 0 0;
  line-height: 1;
  color: black;
  font-weight: bold;
}

/* line 28, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-view-text p {
  padding: 0.5em 0;
}

/* line 32, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-view-text strong {
  color: black;
  font-weight: 600;
}

/* line 38, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.locked-article .detail-view-content {
  padding-bottom: 0;
}

/* line 41, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.locked-article .detail-view-content:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, white 30%, rgba(255, 255, 255, 0) 100%);
}

/* line 53, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.locked-article .abo-card-layout-container {
  font-size: 0.9em;
}

/* line 56, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.locked-article .abo-cards-flex {
  padding-top: calc(var(--gap) * 2);
}

/* line 61, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-desktop {
  display: none;
}

@media (min-width: 768px) {
  /* line 61, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
  .detail-social-links-desktop {
    display: block;
  }
}

/* line 68, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-desktop li, .detail-social-links-desktop a {
  margin-top: 1rem;
}

/* line 73, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
ul.detail-social-links-mobile {
  padding: 2em 0 0;
  display: flex;
}

/* line 77, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
ul.detail-social-links-mobile li {
  margin-right: 1rem;
}

@media (min-width: 768px) {
  /* line 73, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
  ul.detail-social-links-mobile {
    display: none;
  }
}

/* line 86, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-desktop a {
  width: var(--ui-height);
  height: var(--ui-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.5s;
}

/* line 37, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.detail-social-links-desktop a:hover, .detail-social-links-desktop a:active, .detail-social-links-desktop a:focus {
  border: solid 1px white;
  background-color: rgba(0, 0, 0, 0.3);
}

/* line 44, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) .detail-social-links-desktop a {
  border: solid 1px rgba(0, 0, 0, 0.3);
  transition: all 0.5s;
}

/* line 48, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) .detail-social-links-desktop a:hover {
  border: solid 1px black;
}

/* line 89, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-desktop a svg {
  width: 1em;
}

/* line 93, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-desktop a svg path {
  fill: white;
}

/* line 96, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.inverted .detail-social-links-desktop a svg path {
  fill: black;
}

/* line 102, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-mobile a {
  width: var(--ui-height);
  height: var(--ui-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.5s;
}

/* line 37, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.detail-social-links-mobile a:hover, .detail-social-links-mobile a:active, .detail-social-links-mobile a:focus {
  border: solid 1px white;
  background-color: rgba(0, 0, 0, 0.3);
}

/* line 44, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) .detail-social-links-mobile a {
  border: solid 1px rgba(0, 0, 0, 0.3);
  transition: all 0.5s;
}

/* line 48, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) .detail-social-links-mobile a:hover {
  border: solid 1px black;
}

/* line 105, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-mobile a svg {
  width: 1em;
}

/* line 109, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-mobile a svg path {
  fill: white;
}

/* line 112, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.inverted .detail-social-links-mobile a svg path {
  fill: black;
}

/* line 118, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-social-links-mobile .addtoany_shortcode {
  padding-top: var(--gap);
}

@media (min-width: 1024px) {
  /* line 118, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
  .detail-social-links-mobile .addtoany_shortcode {
    display: none;
  }
}

/* line 127, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-prev-container,
.detail-next-container {
  display: none;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  height: calc(100vh - var(--nav-height));
  top: var(--nav-height);
  padding-bottom: 1rem;
}

@media (min-width: 1024px) {
  /* line 127, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
  .detail-prev-container,
  .detail-next-container {
    display: flex;
    padding: calc(var(--nav-height) / 2) 2rem 2rem;
  }
}

@media (min-width: 1440px) {
  /* line 127, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
  .detail-prev-container,
  .detail-next-container {
    padding: calc(var(--nav-height) / 1.3) 2rem 2rem;
  }
}

/* line 150, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-next-container .detail-interferer {
  font-family: "Teko", sans-serif;
  color: rgba(0, 0, 0, 0.6);
  font-size: 1.25em;
  line-height: 2em;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
}

/* line 160, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.prev,
.next {
  position: relative;
  font-family: "Teko", sans-serif;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  display: flex;
  align-items: center;
  font-size: 1.25em;
  color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}

/* line 172, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.prev a,
.next a {
  color: inherit;
}

/* line 177, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-prev-container .prev span,
.detail-next-container .next span,
.mobile-article-navigation .next span,
.mobile-article-navigation .prev span {
  width: var(--ui-height);
  height: var(--ui-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.5s;
  display: inline-flex;
  margin-bottom: 1.5rem;
  align-items: flex-end;
}

/* line 37, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.detail-prev-container .prev span:hover, .detail-prev-container .prev span:active, .detail-prev-container .prev span:focus,
.detail-next-container .next span:hover,
.detail-next-container .next span:active,
.detail-next-container .next span:focus,
.mobile-article-navigation .next span:hover,
.mobile-article-navigation .next span:active,
.mobile-article-navigation .next span:focus,
.mobile-article-navigation .prev span:hover,
.mobile-article-navigation .prev span:active,
.mobile-article-navigation .prev span:focus {
  border: solid 1px white;
  background-color: rgba(0, 0, 0, 0.3);
}

/* line 44, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) .detail-prev-container .prev span, html:not(.navigation-open) .inverted:not(.scrolled)
.detail-next-container .next span, html:not(.navigation-open) .inverted:not(.scrolled)
.mobile-article-navigation .next span, html:not(.navigation-open) .inverted:not(.scrolled)
.mobile-article-navigation .prev span {
  border: solid 1px rgba(0, 0, 0, 0.3);
  transition: all 0.5s;
}

/* line 48, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) .detail-prev-container .prev span:hover, html:not(.navigation-open) .inverted:not(.scrolled)
.detail-next-container .next span:hover, html:not(.navigation-open) .inverted:not(.scrolled)
.mobile-article-navigation .next span:hover, html:not(.navigation-open) .inverted:not(.scrolled)
.mobile-article-navigation .prev span:hover {
  border: solid 1px black;
}

/* line 186, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-prev-container .prev span:before,
.detail-next-container .next span:before,
.mobile-article-navigation .next span:before,
.mobile-article-navigation .prev span:before {
  content: "";
  height: 0.5rem;
  width: 0.5rem;
  border-color: inherit;
  border-top: solid 2px;
  border-right: solid 2px;
  position: absolute;
  right: 1rem;
  transform: rotate(45deg);
}

@media (min-width: 1280px) {
  /* line 199, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
  .detail-prev-container .prev span:after,
  .detail-next-container .next span:after,
  .mobile-article-navigation .next span:after,
  .mobile-article-navigation .prev span:after {
    content: "";
    position: absolute;
    right: 1rem;
    height: 2px;
    background-color: rgba(0, 0, 0, 0.6);
    width: 4rem;
  }
}

/* line 210, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.mobile-article-navigation {
  display: flex;
  justify-content: space-between;
}

/* line 214, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.mobile-article-navigation .prev,
.mobile-article-navigation .next {
  position: relative;
  font-family: "Teko", sans-serif;
  writing-mode: horizontal-tb;
  transform: rotate(0);
  display: flex;
  align-items: center;
  font-size: 1.25em;
  color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
  gap: 1.4rem;
}

/* line 227, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.mobile-article-navigation .prev span,
.mobile-article-navigation .next span {
  margin-bottom: 0;
  position: relative;
  display: flex;
  align-items: center;
}

/* line 234, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.mobile-article-navigation .prev a,
.mobile-article-navigation .next a {
  color: inherit;
}

/* line 239, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.mobile-article-navigation .next {
  flex-direction: row-reverse;
}

/* line 243, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.mobile-article-navigation .prev span {
  transform: rotate(180deg);
}

@media (min-width: 1024px) {
  /* line 210, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
  .mobile-article-navigation {
    display: none;
  }
}

/* line 252, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-next-container .next span:after {
  transform: rotate(180deg);
  transform-origin: right;
  right: 1.3rem;
  top: 1.05rem;
  background: rgba(0, 0, 0, 0.6);
}

/* line 260, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.detail-next-container .next span:before {
  transform: rotate(-135deg);
  right: 0.8rem;
}

/* line 266, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.single-post .wp-block-gallery {
  margin: 1em -4.4em;
}

/* line 270, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.single-post .wp-block-image figure.alignleft {
  margin-left: -4.4em;
}

/* line 274, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.single-post .wp-block-image figure.alignright {
  margin-right: -4.4em;
}

/* line 278, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.single-post .detail-head-container .article-details {
  display: flex;
  justify-content: center;
  margin: var(--gap) 0;
}

/* line 285, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.single-post figcaption {
  font-size: 0.7em;
  opacity: 0.7;
  margin-top: 0.5em;
}

/* line 291, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.single-post .wp-block-image {
  position: relative;
  z-index: 1;
  padding: var(--gap) 0;
}

/* line 297, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.single-post .detail-view-text .paragraph:first-child {
  font-weight: bold;
}

/* line 308, web/app/themes/sage/resources/assets/styles/layout/_detail-content.scss */
.related-articles {
  width: 100%;
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header.header {
  position: fixed;
  top: 0;
  z-index: 20;
  width: 100%;
  height: var(--nav-height);
  transition: all 0.24s ease-in-out;
}

/* line 9, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-open header.header {
  height: 100%;
}

/* line 14, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-open header.header.scrolled {
  height: 100%;
}

/* line 20, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.cta-navigation,
.util-navigation,
.main-navigation {
  pointer-events: none;
}

@media (min-width: 1024px) {
  /* line 20, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
  .cta-navigation,
  .util-navigation,
  .main-navigation {
    pointer-events: auto;
  }
}

/* line 29, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-open .cta-navigation, .navigation-open
.util-navigation, .navigation-open
.main-navigation {
  pointer-events: auto;
}

/* line 34, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-background {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(16px) opacity(1);
  opacity: 0;
  transition: all 0.24s ease-in-out;
  pointer-events: none;
}

/* line 47, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-open .navigation-background {
  opacity: 1;
}

/* line 52, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.main-header {
  position: absolute;
  top: 0;
  left: 0;
  max-height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-family: "Teko", sans-serif;
  transition: all 0.24s ease-in-out;
  padding-bottom: 5rem;
}

@media (min-width: 1280px) {
  /* line 52, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
  .main-header {
    padding-bottom: 2rem;
  }
}

/* line 72, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.main-header:after {
  content: "";
  pointer-events: none;
  position: absolute;
  opacity: 0.72;
  z-index: -1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 42%, rgba(0, 0, 0, 0.96) 100%);
  transition: all 0.24s ease-in-out;
}

/* line 85, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted .main-header:after {
  display: none;
}

@media (min-width: 1024px) {
  /* line 72, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
  .main-header:after {
    opacity: 0.85;
    height: 135%;
  }
}

/* line 94, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-open .main-header:after {
  display: none;
}

/* line 99, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.main-header:before {
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  z-index: -1;
  transition: all 0.24s ease-in-out;
}

/* line 116, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted .scrolled ul.util-links a,
.inverted .scrolled ul.social-links a {
  border-color: white;
}

/* line 120, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted .scrolled ul.util-links a i,
.inverted .scrolled ul.social-links a i {
  color: white;
}

/* line 125, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted .scrolled .main-navigation-ul .menu-item a {
  color: white;
}

/* line 128, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted .scrolled .main-navigation-ul .menu-item a:after {
  content: "";
  width: 0%;
  position: absolute;
  bottom: 0;
  height: 1px;
  background-color: white;
}

/* line 138, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted .scrolled .main-navigation-ul .menu-item a:hover:after {
  width: 100%;
}

/* line 144, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted .scrolled .burger div {
  background: white;
}

/* line 150, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.scrolled .main-header {
  padding-top: 0;
  padding-bottom: 0;
}

/* line 154, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.scrolled .main-header:after {
  opacity: 0;
  transition-delay: 0.1s;
}

/* line 158, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-open .scrolled .main-header:after {
  opacity: 0;
}

/* line 163, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.scrolled .main-header:before {
  opacity: 1;
  backdrop-filter: blur(20px) opacity(1);
  box-shadow: 10px 10px 42px 0px rgba(0, 0, 0, 0.5);
}

/* line 168, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-open .scrolled .main-header:before {
  opacity: 0;
}

/* line 178, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation {
  margin: 0 auto;
  width: 100%;
  order: 7;
  display: flex;
  align-items: center;
}

@media (min-width: 1024px) {
  /* line 178, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
  header .main-navigation {
    order: 0;
    width: auto;
  }
}

/* line 192, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation-ul {
  flex-wrap: wrap;
  flex-direction: column;
  width: 100%;
  display: none;
}

@media (min-width: 1024px) {
  /* line 192, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
  header .main-navigation-ul {
    opacity: 1;
    flex-direction: row;
    position: relative;
    width: auto;
    display: flex;
  }
}

/* line 206, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.navigation-open header .main-navigation-ul {
  display: flex;
}

/* line 210, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation-ul .menu-item {
  padding: 0.5em 1em;
}

@media (min-width: 1024px) {
  /* line 210, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
  header .main-navigation-ul .menu-item {
    padding: 0 1em;
  }
}

@media (min-width: 1920px) {
  /* line 210, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
  header .main-navigation-ul .menu-item {
    padding: 0 1.6em;
  }
}

/* line 224, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation-ul .menu-item a {
  position: relative;
  font-size: 1.6em;
  font-weight: 400;
  text-decoration: none;
  color: white;
  opacity: 0.9;
  transition: all 0.24s ease-in-out;
}

@media (min-width: 1024px) {
  /* line 224, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
  header .main-navigation-ul .menu-item a {
    font-size: 1.25em;
  }
}

/* line 237, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation-ul .menu-item a:after {
  content: "";
  width: 0;
  position: absolute;
  left: 50%;
  bottom: -0.06em;
  height: 1px;
  background-color: white;
  transition: all 0.24s ease-in-out;
  transform: translateX(-50%);
}

/* line 248, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted header .main-navigation-ul .menu-item a:after {
  background-color: black;
}

/* line 253, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation-ul .menu-item a:hover, header .main-navigation-ul .menu-item a:active, header .main-navigation-ul .menu-item a:focus {
  opacity: 1;
}

/* line 259, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation-ul .menu-item a:hover:after, header .main-navigation-ul .menu-item a:active:after, header .main-navigation-ul .menu-item a:focus:after {
  width: 100%;
}

/* line 265, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted header .main-navigation-ul .menu-item a {
  color: black;
}

/* line 275, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation-ul .current-menu-item a {
  color: #FFED00;
}

/* line 278, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
header .main-navigation-ul .current-menu-item a:after {
  background: #FFED00;
}

/* line 286, web/app/themes/sage/resources/assets/styles/layout/_header.scss */
.inverted header .main-navigation-ul .current-menu-item a:after {
  background: black;
  width: 100%;
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.logo-navigation {
  padding: var(--container-gap) 0;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  order: 6;
  display: none;
}

/* line 10, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.navigation-open .logo-navigation {
  display: flex;
}

@media (min-width: 1280px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
  .logo-navigation {
    padding: var(--gap) 0 0 0;
  }
}

@media (min-width: 1280px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
  .logo-navigation {
    width: auto;
    order: 0;
    opacity: 1;
    display: flex;
    padding: 0;
  }
}

/* line 27, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.logo {
  height: calc(var(--nav-height) / 3.4);
  display: flex;
  align-items: center;
  transition: all 0.24s ease-in-out;
}

/* line 33, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.logo .logo-svg {
  height: 100%;
  transition: all 0.24s ease-in-out;
  padding: 0;
}

/* line 38, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.scrolled .logo .logo-svg {
  padding: 1.2em 0;
}

/* line 43, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.logo .main-letters {
  fill: #F80000;
}

/* line 47, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.logo .side-letters {
  fill: white;
}

/* line 52, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.inverted .logo .side-letters {
  fill: black;
}

/* line 57, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.scrolled .logo {
  height: var(--nav-height);
}

/* line 60, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.scrolled .logo .side-letters {
  fill: white;
}

/* line 66, web/app/themes/sage/resources/assets/styles/layout/_header-logo.scss */
.logo-white {
  display: none;
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-social.scss */
ul.social-links {
  list-style: none;
  display: flex;
  align-items: center;
}

@media (min-width: 1280px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-social.scss */
  ul.social-links {
    padding: 0 0 0 2.5em;
    opacity: 1;
  }
}

@media (min-width: 1920px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-social.scss */
  ul.social-links {
    padding: 0 0 0 2.5em;
  }
}

/* line 15, web/app/themes/sage/resources/assets/styles/layout/_header-social.scss */
ul.social-links li {
  padding-right: 1.2em;
}

/* line 20, web/app/themes/sage/resources/assets/styles/layout/_header-social.scss */
ul.social-links a {
  width: var(--ui-height);
  height: var(--ui-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.5s;
}

/* line 37, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
ul.social-links a:hover, ul.social-links a:active, ul.social-links a:focus {
  border: solid 1px white;
  background-color: rgba(0, 0, 0, 0.3);
}

/* line 44, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) ul.social-links a {
  border: solid 1px rgba(0, 0, 0, 0.3);
  transition: all 0.5s;
}

/* line 48, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) ul.social-links a:hover {
  border: solid 1px black;
}

/* line 23, web/app/themes/sage/resources/assets/styles/layout/_header-social.scss */
ul.social-links a i {
  color: white;
  font-size: 0.95em;
}

/* line 27, web/app/themes/sage/resources/assets/styles/layout/_header-social.scss */
html:not(.navigation-open) .inverted:not(.scrolled) ul.social-links a i {
  color: black;
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.util-navigation {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  order: 8;
  padding: var(--container-gap) 0;
}

/* line 9, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.navigation-open .util-navigation {
  display: flex;
}

@media (min-width: 1280px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
  .util-navigation {
    padding: var(--gap) 0 0 0;
  }
}

@media (min-width: 1024px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
  .util-navigation {
    width: auto;
    display: flex;
    order: 0;
    padding: 0;
  }
}

/* line 25, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.util-links {
  padding: 0 0 0 2em;
  opacity: 0;
}

/* line 29, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.navigation-open .util-links {
  opacity: 1;
}

@media (min-width: 1024px) {
  /* line 25, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
  .util-links {
    top: auto;
    left: auto;
    opacity: 1;
    position: relative;
  }
}

@media (min-width: 1920px) {
  /* line 25, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
  .util-links {
    padding: 0 0 0 2.5em;
  }
}

/* line 45, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
ul.util-links {
  list-style: none;
  padding: 0 2em 0 0;
  display: flex;
  align-items: center;
}

@media (min-width: 1920px) {
  /* line 45, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
  ul.util-links {
    padding: 0 2.5em 0 0;
  }
}

/* line 55, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
ul.util-links li {
  padding: 0 1.2em 0 0;
}

@media (min-width: 1440px) {
  /* line 55, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
  ul.util-links li {
    padding: 0 0 0 1.2em;
  }
}

/* line 64, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
ul.util-links a {
  width: var(--ui-height);
  height: var(--ui-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.5s;
}

/* line 37, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
ul.util-links a:hover, ul.util-links a:active, ul.util-links a:focus {
  border: solid 1px white;
  background-color: rgba(0, 0, 0, 0.3);
}

/* line 44, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) ul.util-links a {
  border: solid 1px rgba(0, 0, 0, 0.3);
  transition: all 0.5s;
}

/* line 48, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) ul.util-links a:hover {
  border: solid 1px black;
}

/* line 67, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
ul.util-links a i {
  color: white;
  font-size: 0.95em;
}

/* line 71, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
html:not(.navigation-open) .inverted:not(.scrolled) ul.util-links a i {
  color: black;
}

/* line 77, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.util-links .search-form,
.search-no-results .search-form {
  z-index: 3;
  font-size: 1.25em;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex-direction: row;
  position: absolute;
  left: 0;
  transform: translateY(1.85em) translateX(200%);
  transition: all 0.24s ease-in-out;
  opacity: 0;
}

/* line 91, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.util-links .search-form .search-field,
.search-no-results .search-form .search-field {
  margin: 0;
  border: 0;
  border-radius: 5px;
  box-shadow: 5px 5px 50px 7px rgba(0, 0, 0, 0.2);
}

/* line 98, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.util-links .search-form .search-submit,
.search-no-results .search-form .search-submit {
  position: relative;
  font-weight: 600;
  color: #ffffff;
  font-size: 0.9em;
  text-transform: uppercase;
  text-decoration: none;
  background: #F80000;
  border-radius: 2em;
  padding: 0.7em 2em 0.6em;
  display: inline-flex;
  align-items: center;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
  font-family: "Teko", sans-serif;
  overflow: hidden;
  transition: all 0.24s ease-in-out;
  margin: 0;
  border: none;
  background: white;
  color: black;
  justify-content: center;
  font-size: 0.85em;
}

/* line 19, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.util-links .search-form .search-submit:hover, .util-links .search-form .search-submit:active, .util-links .search-form .search-submit:focus,
.search-no-results .search-form .search-submit:hover,
.search-no-results .search-form .search-submit:active,
.search-no-results .search-form .search-submit:focus {
  transform: scale(1.08);
  box-shadow: 4px 4px 42px 0px rgba(0, 0, 0, 0.29);
}

/* line 109, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.search-open .util-links .search-form {
  transform: translateY(1.8em) translateX(2rem);
  opacity: 1;
}

/* line 114, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.search-no-results .wrap,
.search-results .wrap {
  padding-top: var(--pages-top-gap);
  padding-bottom: var(--pages-top-gap);
  padding-left: 2rem;
  padding-right: 2rem;
  max-width: 50em;
  width: 100%;
  margin: 0 auto;
  flex-direction: column;
}

/* line 125, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.search-no-results .wrap header,
.search-results .wrap header {
  position: relative;
  height: auto;
}

/* line 130, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.search-no-results .wrap article,
.search-results .wrap article {
  margin-top: 3em;
}

/* line 134, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
.search-no-results .wrap .entry-title,
.search-results .wrap .entry-title {
  font-size: 2.4em;
  line-height: 1.1em;
}

@media (min-width: 768px) {
  /* line 114, web/app/themes/sage/resources/assets/styles/layout/_header-util.scss */
  .search-no-results .wrap,
  .search-results .wrap {
    max-width: 60em;
  }
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-cta.scss */
.cta-navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: auto;
  margin-top: var(--gap);
  opacity: 0;
  order: 3;
}

@media (min-width: 480px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-cta.scss */
  .cta-navigation {
    opacity: 1;
    order: 0;
    margin-top: 0;
  }
}

/* line 16, web/app/themes/sage/resources/assets/styles/layout/_header-cta.scss */
.navigation-open .cta-navigation {
  opacity: 1;
}

@media (min-width: 1024px) {
  /* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-cta.scss */
  .cta-navigation {
    margin-left: 0;
  }
}

/* line 24, web/app/themes/sage/resources/assets/styles/layout/_header-cta.scss */
.cta-navigation .cta-button a {
  position: relative;
  font-weight: 600;
  color: #ffffff;
  font-size: 0.9em;
  text-transform: uppercase;
  text-decoration: none;
  background: #F80000;
  border-radius: 2em;
  padding: 0.7em 2em 0.6em;
  display: inline-flex;
  align-items: center;
  box-shadow: 2px 2px 65px 0px rgba(0, 0, 0, 0.2);
  font-family: "Teko", sans-serif;
  overflow: hidden;
  transition: all 0.24s ease-in-out;
  margin-left: auto;
}

/* line 19, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
.cta-navigation .cta-button a:hover, .cta-navigation .cta-button a:active, .cta-navigation .cta-button a:focus {
  transform: scale(1.08);
  box-shadow: 4px 4px 42px 0px rgba(0, 0, 0, 0.29);
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation {
  width: 100%;
  overflow-y: auto;
  scrollbar-color: light;
  -ms-overflow-style: none;
  scrollbar-width: none;
  /* Firefox */
  display: flex;
  flex-wrap: wrap;
  margin-top: 2rem;
  transition: all 0.24s ease-in-out;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-mask-image: linear-gradient(to right, black 95%, transparent 100%);
  mask-image: linear-gradient(to right, black 95%, transparent 100%);
}

/* line 17, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.inverted .topic-navigation {
  border-color: rgba(0, 0, 0, 0.3);
}

/* line 21, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.navigation-open .topic-navigation,
.navigation-open .scrolled .topic-navigation {
  opacity: 1;
}

/* line 26, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.scrolled .topic-navigation {
  opacity: 0;
  z-index: -10;
}

/* line 32, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation::-webkit-scrollbar {
  display: none;
}

/* line 36, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.menu-topic-navigation-container {
  scrollbar-color: light;
  width: 100%;
  opacity: 1;
  transition: all 0.24s ease-in-out;
}

/* line 43, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation-ul {
  display: flex;
}

/* line 46, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation-ul li {
  color: white;
}

/* line 51, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation-ul li a {
  font-family: "Ubuntu", sans-serif;
  font-size: 0.87em;
  color: white;
  opacity: 0.8;
  position: relative;
  display: inline-flex;
  padding: 0.9em 1.5em;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.24s ease-in-out;
}

/* line 14, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.topic-navigation-ul li a .inverted {
  color: black;
}

/* line 60, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation-ul li a:hover, .topic-navigation-ul li a:active, .topic-navigation-ul li a:focus {
  opacity: 1;
}

/* line 66, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation-ul li a:hover:after, .topic-navigation-ul li a:focus:after, .topic-navigation-ul li a:active:after, .topic-navigation-ul li a:hover:before, .topic-navigation-ul li a:focus:before, .topic-navigation-ul li a:active:before {
  opacity: 1;
}

/* line 75, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation-ul li a:after, .topic-navigation-ul li a:before {
  content: "";
  position: absolute;
  left: 50%;
  width: 100%;
  height: 1px;
  opacity: 0;
  transition: all 0.24s ease-in-out;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, white 50%, rgba(255, 255, 255, 0.1) 100%);
}

/* line 94, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation-ul li a:before {
  top: 0;
}

/* line 98, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.topic-navigation-ul li a:after {
  bottom: 0;
}

/* line 102, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.inverted .topic-navigation-ul li a {
  color: black;
}

/* line 108, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.nav-scroll-container {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  font-size: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1em;
  color: white;
}

/* line 120, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.inverted .nav-scroll-container {
  color: black;
}

/* line 124, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.nav-scroll-container span {
  text-decoration: underline;
  font-size: 1.5em;
}

/* line 129, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.nav-scroll-container .next-arrow {
  position: relative;
  color: white;
  font-family: "Teko", sans-serif;
  display: flex;
  align-items: center;
  text-decoration: underline;
  border-color: white;
}

/* line 138, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.nav-scroll-container .next-arrow:after {
  content: "";
  height: 2px;
  background-color: white;
  width: 2.5em;
  margin-left: 1em;
}

/* line 145, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.inverted .nav-scroll-container .next-arrow:after {
  background: black;
}

/* line 150, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.nav-scroll-container .next-arrow:before {
  content: "";
  height: 8px;
  width: 8px;
  border-color: inherit;
  border-top: solid 2px;
  border-right: solid 2px;
  position: absolute;
  right: 0;
  transform: rotate(45deg);
}

/* line 161, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.inverted .nav-scroll-container .next-arrow:before {
  border-color: black;
}

/* line 167, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.nav-scroll-container .prev-arrow {
  position: relative;
  color: white;
  font-family: "Teko", sans-serif;
  display: flex;
  align-items: center;
  text-decoration: underline;
  border-color: white;
}

/* line 176, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.nav-scroll-container .prev-arrow::before {
  content: "";
  height: 2px;
  background-color: white;
  width: 2.5em;
  margin-right: 1em;
}

/* line 183, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.inverted .nav-scroll-container .prev-arrow::before {
  background: black;
}

/* line 188, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.nav-scroll-container .prev-arrow:after {
  content: "";
  height: 8px;
  width: 8px;
  border-color: inherit;
  border-bottom: solid 2px;
  border-left: solid 2px;
  position: absolute;
  left: 0;
  transform: rotate(45deg);
}

/* line 199, web/app/themes/sage/resources/assets/styles/layout/_header-topic.scss */
.inverted .nav-scroll-container .prev-arrow:after {
  border-color: black;
}

/* line 1, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer {
  background: rgba(0, 0, 0, 0.9);
  overflow: hidden;
}

/* line 5, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer .logo {
  height: calc(var(--nav-height) / 3);
  margin-bottom: 1em;
}

/* line 9, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer .logo .side-letters,
.inverted footer .logo .side-letters {
  fill: white;
}

/* line 15, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer .footer-bg {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  opacity: 0.03;
}

/* line 25, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer .back-top {
  position: relative;
  font-family: "Teko", sans-serif;
  color: rgba(250, 250, 250, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  order: 2;
  margin: 2rem auto 0;
}

@media (min-width: 768px) {
  /* line 25, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  footer .back-top {
    order: 0;
  }
}

/* line 40, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer .back-top:before {
  content: "";
  width: 2px;
  height: 3em;
  background-color: white;
  margin-bottom: 1em;
}

/* line 48, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer .back-top:after {
  content: "";
  height: 6px;
  width: 6px;
  border-top: 2px solid white;
  border-right: 2px solid white;
  transform: rotate(-45deg);
  position: absolute;
  top: 0;
}

/* line 62, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer .logo .main-letters {
  fill: rgba(255, 255, 255, 0.6);
}

/* line 66, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
footer .logo .side-letters {
  fill: rgba(255, 255, 255, 0.3);
}

/* line 71, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.main-footer {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 5em;
  padding-bottom: 5em;
}

/* line 81, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-contact {
  display: flex;
  flex-direction: column;
  margin-right: 2em;
}

/* line 87, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-contact-navigation {
  width: 100%;
}

@media (min-width: 768px) {
  /* line 87, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer-contact-navigation {
    width: auto;
  }
}

/* line 94, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-contact-navigation li {
  padding: 0.3em 0;
}

/* line 98, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-contact-navigation li a {
  font-family: "Ubuntu", sans-serif;
  font-size: 0.87em;
  color: white;
  opacity: 0.8;
  text-decoration: none;
}

/* line 14, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.footer-contact-navigation li a .inverted {
  color: black;
}

@media (min-width: 1280px) {
  /* line 98, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer-contact-navigation li a {
    font-family: "Ubuntu", sans-serif;
    font-size: 1em;
    color: white;
    opacity: 0.8;
  }
  /* line 25, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
  .inverted .footer-contact-navigation li a {
    color: black;
  }
}

/* line 108, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-side-navigations {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3em;
}

@media (min-width: 768px) {
  /* line 108, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer-side-navigations {
    margin-top: 0;
  }
}

/* line 117, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-side-navigations ul {
  margin-right: 5em;
}

@media (min-width: 768px) {
  /* line 117, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer-side-navigations ul {
    margin-right: 0;
    margin-left: 5em;
  }
}

/* line 126, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-side-navigations li {
  padding: 0.3em 0;
}

/* line 130, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-side-navigations ul li a {
  font-family: "Ubuntu", sans-serif;
  font-size: 0.87em;
  color: white;
  opacity: 0.8;
  text-decoration: none;
  color: white;
}

/* line 14, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
.footer-side-navigations ul li a .inverted {
  color: black;
}

/* line 135, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.inverted .footer-side-navigations ul li a {
  color: white;
}

@media (min-width: 1280px) {
  /* line 130, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer-side-navigations ul li a {
    font-family: "Ubuntu", sans-serif;
    font-size: 1em;
    color: white;
    opacity: 0.8;
  }
  /* line 25, web/app/themes/sage/resources/assets/styles/base/_typography.scss */
  .inverted .footer-side-navigations ul li a {
    color: black;
  }
  /* line 142, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .inverted .footer-side-navigations ul li a {
    color: white;
  }
}

/* line 149, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-copy {
  color: rgba(255, 255, 255, 0.8);
  font-family: "Teko", sans-serif;
  font-size: 1.3em;
}

/* line 155, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-bar {
  background-color: black;
  padding-top: 1em;
  padding-bottom: 1em;
}

/* line 161, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-bar-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 167, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer .util-navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  order: 8;
}

@media (min-width: 1024px) {
  /* line 167, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer .util-navigation {
    width: auto;
  }
}

@media (min-width: 1440px) {
  /* line 167, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer .util-navigation {
    order: 0;
  }
}

/* line 183, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.footer-social-navigation {
  padding: 0 0 0 2em;
  opacity: 0;
}

/* line 187, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
.navigation-open .footer-social-navigation {
  opacity: 1;
}

@media (min-width: 1440px) {
  /* line 183, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer-social-navigation {
    top: auto;
    left: auto;
    opacity: 1;
    position: relative;
  }
}

@media (min-width: 1920px) {
  /* line 183, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
  .footer-social-navigation {
    padding: 0 0 0 2.5em;
  }
}

/* line 203, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
ul.footer-social-links {
  list-style: none;
  display: flex;
  align-items: center;
}

/* line 208, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
ul.footer-social-links li {
  padding-left: 1.2em;
}

/* line 213, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
ul.footer-social-links a {
  width: var(--ui-height);
  height: var(--ui-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.5s;
}

/* line 37, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
ul.footer-social-links a:hover, ul.footer-social-links a:active, ul.footer-social-links a:focus {
  border: solid 1px white;
  background-color: rgba(0, 0, 0, 0.3);
}

/* line 44, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) ul.footer-social-links a {
  border: solid 1px rgba(0, 0, 0, 0.3);
  transition: all 0.5s;
}

/* line 48, web/app/themes/sage/resources/assets/styles/components/_buttons.scss */
html:not(.navigation-open) .inverted:not(.scrolled) ul.footer-social-links a:hover {
  border: solid 1px black;
}

/* line 216, web/app/themes/sage/resources/assets/styles/layout/_footer.scss */
ul.footer-social-links a i {
  color: white;
}

/* Variables */
/* line 4, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
:root {
  /* Font Family */
  --global--font-primary: var(--font-headings, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif);
  --global--font-secondary: var(--font-base, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif);
  /* Font Size */
  --global--font-size-base: 1.25rem;
  --global--font-size-xs: 1rem;
  --global--font-size-sm: 1.125rem;
  --global--font-size-md: 1.25rem;
  --global--font-size-lg: 1.5rem;
  --global--font-size-xl: 2.25rem;
  --global--font-size-xxl: 4rem;
  --global--font-size-xxxl: 5rem;
  --global--font-size-page-title: var(--global--font-size-xxl);
  --global--letter-spacing: normal;
  /* Line Height */
  --global--line-height-body: 1.7;
  --global--line-height-heading: 1.3;
  --global--line-height-page-title: 1.1;
  /* Headings */
  --heading--font-family: var(--global--font-primary);
  --heading--font-size-h6: var(--global--font-size-xs);
  --heading--font-size-h5: var(--global--font-size-sm);
  --heading--font-size-h4: var(--global--font-size-lg);
  --heading--font-size-h3: calc(1.25 * var(--global--font-size-lg));
  --heading--font-size-h2: var(--global--font-size-xl);
  --heading--font-size-h1: var(--global--font-size-page-title);
  --heading--letter-spacing-h6: 0.05em;
  --heading--letter-spacing-h5: 0.05em;
  --heading--letter-spacing-h4: var(--global--letter-spacing);
  --heading--letter-spacing-h3: var(--global--letter-spacing);
  --heading--letter-spacing-h2: var(--global--letter-spacing);
  --heading--letter-spacing-h1: var(--global--letter-spacing);
  --heading--line-height-h6: var(--global--line-height-heading);
  --heading--line-height-h5: var(--global--line-height-heading);
  --heading--line-height-h4: var(--global--line-height-heading);
  --heading--line-height-h3: var(--global--line-height-heading);
  --heading--line-height-h2: var(--global--line-height-heading);
  --heading--line-height-h1: var(--global--line-height-page-title);
  --heading--font-weight: normal;
  --heading--font-weight-page-title: 300;
  --heading--font-weight-strong: 600;
  /* Block: Latest posts */
  --latest-posts--title-font-family: var(--heading--font-family);
  --latest-posts--title-font-size: var(--heading--font-size-h3);
  --latest-posts--description-font-family: var(--global--font-secondary);
  --latest-posts--description-font-size: var(--global--font-size-sm);
  --list--font-family: var(--global--font-secondary);
  --definition-term--font-family: var(--global--font-primary);
  /* Colors */
  --global--color-black: #000000;
  --global--color-dark-gray: #28303d;
  --global--color-gray: #39414d;
  --global--color-light-gray: #f0f0f0;
  --global--color-green: #d1e4dd;
  --global--color-blue: #d1dfe4;
  --global--color-purple: #d1d1e4;
  --global--color-red: #e4d1d1;
  --global--color-orange: #e4dad1;
  --global--color-yellow: #eeeadd;
  --global--color-white: #ffffff;
  --global--color-white-50: rgba(255, 255, 255, 0.5);
  --global--color-white-90: rgba(255, 255, 255, 0.9);
  --global--color-primary: var(--global--color-dark-gray);
  /* Body text color, site title, footer text color. */
  --global--color-secondary: var(--global--color-gray);
  /* Headings */
  --global--color-primary-hover: var(--global--color-primary);
  --global--color-background: var(--global--color-green);
  /* Mint, default body background */
  --global--color-border: var(--global--color-primary);
  /* Used for borders (separators) */
  /* Spacing */
  --global--spacing-unit: 20px;
  --global--spacing-measure: unset;
  --global--spacing-horizontal: 25px;
  --global--spacing-vertical: 30px;
  /* Elevation */
  --global--elevation: 1px 1px 3px 0 rgba(0, 0, 0, 0.2);
  /* Forms */
  --form--font-family: var(--global--font-secondary);
  --form--font-size: var(--global--font-size-sm);
  --form--line-height: var(--global--line-height-body);
  --form--color-text: var(--global--color-dark-gray);
  --form--color-ranged: var(--global--color-secondary);
  --form--label-weight: 500;
  --form--border-color: var(--global--color-secondary);
  --form--border-width: 3px;
  --form--border-radius: 0;
  --form--spacing-unit: calc(0.5 * var(--global--spacing-unit));
  /* Cover block */
  --cover--height: calc(15 * var(--global--spacing-vertical));
  --cover--color-foreground: var(--global--color-white);
  --cover--color-background: var(--global--color-black);
  /* Buttons */
  --button--color-text: var(--global--color-background);
  --button--color-text-hover: var(--global--color-secondary);
  --button--color-text-active: var(--global--color-secondary);
  --button--color-background: var(--global--color-secondary);
  --button--color-background-active: var(--global--color-background);
  --button--font-family: var(--global--font-primary);
  --button--font-size: var(--global--font-size-base);
  --button--font-weight: 500;
  --button--line-height: 1.5;
  --button--border-width: 3px;
  --button--border-radius: 0;
  --button--padding-vertical: 15px;
  --button--padding-horizontal: calc(2 * var(--button--padding-vertical));
  /* entry */
  --entry-header--color: var(--global--color-primary);
  --entry-header--color-link: currentColor;
  --entry-header--color-hover: var(--global--color-primary-hover);
  --entry-header--color-focus: var(--global--color-secondary);
  --entry-header--font-size: var(--heading--font-size-h2);
  --entry-content--font-family: var(--global--font-secondary);
  --entry-author-bio--font-family: var(--heading--font-family);
  --entry-author-bio--font-size: var(--heading--font-size-h4);
  /* Header */
  --branding--color-text: var(--global--color-primary);
  --branding--color-link: var(--global--color-primary);
  --branding--color-link-hover: var(--global--color-secondary);
  --branding--title--font-family: var(--global--font-primary);
  --branding--title--font-size: var(--global--font-size-lg);
  --branding--title--font-size-mobile: var(--heading--font-size-h4);
  --branding--title--font-weight: normal;
  --branding--title--text-transform: uppercase;
  --branding--description--font-family: var(--global--font-secondary);
  --branding--description--font-size: var(--global--font-size-sm);
  --branding--description--font-family: var(--global--font-secondary);
  --branding--logo--max-width: 300px;
  --branding--logo--max-height: 100px;
  --branding--logo--max-width-mobile: 96px;
  --branding--logo--max-height-mobile: 96px;
  /* Main navigation */
  --primary-nav--font-family: var(--global--font-secondary);
  --primary-nav--font-family-mobile: var(--global--font-primary);
  --primary-nav--font-size: var(--global--font-size-md);
  --primary-nav--font-size-sub-menu: var(--global--font-size-xs);
  --primary-nav--font-size-mobile: var(--global--font-size-sm);
  --primary-nav--font-size-sub-menu-mobile: var(--global--font-size-sm);
  --primary-nav--font-size-button: var(--global--font-size-xs);
  --primary-nav--font-style: normal;
  --primary-nav--font-style-sub-menu-mobile: normal;
  --primary-nav--font-weight: normal;
  --primary-nav--font-weight-button: 500;
  --primary-nav--color-link: var(--global--color-primary);
  --primary-nav--color-link-hover: var(--global--color-primary-hover);
  --primary-nav--color-text: var(--global--color-primary);
  --primary-nav--padding: calc(0.66 * var(--global--spacing-unit));
  --primary-nav--border-color: var(--global--color-primary);
  /* Pagination */
  --pagination--color-text: var(--global--color-primary);
  --pagination--color-link-hover: var(--global--color-primary-hover);
  --pagination--font-family: var(--global--font-secondary);
  --pagination--font-size: var(--global--font-size-lg);
  --pagination--font-weight: normal;
  --pagination--font-weight-strong: 600;
  /* Footer */
  --footer--color-text: var(--global--color-primary);
  --footer--color-link: var(--global--color-primary);
  --footer--color-link-hover: var(--global--color-primary-hover);
  --footer--font-family: var(--global--font-primary);
  --footer--font-size: var(--global--font-size-sm);
  /* Block: Pull quote */
  --pullquote--font-family: var(--global--font-primary);
  --pullquote--font-size: var(--heading--font-size-h3);
  --pullquote--font-style: normal;
  --pullquote--letter-spacing: var(--heading--letter-spacing-h4);
  --pullquote--line-height: var(--global--line-height-heading);
  --pullquote--border-width: 3px;
  --pullquote--border-color: var(--global--color-primary);
  --pullquote--color-foreground: var(--global--color-primary);
  --pullquote--color-background: var(--global--color-background);
  --quote--font-family: var(--global--font-secondary);
  --quote--font-size: var(--global--font-size-md);
  --quote--font-size-large: var(--global--font-size-xl);
  --quote--font-style: normal;
  --quote--font-weight: 700;
  --quote--font-weight-strong: bolder;
  --quote--font-style-large: normal;
  --quote--font-style-cite: normal;
  --quote--line-height: var(--global--line-height-body);
  --quote--line-height-large: 1.35;
  --separator--border-color: var(--global--color-border);
  --separator--height: 1px;
  /* Block: Table */
  --table--stripes-border-color: var(--global--color-light-gray);
  --table--stripes-background-color: var(--global--color-light-gray);
  --table--has-background-text-color: var(--global--color-dark-gray);
  /* Widgets */
  --widget--line-height-list: 1.9;
  --widget--line-height-title: 1.4;
  --widget--font-weight-title: 700;
  --widget--spacing-menu: calc(0.66 * var(--global--spacing-unit));
  /* Admin-bar height */
  --global--admin-bar--height: 0;
}

/* line 225, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.admin-bar {
  --global--admin-bar--height: 32px;
}

@media only screen and (max-width: 782px) {
  /* line 230, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .admin-bar {
    --global--admin-bar--height: 46px;
  }
}

@media only screen and (min-width: 652px) {
  /* line 236, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  :root {
    --global--font-size-xl: 2.5rem;
    --global--font-size-xxl: 6rem;
    --global--font-size-xxxl: 9rem;
    --heading--font-size-h3: 2rem;
    --heading--font-size-h2: 3rem;
  }
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
/* line 254, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
html {
  /* 1 */
  text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
/* line 269, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
/* line 276, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* line 284, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
h1 {
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
/* line 296, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
/* line 312, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
pre {
  /* 1 */
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
/* line 336, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
abbr[title] {
  /* 1 */
  /* 2 */
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
/* line 360, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
code,
kbd,
samp {
  /* 1 */
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
/* line 382, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
sub,
sup {
  position: relative;
  vertical-align: baseline;
}

/* line 390, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
sub {
  bottom: -0.25em;
}

/* line 394, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
/* line 415, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
button,
input,
optgroup,
select,
textarea {
  /* 1 */
  /* 1 */
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
/* line 438, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
/* line 448, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
button,
select {
  /* 1 */
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
/* line 457, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
button,
[type=button],
[type=reset],
[type=submit] {
  appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
/* line 467, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
/* line 478, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
/* line 488, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
/* line 498, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
legend {
  box-sizing: border-box;
  /* 1 */
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
/* line 522, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
/* line 529, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
/* line 537, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
/* line 550, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
/* line 559, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
[type=search] {
  appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
/* line 571, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
[type=search]::-webkit-search-decoration {
  appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
/* line 579, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
::-webkit-file-upload-button {
  appearance: button;
  /* 1 */
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
/* line 594, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
/* line 601, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
/* line 611, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
/* line 618, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
[hidden] {
  display: none;
}

/**
 * Responsive Styles
 */
/**
 * Required Variables
 */
/**
 * Root Media Query Variables
 */
/* line 633, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
:root {
  --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6);
  --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
  --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
  --responsive--alignfull-width: 100%;
  --responsive--alignright-margin: var(--global--spacing-horizontal);
  --responsive--alignleft-margin: var(--global--spacing-horizontal);
}

@media only screen and (min-width: 482px) {
  /* line 643, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  :root {
    --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), 610px);
    --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal));
    --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
    --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
  }
}

@media only screen and (min-width: 822px) {
  /* line 652, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  :root {
    --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 610px);
    --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), 1240px);
  }
}

/**
 * Extends
 */
/* line 671, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget-area,
.pagination,
.comments-pagination,
.post-navigation,
.site-footer,
.site-header,
.alignwide,
.wide-max-width {
  max-width: var(--responsive--alignwide-width);
  margin-left: auto;
  margin-right: auto;
}

/* line 684, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.alignfull,
.wp-block-group .wp-block-group__inner-container > *.alignfull,
.full-max-width {
  max-width: var(--responsive--alignfull-width);
  width: var(--responsive--alignfull-width);
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 482px) {
  /* line 694, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .alignfull,
  .full-max-width {
    max-width: var(--responsive--alignfull-width);
    width: auto;
    margin-left: auto;
    margin-right: auto;
  }
}

/* line 703, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-header .post-thumbnail,
.singular .post-thumbnail,
.alignfull [class*=inner-container] > .alignwide,
.alignwide [class*=inner-container] > .alignwide {
  margin-left: auto;
  margin-right: auto;
  width: var(--responsive--alignwide-width);
  max-width: var(--responsive--alignfull-width);
}

@media only screen and (min-width: 482px) {
  /* line 714, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .entry-content > .alignleft {
    /* rtl:ignore */
    margin-left: var(--responsive--alignleft-margin);
    /* rtl:ignore */
    margin-right: var(--global--spacing-horizontal);
  }
}

@media only screen and (min-width: 482px) {
  /* line 724, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .entry-content > .alignright {
    /* rtl:ignore */
    margin-left: var(--global--spacing-horizontal);
    /* rtl:ignore */
    margin-right: var(--responsive--alignright-margin);
  }
}

/**
 * Site Structure
 *
 * - Set vertical margins and responsive widths on
 *   top-level wrappers and content wrappers
 * - `--global--width-content` is a responsive variable
 * - See: globals/_global-width-responsive.scss
 */
/**
 * Top Level Wrappers (header, main, footer)
 * - Set vertical padding and horizontal margins
 */
/* line 746, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-header,
.site-main,
.widget-area,
.site-footer {
  padding-top: var(--global--spacing-vertical);
  padding-bottom: var(--global--spacing-vertical);
  margin-left: auto;
  margin-right: auto;
}

/* line 756, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-header {
  padding-top: calc(0.75 * var(--global--spacing-vertical));
  padding-bottom: calc(2 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 762, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header {
    padding-bottom: calc(3 * var(--global--spacing-vertical));
  }
}

/**
 * Site-main children wrappers
 * - Add double vertical margins here for clearer hierarchy
 */
/* line 771, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-main > * {
  margin-top: calc(3 * var(--global--spacing-vertical));
  margin-bottom: calc(3 * var(--global--spacing-vertical));
}

/* line 776, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-main > *:first-child {
  margin-top: 0;
}

/* line 780, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-main > *:last-child {
  margin-bottom: 0;
}

/**
 * Set the default maximum responsive content-width
 */
/**
 * Set the wide maximum responsive content-width
 */
/**
 * Set the full maximum responsive content-width
 */
/*
 * Block & non-gutenberg content wrappers
 * - Set margins
 */
/* line 800, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-header,
.post-thumbnail,
.entry-content,
.entry-footer,
.author-bio {
  margin-top: var(--global--spacing-vertical);
  margin-right: auto;
  margin-bottom: var(--global--spacing-vertical);
  margin-left: auto;
}

/*
 * Block & non-gutenberg content wrapper children
 * - Sets spacing-vertical margin logic
 */
/* line 815, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-main > article > *,
.site-main > .not-found > *,
.entry-content > *,
[class*=inner-container] > *,
.wp-block-template-part > * {
  margin-top: calc(0.666 * var(--global--spacing-vertical));
  margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 825, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-main > article > *,
  .site-main > .not-found > *,
  .entry-content > *,
  [class*=inner-container] > *,
  .wp-block-template-part > * {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: var(--global--spacing-vertical);
  }
}

/* line 835, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-main > article > *:first-child,
.site-main > .not-found > *:first-child,
.entry-content > *:first-child,
[class*=inner-container] > *:first-child,
.wp-block-template-part > *:first-child {
  margin-top: 0;
}

/* line 843, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-main > article > *:last-child,
.site-main > .not-found > *:last-child,
.entry-content > *:last-child,
[class*=inner-container] > *:last-child,
.wp-block-template-part > *:last-child {
  margin-bottom: 0;
}

/* line 851, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-footer > *,
.widget-area > * {
  margin-top: calc(0.666 * var(--global--spacing-vertical));
  margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 858, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-footer > *,
  .widget-area > * {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: var(--global--spacing-vertical);
  }
}

/*
 * Block & non-gutenberg content wrapper children
 * - Sets spacing-unit margins
 */
/* line 869, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-header > *,
.post-thumbnail > *,
.page-content > *,
.comment-content > *,
.widget > * {
  margin-top: var(--global--spacing-unit);
  margin-bottom: var(--global--spacing-unit);
}

/* line 878, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-header > *:first-child,
.post-thumbnail > *:first-child,
.page-content > *:first-child,
.comment-content > *:first-child,
.widget > *:first-child {
  margin-top: 0;
}

/* line 886, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-header > *:last-child,
.post-thumbnail > *:last-child,
.page-content > *:last-child,
.comment-content > *:last-child,
.widget > *:last-child {
  margin-bottom: 0;
}

/*
 * .entry-content children specific controls
 * - Adds special margin overrides for alignment utility classes
 */
/* line 898, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > * {
  /* Reset alignleft and alignright margins after alignfull */
}

/* line 902, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > *.alignleft,
.entry-content > *.alignright,
.entry-content > *.alignleft:first-child + *,
.entry-content > *.alignright:first-child + *,
.entry-content > *.alignfull.has-background {
  margin-top: 0;
}

/* line 910, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > *:last-child,
.entry-content > *.alignfull.has-background {
  margin-bottom: 0;
}

/* line 915, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > *.alignfull + .alignleft,
.entry-content > *.alignfull + .alignright {
  margin-top: var(--global--spacing-vertical);
}

/**
 * Reset specific elements to make them easier to style in other contexts.
 */
/* line 923, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
form,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

/**
 * Apply generic border-box to all elements.
 * See:
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* line 958, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
html {
  /* Apply border-box across the entire page. */
  box-sizing: border-box;
}

/**
 * Relax the definition a bit, to allow components to override it manually.
 */
/* line 968, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
*,
*:before,
*:after {
  box-sizing: inherit;
}

/* line 982, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
button {
  cursor: pointer;
}

/* line 986, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: '';
  display: table;
  table-layout: fixed;
}

/* line 1003, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/* Category 04 can contain any default HTML element. Do not add classes here, just give the elements some basic styles. */
/* line 1013, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote {
  padding: 0;
  position: relative;
  margin: var(--global--spacing-vertical) 0 var(--global--spacing-vertical) var(--global--spacing-horizontal);
}

/* line 1019, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote > * {
  margin-top: var(--global--spacing-unit);
  margin-bottom: var(--global--spacing-unit);
}

/* line 1024, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote > *:first-child {
  margin-top: 0;
}

/* line 1028, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote > *:last-child {
  margin-bottom: 0;
}

/* line 1032, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote p {
  letter-spacing: var(--heading--letter-spacing-h4);
}

/* line 1041, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote cite,
blockquote footer {
  letter-spacing: var(--global--letter-spacing);
}

/* line 1049, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote.alignleft,
blockquote.alignright {
  padding-left: inherit;
}

/* line 1054, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote.alignleft p,
blockquote.alignright p {
  max-width: inherit;
  width: inherit;
}

/* line 1061, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote.alignleft cite,
blockquote.alignleft footer,
blockquote.alignright cite,
blockquote.alignright footer {
  letter-spacing: var(--global--letter-spacing);
}

/* line 1073, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
blockquote:before {
  content: '“';
  position: absolute;
  left: calc(-0.5 * var(--global--spacing-horizontal));
}

@media only screen and (max-width: 481px) {
  /* line 1090, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  blockquote {
    padding-left: calc(0.5 * var(--global--spacing-horizontal));
  }
  /* line 1094, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  blockquote:before {
    left: 0;
  }
}

/* line 1099, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
.site textarea {
  padding: var(--form--spacing-unit);
  margin: 0 2px;
  max-width: 100%;
}

/* line 1123, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
.site textarea:focus {
  outline-offset: 2px;
  outline: 2px dotted var(--form--border-color);
}

/* line 1143, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=text]:disabled,
input[type=email]:disabled,
input[type=url]:disabled,
input[type=password]:disabled,
input[type=search]:disabled,
input[type=number]:disabled,
input[type=tel]:disabled,
input[type=date]:disabled,
input[type=month]:disabled,
input[type=week]:disabled,
input[type=time]:disabled,
input[type=datetime]:disabled,
input[type=datetime-local]:disabled,
input[type=color]:disabled,
.site textarea:disabled {
  opacity: 0.7;
}

/* line 1161, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-dark-theme input[type=text],
.is-dark-theme input[type=email],
.is-dark-theme input[type=url],
.is-dark-theme input[type=password],
.is-dark-theme input[type=search],
.is-dark-theme input[type=number],
.is-dark-theme input[type=tel],
.is-dark-theme input[type=date],
.is-dark-theme input[type=month],
.is-dark-theme input[type=week],
.is-dark-theme input[type=time],
.is-dark-theme input[type=datetime],
.is-dark-theme input[type=datetime-local],
.is-dark-theme input[type=color],
.is-dark-theme .site textarea {
  background: var(--global--color-white-90);
}

/* line 1179, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=search]:focus {
  outline-offset: -7px;
}

/* line 1183, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-dark-theme input[type=search]:focus {
  outline-color: var(--global--color-background);
}

/* line 1187, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=color] {
  padding: calc(var(--form--spacing-unit) / 2);
  height: calc(4 * var(--form--spacing-unit));
}

/* line 1192, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=email],
input[type=url] {
  /* rtl:ignore */
  direction: ltr;
}

/* line 1198, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
select {
  appearance: none;
  appearance: none;
  appearance: none;
  padding: var(--form--spacing-unit) calc(3 * var(--form--spacing-unit)) var(--form--spacing-unit) var(--form--spacing-unit);
  background: var(--global--color-white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
  background-position: right var(--form--spacing-unit) top 60%;
}

/* line 1210, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
select:focus {
  outline-offset: 2px;
  outline: 2px dotted var(--form--border-color);
}

/* line 1215, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-dark-theme select {
  background: var(--global--color-white-90) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
  background-position: right var(--form--spacing-unit) top 60%;
}

/* line 1220, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
textarea {
  width: 100%;
}

/* line 1224, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
label {
  margin-bottom: calc(var(--global--spacing-vertical) / 3);
}

/**
https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
https://codepen.io/aaroniker/pen/ZEYoxEY by Aaron Iker.
License: MIT.
*/
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  /* line 1236, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=checkbox],
  input[type=radio] {
    position: relative;
    width: 25px;
    height: 25px;
    background: var(--global--color-white);
  }
  /* line 1245, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=checkbox]:disabled,
  input[type=radio]:disabled {
    opacity: 0.7;
  }
  /* line 1250, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .is-dark-theme input[type=checkbox],
  .is-dark-theme input[type=radio] {
    background: var(--global--color-white-90);
  }
  /* line 1255, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=checkbox]:focus {
    outline-offset: 2px;
    outline: 2px dotted var(--form--border-color);
  }
  /* line 1260, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=checkbox]:after {
    content: '';
    opacity: 0;
    display: block;
    left: 5px;
    top: 2px;
    position: absolute;
    width: 7px;
    height: 13px;
    transform: rotate(30deg);
  }
  /* line 1279, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=checkbox]:checked:after {
    opacity: 1;
  }
  /* line 1287, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=radio]:focus {
    outline-offset: 2px;
    outline: 2px dotted var(--form--border-color);
  }
  /* line 1292, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=radio]:after {
    content: '';
    opacity: 0;
    display: block;
    left: 3px;
    top: 3px;
    position: absolute;
    width: 11px;
    height: 11px;
    background: var(--form--color-text);
  }
  /* line 1309, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=radio]:checked:after {
    opacity: 1;
  }
  /* line 1313, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=radio]:checked:focus {
    outline-offset: 4px;
    outline: 2px dotted var(--form--border-color);
  }
}

/* line 1319, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=checkbox] + label,
input[type=radio] + label {
  display: inline-block;
  padding-left: 10px;
  vertical-align: top;
}

/**
 * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
*/
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  /* line 1331, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=range] {
    appearance: none;
    /* Hides the slider so that custom slider can be made */
    width: 100%;
    /* Specific width is required for Firefox. */
    height: 6px;
    background: var(--form--color-ranged);
    outline-offset: 10px;
  }
  /* line 1344, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=range]:disabled {
    opacity: 0.7;
  }
  /* line 1348, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=range]::-webkit-slider-thumb {
    appearance: none;
    height: 44px;
    width: 44px;
    background: var(--global--color-background);
    cursor: pointer;
  }
  /* line 1358, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  input[type=range]::-moz-range-thumb {
    height: 44px;
    width: 44px;
    background: var(--global--color-background);
    cursor: pointer;
    box-sizing: border-box;
  }
}

/* line 1369, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=range]::-ms-track {
  width: 100%;
  height: 6px;
  background: transparent;
  cursor: pointer;
}

/* line 1380, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=range]::-ms-fill-upper {
  background: var(--form--color-ranged);
}

/* line 1385, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=range]::-ms-fill-lower {
  background: var(--form--color-ranged);
}

/* line 1390, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
input[type=range]::-ms-thumb {
  height: 44px;
  width: 44px;
  background: var(--global--color-background);
  cursor: pointer;
}

/* line 1399, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
fieldset {
  display: grid;
  padding: var(--global--spacing-horizontal);
}

/* line 1409, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
fieldset input[type=submit] {
  max-width: max-content;
}

/* line 1413, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
fieldset input:not([type=submit]) {
  margin-bottom: var(--global--spacing-unit);
}

/* line 1417, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
fieldset input[type=radio],
fieldset input[type=checkbox] {
  margin-bottom: 0;
}

/* line 1422, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
fieldset input[type=radio] + label,
fieldset input[type=checkbox] + label {
  padding-left: 0;
  margin-bottom: var(--global--spacing-unit);
}

/* line 1429, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
::placeholder {
  opacity: 1;
}

/* line 1437, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-password-form {
  display: flex;
  flex-wrap: wrap;
}

/* line 1442, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-password-form__label {
  width: 100%;
  margin-bottom: 0;
}

/* line 1447, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-password-form input[type=password] {
  flex-grow: 1;
  margin-top: calc(var(--global--spacing-vertical) / 3);
  margin-right: calc(0.66 * var(--global--spacing-horizontal));
}

/* line 1453, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-password-form__submit {
  margin-top: calc(var(--global--spacing-vertical) / 3);
}

@media only screen and (min-width: 592px) {
  /* line 1458, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .post-password-form__submit {
    margin-left: calc(0.4 * var(--global--spacing-horizontal));
  }
}

/* line 1463, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
img {
  display: block;
  height: auto;
  max-width: 100%;
}

/* Classic editor images */
/* line 1470, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content img {
  max-width: 100%;
}

/* Make sure embeds and iframes fit their containers. */
/* line 1475, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
embed,
iframe,
object,
video {
  max-width: 100%;
}

/* Media captions */
/* line 1483, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
figcaption,
.wp-caption,
.wp-caption-text,
.wp-block-embed figcaption {
  margin-top: calc(0.5 * var(--global--spacing-unit));
  margin-bottom: var(--global--spacing-unit);
}

/* line 1495, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.alignleft figcaption,
.alignright figcaption,
.alignleft .wp-caption,
.alignright .wp-caption,
.alignleft .wp-caption-text,
.alignright .wp-caption-text,
.alignleft .wp-block-embed figcaption,
.alignright .wp-block-embed figcaption {
  margin-bottom: 0;
}

/* WP Smiley */
/* line 1507, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Over here, place any elements that do not need to have their own file. */
/* line 1529, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
pre {
  white-space: pre;
  overflow-x: auto;
}

/*
 * text-underline-offset doesn't work in Chrome at all 👎
 * But looks nice in Safari/Firefox, so let's keep it and
 * maybe Chrome will support it soon.
 */
/* line 1539, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
a {
  cursor: pointer;
}

/* line 1551, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
  /* Only visible in Windows High Contrast mode */
  outline: 2px solid transparent;
  background: rgba(255, 255, 255, 0.9);
}

/* line 1564, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
  background: rgba(0, 0, 0, 0.9);
}

/* line 1573, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link {
  /* Only visible in Windows High Contrast mode */
  outline: 2px solid transparent;
  outline-offset: -2px;
}

/* line 1584, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
  outline: 2px dotted var(--wp--style--color--link, var(--global--color-primary));
}

/* Category 05 is all about adjusting the default block styles to the given layout. I only added three blocks as examples. */
/* line 1594, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-audio audio:focus {
  outline-offset: 5px;
  outline: 2px solid var(--global--color-primary);
}

/**
 * Button
 */
/* line 1602, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site .button,
input[type=submit],
input[type=reset],
.wp-block-search__button,
.wp-block-button .wp-block-button__link {
  cursor: pointer;
  padding: var(--button--padding-vertical) var(--button--padding-horizontal);
}

/* line 1620, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site .button:focus,
input[type=submit]:focus,
input[type=reset]:focus,
.wp-block-search__button:focus,
.wp-block-button .wp-block-button__link:focus {
  background: transparent;
  outline-offset: -6px;
  outline: 2px dotted currentColor;
}

/* line 1665, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site .button:hover,
input[type=submit]:hover,
input[type=reset]:hover,
.wp-block-search .wp-block-search__button:hover,
.wp-block-file .wp-block-file__button:hover {
  background: transparent;
}

/**
 * Block Options
 */
/* line 1677, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
  background: transparent !important;
}

/* line 1683, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: transparent !important;
}

/* line 1689, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
  background: var(--button--color-background) !important;
}

/* line 1694, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-button.is-style-outline .wp-block-button__link {
  padding: var(--button--padding-vertical) var(--button--padding-horizontal);
}

/* line 1698, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background) {
  background: transparent;
}

/* line 1702, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):not(.has-text-color) {
  background: transparent;
}

/* line 1733, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-button.is-style-outline .wp-block-button__link:active,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--button--color-background) !important;
}

/* line 1745, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-button.is-style-outline .wp-block-button__link:focus {
  background: transparent !important;
}

/* line 1754, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-style-outline .wp-block-button__link[style*=radius]:focus,
.wp-block-button a.wp-block-button__link[style*=radius]:focus {
  outline-offset: 2px;
  outline: 2px dotted var(--button--color-background);
}

/* line 1760, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-code {
  padding: var(--global--spacing-unit);
}

/* line 1768, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-code code {
  white-space: pre;
  overflow-x: auto;
  display: block;
}

/* line 1776, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-columns:not(.alignwide):not(.alignfull) {
  clear: both;
}

/* line 1780, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-columns .wp-block-column > * {
  margin-top: calc(0.66 * var(--global--spacing-vertical));
  margin-bottom: calc(0.66 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 1786, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-columns .wp-block-column > * {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: var(--global--spacing-vertical);
  }
}

/* line 1792, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-columns .wp-block-column > *:first-child {
  margin-top: 0;
}

/* line 1796, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-columns .wp-block-column > *:last-child {
  margin-bottom: 0;
}

/* line 1800, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-columns .wp-block-column:last-child {
  margin-bottom: 0;
}

/* line 1804, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-columns .wp-block-column:not(:last-child) {
  margin-bottom: calc(0.66 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 1809, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-columns .wp-block-column:not(:last-child) {
    margin-bottom: var(--global--spacing-vertical);
  }
}

@media only screen and (min-width: 822px) {
  /* line 1815, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-columns .wp-block-column:not(:last-child) {
    margin-bottom: 0;
  }
}

/* line 1820, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-columns.is-style-twentytwentyone-columns-overlap {
  justify-content: space-around;
}

@media only screen and (min-width: 652px) {
  /* line 1825, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) {
    margin-left: calc(-2 * var(--global--spacing-horizontal));
    margin-top: calc(2.5 * var(--global--spacing-horizontal));
    z-index: 2;
  }
  /* line 1831, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > p:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h1:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h2:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h3:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h4:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h5:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h6:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > pre:not(.has-background) {
    padding: var(--global--spacing-unit);
  }
  /* line 1845, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
    padding-left: calc(2 * var(--global--spacing-horizontal));
  }
  /* line 1850, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n).is-vertically-aligned-center {
    margin-top: 0;
  }
}

/* line 1855, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-columns.alignfull .wp-block-column p:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h1:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h2:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h3:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h4:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h5:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h6:not(.has-background) {
  padding-left: var(--global--spacing-unit);
  padding-right: var(--global--spacing-unit);
}

/* line 1866, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover,
.wp-block-cover-image {
  min-height: var(--cover--height);
  margin-top: inherit;
  margin-bottom: inherit;
  /* default & custom background-color */
  /* Treating H2 separately to account for legacy /core styles */
  /* Block Styles */
}

/* line 1880, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover:not(.alignwide):not(.alignfull),
.wp-block-cover-image:not(.alignwide):not(.alignfull) {
  clear: both;
}

/* line 1885, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover.alignfull,
.wp-block-cover-image.alignfull {
  margin-top: 0;
  margin-bottom: 0;
}

/* line 1891, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover-image-text,
.wp-block-cover .wp-block-cover-text,
.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover-image .wp-block-cover-image-text,
.wp-block-cover-image .wp-block-cover-text {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 1929, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover h2,
.wp-block-cover-image h2 {
  letter-spacing: var(--heading--letter-spacing-h2);
  max-width: inherit;
  padding: 0;
}

/* line 1954, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover .wp-block-cover__inner-container,
.wp-block-cover-image .wp-block-cover__inner-container {
  width: calc(100% - calc(2 * var(--global--spacing-vertical)));
}

/* line 1959, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover .wp-block-cover__inner-container > *,
.wp-block-cover-image .wp-block-cover__inner-container > * {
  margin-top: calc(0.666 * var(--global--spacing-vertical));
  margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 1966, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-cover .wp-block-cover__inner-container > *,
  .wp-block-cover-image .wp-block-cover__inner-container > * {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: var(--global--spacing-vertical);
  }
}

/* line 1973, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover .wp-block-cover__inner-container > *:first-child,
.wp-block-cover-image .wp-block-cover__inner-container > *:first-child {
  margin-top: 0;
}

/* line 1978, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover .wp-block-cover__inner-container > *:last-child,
.wp-block-cover-image .wp-block-cover__inner-container > *:last-child {
  margin-bottom: 0;
}

/* line 1983, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover.alignleft,
.wp-block-cover.alignright,
.wp-block-cover-image.alignleft,
.wp-block-cover-image.alignright {
  margin-top: 0;
}

/* line 1990, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover.alignleft > *,
.wp-block-cover.alignright > *,
.wp-block-cover-image.alignleft > *,
.wp-block-cover-image.alignright > * {
  margin-top: calc(2 * var(--global--spacing-vertical));
  margin-bottom: calc(2 * var(--global--spacing-vertical));
  padding-left: var(--global--spacing-horizontal);
  padding-right: var(--global--spacing-horizontal);
  width: 100%;
}

/* line 2001, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-cover.has-left-content,
.wp-block-cover.has-right-content,
.wp-block-cover-image.has-left-content,
.wp-block-cover-image.has-right-content {
  justify-content: center;
}

/* line 2013, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-file a.wp-block-file__button:active,
.wp-block-file a.wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:hover {
  opacity: inherit;
}

/* line 2028, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-file .wp-block-file__button {
  cursor: pointer;
  padding: var(--button--padding-vertical) var(--button--padding-horizontal);
  display: inline-block;
}

/* line 2043, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-file .wp-block-file__button:focus {
  background: transparent;
  outline-offset: -6px;
  outline: 2px dotted currentColor;
}

/* line 2063, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-gallery {
  margin: 0 auto;
}

/* line 2067, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
  width: calc((100% - var(--global--spacing-unit)) / 2);
}

/* line 2072, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  margin: 0;
}

/* line 2084, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-gallery .blocks-gallery-image figcaption a:focus,
.wp-block-gallery .blocks-gallery-item figcaption a:focus {
  outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
}

/* line 2091, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-gallery .blocks-gallery-image a:focus img,
.wp-block-gallery .blocks-gallery-item a:focus img {
  outline-offset: 2px;
}

/* line 2096, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group {
  display: block;
  clear: both;
  display: flow-root;
}

/* line 2102, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group:before,
.wp-block-group:after {
  content: '';
  display: block;
  clear: both;
}

/* line 2109, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group .wp-block-group__inner-container {
  margin-left: auto;
  margin-right: auto;
}

/* line 2114, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group .wp-block-group__inner-container > * {
  margin-top: calc(0.666 * var(--global--spacing-vertical));
  margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 2120, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-group .wp-block-group__inner-container > * {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: var(--global--spacing-vertical);
  }
}

/* line 2126, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group .wp-block-group__inner-container > *:first-child {
  margin-top: 0;
}

/* line 2130, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group .wp-block-group__inner-container > *:last-child {
  margin-bottom: 0;
}

/* line 2134, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group.has-background {
  padding: calc(0.666 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 2139, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-group.has-background {
    padding: var(--global--spacing-vertical);
  }
}

/* line 2144, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group.is-style-twentytwentyone-border {
  padding: var(--global--spacing-vertical);
}

/* line 2149, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-group.has-background .wp-block-group__inner-container > .alignfull,
.wp-block-group.has-background .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull,
.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > .alignfull,
.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull {
  max-width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical)));
  width: calc(var(--responsive--alignfull-width) + (2 * var(--global--spacing-vertical)));
  margin-left: calc(-1 * var(--global--spacing-vertical));
}

/* line 2158, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  clear: both;
}

/* line 2190, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
h1,
.h1 {
  letter-spacing: var(--heading--letter-spacing-h1);
}

/* line 2197, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
h2,
.h2 {
  letter-spacing: var(--heading--letter-spacing-h2);
}

/* line 2204, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
h3,
.h3 {
  letter-spacing: var(--heading--letter-spacing-h3);
}

/* line 2211, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
h4,
.h4 {
  letter-spacing: var(--heading--letter-spacing-h4);
}

/* line 2219, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
h5,
.h5 {
  letter-spacing: var(--heading--letter-spacing-h5);
}

/* line 2227, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
h6,
.h6 {
  letter-spacing: var(--heading--letter-spacing-h6);
}

/* line 2239, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-image figcaption {
  margin-top: calc(0.5 * var(--global--spacing-unit));
  margin-bottom: var(--global--spacing-unit);
}

/* line 2248, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-image .alignright {
  margin-left: var(--global--spacing-horizontal);
}

/* line 2252, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-image .alignleft {
  margin-right: var(--global--spacing-horizontal);
}

/* line 2256, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-image a:focus img {
  outline-offset: 2px;
}

/* line 2260, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > *[class=wp-block-image],
.entry-content [class*=inner-container] > *[class=wp-block-image] {
  margin-top: 0;
  margin-bottom: 0;
}

/* line 2266, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > *[class=wp-block-image] + *,
.entry-content [class*=inner-container] > *[class=wp-block-image] + * {
  margin-top: 0;
}

/* line 2271, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

/* line 2282, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-image.is-style-twentytwentyone-image-frame img {
  padding: var(--global--spacing-unit);
}

@media only screen and (min-width: 482px) {
  /* line 2287, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .entry-content > .wp-block-image > .alignleft,
  .entry-content > .wp-block-image > .alignright {
    max-width: 50%;
  }
}

@media only screen and (max-width: 481px) {
  /* line 2294, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .entry-content > .wp-block-image > .alignleft,
  .entry-content > .wp-block-image > .alignright {
    margin-left: 0;
    margin-right: 0;
  }
}

/* line 2301, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-comments {
  padding-left: 0;
}

/* line 2305, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-comments .wp-block-latest-comments__comment {
  /* Vertical margins logic */
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 2314, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-comments .wp-block-latest-comments__comment:first-child {
  margin-top: 0;
}

/* line 2318, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-comments .wp-block-latest-comments__comment:last-child {
  margin-bottom: 0;
}

/* line 2331, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
  margin: 0;
}

/* line 2337, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts {
  padding-left: 0;
}

/* line 2341, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts:not(.is-grid) > li {
  margin-top: calc(1.666 * var(--global--spacing-vertical));
  margin-bottom: calc(1.666 * var(--global--spacing-vertical));
}

/* line 2346, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts:not(.is-grid) > li:first-child {
  margin-top: 0;
}

/* line 2350, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts:not(.is-grid) > li:last-child {
  margin-bottom: 0;
}

/* line 2354, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-grid {
  word-wrap: break-word;
  word-break: break-word;
}

/* line 2359, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-grid > li {
  margin-bottom: var(--global--spacing-vertical);
}

/* line 2363, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-grid > li:last-child {
  margin-bottom: 0;
}

/* line 2367, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
  margin-bottom: 0;
}

/* line 2380, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts > li > * {
  margin-top: calc(0.333 * var(--global--spacing-vertical));
  margin-bottom: calc(0.333 * var(--global--spacing-vertical));
}

/* line 2385, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts > li > *:first-child {
  margin-top: 0;
}

/* line 2389, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts > li > *:last-child {
  margin-bottom: 0;
}

/* line 2393, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts > li > a {
  display: inline-block;
  margin-bottom: calc(0.333 * var(--global--spacing-vertical));
}

/* line 2419, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
.wp-block-latest-posts .wp-block-latest-posts__post-full-content {
  margin-top: calc(0.666 * var(--global--spacing-vertical));
}

/* line 2427, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.alignfull {
  padding-left: var(--global--spacing-unit);
  padding-right: var(--global--spacing-unit);
}

/* line 2432, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content [class*=inner-container] .wp-block-latest-posts.alignfull,
.entry-content .has-background .wp-block-latest-posts.alignfull {
  padding-left: 0;
  padding-right: 0;
}

/* line 2443, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li,
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li {
  padding-bottom: var(--global--spacing-vertical);
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 2451, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li:last-child,
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li:last-child {
  padding-bottom: 0;
}

/* line 2457, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid {
  box-shadow: inset 0 -1px 0 0 var(--global--color-border);
}

/* line 2462, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li {
  margin: 0;
  padding-top: var(--global--spacing-vertical);
  padding-right: var(--global--spacing-horizontal);
}

/* line 2468, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li:last-child {
  padding-bottom: var(--global--spacing-vertical);
}

@media screen and (min-width: 600px) {
  /* line 2473, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-2 li {
    width: calc((100% / 2));
  }
  /* line 2477, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-3 li {
    width: calc((100% / 3));
  }
  /* line 2481, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-4 li {
    width: calc((100% / 4));
  }
  /* line 2485, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-5 li {
    width: calc((100% / 5));
  }
  /* line 2489, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-6 li {
    width: calc((100% / 6));
  }
}

/* line 2494, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li {
  padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
}

/* line 2499, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li:last-child {
  padding-bottom: var(--global--spacing-vertical);
}

/* line 2503, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders:not(.is-grid) li {
  margin-top: var(--global--spacing-horizontal);
  margin-bottom: var(--global--spacing-horizontal);
}

/* line 2508, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-item {
  display: inline-block;
  vertical-align: top;
  width: 100%;
}

/* line 2515, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-item a {
  display: block;
}

/* line 2519, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-item a:focus img {
  outline-offset: -2px;
}

/* line 2523, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

/* line 2527, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

/* line 2531, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

/* line 2535, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

/* line 2539, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

/* line 2543, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

/* line 2547, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

/* line 2551, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

/* line 2555, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.gallery-caption {
  display: block;
}

/* line 2559, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
figure.wp-caption a:focus img {
  outline-offset: 2px;
}

/* line 2563, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
ul,
ol {
  margin: 0;
  padding-left: calc(2 * var(--global--spacing-horizontal));
}

/* line 2570, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
ul.aligncenter,
ol.aligncenter {
  list-style-position: inside;
  padding: 0;
}

/* line 2576, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
ul.alignright,
ol.alignright {
  list-style-position: inside;
  padding: 0;
}

/* line 2583, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
ul {
  list-style-type: disc;
}

/* line 2587, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
ol {
  list-style-type: decimal;
}

/* line 2596, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
dd {
  margin: 0;
  padding-left: calc(2 * var(--global--spacing-horizontal));
}

/* line 2601, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-media-text {
  /**
   * Block Options
   */
}

/* line 2607, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-media-text.alignfull {
  margin-top: 0;
  margin-bottom: 0;
}

/* line 2612, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-media-text a:focus img {
  outline-offset: -1px;
}

/* line 2616, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-media-text .wp-block-media-text__content {
  padding: var(--global--spacing-horizontal);
}

@media only screen and (min-width: 592px) {
  /* line 2621, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-media-text .wp-block-media-text__content {
    padding: var(--global--spacing-vertical);
  }
}

/* line 2626, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-media-text .wp-block-media-text__content > * {
  margin-top: calc(0.666 * var(--global--spacing-vertical));
  margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 482px) {
  /* line 2632, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-media-text .wp-block-media-text__content > * {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: var(--global--spacing-vertical);
  }
}

/* line 2638, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-media-text .wp-block-media-text__content > *:first-child {
  margin-top: 0;
}

/* line 2642, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-media-text .wp-block-media-text__content > *:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 482px) {
  /* line 2647, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    padding-top: var(--global--spacing-vertical);
    padding-bottom: var(--global--spacing-vertical);
  }
}

/* line 2657, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation .wp-block-navigation-link {
  padding: 0;
}

/* line 2661, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__content {
  padding: var(--primary-nav--padding);
}

/* line 2671, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation .wp-block-navigation-link__submenu-icon {
  padding: 0;
}

/* line 2675, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation-link {
  display: inherit;
}

/* line 2679, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container {
  left: 0;
  margin-left: var(--primary-nav--padding);
  min-width: max-content;
  opacity: 0;
  padding: 0;
  position: inherit;
  top: inherit;
}

/* line 2690, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container .wp-block-navigation-link .wp-block-navigation-link__content {
  display: inline-block;
  padding: calc(0.5 * var(--primary-nav--padding)) var(--primary-nav--padding);
}

/* line 2695, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container .wp-block-navigation-link__submenu-icon {
  display: none;
}

/* line 2699, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation > .wp-block-navigation__container .has-child:hover .wp-block-navigation__container,
.wp-block-navigation > .wp-block-navigation__container .has-child:focus-within .wp-block-navigation__container {
  display: block;
  opacity: 1;
  visibility: visible;
}

/* line 2706, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container {
  background: var(--global--color-background);
  margin: 0;
  padding: 0;
  position: absolute;
  top: 100%;
}

/* line 2715, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:before,
.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
  content: '';
  display: block;
  position: absolute;
  width: 0;
  top: -10px;
  left: var(--global--spacing-horizontal);
}

/* line 2728, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
  top: -9px;
}

/* line 2733, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation:not(.has-background) .wp-block-navigation__container {
  background: var(--global--color-background);
}

/* line 2737, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation__container {
  background: var(--global--color-background);
}

/* line 2759, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
p.has-background {
  padding: var(--global--spacing-unit);
}

/* line 2767, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
pre.wp-block-preformatted {
  overflow-x: auto;
  white-space: pre;
}

/* line 2772, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote {
  padding: calc(2 * var(--global--spacing-unit)) 0;
  position: relative;
  /**
   * Block Options
   */
}

/* line 2787, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote blockquote:before {
  content: '“';
  display: block;
  position: relative;
  left: 0;
}

/* line 2798, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote p {
  letter-spacing: var(--pullquote--letter-spacing);
  margin: 0;
}

/* line 2812, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote .wp-block-pullquote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote footer {
  display: block;
}

/* line 2822, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote:not(.is-style-solid-color) {
  background: none;
}

/* line 2831, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote.alignwide > p,
.wp-block-pullquote.alignwide blockquote {
  max-width: var(--responsive--alignwide-width);
}

/* line 2836, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote.alignfull:not(.is-style-solid-color) > p,
.wp-block-pullquote.alignfull:not(.is-style-solid-color) blockquote {
  padding: 0 calc(2 * var(--global--spacing-unit));
}

/* line 2841, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote.is-style-solid-color {
  padding: calc(2.5 * var(--global--spacing-unit));
}

@media (min-width: 600px) {
  /* line 2850, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-pullquote.is-style-solid-color {
    padding: calc(5 * var(--global--spacing-unit));
  }
}

/* line 2859, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote.is-style-solid-color blockquote {
  margin: 0;
  max-width: inherit;
}

/* line 2874, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote.is-style-solid-color.alignleft,
.wp-block-pullquote.is-style-solid-color.alignright {
  padding: var(--global--spacing-unit);
}

/* line 2879, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
.wp-block-pullquote.is-style-solid-color.alignright blockquote {
  max-width: initial;
}

/* line 2884, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote {
  /**
   * Block Options
   */
}

/* line 2892, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote:before {
  content: '“';
  left: 8px;
}

/* line 2914, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.has-text-align-right {
  margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) auto;
  padding-right: 0;
}

/* line 2920, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.has-text-align-right:before {
  display: none;
}

/* line 2924, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.has-text-align-right p:before {
  content: '”';
  margin-right: 5px;
}

/* line 2932, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.has-text-align-center {
  margin: var(--global--spacing-vertical) auto;
}

/* line 2936, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.has-text-align-center:before {
  display: none;
}

/* line 2940, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
  padding-left: 0;
  padding-right: 0;
  /* Resetting margins to match _block-container.scss */
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 2957, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.is-large:before,
.wp-block-quote.is-style-large:before {
  left: calc(-1 * var(--global--spacing-horizontal));
}

/* line 2964, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.is-large.has-text-align-right:before,
.wp-block-quote.is-style-large.has-text-align-right:before {
  display: none;
}

/* line 2969, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-quote.is-large.has-text-align-right p:before,
.wp-block-quote.is-style-large.has-text-align-right p:before {
  content: '”';
  margin-right: 10px;
}

@media only screen and (max-width: 481px) {
  /* line 2989, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-quote.is-large,
  .wp-block-quote.is-style-large {
    padding-left: var(--global--spacing-horizontal);
  }
  /* line 2994, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-quote.is-large:before,
  .wp-block-quote.is-style-large:before {
    left: 0;
  }
  /* line 2999, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-quote.is-large.has-text-align-right,
  .wp-block-quote.is-style-large.has-text-align-right {
    padding-left: 0;
    padding-right: var(--global--spacing-horizontal);
  }
  /* line 3005, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-quote.is-large.has-text-align-right:before,
  .wp-block-quote.is-style-large.has-text-align-right:before {
    right: 0;
  }
  /* line 3010, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-quote.is-large.has-text-align-center,
  .wp-block-quote.is-style-large.has-text-align-center {
    padding-left: 0;
    padding-right: 0;
  }
}

@media only screen and (max-width: 481px) {
  /* line 3018, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-quote.has-text-align-right {
    padding-left: 0;
    padding-right: calc(0.5 * var(--global--spacing-horizontal));
  }
  /* line 3023, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-quote.has-text-align-right:before {
    right: 0;
  }
  /* line 3027, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-quote.has-text-align-center {
    padding-left: 0;
    padding-right: 0;
  }
}

/* line 3033, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss {
  padding-left: 0;
}

/* line 3037, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss > li {
  list-style: none;
}

/* line 3041, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss:not(.is-grid) > li {
  margin-top: calc(1.666 * var(--global--spacing-vertical));
  margin-bottom: calc(1.666 * var(--global--spacing-vertical));
}

/* line 3046, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss:not(.is-grid) > li:first-child {
  margin-top: 0;
}

/* line 3050, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss:not(.is-grid) > li:last-child {
  margin-bottom: 0;
}

/* line 3054, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss.is-grid > li {
  margin-bottom: var(--global--spacing-vertical);
}

/* line 3058, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss.is-grid > li:last-child {
  margin-bottom: 0;
}

/* line 3062, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
  margin-bottom: 0;
}

/* line 3075, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss > li > * {
  margin-top: calc(0.333 * var(--global--spacing-vertical));
  margin-bottom: calc(0.333 * var(--global--spacing-vertical));
}

/* line 3080, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss > li > *:first-child {
  margin-top: 0;
}

/* line 3084, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss > li > *:last-child {
  margin-bottom: 0;
}

/* line 3088, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss .wp-block-rss__item-title > a {
  display: inline-block;
  margin-bottom: calc(0.333 * var(--global--spacing-vertical));
}

/* line 3114, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss .wp-block-rss__item-excerpt,
.wp-block-rss .wp-block-rss__item-full-content {
  margin-top: calc(0.666 * var(--global--spacing-vertical));
}

/* line 3122, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-rss.alignfull {
  padding-left: var(--global--spacing-unit);
  padding-right: var(--global--spacing-unit);
}

/* line 3127, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content [class*=inner-container] .wp-block-rss.alignfull,
.entry-content .has-background .wp-block-rss.alignfull {
  padding-left: 0;
  padding-right: 0;
}

/* line 3133, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search {
  max-width: var(--responsive--aligndefault-width);
}

/* line 3137, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search__button-only.aligncenter .wp-block-search__inside-wrapper {
  justify-content: center;
}

/* line 3141, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search .wp-block-search__label {
  margin-bottom: calc(var(--global--spacing-vertical) / 3);
}

/* line 3147, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search .wp-block-search__input {
  max-width: inherit;
  margin-right: calc(-1 * var(--button--border-width));
  padding: var(--form--spacing-unit);
}

/* line 3175, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search button.wp-block-search__button {
  margin-left: 0;
}

/* line 3187, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search button.wp-block-search__button.has-icon {
  padding: 6px calc(0.5 * var(--button--padding-horizontal));
}

/* line 3191, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search button.wp-block-search__button.has-icon svg {
  width: 40px;
  height: 40px;
  fill: currentColor;
}

/* line 3259, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input {
  margin-right: 0;
}

/* line 3263, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus {
  outline: 2px dotted var(--form--border-color);
  outline-offset: -5px;
}

/* line 3268, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus {
  outline-color: currentColor;
}

/* line 3272, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search.wp-block-search__button-inside.wp-block-search__text-button button.wp-block-search__button {
  padding: var(--button--padding-vertical) var(--button--padding-horizontal);
}

/* line 3313, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-search__button {
  box-shadow: none;
}

/* line 3317, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
hr {
  clear: both;
  margin-left: auto;
  margin-right: auto;
}

/* line 3325, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
hr.wp-block-separator {
  opacity: 1;
  /**
   * Block Options
   */
}

/* line 3334, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
hr.wp-block-separator:not(.is-style-dots):not(.alignwide) {
  max-width: var(--responsive--aligndefault-width);
}

/* line 3338, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
hr.wp-block-separator:not(.is-style-dots).alignwide {
  max-width: var(--responsive--alignwide-width);
}

/* line 3342, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
hr.wp-block-separator:not(.is-style-dots).alignfull {
  max-width: var(--responsive--alignfull-width);
}

/* line 3360, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
hr.wp-block-separator.is-style-dots:before {
  letter-spacing: var(--global--font-size-sm);
  padding-left: var(--global--font-size-sm);
}

/* line 3382, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-social-links.is-style-twentytwentyone-social-icons-color .wp-social-link {
  background: none;
}

/* line 3386, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-spacer {
  display: block;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

@media only screen and (max-width: 481px) {
  /* line 3393, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .wp-block-spacer[style] {
    height: var(--global--spacing-unit) !important;
  }
}

/* line 3398, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
table,
.wp-block-table {
  width: 100%;
  min-width: 240px;
}

/* line 3417, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
table td,
table th,
.wp-block-table td,
.wp-block-table th {
  padding: calc(0.5 * var(--global--spacing-unit));
}

/* line 3466, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
table.wp-calendar-table td,
table.wp-calendar-table th {
  background: transparent;
  vertical-align: middle;
  word-break: normal;
}

/* line 3486, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
table.wp-calendar-table caption {
  margin-bottom: var(--global--spacing-unit);
}

/* line 3493, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-calendar-nav {
  margin-top: calc(var(--global--spacing-unit) / 2);
}

/* line 3498, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-calendar-nav svg {
  height: 1em;
  vertical-align: middle;
}

/* line 3503, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-calendar-nav svg path {
  fill: currentColor;
}

/* line 3507, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-calendar-nav .wp-calendar-nav-next {
  float: right;
}

/* line 3511, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-tag-cloud.alignfull {
  padding-left: var(--global--spacing-unit);
  padding-right: var(--global--spacing-unit);
}

/* line 3520, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-block-video figcaption {
  margin-top: calc(0.5 * var(--global--spacing-unit));
  margin-bottom: var(--global--spacing-unit);
}

/* line 3528, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
* > figure > video {
  max-width: unset;
  width: 100%;
  vertical-align: middle;
}

/* Block Alignments */
/**
 * These selectors set the default max width for content appearing inside a post or page.
 */
/**
 * .alignleft
 */
/* line 3589, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.alignleft {
  /* rtl:ignore */
  margin-top: 0;
}

/* line 3595, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > .alignleft {
  max-width: var(--responsive--aligndefault-width);
}

@media only screen and (min-width: 482px) {
  /* line 3600, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .alignleft {
    /* rtl:ignore */
    float: left;
    /* rtl:ignore */
    margin-right: var(--global--spacing-horizontal);
    margin-bottom: var(--global--spacing-vertical);
  }
  /* line 3609, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .entry-content > .alignleft {
    max-width: calc(50% - var(--responsive--alignleft-margin));
  }
}

/**
 * .aligncenter
 */
/* line 3617, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.aligncenter {
  clear: both;
  display: block;
  float: none;
  margin-right: auto;
  margin-left: auto;
}

/**
 * .alignright
 */
/* line 3629, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.alignright {
  margin-top: 0;
  margin-bottom: var(--global--spacing-vertical);
}

/* line 3634, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > .alignright {
  max-width: var(--responsive--aligndefault-width);
}

@media only screen and (min-width: 482px) {
  /* line 3639, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .alignright {
    /* rtl:ignore */
    float: right;
    /* rtl:ignore */
    margin-left: var(--global--spacing-horizontal);
  }
  /* line 3647, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .entry-content > .alignright {
    max-width: calc(50% - var(--responsive--alignright-margin));
  }
}

/* line 3652, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
[class*=inner-container] > .alignleft + *,
[class*=inner-container] > .alignright + * {
  margin-top: 0;
}

/**
 * .alignwide
 */
/* line 3660, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.alignwide {
  clear: both;
}

/**
 * .alignfull
 */
/* line 3667, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.alignfull {
  clear: both;
}

/* line 3671, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-left-content {
  justify-content: flex-start;
}

/* line 3675, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-right-content {
  justify-content: flex-end;
}

/* line 3679, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-parallax {
  background-attachment: fixed;
}

/* line 3683, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-drop-cap:not(:focus):first-letter {
  float: left;
  margin: 0.1em 0.1em 0 0;
}

/* line 3694, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-drop-cap:not(:focus):after {
  content: '';
  display: table;
  clear: both;
  padding-top: 14px;
}

/* line 3701, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.desktop-only {
  display: none;
}

@media only screen and (min-width: 482px) {
  /* line 3706, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .desktop-only {
    display: block;
  }
}

/* Category 06 contains all "bigger" components which contain elements of the previous two categories like header, footer, page template, single template, comments section, archives, ... */
/* line 3712, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-header {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  row-gap: var(--global--spacing-vertical);
}

/* line 3719, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.wp-custom-logo .site-header {
  align-items: center;
}

@media only screen and (min-width: 482px) {
  /* line 3724, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header {
    padding-top: calc(var(--global--spacing-vertical) / 0.75);
  }
}

@media only screen and (min-width: 822px) {
  /* line 3730, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header {
    padding-top: calc(2.4 * var(--global--spacing-vertical));
  }
}

/* line 3735, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-branding {
  margin-right: 140px;
}

/* line 3740, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-branding:last-child {
  margin-right: 0;
  width: 100%;
}

@media only screen and (min-width: 482px) {
  /* line 3747, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-branding {
    margin-right: initial;
    margin-top: 4px;
  }
}

/* line 3753, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-title {
  letter-spacing: normal;
  margin-bottom: calc(var(--global--spacing-vertical) / 6);
}

/* line 3796, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-background-white a.custom-logo-link:focus,
.is-dark-theme a.custom-logo-link:focus {
  background: none;
}

/* line 3805, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-logo {
  margin: calc(var(--global--spacing-vertical) / 2) 0;
}

/* line 3809, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-header > .site-logo {
  width: 100%;
  padding-bottom: calc(var(--global--spacing-vertical) * 1.5);
}

/* line 3816, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-logo .custom-logo {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--branding--logo--max-width-mobile);
  max-height: var(--branding--logo--max-height-mobile);
  height: auto;
  display: inline-block;
  width: auto;
}

@media only screen and (min-width: 482px) {
  /* line 3827, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-logo .custom-logo {
    max-width: var(--branding--logo--max-width);
    max-height: var(--branding--logo--max-height);
    height: auto;
    width: auto;
  }
}

@media only screen and (max-width: 481px) {
  /* line 3836, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
    position: absolute;
    padding-top: calc(0.5 * var(--global--spacing-vertical));
    margin-top: 0;
    top: var(--global--admin-bar--height);
  }
  /* line 3843, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation-open .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
    display: none;
  }
  /* line 3847, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
    max-height: calc(var(--button--padding-vertical) - (0.25 * var(--global--spacing-unit)) + 1.7em);
  }
  /* line 3851, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header.has-logo.has-title-and-tagline {
    align-items: flex-start;
  }
  /* line 3855, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header.has-logo.has-title-and-tagline.has-menu {
    justify-content: space-between;
  }
  /* line 3859, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header.has-logo.has-title-and-tagline.has-menu .site-branding {
    max-width: calc(100% - 160px);
  }
  /* line 3863, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header.has-logo.has-title-and-tagline .site-branding {
    margin-right: 0;
  }
  /* line 3867, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline:after {
    display: none;
  }
  /* line 3871, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .primary-navigation {
    position: relative;
    top: 0;
  }
  /* line 3876, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container {
    position: relative;
    padding-top: 0;
    margin-top: calc(0px - var(--button--padding-vertical) + (0.25 * var(--global--spacing-unit)));
  }
  /* line 3882, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu {
    padding-left: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
    padding-right: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
    margin-right: calc(0px - var(--global--spacing-horizontal) * 0.6);
  }
  /* line 3888, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header:not(.has-logo).has-title-and-tagline .site-branding {
    margin-right: 0;
    max-width: calc(100% - 160px);
  }
  /* line 3893, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-header:not(.has-menu) {
    justify-content: center;
  }
}

/* line 3898, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-footer {
  padding-top: 0;
  padding-bottom: calc(1.7 * var(--global--spacing-vertical));
}

/* line 3903, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.no-widgets .site-footer {
  margin-top: calc(6 * var(--global--spacing-vertical));
}

@media only screen and (max-width: 481px) {
  /* line 3908, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .no-widgets .site-footer {
    margin-top: calc(3 * var(--global--spacing-vertical));
  }
}

/* line 3913, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-footer > .site-info {
  padding-top: var(--global--spacing-vertical);
}

/* line 3927, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-footer > .site-info .powered-by {
  margin-top: calc(0.5 * var(--global--spacing-vertical));
}

@media only screen and (min-width: 822px) {
  /* line 3932, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-footer > .site-info {
    display: flex;
    align-items: center;
  }
  /* line 3937, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .site-footer > .site-info .powered-by {
    margin-top: initial;
    margin-left: auto;
  }
}

/* line 3969, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.singular .entry-header {
  padding-bottom: calc(2 * var(--global--spacing-vertical));
  margin-bottom: calc(3 * var(--global--spacing-vertical));
}

/* line 3975, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.home .entry-header {
  padding-bottom: 0;
  margin-bottom: 0;
}

/* line 3981, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.singular .has-post-thumbnail .entry-header {
  padding-bottom: calc(1.3 * var(--global--spacing-vertical));
  margin-bottom: 0;
}

/* line 3987, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.no-results.not-found > *:first-child {
  margin-bottom: calc(3 * var(--global--spacing-vertical));
}

/* line 3991, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.page-links {
  clear: both;
}

/* line 3995, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.page-links .post-page-numbers {
  display: inline-block;
  margin-left: calc(0.66 * var(--global--spacing-unit));
  margin-right: calc(0.66 * var(--global--spacing-unit));
  min-width: 44px;
  min-height: 44px;
}

/* line 4003, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.page-links .post-page-numbers:first-child {
  margin-left: 0;
}

/* line 4007, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-title {
  letter-spacing: var(--heading--letter-spacing-h2);
  overflow-wrap: break-word;
}

/**
 * Entry Content
 */
/* line 4049, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content p {
  word-wrap: break-word;
}

/* line 4053, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-content > iframe[style] {
  margin: var(--global--spacing-vertical) 0 !important;
  max-width: 100% !important;
}

/* line 4058, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-footer {
  clear: both;
  float: none;
  display: block;
}

/* line 4066, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.entry-footer > span {
  display: inline-block;
}

/* line 4083, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-main > article > .entry-footer {
  margin-top: var(--global--spacing-vertical);
  padding-top: var(--global--spacing-unit);
  padding-bottom: calc(3 * var(--global--spacing-vertical));
}

/* line 4094, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.single .site-main > article > .entry-footer {
  margin-top: calc(3.4 * var(--global--spacing-vertical));
  margin-bottom: calc(3.4 * var(--global--spacing-vertical));
  padding-bottom: 0;
  padding-top: calc(0.8 * var(--global--spacing-vertical));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: calc(2 * var(--global--spacing-horizontal));
}

/* line 4106, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.single .site-main > article > .entry-footer .post-taxonomies,
.single .site-main > article > .entry-footer .full-size-link {
  justify-content: flex-end;
}

/* line 4112, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.single .site-main > article > .entry-footer .full-size-link:first-child:last-child {
  grid-column: span 2;
}

/* line 4116, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.single .site-main > article > .entry-footer .posted-on,
.single .site-main > article > .entry-footer .byline,
.single .site-main > article > .entry-footer .cat-links,
.single .site-main > article > .entry-footer .tags-links {
  display: block;
}

@media only screen and (max-width: 481px) {
  /* line 4124, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .single .site-main > article > .entry-footer {
    display: block;
  }
  /* line 4128, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .single .site-main > article > .entry-footer .full-size-link {
    display: block;
  }
}

/**
 * Post Thumbnails
 */
/* line 4145, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-thumbnail .wp-post-image {
  display: block;
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: calc(2 * var(--global--spacing-vertical));
}

/**
 * Author
 */
/* line 4157, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.author-bio {
  position: relative;
  max-width: var(--responsive--aligndefault-width);
}

/* line 4163, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.site-main > article > .author-bio {
  margin-top: calc(2 * var(--global--spacing-vertical));
}

/* line 4167, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.author-bio.show-avatars .avatar {
  display: inline-block;
  vertical-align: top;
}

/* line 4173, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.author-bio.show-avatars .author-bio-content {
  display: inline-block;
  padding-left: var(--global--spacing-horizontal);
  max-width: calc(var(--responsive--aligndefault-width) - 90px);
}

/* line 4179, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.author-bio .author-bio-content .author-title {
  display: inline;
}

/* line 4185, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.author-bio .author-bio-content .author-description {
  margin-top: calc(0.5 * var(--global--spacing-vertical));
  margin-bottom: calc(0.5 * var(--global--spacing-vertical));
}

/* line 4217, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.archive .format-image .entry-content,
.archive .format-gallery .entry-content,
.archive .format-video .entry-content,
.search .format-image .entry-content,
.search .format-gallery .entry-content,
.search .format-video .entry-content,
.blog .format-image .entry-content,
.blog .format-gallery .entry-content,
.blog .format-video .entry-content {
  margin-top: calc(2 * var(--global--spacing-vertical));
}

/* line 4229, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.archive .entry-footer .cat-links,
.archive .entry-footer .tags-links,
.search .entry-footer .cat-links,
.search .entry-footer .tags-links,
.blog .entry-footer .cat-links,
.blog .entry-footer .tags-links {
  display: block;
}

/* line 4238, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.archive.logged-in .entry-footer .posted-on,
.search.logged-in .entry-footer .posted-on,
.blog.logged-in .entry-footer .posted-on {
  margin-right: calc(0.5 * var(--global--spacing-unit));
}

/* line 4244, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.archive-description {
  margin-top: var(--global--spacing-vertical);
}

/* line 4250, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.error404 main p {
  margin-bottom: calc(var(--global--spacing-vertical) * 1.6666666667);
}

/* line 4255, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.search-no-results .page-content {
  margin-top: calc(3 * var(--global--spacing-vertical));
}

/**
 * Comments Wrapper
 */
/* line 4262, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comments-area > * {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 4267, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comments-area > *:first-child {
  margin-top: 0;
}

/* line 4271, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comments-area > *:last-child {
  margin-bottom: 0;
}

/* line 4275, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comments-area.show-avatars .avatar {
  position: absolute;
  top: 10px;
}

/* line 4281, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comments-area.show-avatars .fn {
  display: inline-block;
  padding-left: 85px;
}

/* line 4286, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comments-area.show-avatars .comment-metadata {
  padding: 8px 0 9px 85px;
}

/**
 * Comment Title
 */
/* line 4293, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comments-title,
.comment-reply-title {
  letter-spacing: var(--heading--letter-spacing-h2);
}

/* line 4299, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-reply-title {
  display: flex;
  justify-content: space-between;
}

/* line 4304, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-reply-title small a {
  letter-spacing: normal;
}

/* Nested comment reply title */
/**
 * Comment Lists
 */
/* line 4320, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-list {
  padding-left: 0;
  list-style: none;
}

/* line 4325, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-list > li {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 4330, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-list .children {
  list-style: none;
  padding-left: 0;
}

/* line 4335, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-list .children > li {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

@media only screen and (min-width: 482px) {
  /* line 4341, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .comment-list .depth-2,
  .comment-list .depth-3 {
    padding-left: calc(4 * var(--global--spacing-horizontal));
  }
}

/**
 * Comment Meta
 */
/* line 4350, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-meta .comment-author {
  margin-bottom: calc(0.25 * var(--global--spacing-unit));
}

@media only screen and (min-width: 482px) {
  /* line 4356, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .comment-meta .comment-author {
    margin-bottom: 0;
    padding-right: 0;
  }
}

/* line 4362, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-meta .comment-author .fn {
  hyphens: auto;
  word-wrap: break-word;
  word-break: break-word;
}

/* line 4371, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-meta .comment-metadata {
  padding: 8px 0 9px;
}

/* line 4377, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-meta .comment-metadata .edit-link {
  margin-left: var(--global--spacing-horizontal);
}

@media only screen and (min-width: 482px) {
  /* line 4382, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .comment-meta {
    margin-right: inherit;
  }
  /* line 4386, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .comment-meta .comment-author {
    max-width: inherit;
  }
}

/* line 4396, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.bypostauthor {
  display: block;
}

/* line 4400, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.says {
  display: none;
}

/* line 4409, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-body {
  position: relative;
  margin-bottom: calc(1.7 * var(--global--spacing-vertical));
}

/* line 4414, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-body > * {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 4419, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-body .reply {
  margin: 0;
}

/* line 4423, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-content a {
  word-wrap: break-word;
}

/* line 4427, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.pingback .comment-body,
.trackback .comment-body {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 4433, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-respond {
  margin-top: var(--global--spacing-vertical);
}

/* line 4437, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-respond > * {
  margin-top: var(--global--spacing-unit);
  margin-bottom: var(--global--spacing-unit);
}

/* line 4442, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-respond > *:first-child {
  margin-top: 0;
}

/* line 4446, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-respond > *:last-child {
  margin-bottom: 0;
}

/* line 4450, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-respond > *:last-child.comment-form {
  margin-bottom: var(--global--spacing-vertical);
}

/* line 4454, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-author {
  padding-top: 3px;
}

/* line 4462, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form {
  display: flex;
  flex-wrap: wrap;
}

/* line 4467, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form > * {
  flex-basis: 100%;
}

/* line 4475, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form .comment-form-url,
.comment-form .comment-form-comment {
  width: 100%;
}

/* line 4480, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form .comment-form-author,
.comment-form .comment-form-email {
  flex-basis: 0;
  flex-grow: 1;
}

@media only screen and (max-width: 481px) {
  /* line 4487, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .comment-form .comment-form-author,
  .comment-form .comment-form-email {
    flex-basis: 100%;
  }
}

/* line 4499, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form > p {
  margin-bottom: var(--global--spacing-unit);
}

/* line 4503, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form > p:first-of-type {
  margin-top: 0;
}

/* line 4507, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form > p:last-of-type {
  margin-bottom: 0;
}

/* line 4511, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form > p label,
.comment-form > p input[type=email],
.comment-form > p input[type=text],
.comment-form > p input[type=url],
.comment-form > p textarea {
  display: block;
  margin-bottom: calc(0.5 * var(--global--spacing-unit));
  width: 100%;
}

/* line 4523, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comment-form > p.comment-form-cookies-consent {
  display: flex;
}

@media only screen and (min-width: 482px) {
  /* line 4528, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .comment-form > p.comment-form-author {
    margin-right: calc(1.5 * var(--global--spacing-horizontal));
  }
  /* line 4532, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .comment-form > p.comment-notes,
  .comment-form > p.logged-in-as {
    display: block;
  }
}

/* line 4538, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container {
  display: none;
  justify-content: space-between;
  position: absolute;
  right: 0;
  padding-top: calc(0.5 * var(--global--spacing-vertical));
  padding-bottom: calc(0.25 * var(--global--spacing-vertical));
}

/* line 4547, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container #primary-mobile-menu {
  margin-left: auto;
  padding: calc(var(--button--padding-vertical) - (0.25 * var(--global--spacing-unit))) calc(0.5 * var(--button--padding-horizontal));
}

@media only screen and (max-width: 481px) {
  /* line 4553, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .menu-button-container {
    display: flex;
  }
}

/* line 4558, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container .button.button {
  display: flex;
}

/* line 4567, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container .button.button .dropdown-icon {
  display: flex;
  align-items: center;
}

/* line 4572, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container .button.button .dropdown-icon .svg-icon {
  margin-left: calc(0.25 * var(--global--spacing-unit));
}

/* line 4576, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container .button.button .dropdown-icon.open .svg-icon {
  position: relative;
  top: -1px;
}

/* line 4581, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container .button.button .dropdown-icon.close {
  display: none;
}

/* line 4585, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container .button.button[aria-expanded*=true] .dropdown-icon.open {
  display: none;
}

/* line 4589, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.menu-button-container .button.button[aria-expanded*=true] .dropdown-icon.close {
  display: flex;
}

/* line 4593, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-logo.has-title-and-tagline .menu-button-container .button.button[aria-expanded*=true] .dropdown-icon.close {
  animation-name: twentytwentyone-close-button-transition;
  animation-duration: 0.3s;
}

/* line 4598, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation-open .menu-button-container {
  width: 100%;
  z-index: 500;
}

/* line 4604, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation-open .menu-button-container #primary-mobile-menu {
  position: static;
}

/* line 4608, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation {
  position: absolute;
  top: var(--global--admin-bar--height);
  right: 0;
  margin-top: 0;
  margin-bottom: 0;
}

/* line 4619, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > .primary-menu-container {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding-top: calc(var(--button--line-height) * var(--primary-nav--font-size-button) + 42px + 5px);
  padding-left: var(--global--spacing-unit);
  padding-right: var(--global--spacing-unit);
  padding-bottom: var(--global--spacing-horizontal);
  transition: all 0.15s ease-in-out;
  transform: translateY(var(--global--spacing-vertical));
}

@media only screen and (max-width: 481px) {
  /* line 4637, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > .primary-menu-container {
    height: 100vh;
    z-index: 499;
    overflow-x: hidden;
    overflow-y: auto;
  }
  /* line 4645, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
    position: fixed;
    transform: translateY(0) translateX(100%);
  }
  /* line 4650, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .admin-bar .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
    top: var(--global--admin-bar--height);
  }
  /* line 4654, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .admin-bar .primary-navigation > .primary-menu-container {
    height: calc(100vh - var(--global--admin-bar--height));
  }
}

@media only screen and (max-width: 481px) {
  /* line 4664, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation-open .primary-navigation {
    width: 100%;
    position: fixed;
    z-index: 2;
  }
}

/* line 4671, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation-open .primary-navigation > .primary-menu-container {
  position: absolute;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

@media only screen and (max-width: 481px) {
  /* line 4679, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation-open .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
    transform: translateX(0) translateY(0);
  }
}

@media only screen and (min-width: 482px) {
  /* line 4685, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation {
    position: relative;
    margin-left: auto;
  }
  /* line 4690, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > .primary-menu-container {
    visibility: visible;
    opacity: 1;
    position: relative;
    padding: 0;
    overflow: initial;
    transform: none;
  }
  /* line 4700, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation #toggle-menu {
    display: none;
  }
  /* line 4704, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded=false] ~ ul {
    display: none;
  }
  /* line 4708, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .admin-bar .primary-navigation {
    top: initial;
  }
  /* line 4712, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .admin-bar .primary-navigation > .primary-menu-container {
    top: initial;
  }
}

/* line 4717, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  max-width: none;
  padding-left: 0;
  position: relative;
}

@media only screen and (max-width: 481px) {
  /* line 4729, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper {
    padding-bottom: 100px;
  }
  /* line 4733, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper ul {
    padding-left: 0;
  }
}

/* line 4738, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper li {
  display: block;
  position: relative;
  width: 100%;
}

@media only screen and (min-width: 482px) {
  /* line 4745, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper li {
    margin: 0;
    width: inherit;
  }
  /* line 4750, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper li:last-child() {
    margin-right: 0;
  }
}

/* line 4755, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper .sub-menu-toggle {
  display: flex;
  height: calc(2 * var(--primary-nav--padding) + 1.15em + 1px);
  width: 44px;
  padding: 0;
  justify-content: center;
  align-items: center;
  background: transparent;
}

/* line 4767, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper .sub-menu-toggle:focus {
  outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
}

@media only screen and (max-width: 481px) {
  /* line 4772, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper .sub-menu-toggle {
    display: none;
  }
}

/* line 4777, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus,
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
  height: 100%;
  display: flex;
  align-items: center;
}

/* line 4784, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus svg,
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus svg {
  margin-top: -1px;
}

/* line 4789, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
  display: none;
}

/* line 4793, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-minus {
  display: flex;
}

/* line 4797, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-plus {
  display: none;
}

/* line 4801, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation > div > .menu-wrapper > li > .sub-menu {
  position: relative;
}

@media only screen and (min-width: 482px) {
  /* line 4806, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper > li > .sub-menu {
    left: 0;
    margin: 0;
    min-width: max-content;
    position: absolute;
    top: 100%;
    padding-top: 3px;
    transition: all 0.5s ease;
    z-index: 88888;
  }
  /* line 4817, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper > li > .sub-menu:before,
  .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    top: -10px;
    left: var(--global--spacing-horizontal);
  }
  /* line 4830, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
    top: -9px;
  }
  /* line 4835, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
    background: var(--global--color-background);
  }
  /* line 4839, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left {
    /* rtl:ignore */
    left: 0;
    /* rtl:ignore */
    right: auto;
  }
  /* line 4847, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:before,
  .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:after {
    /* rtl:ignore */
    left: var(--global--spacing-horizontal);
    /* rtl:ignore */
    right: auto;
  }
  /* line 4856, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right {
    /* rtl:ignore */
    right: 0;
    /* rtl:ignore */
    left: auto;
  }
  /* line 4864, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:before,
  .primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:after {
    /* rtl:ignore */
    left: auto;
    /* rtl:ignore */
    right: var(--global--spacing-horizontal);
  }
}

@media only screen and (min-width: 482px) {
  /* line 4879, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation .primary-menu-container {
    margin-right: calc(0px - var(--primary-nav--padding));
    margin-left: calc(0px - var(--primary-nav--padding));
  }
  /* line 4884, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation .primary-menu-container > ul > .menu-item {
    display: flex;
  }
  /* line 4888, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation .primary-menu-container > ul > .menu-item > a {
    padding-left: var(--primary-nav--padding);
    padding-right: var(--primary-nav--padding);
  }
  /* line 4893, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation .primary-menu-container > ul > .menu-item > a + .sub-menu-toggle {
    margin-left: calc(5px - var(--primary-nav--padding));
  }
}

/* line 4898, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation a {
  display: block;
  padding: var(--primary-nav--padding) 0;
}

@media only screen and (min-width: 482px) {
  /* line 4908, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation a {
    display: block;
  }
}

/* line 4916, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation a + svg {
  fill: var(--primary-nav--color-text);
}

/* line 4931, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation a:focus {
  position: relative;
  z-index: 99999;
  outline-offset: 0;
}

/* line 4950, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation .sub-menu {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-left: var(--primary-nav--padding);
}

@media only screen and (min-width: 482px) {
  /* line 4963, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation .sub-menu > .menu-item > .sub-menu {
    padding: 0;
  }
}

@media only screen and (max-width: 481px) {
  /* line 4969, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation .sub-menu .menu-item:last-child() {
    margin-bottom: 0;
  }
}

/* line 4974, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation .sub-menu .menu-item > a {
  padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
  display: block;
}

/* line 4988, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation .menu-item-has-children > .svg-icon {
  display: none;
}

@media only screen and (min-width: 482px) {
  /* line 4993, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation .menu-item-has-children > .svg-icon {
    display: inline-block;
    height: 100%;
  }
  /* line 4998, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .primary-navigation .menu-item-has-children .sub-menu .svg-icon {
    display: none;
  }
}

/* line 5003, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation .menu-item-description {
  display: block;
  clear: both;
}

/* line 5011, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.primary-navigation .menu-item-description > span {
  display: inline-block;
}

@media only screen and (max-width: 481px) {
  /* line 5016, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .lock-scrolling .site {
    position: fixed;
    max-width: 100%;
    width: 100%;
  }
}

@keyframes twentytwentyone-close-button-transition {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* line 5033, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.footer-navigation {
  margin-top: calc(2 * var(--global--spacing-vertical));
  margin-bottom: var(--global--spacing-vertical);
}

/* line 5041, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.footer-navigation-wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
}

/* line 5049, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.footer-navigation-wrapper li {
  display: inline;
}

/* line 5054, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.footer-navigation-wrapper li a {
  padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
  transition: transform 0.1s ease;
}

/* line 5073, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-dark-theme .footer-navigation-wrapper li a:focus .svg-icon {
  fill: var(--wp--style--color--link, var(--global--color-background));
}

/* line 5077, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-background-white .footer-navigation-wrapper li a:focus .svg-icon {
  fill: var(--wp--style--color--link, var(--global--color-white));
}

/* line 5081, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.footer-navigation-wrapper li .svg-icon {
  vertical-align: middle;
  fill: var(--footer--color-link);
}

/* line 5086, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.footer-navigation-wrapper li .svg-icon:hover {
  transform: scale(1.1);
}

/* line 5090, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.footer-navigation-wrapper .sub-menu-toggle,
.footer-navigation-wrapper .menu-item-description {
  display: none;
}

/* Next/Previous navigation */
/* line 5119, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.navigation .nav-links > * {
  min-width: 44px;
  min-height: 44px;
}

/* line 5124, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.navigation .nav-links .nav-next a,
.navigation .nav-links .nav-previous a {
  display: flex;
  flex-direction: column;
}

@media only screen and (min-width: 592px) {
  /* line 5135, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .navigation .nav-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  /* line 5141, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .navigation .nav-links .nav-next,
  .navigation .nav-links .nav-previous {
    flex: 0 1 auto;
    margin-bottom: inherit;
    margin-top: inherit;
    max-width: calc(50% - (0.5 * var(--global--spacing-unit)));
  }
}

/* line 5154, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.navigation .svg-icon {
  display: inline-block;
  fill: currentColor;
  vertical-align: middle;
  position: relative;
}

/* line 5161, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.navigation .nav-previous .svg-icon,
.navigation .prev .svg-icon {
  top: -2px;
  margin-right: calc(0.25 * var(--global--spacing-unit));
}

/* line 5167, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.navigation .nav-next .svg-icon,
.navigation .next .svg-icon {
  top: -1px;
  margin-left: calc(0.25 * var(--global--spacing-unit));
}

/* line 5173, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-navigation {
  margin: var(--global--spacing-vertical) auto;
}

@media only screen and (min-width: 822px) {
  /* line 5178, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .post-navigation {
    margin: var(--global--spacing-vertical) auto;
  }
}

/* line 5188, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-navigation .post-title {
  display: inline-block;
}

@media only screen and (min-width: 822px) {
  /* line 5197, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .post-navigation .post-title {
    margin: 5px calc(24px + (0.25 * var(--global--spacing-unit))) 0;
  }
}

@media only screen and (min-width: 482px) {
  /* line 5203, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .post-navigation .nav-links {
    justify-content: space-between;
  }
}

/* line 5208, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-navigation .nav-next,
.post-navigation .nav-previous {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

/* line 5214, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-navigation .nav-next:first-child,
.post-navigation .nav-previous:first-child {
  margin-top: 0;
}

/* line 5219, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.post-navigation .nav-next:last-child,
.post-navigation .nav-previous:last-child {
  margin-bottom: 0;
}

/* line 5224, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.pagination,
.comments-pagination {
  padding-top: var(--global--spacing-vertical);
  margin: var(--global--spacing-vertical) auto;
}

@media only screen and (min-width: 822px) {
  /* line 5232, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .pagination,
  .comments-pagination {
    margin: var(--global--spacing-vertical) auto;
  }
}

/* line 5238, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.pagination .nav-links,
.comments-pagination .nav-links {
  margin-top: calc(-1 * var(--global--spacing-vertical));
}

/* line 5266, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.pagination .nav-links > *,
.comments-pagination .nav-links > * {
  margin-top: var(--global--spacing-vertical);
  margin-left: calc(0.66 * var(--global--spacing-unit));
  margin-right: calc(0.66 * var(--global--spacing-unit));
}

/* line 5287, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.pagination .nav-links > *:first-child,
.comments-pagination .nav-links > *:first-child {
  margin-left: 0;
}

/* line 5292, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.pagination .nav-links > *:last-child,
.comments-pagination .nav-links > *:last-child {
  margin-right: 0;
}

/* line 5297, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.pagination .nav-links > *.next,
.comments-pagination .nav-links > *.next {
  margin-left: auto;
}

/* line 5302, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.pagination .nav-links > *.prev,
.comments-pagination .nav-links > *.prev {
  margin-right: auto;
}

@media only screen and (max-width: 821px) {
  /* line 5308, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .pagination .nav-links,
  .comments-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
  }
  /* line 5314, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .pagination .page-numbers,
  .comments-pagination .page-numbers {
    display: none;
  }
  /* line 5319, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .pagination .page-numbers.prev,
  .pagination .page-numbers.next,
  .comments-pagination .page-numbers.prev,
  .comments-pagination .page-numbers.next {
    display: inline-block;
    flex: 0 1 auto;
  }
}

@media only screen and (max-width: 481px) {
  /* line 5329, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .pagination .nav-short,
  .comments-pagination .nav-short {
    display: none;
  }
}

/* line 5335, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.comments-pagination {
  padding-top: calc(0.66 * var(--global--spacing-vertical));
  margin: calc(3 * var(--global--spacing-vertical)) auto;
}

@media only screen and (min-width: 822px) {
  /* line 5341, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .comments-pagination {
    margin: calc(3 * var(--global--spacing-vertical)) auto calc(4 * var(--global--spacing-vertical)) auto;
  }
}

/* line 5350, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget-area {
  margin-top: calc(6 * var(--global--spacing-vertical));
  padding-bottom: calc(var(--global--spacing-vertical) / 3);
}

@media only screen and (min-width: 652px) {
  /* line 5359, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .widget-area {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: calc(2 * var(--global--spacing-horizontal));
  }
}

@media only screen and (min-width: 1024px) {
  /* line 5367, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .widget-area {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media only screen and (max-width: 481px) {
  /* line 5373, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  .widget-area {
    margin-top: calc(3 * var(--global--spacing-vertical));
  }
}

/* line 5378, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget-area ul {
  list-style-type: none;
  padding: 0;
}

/* line 5387, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget-area ul.sub-menu,
.widget-area ul.children {
  margin-left: var(--widget--spacing-menu);
}

/* line 5392, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget-area ul .sub-menu-toggle {
  display: none;
}

/* line 5414, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget-area .wp-block-social-links.alignright {
  margin-top: var(--global--spacing-vertical);
  justify-content: flex-end;
}

/* line 5419, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget-area .wp-block-social-links.alignleft {
  margin-top: var(--global--spacing-vertical);
}

/* line 5423, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget-area:after {
  content: '';
  display: table;
  clear: both;
}

/* line 5435, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.search-form {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  max-width: var(--responsive--aligndefault-width);
}

/* line 5442, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.search-form > label {
  width: 100%;
  margin-bottom: 0;
}

/* line 5448, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.search-form .search-field {
  flex-grow: 1;
  max-width: inherit;
  margin-top: calc(var(--global--spacing-vertical) / 3);
  margin-right: calc(0.66 * var(--global--spacing-horizontal));
}

/* line 5455, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.search-form .search-submit {
  margin-top: calc(var(--global--spacing-vertical) / 3);
  margin-left: 10px;
}

/* line 5460, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget_search > .search-form .search-field {
  margin-right: calc(-1 * var(--button--border-width));
  appearance: none;
  margin-bottom: calc(0.5 * var(--global--spacing-vertical));
}

/* line 5466, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget_search > .search-form .search-submit {
  margin-left: 0;
  margin-bottom: calc(0.5 * var(--global--spacing-vertical));
}

/* line 5478, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.widget_rss a.rsswidget .rss-widget-icon {
  display: none;
}

/* Category 07 is for any utility classes that are not assigned to a specific component. */
/* line 5483, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  word-break: normal;
}

/* line 5498, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.skip-link:focus {
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  clip-path: none;
  display: block;
  height: auto;
  left: 5px;
  padding: 15px 23px 14px;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
/* line 5520, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
#content[tabindex='-1']:focus {
  outline: 0;
}

@media (prefers-reduced-motion) {
  /* line 5525, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
  * {
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}

/* line 5638, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-purple-to-yellow-gradient-background {
  background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-yellow));
}

/* line 5642, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-yellow-to-purple-gradient-background {
  background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-purple));
}

/* line 5646, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-green-to-yellow-gradient-background {
  background: linear-gradient(160deg, var(--global--color-green), var(--global--color-yellow));
}

/* line 5650, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-yellow-to-green-gradient-background {
  background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-green));
}

/* line 5654, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-red-to-yellow-gradient-background {
  background: linear-gradient(160deg, var(--global--color-red), var(--global--color-yellow));
}

/* line 5658, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-yellow-to-red-gradient-background {
  background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-red));
}

/* line 5662, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-purple-to-red-gradient-background {
  background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-red));
}

/* line 5666, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.has-red-to-purple-gradient-background {
  background: linear-gradient(160deg, var(--global--color-red), var(--global--color-purple));
}

/* line 5670, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
header *,
main *,
footer * {
  max-width: var(--global--spacing-measure);
}

/* line 5676, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
html,
body,
div,
header,
nav,
article,
figure,
hr,
main,
section,
footer {
  max-width: none;
}

/* line 5708, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-IE.is-dark-theme .sub-menu-toggle svg,
.is-IE.is-dark-theme .sub-menu-toggle path,
.is-IE.is-dark-theme .post-navigation .meta-nav svg,
.is-IE.is-dark-theme .post-navigation .meta-nav path {
  fill: #ffffff;
}

/* line 5715, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-IE.is-dark-theme .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
  background: #000000;
}

/* line 5730, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-IE .navigation .nav-links {
  display: block;
}

/* line 5734, web/app/themes/sage/resources/assets/styles/base/_wp-styles.scss */
.is-IE .post-thumbnail .wp-post-image {
  min-width: auto;
}

/*# sourceMappingURL=main.css.map */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJiYXNlL19hbmltYXRpb25zLnNjc3MiLCJiYXNlL192YXJpYWJsZXMuc2NzcyIsImJhc2UvX2N1c3RvbS1wcm9wZXJ0aWVzLnNjc3MiLCJiYXNlL19iYXNpY3Muc2NzcyIsImJhc2UvX2dsb2JhbC5zY3NzIiwiYmFzZS9fbWVkaWEtcXVlcmllcy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL19mdW5jdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fdGFncy5zY3NzIiwiY29tcG9uZW50cy9fZG9zc2llcnMuc2NzcyIsImNvbXBvbmVudHMvX2J1cmdlci5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsImxheW91dC9fbWFpbi1oZXJvLnNjc3MiLCJsYXlvdXQvX21haW4taGVyby1saWdodC5zY3NzIiwibGF5b3V0L19zZWN0aW9uLWhlcm8uc2NzcyIsImxheW91dC9fYXJ0aWNsZS10ZWFzZXIuc2NzcyIsImxheW91dC9fYXJ0aWNsZS5zY3NzIiwibGF5b3V0L19jYXRlZ29yeS5zY3NzIiwibGF5b3V0L19hcmNoaXZlLnNjc3MiLCJsYXlvdXQvX2Fkcy5zY3NzIiwibGF5b3V0L19hYm8uc2NzcyIsImxheW91dC9fZGV0YWlsLWhlYWQuc2NzcyIsImxheW91dC9fZGV0YWlsLWNvbnRlbnQuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2hlYWRlci1sb2dvLnNjc3MiLCJsYXlvdXQvX2hlYWRlci1zb2NpYWwuc2NzcyIsImxheW91dC9faGVhZGVyLXV0aWwuc2NzcyIsImxheW91dC9faGVhZGVyLWN0YS5zY3NzIiwibGF5b3V0L19oZWFkZXItdG9waWMuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJiYXNlL193cC1zdHlsZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogSW1wb3J0IGV2ZXJ5dGhpbmcgZnJvbSBhdXRvbG9hZCAqL1xuLy8gQGltcG9ydCBcIi4vYXV0b2xvYWQvKiovKlwiO1xuXG4vKipcbiAqIEltcG9ydCBucG0gZGVwZW5kZW5jaWVzXG4gKlxuICogUHJlZml4IHlvdXIgaW1wb3J0cyB3aXRoIGB+YCB0byBncmFiIGZyb20gbm9kZV9tb2R1bGVzL1xuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3Nhc3MtbG9hZGVyI2ltcG9ydHNcbiAqL1xuXG5AaW1wb3J0IFwiYmFzZS9yZXNldFwiO1xuQGltcG9ydCBcImJhc2UvYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcImJhc2UvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYmFzZS9jdXN0b20tcHJvcGVydGllc1wiO1xuQGltcG9ydCBcImJhc2UvYmFzaWNzXCI7XG5AaW1wb3J0IFwiYmFzZS9nbG9iYWxcIjtcbkBpbXBvcnQgXCJiYXNlL21lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJiYXNlL21peGluc1wiO1xuQGltcG9ydCBcImJhc2UvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImJhc2UvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhZ3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Rvc3NpZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXJnZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvbGF5b3V0XCI7XG5AaW1wb3J0IFwibGF5b3V0L21haW4taGVyb1wiO1xuQGltcG9ydCBcImxheW91dC9tYWluLWhlcm8tbGlnaHRcIjtcbkBpbXBvcnQgXCJsYXlvdXQvc2VjdGlvbi1oZXJvXCI7XG5AaW1wb3J0IFwibGF5b3V0L2FydGljbGUtdGVhc2VyXCI7XG5AaW1wb3J0IFwibGF5b3V0L2FydGljbGVcIjtcbkBpbXBvcnQgXCJsYXlvdXQvY2F0ZWdvcnlcIjtcbkBpbXBvcnQgXCJsYXlvdXQvYXJjaGl2ZVwiO1xuQGltcG9ydCBcImxheW91dC9hZHNcIjtcbkBpbXBvcnQgXCJsYXlvdXQvYWJvXCI7XG5AaW1wb3J0IFwibGF5b3V0L2RldGFpbC1oZWFkXCI7XG5AaW1wb3J0IFwibGF5b3V0L2RldGFpbC1jb250ZW50XCI7XG5AaW1wb3J0IFwibGF5b3V0L2hlYWRlclwiO1xuQGltcG9ydCBcImxheW91dC9oZWFkZXItbG9nb1wiO1xuQGltcG9ydCBcImxheW91dC9oZWFkZXItc29jaWFsXCI7XG5AaW1wb3J0IFwibGF5b3V0L2hlYWRlci11dGlsXCI7XG5AaW1wb3J0IFwibGF5b3V0L2hlYWRlci1jdGFcIjtcbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyLXRvcGljXCI7XG5AaW1wb3J0IFwibGF5b3V0L2Zvb3RlclwiO1xuQGltcG9ydCBcImJhc2Uvd3Atc3R5bGVzXCI7XG4iLCIvKiBCb3ggc2l6aW5nIHJ1bGVzICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nICovXG51bFtjbGFzc10sXG5vbFtjbGFzc10ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gKi9cbmJvZHksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbnAsXG51bFtjbGFzc10sXG5vbFtjbGFzc10sXG5saSxcbmZpZ3VyZSxcbmZpZ2NhcHRpb24sXG5ibG9ja3F1b3RlLFxuZGwsXG5kZCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogU2V0IGNvcmUgYm9keSBkZWZhdWx0cyAqL1xuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFJlbW92ZSBsaXN0IHN0eWxlcyBvbiB1bCwgb2wgZWxlbWVudHMgd2l0aCBhIGNsYXNzIGF0dHJpYnV0ZSAqL1xudWxbY2xhc3NdLFxub2xbY2xhc3NdIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogQSBlbGVtZW50cyB0aGF0IGRvbid0IGhhdmUgYSBjbGFzcyBnZXQgZGVmYXVsdCBzdHlsZXMgKi9cbmE6bm90KFtjbGFzc10pIHtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xufVxuXG4vKiBNYWtlIGltYWdlcyBlYXNpZXIgdG8gd29yayB3aXRoICovXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBOYXR1cmFsIGZsb3cgYW5kIHJoeXRobSBpbiBhcnRpY2xlcyBieSBkZWZhdWx0ICovXG5hcnRpY2xlID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi8qIEluaGVyaXQgZm9udHMgZm9yIGlucHV0cyBhbmQgYnV0dG9ucyAqL1xuaW5wdXQsXG5idXR0b24sXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qIFJlbW92ZSBhbGwgYW5pbWF0aW9ucyBhbmQgdHJhbnNpdGlvbnMgZm9yIHBlb3BsZSB0aGF0IHByZWZlciBub3QgdG8gc2VlIHRoZW0gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICoge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICB9XG59IiwiLnNoYWtlLW5leHQge1xuICBhbmltYXRpb246IHNoYWtlLW5leHQgMnMgZWFzZSBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzaGFrZS1uZXh0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5zaGFrZS1wcmV2IHtcbiAgYW5pbWF0aW9uOiBzaGFrZS1wcmV2IDFzIGVhc2UgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgc2hha2UtcHJldiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZS1pbnRlcmZlcmVyIHtcbiAgMTAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTAuNXB4LCAwLCAwKSByb3RhdGUoMjVkZWcpO1xuICB9XG4gIDIwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDFweCwgMCwgMCkgcm90YXRlKDI1ZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTJweCwgMCwgMCkgcm90YXRlKDI1ZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwgMCwgMCkgcm90YXRlKDI1ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLWN1cnJlbnQge1xuICAxMCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMC41cHgsIDAsIDApO1xuICB9XG4gIDIwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDFweCwgMCwgMCk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0ycHgsIDAsIDApO1xuICB9XG5cbiAgNDAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LCAwLCAwKTtcbiAgfVxufVxuXG5cbiIsIi8vIERFRkFVTFQgVkFSSUFCTEVTXG5cbiRmb250LXByaW1hcnk6ICdVYnVudHUnLCBzYW5zLXNlcmlmO1xuXG4vLyBHUklEICYgU0laRVNcbiRzcGFjZXI6ICAgICAgICAgICAgICAgIDJyZW07XG4kbWluLXdpZHRoOiAgICAgICAgICAgICAzMjBweDtcbiR4czogICAgICAgICAgICAgICAgICAgIDQ4MHB4O1xuJHNtOiAgICAgICAgICAgICAgICAgICAgNzY4cHg7XG4kbWQ6ICAgICAgICAgICAgICAgICAgICAxMDI0cHg7XG4kbGc6ICAgICAgICAgICAgICAgICAgICAxMjgwcHg7XG4keGw6ICAgICAgICAgICAgICAgICAgICAxNDQwcHg7XG4kbWF4LXdpZHRoOiAgICAgICAgICAgICAxNjgwcHg7XG5cbiRjb250YWluZXI6ICAgICAgICAgICAgIDEwMCU7XG4kZ3JpZC1ndXR0ZXI6ICAgICAgICAgICAxcmVtO1xuJG91dGVyLXNwYWNlOiAgICAgICAgICAgMnJlbTtcblxuJGFydGljbGUtb2Zmc2V0OiA1cmVtO1xuJGZyYW1lOiAycmVtO1xuXG5cbiRjb2xvci1wcmltYXJ5OiAjRjgwMDAwO1xuJGNvbG9yLXNlY29uZGFyeTogI0ZGRUQwMDtcbiRmYWRlLXdoaXRlOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4kZmFkZS1ibGFjazogcmdiYSgwLDAsMCwwLjMpO1xuJGZhZGUtZ3JleTogI2Y1ZjVmNTtcblxuJHRleHQtY29sb3ItbGlnaHQ6IHJnYmEoMCwwLDAsMC42KTtcbiRsaW5rLWNvbG9yLWJsYWNrOiByZ2JhKDAsMCwwLDAuMyk7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb246IGFsbCAuMjRzIGVhc2UtaW4tb3V0O1xuJGRlZmF1bHQtdHJhbnNpdGlvbi1zbG93OiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xuXG4kZGVmYXVsdC1zaGFkb3c6IDJweCAycHggNjVweCAwcHggcmdiYSgwLDAsMCwwLjIpO1xuJGRlZmF1bHQtc2hhZG93LWRhcms6IDJweCAycHggMzVweCAwcHggcmdiYSgwLDAsMCwwLjgpO1xuXG4kZGVmYXVsdC1zaGFkb3ctbGFyZ2U6IDRweCA0cHggNDJweCAwcHggcmdiYSgwLDAsMCwwLjI5KTtcbiRkZWZhdWx0LXNoYWRvdy14bDogNHB4IDRweCA3MHB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xuXG5cbi8vLy8gRk9OVFNcblxuJHRleHQtZm9udDogJ1VidW50dScsIHNhbnMtc2VyaWY7XG4kaGVhZGxpbmUtZm9udDogJ1Rla28nLCBzYW5zLXNlcmlmO1xuXG4kaGVhZGxpbmUtZm9udC1tZWRpdW06IDUwMDtcbiRoZWFkbGluZS1mb250LXNlbWlib2xkOiA2MDA7XG5cbiIsIi8vIENVU1RPTSBQUk9QRVJUSUVTXG46cm9vdCB7XG4gIC0tZ2FwOiAycmVtO1xuICAtLWNvbnRhaW5lci1nYXA6IDJyZW07XG4gIC0tbmF2LWhlaWdodDogMTByZW07XG4gIC0tdWktaGVpZ2h0OiAyLjNyZW07XG4gIC0tcGFnZXMtdG9wLWdhcDogMTByZW07XG5cbiAgaGVhZGVyLnNjcm9sbGVkIHtcbiAgICAtLW5hdi1oZWlnaHQ6IDUuMnJlbTtcbiAgfVxufVxuIiwiXG5cbmgxLGgyLGg0LGg1LGg2e1xuICBmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG59IiwiLy8gR1JJRCAmIFNJWkVTXG4kbWluLXdpZHRoOiAzMjBweDtcbiR4czogNDgwcHg7XG4kc206IDc2OHB4O1xuJG1kOiAxMDI0cHg7XG4kbGc6IDEyODBweDtcbiR4bDogMTQ0MHB4O1xuJHh4bDogMTY4MHB4O1xuJG1heC13aWR0aDogMTkyMHB4O1xuIiwiLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG5cbiRicmVha3BvaW50czogKFxuICAnbWluLXdpZHRoJzogJG1pbi13aWR0aCxcbiAgJ3hzJzogJHhzLFxuICAnc20nOiAkc20sXG4gICdtZCc6ICRtZCxcbiAgJ2xnJzogJGxnLFxuICAneGwnOiAkeGwsXG4gICd4eGwnOiAkeHhsLFxuICAnbWF4LXdpZHRoJzokbWF4LXdpZHRoLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KScsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDAsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJG5vb3A6IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge1xuICB9XG59XG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSlcbiAgICAgIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6IChcbiAgICAnMCc6IDAsXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzcnOiA3LFxuICAgICc4JzogOCxcbiAgICAnOSc6IDksXG4gICk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90KGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKFxuICAgICdweCc6IDFweCxcbiAgICAnY20nOiAxY20sXG4gICAgJ21tJzogMW1tLFxuICAgICclJzogMSUsXG4gICAgJ2NoJzogMWNoLFxuICAgICdwYyc6IDFwYyxcbiAgICAnaW4nOiAxaW4sXG4gICAgJ2VtJzogMWVtLFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdwdCc6IDFwdCxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ3Z3JzogMXZ3LFxuICAgICd2aCc6IDF2aCxcbiAgICAndm1pbic6IDF2bWluLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKSAuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIiLCIuaGFzLWRyb3AtY2FwOm5vdCg6Zm9jdXMpOjpmaXJzdC1sZXR0ZXIge1xuICBmb250LXNpemU6IDZlbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuICBtYXJnaW46IDAuMDllbSAwLjNlbSAwIDA7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGxpbmUtZm9udC1zZW1pYm9sZDtcbn1cblxuQG1peGluIHNtYWxsLXRleHQge1xuICBmb250LWZhbWlseTogJHRleHQtZm9udDtcbiAgZm9udC1zaXplOiAwLjg3ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgb3BhY2l0eTogMC44O1xuXG4gIC5pbnZlcnRlZCB7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG59XG5cbkBtaXhpbiBtZWRpdW0tdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkdGV4dC1mb250O1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHdoaXRlO1xuICBvcGFjaXR5OiAwLjg7XG5cbiAgLmludmVydGVkICYge1xuICAgIGNvbG9yOiBibGFjaztcbiAgfVxufVxuXG5AbWl4aW4gdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkdGV4dC1mb250O1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuQG1peGluIGhlcm8taGVhZGxpbmUge1xuICBmb250LXNpemU6IDMuNGVtO1xuICBsaW5lLWhlaWdodDogMC45ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuICBmb250LXdlaWdodDogJGhlYWRsaW5lLWZvbnQtbWVkaXVtO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIGZvbnQtc2l6ZTogMy42ZW07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcbiAgICBmb250LXNpemU6IDQuNGVtO1xuICB9XG5cbiAgLmludmVydGVkICYge1xuICAgIGNvbG9yOiBibGFjaztcbiAgfVxufVxuXG4ucGFnZS1oZWFkZXIgaDEge1xuICBmb250LXNpemU6IDRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xufVxuXG4ucGFyYWdyYXBoIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlWCgwKTtcbiAgICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uO1xuICB9XG5cbiAgJjpob3ZlcjphZnRlcixcbiAgJjphY3RpdmU6YWZ0ZXIsXG4gICY6Zm9jdXM6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlWCgxKTtcbiAgfVxufVxuIiwiIiwiXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0LndwZm9ybXMtZmllbGQtbWVkaXVtLFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBzZWxlY3Qud3Bmb3Jtcy1maWVsZC1tZWRpdW0sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLXJvdy53cGZvcm1zLWZpZWxkLW1lZGl1bSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1zdWJsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgZm9udC1zaXplOiAxLjA2ZW07XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgbWFyZ2luOiAwLjJlbSAwIDA7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtbGFiZWwge1xuICBmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjRlbTtcbiAgY29sb3I6IGJsYWNrO1xuICBtYXJnaW46IDA7XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSwgXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9ZGF0ZXRpbWVdLCBcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0sIFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSwgXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9bW9udGhdLCBcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLCBcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sIFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXJhbmdlXSwgXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9c2VhcmNoXSwgXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9dGVsXSwgXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIFxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXRpbWVdLCBcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT11cmxdLCBcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gaW5wdXRbdHlwZT13ZWVrXSwgXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHNlbGVjdCwgXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIHRleHRhcmVhLFxuZGl2LndwZm9ybXMtY29udGFpbmVyIGZvcm0ud3Bmb3Jtcy1mb3JtIC5jaG9pY2VzX19pbm5lciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBoZWlnaHQ6IDMuNWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMWVtO1xufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCBmb3JtLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1zdHJpcGUtY3JlZGl0LWNhcmQtY2FyZG51bWJlciwgXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCBmb3JtLndwZm9ybXMtZm9ybSBpbnB1dC53cGZvcm1zLXN0cmlwZS1jcmVkaXQtY2FyZC1oaWRkZW4taW5wdXQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGhlaWdodDogMy41ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAxZW07XG59XG5cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIGJ1dHRvblt0eXBlPXN1Ym1pdF0sXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXBhZ2UtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAwLjhlbSAyZW07XG4gIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb247XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdztcbiAgfVxufVxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbCAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkIHtcbiAgcGFkZGluZzogMS4xZW0gMDtcbn1cblxuXG5kaXYud3Bmb3Jtcy1jb250YWluZXIgZm9ybS53cGZvcm1zLWZvcm0gLmNob2ljZXMge1xuICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAuY2hvaWNlcyAuY2hvaWNlc19faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDAuNmVtO1xufVxuXG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lciBmb3JtLndwZm9ybXMtZm9ybSAuY2hvaWNlc1tkYXRhLXR5cGUqPVwic2VsZWN0LW9uZVwiXTphZnRlciB7XG4gIHJpZ2h0OiAxZW07XG59XG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1pbmRpY2F0b3IucHJvZ3Jlc3MgLndwZm9ybXMtcGFnZS1pbmRpY2F0b3ItcGFnZS1wcm9ncmVzcyxcbmRpdi53cGZvcm1zLWNvbnRhaW5lci1mdWxsIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtcGFnZS1pbmRpY2F0b3IucHJvZ3Jlc3MgLndwZm9ybXMtcGFnZS1pbmRpY2F0b3ItcGFnZS1wcm9ncmVzcy13cmFwIHtcbiAgaGVpZ2h0OiAxMnB4O1xufVxuXG4ud3Bmb3Jtcy1maWVsZC1kZXNjcmlwdGlvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1lcnJvci1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICM5OTAwMDA7XG4gIHBhZGRpbmc6IDFlbSAyZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgei1pbmRleDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDgwJTtcbiAgbGVmdDogMTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4iLCJcbkBtaXhpbiBjdGEtYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogMmVtO1xuICBwYWRkaW5nOiAwLjdlbSAyZW0gMC42ZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3c7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3ctbGFyZ2U7XG4gIH1cbn1cblxuQG1peGluIGNpcmNsZS1saW5rcyB7XG4gIHdpZHRoOiB2YXIoLS11aS1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLXVpLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCAkZmFkZS13aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB9XG5cbiAgaHRtbDpub3QoLm5hdmlnYXRpb24tb3BlbikgLmludmVydGVkOm5vdCguc2Nyb2xsZWQpICYge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRmYWRlLWJsYWNrO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCBibGFjaztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJlYWQtbGluayB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBib3JkZXItY29sb3I6IHdoaXRlO1xuXG4gIC5pbnZlcnRlZCAmIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB3aWR0aDogMi4yZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOWVtO1xuICAgIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb247XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG5cbiAgICAuaW52ZXJ0ZWQgJiB7XG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IDhweDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4O1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcblxuICAgIC5pbnZlcnRlZCAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gIGFydGljbGU6aG92ZXIgJiB7XG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41ZW0pIHNjYWxlWCgwLjg1KTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41ZW0pIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjdGEtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBib3JkZXItY29sb3I6IHdoaXRlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHdpZHRoOiAyLjVlbTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogOHB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweDtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG59XG4iLCJhIHtcbiAgLy8gY29sb3I6ICRjb2xvci1saW5rO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5tYWluIGEge1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2Utb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIC8vIGNvbG9yOiAkY29sb3ItbGluay1ob3ZlcjtcbiAgfVxufVxuXG4ucmVhZC1saW5rIHtcbiAgQGluY2x1ZGUgcmVhZC1saW5rO1xufVxuIiwidWwudGFncyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAxLjJlbSAwIDAuNmVtO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuICAgIG1hcmdpbjogMS43ZW0gMCAwLjllbTtcbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW46IDAgMC42ZW0gMC42ZW0gMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuICAgICAgbWFyZ2luOiAwIDAuOGVtIDAuOGVtIDA7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgQGluY2x1ZGUgc21hbGwtdGV4dDtcbiAgICBwYWRkaW5nOiAwLjRlbSAxLjNlbTtcbiAgICBib3JkZXI6IHNvbGlkICRmYWRlLXdoaXRlIDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMC42ZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuICAgICAgcGFkZGluZzogMC42ZW0gMS42ZW07XG4gICAgfVxuXG4gICAgLmludmVydGVkICYge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZmFkZS1ibGFjaztcbiAgICB9XG4gIH1cbn1cbiIsIi5kb3NzaWVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdyaWQtYXJlYTogZG9zc2llcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAzZW0gMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXApICogLTEpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogM2VtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC05MGRlZywgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG5cbiAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1kb3NzaWVyICYge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIHdpZHRoOiA0ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwKSAqIC0xKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDNlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG5cbiAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1kb3NzaWVyICYge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIHdpZHRoOiA0ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5kb3NzaWVyLWNhcm91c3NlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWNvbnRhaW5lci1nYXApIDAgY2FsYyh2YXIoLS1jb250YWluZXItZ2FwKSAqIDIuNSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgcGFkZGluZzogdmFyKC0tY29udGFpbmVyLWdhcCkgMCBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXApICogMS41KTtcbiAgfVxufVxuXG4uZG9zc2llci13cmFwcGVyIC5hcnRpY2xlLWhlYWQgLmFydGljbGUtaGVhZGxpbmUge1xuICBmb250LXNpemU6IDEuNmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAxLjNyZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj14bCcpIHtcbiAgICBmb250LXNpemU6IDIuM2VtO1xuICB9XG59XG5cbi5kb3NzaWVyLXRvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIC5kb3NzaWVyLWhlYWRsaW5lLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogNjBjaDtcbiAgfVxuXG4gIC5kb3NzaWVyLWhlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDIuM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjllbTtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGxpbmUtZm9udC1tZWRpdW07XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42ZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgICBmb250LXNpemU6IDNlbTtcbiAgICB9XG4gIH1cbn1cblxuLm1pY3JvLXNsaWRlci12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoNzAlICsgY2FsYyh2YXIoLS1jb250YWluZXItZ2FwKSAqIDIpKTtcbiAgLy9mYWxsYmFjayBmb3Igc3R1cGlkIHNhZmFyaVxuICB3aWR0aDogY2FsYyg3MCUgKyA0cmVtKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogMjRlbTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1zbScpIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1nYXApKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIGhlaWdodDogMjBlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuICAgIGhlaWdodDogMjJlbTtcbiAgfVxufVxuXG4uc2xpZGVyLXdyYXBwZXItdmVydGljYWwge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbi5zbGlkZXItaXRlbS12ZXJ0aWNhbC5hY3RpdmUge1xuICAuYXJ0aWNsZS1kZXRhaWxzLFxuICAuYXJ0aWNsZS10ZXh0LFxuICAucmVhZC1saW5rIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zbGlkZXItaXRlbS12ZXJ0aWNhbCB7XG4gIC5hcnRpY2xlLWRldGFpbHMsXG4gIC5hcnRpY2xlLXRleHQsXG4gIC5yZWFkLWxpbmsge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnNsaWRlci1pdGVtLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLnNsaWRlci1pdGVtLmFjdGl2ZSB7XG4gIC5zZWN0aW9uLWhlcm8tY29udGVudCB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgfVxufVxuXG51bC5zbGlkZXItY29udHJvbHMtdmVydGljYWwge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcbiAgbWFyZ2luLXRvcDogLTExZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49eHMnKSB7XG4gICAgbWFyZ2luLXRvcDogLTdlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXNtJykge1xuICAgIG1hcmdpbi10b3A6IC01ZW07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICBtYXJnaW4tdG9wOiAtM2VtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWRvc3NpZXIgJiB7XG4gICAgcGFkZGluZy10b3A6IDZyZW07XG4gIH1cblxuICBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGxpLmluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogJGZhZGUtYmxhY2s7XG4gIH1cblxuICBsaSBhIHtcbiAgICB0ZXh0LWluZGVudDogLTEwMDAwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tc2xvdztcbiAgfVxuXG4gIGxpLmFjdGl2ZSBhIHtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgfVxufVxuXG4jcHJldmlvdXMtdmVydCxcbiNuZXh0LXZlcnQge1xuICBoZWlnaHQ6IHZhcigtLXVpLWhlaWdodCk7XG4gIHdpZHRoOiB2YXIoLS11aS1oZWlnaHQpO1xuICB0ZXh0LWluZGVudDogLTEwMDBlbTtcbiAgYm9yZGVyOiBzb2xpZCAkZmFkZS1ibGFjayAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgc3BhbiB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXVpLWhlaWdodCkgLyA0KTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS11aS1oZWlnaHQpIC8gNCk7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4IGJsYWNrO1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMnB4IGJsYWNrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCBibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIH1cbn1cblxuI3ByZXZpb3VzLXZlcnQge1xuICBtYXJnaW4tcmlnaHQ6IDJlbTtcblxuICBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICBtYXJnaW4tbGVmdDogMC4yZW07XG4gIH1cbn1cblxuI25leHQtdmVydCB7XG4gIG1hcmdpbi1sZWZ0OiAyZW07XG5cbiAgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yZW07XG4gIH1cbn1cblxuLnNsaWRlci1pdGVtOm5vdCguYWN0aXZlKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi5idXJnZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXhzXCIpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnVyZ2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogMS4zNWVtO1xuICB3aWR0aDogMi4xZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjc1ZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxnXCIpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBkaXYge1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAuaW52ZXJ0ZWQgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblxuICAgICAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICAgIHdpZHRoOiAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgZGl2Om50aC1jaGlsZCgyKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuXG4gICAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG5cbiAgICAubmF2aWdhdGlvbi1vcGVuICYge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAubmF2aWdhdGlvbi1vcGVuICYge1xuICAgICAgd2lkdGg6IDAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cbiIsImh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgZm9udC1zaXplOiAxNC41cHg7XG4gIGZvbnQtZmFtaWx5OiAkdGV4dC1mb250O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXNtJykge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXh4bCcpIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1tYXgtd2lkdGgnKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49MTkzMHB4Jykge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuXG5ib2R5IHtcbiAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbmJvZHk6bm90KC5ob21lKSAud3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNTB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLndyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDUwdmg7XG59XG5cbi5ob21lIC53cmFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTEwZW07XG4gIHBhZGRpbmc6IDAgdmFyKC0tY29udGFpbmVyLWdhcCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLmNvbnRhaW5lci1mdWxsIHtcbiAgcGFkZGluZzogJGZyYW1lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFyY2hpdmUgLmNvbnRhaW5lci1jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tcGFnZXMtdG9wLWdhcCkgdmFyKC0tY29udGFpbmVyLWdhcCk7XG5cbiAgLmFydGljbGUtdGVhc2VyLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnBhZ2U6bm90KC5ob21lKSB7XG4gIC5iYWNrZ3JvdW5kLXBhdHRlcm4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1JTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDkwdnc7XG4gICAgICBoZWlnaHQ6IDkwdnc7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDRweCA0cHggNzBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTUlKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgaGVpZ2h0OiA1MHZ3O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiA0cHggNHB4IDcwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTU1JSk7XG4gICAgfVxuICB9XG59XG5cbi5hcmNoaXZlIC5iYWNrZ3JvdW5kLXBhdHRlcm4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiA1JTtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnBhZ2UgLmNvbnRhaW5lci1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICBwYWRkaW5nOiB2YXIoLS1wYWdlcy10b3AtZ2FwKSB2YXIoLS1jb250YWluZXItZ2FwKTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1zbScpIHtcbiAgICBtYXgtd2lkdGg6IDcwdnc7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICBtYXgtd2lkdGg6IDYwdnc7XG4gIH1cbn1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwKTtcbn1cblxuLnBhZ2UtaGVhZGVyLWJ0bi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG5cbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjdGEtYnV0dG9uO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiBibGFjaztcbiAgfVxufVxuXG4ud3AtYmxvY2stcXVvdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRmYWRlLWdyZXksIDEpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNmVtIDJlbSAyZW07XG4gIGNvbG9yOiBibGFjaztcblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2Vjb25kYXJ5O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBwYWRkaW5nOiAwLjJlbTtcbiAgfVxufVxuXG5ib2R5IC53cC1ibG9jay1xdW90ZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuICA6cm9vdCB7XG4gICAgLS1jb250YWluZXItZ2FwOiA1cmVtO1xuICAgIC0tZ2FwOiAyLjVyZW07XG4gICAgLS1wYWdlcy10b3AtZ2FwOiAxMmVtO1xuICB9XG59XG5cbi5oZXJvLWhlYWRsaW5lIHtcbiAgQGluY2x1ZGUgaGVyby1oZWFkbGluZTtcbn1cblxuLnNlY3Rpb24taGVhZGxpbmUge1xuICBzY3JvbGwtbWFyZ2luLXRvcDogNGVtO1xufVxuXG4uZXJyb3I0MDQgLndyYXAge1xuICBtYXgtd2lkdGg6IDExMGVtO1xuICBwYWRkaW5nOiB2YXIoLS1wYWdlcy10b3AtZ2FwKSB2YXIoLS1jb250YWluZXItZ2FwKTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC5zZWFyY2gtZm9ybSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbiNmbGlwYm9va0NvbnRhaW5lcldyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJi5zaG93IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAuZGYtdWktd3JhcHBlci5kZi11aS1jb250cm9scyAuZGYtdWktdGh1bWJuYWlsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5sb2ctaW4sXG4ubWVpbi1iZXJlaWNoLFxuLnZpZWxlbi1kYW5rLWZ1ZXItaWhyZS1iZXN0ZWxsdW5nIHtcbiAgLmNvbnRhaW5lci1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDkwdnc7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5oYXMtMi1jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLmhhcy0yLWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICB9XG4gIH1cblxuICAuaGFzLTItY29sdW1ucyAud3AtYmxvY2stY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1nYXApICogMik7XG4gICAgICBtYXgtd2lkdGg6IDY1JTtcbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02ZW0pO1xuICAgIH1cbiAgfVxufVxuXG5maWd1cmUgLmNvcHlyaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAubWFpbi1oZXJvICYsIC5zbGlkZXItaXRlbSAmLCAuYXJ0aWNsZS1oZWFkICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuXG4gIC5uYXYtbGlua3Mge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG4ubm90aWNlIHtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIGJveC1zaGFkb3c6IDJweCAycHggNjVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1zZWNvbmRhcnk7XG5cbiAgLm1haW4taGVyby1jb250ZW50ICYge1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cbiAgfVxufVxuIiwiLm1haW4taGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogNzB2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgLmludmVydGVkICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIC05MGRlZyxcbiAgICAgIHJnYmEoMCwgMCwgMCwgMCkgMCUsXG4gICAgICByZ2JhKDAsIDAsIDAsIDAuNjUpIDUwJSxcbiAgICAgIHJnYmEoMCwgMCwgMCwgMSkgMTAwJVxuICAgICk7XG4gICAgb3BhY2l0eTogMC44O1xuXG4gICAgLmludmVydGVkICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49c21cIikge1xuICAgICAgd2lkdGg6IDUwdnc7XG4gICAgfVxuICB9XG5cbiAgLmhlcm8taW1hZ2Uge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLmhvbWUgLm1haW4taGVybyArIC5hcnRpY2xlLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAtMi41ZW07XG59XG5cbi5oZXJvLWNvbnRlbnQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW5hdi1oZWlnaHQpICogMS4xKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSAqIDEuMSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSAqIDEuMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSAqIDAuNik7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLm1haW4taGVyby1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1zbVwiKSB7XG4gICAgbWF4LXdpZHRoOiAzMmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxnXCIpIHtcbiAgICBtYXgtd2lkdGg6IDM1ZW07XG4gIH1cbn1cblxuLmFydGljbGUtZGV0YWlscyB7XG4gIEBpbmNsdWRlIHNtYWxsLXRleHQ7XG4gIG1hcmdpbi1ib3R0b206IDEuNGVtO1xuXG4gIC5pbnZlcnRlZCAmIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbn1cblxuLmFydGljbGUtdGV4dCB7XG4gIEBpbmNsdWRlIG1lZGl1bS10ZXh0O1xuXG4gIC5pbnZlcnRlZCAmIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbn1cblxuLmFydGljbGUtZGV0YWlscy1kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogMCAxZW07XG59XG5cbi5tYWluLWhlcm8ge1xuICAucmVhZC1saW5rIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLXRvcDogMC43ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbn1cblxuLmludGVyZmVyZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgaGVpZ2h0OiA3LjZlbTtcbiAgd2lkdGg6IDcuNmVtO1xuICBwYWRkaW5nOiAwLjg1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6IGJsYWNrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogJGRlZmF1bHQtc2hhZG93O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNWRlZyk7XG4gIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb247XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtXCIpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTZlbTtcbiAgICB0b3A6IC0yLjZlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmNhdGVnb3J5ICYge1xuICAgICAgcmlnaHQ6IC0xMGVtO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sZ1wiKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGFuaW1hdGlvbjogc2hha2UtaW50ZXJmZXJlciAwLjhzIGN1YmljLWJlemllcigwLjM2LCAwLjA3LCAwLjE5LCAwLjk3KSBib3RoO1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggMzVweCAwIHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgfVxuXG4gIGkge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjdyZW07XG4gIH1cbn1cbiIsIi50aGVtZS1saWdodCB7XG4gIC5tYWluLWhlcm8ge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLXBhdHRlcm4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1JTtcbiAgICB9XG4gIH1cblxuICAubWFpbi1oZXJvLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbmF2LWhlaWdodCkgKiAxLjMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSAqIDAuNik7XG4gICAgICBtYXgtd2lkdGg6IDM0ZW07XG4gICAgfVxuICB9XG59XG5cbi50aGVtZS1saWdodCAuaGVyby1pbWFnZS13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSAqIDEuMyk7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMCU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNTB2dztcbiAgICBoZWlnaHQ6IDUwdnc7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdy14bDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDkwdnc7XG4gICAgaGVpZ2h0OiA5MHZ3O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3cteGw7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG5cbiAgLmhlcm8taW1hZ2Uge1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvYmplY3QtZml0OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4iLCIuc2VjdGlvbi1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuaGVyby1pbWFnZSB7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4uc2VjdGlvbi1oZXJvLXRhZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXVpLWhlaWdodCkgKiAxLjMpO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDFlbTtcbiAgbGVmdDogdmFyKC0tY29udGFpbmVyLWdhcCk7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG4gIHBhZGRpbmc6IDAgMWVtO1xuXG4gIGkge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNGVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjNlbTtcbiAgfVxufVxuXG4uc2VjdGlvbi1oZXJvLWNvbnRlbnQge1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLXNsb3c7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49c20nKSB7XG4gICAgbWF4LXdpZHRoOiAzMmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgbWF4LXdpZHRoOiAzNWVtO1xuICB9XG5cbiAgLmhlcm8taGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMy41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOWVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcbiAgICAgIGZvbnQtc2l6ZTogNC40ZW07XG4gICAgfVxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgLTkwZGVnLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApIDAlLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNjUpIDUwJSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAxKSAxMDAlXG4gICAgICApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1zbG93O1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIHdpZHRoOiA3MHZ3O1xuICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZS1kZXRhaWxzIHtcbiAgQGluY2x1ZGUgc21hbGwtdGV4dDtcbiAgbWFyZ2luLWJvdHRvbTogMS40ZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49c20nKSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xuICB9XG5cbiAgLmludmVydGVkICYge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgfVxufVxuXG4uYXJ0aWNsZS10ZXh0IHtcbiAgQGluY2x1ZGUgbWVkaXVtLXRleHQ7XG5cbiAgLmludmVydGVkICYge1xuICAgIGNvbG9yOiBibGFjaztcbiAgfVxufVxuXG4uYXJ0aWNsZS1kZXRhaWxzLWRvdCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwYWRkaW5nOiAwIDFlbTtcbn1cblxuLnNlY3Rpb24taGVybyB7XG4gIC5yZWFkLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW4tdG9wOiAwLjdlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxufVxuXG4uc2VjdGlvbi1oZXJvIC5taWNyby1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2xpZGVyLXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gIG1pbi1oZWlnaHQ6IDM1ZW0gIWltcG9ydGFudDtcbn1cblxuLnNsaWRlci1pdGVtIHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNiksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICY6YWZ0ZXIsXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDcwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMGRlZyxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSAwJSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjY1KSA1MCUsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMSkgMTAwJVxuICAgICAgKTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgei1pbmRleDogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgaGVpZ2h0OiAzMCU7XG4gICAgfVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgLTE4MGRlZyxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSAwJSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjY1KSA1MCUsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMSkgMTAwJVxuICAgICAgKTtcbiAgfVxufVxuXG4uc2xpZGVyLWl0ZW0uYWN0aXZlIHtcbiAgLnNlY3Rpb24taGVyby1jb250ZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuICB9XG59XG5cbnVsLnNsaWRlci1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IHZhcigtLWNvbnRhaW5lci1nYXApO1xuICBib3R0b206IHZhcigtLWNvbnRhaW5lci1nYXApO1xuICBsZWZ0OiB2YXIoLS1jb250YWluZXItZ2FwKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm90dG9tOiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXApIC8gMik7XG4gIH1cblxuICBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGxpLmluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogJGZhZGUtd2hpdGU7XG4gIH1cblxuICBsaSBhIHtcbiAgICB0ZXh0LWluZGVudDogLTEwMDAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1zbG93O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICB3aWR0aDogMy41ZW07XG4gICAgfVxuICB9XG5cbiAgbGkuYWN0aXZlIGEge1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG59XG5cbiNwcmV2aW91cyxcbiNuZXh0IHtcbiAgaGVpZ2h0OiB2YXIoLS11aS1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0tdWktaGVpZ2h0KTtcbiAgdGV4dC1pbmRlbnQ6IC0xMDAwZW07XG4gIGJvcmRlcjogc29saWQgJGZhZGUtd2hpdGUgMXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gIHNwYW4ge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS11aS1oZWlnaHQpIC8gNCk7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tdWktaGVpZ2h0KSAvIDQpO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCB3aGl0ZTtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCB3aGl0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB9XG59XG5cbiNwcmV2aW91cyB7XG4gIG1hcmdpbi1yaWdodDogMmVtO1xuXG4gIHNwYW4ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjJlbTtcbiAgfVxufVxuXG4jbmV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAyZW07XG5cbiAgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yZW07XG4gIH1cbn1cblxuLnNsaWRlci1pdGVtOm5vdCguYWN0aXZlKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi5hcnRpY2xlLXRlYXNlci1zZWN0aW9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtdGVtcGxhdGU6XG4gICAgXCJhcnRpY2xlLXRlYXNlclwiXG4gICAgXCJhZHNcIlxuICAgIFwiYWRzXCI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtXCIpIHtcbiAgICBnYXA6IHZhcigtLWdhcCkgdmFyKC0tZ2FwKTtcbiAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJhcnRpY2xlLXRlYXNlciBhcnRpY2xlLXRlYXNlclwiXG4gICAgICBcImFkcyAgICAgICBhZHNcIjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcImFydGljbGUtdGVhc2VyIGFydGljbGUtdGVhc2VyIGFkc1wiXG4gICAgICBcImFydGljbGUtdGVhc2VyIGFydGljbGUtdGVhc2VyIGFkc1wiO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4xZnIgMS4xZnIgMC44ZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbiAgfVxuXG4gIC5hcnRpY2xlLWhlYWQge1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAuYXJ0aWNsZS1kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjFlbTtcbiAgfVxuXG4gIC5yZWFkLWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDAuN2VtO1xuICB9XG5cbiAgLmFydGljbGUtdGVhc2VyLWdyaWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgxNWVtLCAxZnIpKTtcbiAgICBnYXA6IHZhcigtLWdhcCk7XG4gICAgZ3JpZC1hcmVhOiBhcnRpY2xlLXRlYXNlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDE1ZW0sIDFmcikpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDEyZW0sIDFmcikpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDE1ZW0sIDFmcikpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDE4ZW0sIDFmcikpO1xuICAgIH1cbiAgfVxufVxuXG4iLCIuYXJ0aWNsZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5hcnRpY2xlLXRvcCB7XG4gIG1hcmdpbi10b3A6IC0kYXJ0aWNsZS1vZmZzZXQgKiAxLjU7XG59XG5cbmFydGljbGUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgLmFydGljbGUtaGVhZC13LXRleHQ6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZS10b3BiYXIge1xuICBoZWlnaHQ6ICRhcnRpY2xlLW9mZnNldDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgLmN1cnJlbnQtZWRpdGlvbi13cmFwcGVyIHtcbiAgICAmOmhvdmVyIC5jdXJyZW50LWVkaXRpb24tbGluayxcbiAgICAmOmZvY3VzIC5jdXJyZW50LWVkaXRpb24tbGluayxcbiAgICAmOmFjdGl2ZSAuY3VycmVudC1lZGl0aW9uLWxpbmsge1xuICAgICAgYW5pbWF0aW9uOiBzaGFrZS1jdXJyZW50IDAuOHMgY3ViaWMtYmV6aWVyKDAuMzYsIDAuMDcsIDAuMTksIDAuOTcpIGJvdGg7XG4gICAgfVxuICB9XG5cbiAgLmN1cnJlbnQtZWRpdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDNlbSAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxnXCIpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAuY3VycmVudC1lZGl0aW9uLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG5cbiAgLmN1cnJlbnQtZWRpdGlvbi1pbWcge1xuICAgIHdpZHRoOiA3LjdlbTtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3ctZGFyaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTUlKSByb3RhdGUoLTMwZGVnKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sZ1wiKSB7XG4gICAgICB3aWR0aDogOC41ZW07XG4gICAgfVxuICB9XG5cbiAgLnJlYWQtbGluayB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1heC13aWR0aFwiKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5ob21lIC5hcnRpY2xlLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTpcbiAgICBcImFydGljbGUtMVwiXG4gICAgXCJhcnRpY2xlLTJcIlxuICAgIFwiZG9zc2llclwiXG4gICAgXCJhZHNcIlxuICAgIFwiYWRzXCI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtXCIpIHtcbiAgICBncmlkLWdhcDogdmFyKC0tZ2FwKSB2YXIoLS1nYXApO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcImFydGljbGUtMSBhcnRpY2xlLTJcIlxuICAgICAgXCJhZHMgICAgICAgYWRzXCJcbiAgICAgIFwiZG9zc2llciBkb3NzaWVyXCI7XG5cbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcImFydGljbGUtMSBhcnRpY2xlLTIgYWRzXCJcbiAgICAgIFwiZG9zc2llciBkb3NzaWVyIGFkc1wiO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4xZnIgMS4xZnIgMC44ZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICB9XG5cbiAgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwKSAqIDEuNSk7XG5cbiAgICAuYXJ0aWNsZS10ZXh0LFxuICAgIC5hcnRpY2xlLWRldGFpbHMge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1zbVwiKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIGFydGljbGU6bnRoLW9mLXR5cGUoMSkge1xuICAgIGdyaWQtYXJlYTogYXJ0aWNsZS0xO1xuICB9XG5cbiAgYXJ0aWNsZTpudGgtb2YtdHlwZSgyKSB7XG4gICAgZ3JpZC1hcmVhOiBhcnRpY2xlLTI7XG4gIH1cblxuICBhcnRpY2xlOm50aC1vZi10eXBlKDMpIHtcbiAgICBncmlkLWFyZWE6IGFydGljbGUtMztcbiAgfVxuXG4gIGFydGljbGU6bnRoLW9mLXR5cGUoNCkge1xuICAgIGdyaWQtYXJlYTogYXJ0aWNsZS00O1xuICB9XG5cbiAgLmFydGljbGUtdGVhc2VyLXNlY3Rpb24tY29udGFpbmVyIHtcbiAgICBncmlkLWFyZWE6IGFydGljbGUtdGVhc2VyO1xuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE1ZW0sIDFmcikpO1xuICAgIGdhcDogMmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE1ZW0sIDFmcikpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxOGVtLCAxZnIpKTtcbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxLjRlbTtcbiAgfVxuXG4gIC5yZWFkLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW4tdG9wOiAwLjdlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiBibGFjaztcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgfVxuICB9XG59XG5cbi5hcnRpY2xlLWhlYWQ6ZW1wdHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hcHAvdGhlbWVzL3NhZ2UvZGlzdC9pbWFnZXMvYmFja2dyb3VuZC5wbmcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNSU7XG59XG5cbi5hcnRpY2xlLWhlYWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdy1sYXJnZTtcbiAgcGFkZGluZy1ib3R0b206IDY1JTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwJTtcbiAgICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDBkZWcsXG4gICAgICByZ2JhKDAsIDAsIDAsIDAuODYpIDAlLFxuICAgICAgcmdiYSgwLCAwLCAwLCAwKSAxMDAlXG4gICAgKTtcbiAgfVxuXG4gIGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS11aS1oZWlnaHQpO1xuICAgIHdpZHRoOiB2YXIoLS11aS1oZWlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogJGRlZmF1bHQtc2hhZG93O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGUtaGVhZGxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvdHRvbTogMDtcbiAgICBmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMi4yZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgLyAyLjcpIGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj14bFwiKSB7XG4gICAgICBmb250LXNpemU6IDIuNmVtO1xuICAgIH1cbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZS1oZWFkLmxpZ2h0LWxheW91dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtc2l6ZTogMTUlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2FwcC90aGVtZXMvc2FnZS9kaXN0L2ltYWdlcy9iYWNrZ3JvdW5kLnBuZyk7XG5cbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogODclO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDE4ZW07XG4gICAgICBoZWlnaHQ6IDE4ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdy14bDtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDMwZW07XG4gICAgICBoZWlnaHQ6IDMwZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdy14bDtcbiAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICB9XG4gIH1cblxuICBmaWd1cmUgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA3MCU7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuYXJ0aWNsZS1oZWFkbGluZSB7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG59XG5cbi5lbXB0eS1hcnRpY2xlLWhlYWQtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTUlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2FwcC90aGVtZXMvc2FnZS9kaXN0L2ltYWdlcy9iYWNrZ3JvdW5kLnBuZyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC5sb2dvLXN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDAuMDU7XG4gICAgaGVpZ2h0OiAxMjAlO1xuXG4gICAgLnNpZGUtbGV0dGVycyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiYm9keS5jYXRlZ29yeSB7XG4gIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgIFwiYXJ0aWNsZS0xXCJcbiAgICAgIFwiYXJ0aWNsZS0yXCJcbiAgICAgIFwiYWRzXCJcbiAgICAgIFwiYWRzXCJcbiAgICAgIFwiYXJ0aWNsZS0zXCJcbiAgICAgIFwiYXJ0aWNsZS00XCI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49c21cIikge1xuICAgICAgZ3JpZC1nYXA6IHZhcigtLWdhcCkgdmFyKC0tZ2FwKTtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwiYXJ0aWNsZS0xIGFydGljbGUtMlwiXG4gICAgICAgIFwiYWRzICAgICAgIGFkc1wiXG4gICAgICAgIFwiYXJ0aWNsZS0zIGFydGljbGUtNFwiO1xuXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwiYXJ0aWNsZS0xIGFydGljbGUtMiBhZHNcIlxuICAgICAgICBcImFydGljbGUtMyBhcnRpY2xlLTQgYWRzXCI7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMWZyIDEuMWZyIDAuOGZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5tYWluLWhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiB2YXIoLS1uYXYtaGVpZ2h0KSB2YXIoLS1jb250YWluZXItZ2FwKSB2YXIoLS1jb250YWluZXItZ2FwKTtcbiAgfVxuXG4gIC5tYWluLWhlcm8tY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0NWVtO1xuICB9XG5cbiAgLmhlcm8tY29udGVudC1mbGV4IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jb250YWluZXItZ2FwKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jb250YWluZXItZ2FwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4iLCJcbi5hcmNoaXZlLWdyaWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg5ZW0sIDFmcikpO1xuICBnYXA6IHZhcigtLWdhcCk7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS1wYWdlcy10b3AtZ2FwKSBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXApKTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgIHBhZGRpbmc6IHZhcigtLXBhZ2VzLXRvcC1nYXApIGNhbGModmFyKC0tY29udGFpbmVyLWdhcCkgKiAyKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyZW0sIDFmcikpO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBmb250LXNpemU6IDEuN2VtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG5cbiAgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBmaWd1cmUge1xuICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LXNoYWRvdztcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49c21cIikge1xuICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVtcHR5LWNvdmVyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogI2VhZWFlYTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3c7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDEzNiU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49c21cIikge1xuICAgICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gJjo6YWZ0ZXJ7XG4gICAgLy8gICBjb250ZW50OiAnJztcbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgIGhlaWdodDogMTAwJTtcbiAgICAvLyAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgdG9wOiAwO1xuICAgIC8vICAgbGVmdDogMDtcbiAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgLy8gfVxuXG4gICAgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgIGhlaWdodDogMTEwJTtcbiAgICAgIHdpZHRoOiAxMTAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG5cbiAgICBzcGFuIHtcbiAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogNWVtO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6d2hpdGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgfVxuICB9XG59XG5cbi5hcmNoaXZlIHtcbiAgLmNvbnRhaW5lci1jb250ZW50IC5zZWN0aW9uLWhlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgfVxufVxuXG4uYXJjaGl2ZS1jbGFpbSB7XG4gIHBhZGRpbmc6IDJlbTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgIHBhZGRpbmc6IDNlbTtcbiAgfVxufVxuIiwiXG4uYXJ0aWNsZS1iYW5uZXJzIHtcbiAgLy8gZGlzcGxheTogZ3JpZDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZ3JpZC1hcmVhOiBhZHM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWRlLWdyZXk7XG5cbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWNvbnRhaW5lci1nYXApICogMik7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXApICogLTEpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXApICogMS41KTtcblxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLWdhcCkgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwKSAvIDIpO1xuXG4gIC5ob21lIC5hcnRpY2xlLXNlY3Rpb246Zmlyc3Qtb2YtdHlwZSAmIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1tZFwiKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXApIDAgdmFyKC0tZ2FwKTtcbiAgfVxufVxuXG4uYmFubmVyLWltYWdlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogJGZhZGUtZ3JleTtcbiAgfVxufVxuXG4uYmFubmVyLWluZm8ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMC42ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjZlbTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgIHdpZHRoOiB2YXIoLS1nYXApO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBiYWNrZ3JvdW5kOiAkZmFkZS1ncmV5O1xuXG4gICAgLmhvbWUgLmFydGljbGUtc2VjdGlvbjpmaXJzdC1vZi10eXBlICYge1xuICAgICAgbWFyZ2luLXRvcDogJGFydGljbGUtb2Zmc2V0LzI7XG4gICAgfVxuICB9XG5cbiAgc3BhbiB7XG4gICAgQGluY2x1ZGUgc21hbGwtdGV4dDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IHZhcigtLW5hdi1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLmJhbm5lci1pbWFnZSB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1nYXApIC8gMik7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1tZFwiKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkpO1xuICB9XG59XG5cbi5iYW5uZXItaW1hZ2U6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkpO1xuICB9XG59XG4iLCIuYWJvLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLXNpemU6IDMlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDE0cHggNjNweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hYm8tc2VjdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5hYm8tc2VjdGlvbi1oZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAxLjUpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLWdhcCkgKyAxLjVlbSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICB9XG5cbiAgLmFsbC1hYm9zLWxpbmsge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgfVxufVxuXG4uYWJvLXNlY3Rpb24taGVhZC1saW5rLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBhLmN0YS1saW5rc3tcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgc3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzZW07XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXNlY29uZGFyeTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQ1JSk7XG4gIH1cbn1cblxuLmFiby1zZWN0aW9uLWNvbnRhaW5lciBoMiB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMC45ZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgfVxufVxuXG4uYWJvLXNlY3Rpb24gLmN0YS1saW5rcyB7XG4gIEBpbmNsdWRlIHJlYWQtbGluaztcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgY29sb3I6IGJsYWNrO1xuICBtYXJnaW4tdG9wOiAxZW07XG5cbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIH1cbn1cblxuLmFiby1jYXJkLWxheW91dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBibGFjayA5MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDkwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IG5vbmU7XG4gICAgbWFzay1pbWFnZTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sZ1wiKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cblxuLmFiby1jYXJkcy1mbGV4IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDIyZW0sIDFmcikpO1xuICB3aWR0aDogY2FsYygxMDAlICsgMjJlbSk7XG4gIGdhcDogdmFyKC0tZ2FwKTtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDMpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMjBlbSwgMjJlbSkpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAzKTtcbiAgfVxuXG4gIC5hYm8tY2FyZC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tZ2FwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3cteGw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnByaWNlLWZsZXgge1xuICAgICAgcGFkZGluZy1ib3R0b206IDJlbTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgICAgIH1cblxuICAgICAgLmN1cnJlbmN5IHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICB9XG4gICAgICAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDQuNWVtO1xuICAgICAgICBtYXJnaW46IDAgMC4yZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB9XG5cbiAgICAgIC50aW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYWJvLWNhcmQtY29udGFpbmVyIHtcbiAgYSB7XG4gICAgQGluY2x1ZGUgY3RhLWJ1dHRvbjtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC01JTtcbiAgfVxuXG4gICYuYmFzaWMgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cblxuICAmLnNvbGkgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICB9XG59XG5cbi5hYm8tc3RhcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMi4yZW07XG4gIHRvcDogLTIuNWVtO1xuXG4gIC5iYXNpYyAmIHtcbiAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgfVxuXG4gIC5wbHVzICYge1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxuXG4gIC5hYm8tZG90IHtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICB9XG59XG5cbi5hYm8tbW9kZWwtaGVhZC1mbGV4IHtcbiAgbWFyZ2luLXRvcDogLTIuN2VtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAuYWJvLW1vZGVsLW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgICBmb250LXNpemU6IDMuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGxpbmUtZm9udC1zZW1pYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbnVsLmFiby1kZXRhaWxzLWxpc3Qge1xuICBAaW5jbHVkZSBtZWRpdW0tdGV4dDtcbiAgY29sb3I6IGJsYWNrO1xuICBwYWRkaW5nOiAwLjZlbSAwIDFlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxZW07XG59XG4iLCIuZGV0YWlsIC53cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNpbmdsZS1wb3N0IHtcbiAgLmhlcm8taW1hZ2Utd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG1heC1oZWlnaHQ6IDQ1dnc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49c20nKSB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzNHZ3O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2luZ2xlLXBvc3QgLmRldGFpbC12aWV3LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1wYWdlcy10b3AtZ2FwKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmhlcm8taGVhZGxpbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5kZXRhaWwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb250YWluZXItZ2FwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAuZGV0YWlsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4uc2luZ2xlLXBvc3QgLmxpZ2h0LWxheW91dCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0zO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNSU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hcHAvdGhlbWVzL3NhZ2UvZGlzdC9pbWFnZXMvYmFja2dyb3VuZC5wbmcpO1xuICB9XG5cbiAgLmRldGFpbC1oZWFkLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG5cbiAgLmhlcm8taW1hZ2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgZmlndXJlIHtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogMjBlbTtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA0MHZ3O1xuICAgICAgaGVpZ2h0OiA0MHZ3O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3cteGw7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA4MHZ3O1xuICAgICAgaGVpZ2h0OiA4MHZ3O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1zaGFkb3cteGw7XG4gICAgICBvcGFjaXR5OiAwLjE1O1xuICAgIH1cbiAgfVxufVxuXG4uaGFzLW5vLWhlcm8taW1hZ2UgLmRldGFpbC1jb250YWluZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXBwL3RoZW1lcy9zYWdlL2Rpc3QvaW1hZ2VzL2JhY2tncm91bmQucG5nKTtcbiAgfVxuXG4gIC5kZXRhaWwtaGVhZC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNDB2dztcbiAgICAgIGhlaWdodDogNDB2dztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHQtc2hhZG93LXhsO1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogODB2dztcbiAgICAgIGhlaWdodDogODB2dztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHQtc2hhZG93LXhsO1xuICAgICAgb3BhY2l0eTogMC4xNTtcbiAgICB9XG4gIH1cbn1cblxuLmRldGFpbC1oZWFkLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuICAgIG1heC13aWR0aDogNjB2dztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4iLCIuZGV0YWlsLXZpZXctY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWdlcy10b3AtZ2FwKTtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtXCIpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogMS41KTtcbiAgfVxufVxuXG4uZGV0YWlsLXZpZXctdGV4dCB7XG4gIEBpbmNsdWRlIHRleHQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogMzBlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmZpcnN0LWxldHRlciB7XG4gICAgZm9udC1zaXplOiA0ZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMCAwLjRlbSAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgcCB7XG4gICAgcGFkZGluZzogMC41ZW0gMDtcbiAgfVxuXG4gIHN0cm9uZyB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbn1cblxuLmxvY2tlZC1hcnRpY2xlIC5kZXRhaWwtdmlldy1jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsMjU1LDI1NSwxKSAzMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gIH1cbn1cblxuLmxvY2tlZC1hcnRpY2xlIHtcbiAgLmFiby1jYXJkLWxheW91dC1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gIH1cbiAgLmFiby1jYXJkcy1mbGV4IHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogMik7XG4gIH1cbn1cblxuLmRldGFpbC1zb2NpYWwtbGlua3MtZGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtXCIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGxpLCBhIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG59XG5cbnVsLmRldGFpbC1zb2NpYWwtbGlua3MtbW9iaWxlIHtcbiAgcGFkZGluZzogMmVtIDAgMDtcbiAgZGlzcGxheTogZmxleDtcblxuICBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtXCIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5kZXRhaWwtc29jaWFsLWxpbmtzLWRlc2t0b3AgYSB7XG4gIEBpbmNsdWRlIGNpcmNsZS1saW5rcztcblxuICBzdmcge1xuICAgIHdpZHRoOiAxZW07XG4gIH1cblxuICBzdmcgcGF0aCB7XG4gICAgZmlsbDogd2hpdGU7XG5cbiAgICAuaW52ZXJ0ZWQgJiB7XG4gICAgICBmaWxsOiBibGFjaztcbiAgICB9XG4gIH1cbn1cblxuLmRldGFpbC1zb2NpYWwtbGlua3MtbW9iaWxlIGEge1xuICBAaW5jbHVkZSBjaXJjbGUtbGlua3M7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMWVtO1xuICB9XG5cbiAgc3ZnIHBhdGgge1xuICAgIGZpbGw6IHdoaXRlO1xuXG4gICAgLmludmVydGVkICYge1xuICAgICAgZmlsbDogYmxhY2s7XG4gICAgfVxuICB9XG59XG5cbi5kZXRhaWwtc29jaWFsLWxpbmtzLW1vYmlsZSAuYWRkdG9hbnlfc2hvcnRjb2RlIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLmRldGFpbC1wcmV2LWNvbnRhaW5lcixcbi5kZXRhaWwtbmV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tbmF2LWhlaWdodCkpO1xuICB0b3A6IHZhcigtLW5hdi1oZWlnaHQpO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWRcIikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSAvIDIpIDJyZW0gMnJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj14bFwiKSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSAvIDEuMykgMnJlbSAycmVtO1xuICB9XG59XG5cbi5kZXRhaWwtbmV4dC1jb250YWluZXIge1xuICAuZGV0YWlsLWludGVyZmVyZXIge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG59XG5cbi5wcmV2LFxuLm5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4uZGV0YWlsLXByZXYtY29udGFpbmVyIC5wcmV2IHNwYW4sXG4uZGV0YWlsLW5leHQtY29udGFpbmVyIC5uZXh0IHNwYW4sXG4ubW9iaWxlLWFydGljbGUtbmF2aWdhdGlvbiAubmV4dCBzcGFuLFxuLm1vYmlsZS1hcnRpY2xlLW5hdmlnYXRpb24gLnByZXYgc3BhbiB7XG4gIEBpbmNsdWRlIGNpcmNsZS1saW5rcztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweDtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxnXCIpIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgd2lkdGg6IDRyZW07XG4gICAgfVxuICB9XG59XG5cbi5tb2JpbGUtYXJ0aWNsZS1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIC5wcmV2LFxuICAubmV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgICB3cml0aW5nLW1vZGU6IGhvcml6b250YWwtdGI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGdhcDogMS40cmVtO1xuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAubmV4dCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG5cbiAgLnByZXYgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1tZFwiKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZGV0YWlsLW5leHQtY29udGFpbmVyIC5uZXh0IHNwYW46YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgcmlnaHQ6IDEuM3JlbTtcbiAgdG9wOiAxLjA1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5kZXRhaWwtbmV4dC1jb250YWluZXIgLm5leHQgc3BhbjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgcmlnaHQ6IDAuOHJlbTtcbn1cblxuLnNpbmdsZS1wb3N0IHtcbiAgLndwLWJsb2NrLWdhbGxlcnkge1xuICAgIG1hcmdpbjogMWVtIC00LjRlbTtcbiAgfVxuXG4gIC53cC1ibG9jay1pbWFnZSBmaWd1cmUuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTQuNGVtO1xuICB9XG5cbiAgLndwLWJsb2NrLWltYWdlIGZpZ3VyZS5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC00LjRlbTtcbiAgfVxuXG4gIC5kZXRhaWwtaGVhZC1jb250YWluZXIgLmFydGljbGUtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IHZhcigtLWdhcCkgMDtcbiAgfVxufVxuXG4uc2luZ2xlLXBvc3QgZmlnY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG9wYWNpdHk6IDAuNztcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG5cbi5zaW5nbGUtcG9zdCAud3AtYmxvY2staW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IHZhcigtLWdhcCkgMDtcbn1cblxuLnNpbmdsZS1wb3N0IC5kZXRhaWwtdmlldy10ZXh0IC5wYXJhZ3JhcGg6Zmlyc3QtY2hpbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICAvLyBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7XG4gIC8vICAgZm9udC1zaXplOiA0ZW07XG4gIC8vICAgZmxvYXQ6IGxlZnQ7XG4gIC8vICAgcGFkZGluZzogMCAwLjRlbSAwIDA7XG4gIC8vICAgbGluZS1oZWlnaHQ6IDE7XG4gIC8vIH1cbn1cblxuLnJlbGF0ZWQtYXJ0aWNsZXMge1xuICB3aWR0aDogMTAwJTtcbn1cbiIsImhlYWRlci5oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IHZhcigtLW5hdi1oZWlnaHQpO1xuICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uO1xuXG4gIC5uYXZpZ2F0aW9uLW9wZW4gJiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJi5zY3JvbGxlZCB7XG4gICAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmN0YS1uYXZpZ2F0aW9uLFxuLnV0aWwtbmF2aWdhdGlvbixcbi5tYWluLW5hdmlnYXRpb24ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gIC5uYXZpZ2F0aW9uLW9wZW4gJiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cblxuLm5hdmlnYXRpb24tYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCkgb3BhY2l0eSgxKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5tYWluLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIH1cblxuICAubmF2aWdhdGlvbi1vcGVuICYge1xuICAgIC8vIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwLjcyO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjU1KSA0MiUsIHJnYmEoMCwgMCwgMCwgMC45NikgMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcblxuICAgIC5pbnZlcnRlZCAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICBvcGFjaXR5OiAwLjg1O1xuICAgICAgaGVpZ2h0OiAxMzUlO1xuICAgIH1cblxuICAgIC5uYXZpZ2F0aW9uLW9wZW4gJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjcpO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uO1xuICB9XG59XG5cbi5pbnZlcnRlZCAuc2Nyb2xsZWQge1xuICB1bC51dGlsLWxpbmtzIGEsXG4gIHVsLnNvY2lhbC1saW5rcyBhIHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuXG4gICAgaSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbi11bCAubWVudS1pdGVtIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ1cmdlciBkaXYge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG59XG5cblxuLnNjcm9sbGVkIC5tYWluLWhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAmOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG5cbiAgICAubmF2aWdhdGlvbi1vcGVuICYge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgb3BhY2l0eSgxKTtcbiAgICBib3gtc2hhZG93OiAxMHB4IDEwcHggNDJweCAwcHggcmdiYSgwLDAsMCwwLjUpO1xuXG4gICAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZpZ2F0aW9uLW9wZW4gLm1haW4taGVhZGVyIHtcbiAgLy8gZmxleC1mbG93OiBjb2x1bW47XG59XG5cbmhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBvcmRlcjogNztcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIG9yZGVyOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbmhlYWRlciAubWFpbi1uYXZpZ2F0aW9uLXVsIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAubmF2aWdhdGlvbi1vcGVuICYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAubWVudS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1heC13aWR0aCcpIHtcbiAgICAgIHBhZGRpbmc6IDAgMS42ZW07XG4gICAgfVxuICB9XG59XG5cbmhlYWRlciAubWFpbi1uYXZpZ2F0aW9uLXVsIC5tZW51LWl0ZW0ge1xuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb247XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAtMC4wNmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb247XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgIC5pbnZlcnRlZCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlcjphZnRlcixcbiAgICAmOmFjdGl2ZTphZnRlcixcbiAgICAmOmZvY3VzOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pbnZlcnRlZCAmIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gIH1cbn1cblxuLy8gY3VycmVudF9wYWdlX2l0ZW1cblxuXG5oZWFkZXIgLm1haW4tbmF2aWdhdGlvbi11bCAuY3VycmVudC1tZW51LWl0ZW0ge1xuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXNlY29uZGFyeTtcbiAgICB9XG4gIH1cbn1cblxuLmludmVydGVkIGhlYWRlciAubWFpbi1uYXZpZ2F0aW9uLXVsIC5jdXJyZW50LW1lbnUtaXRlbSB7XG4gIGEge1xuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5sb2dvLW5hdmlnYXRpb24ge1xuICBwYWRkaW5nOiB2YXIoLS1jb250YWluZXItZ2FwKSAwO1xuXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG9yZGVyOiA2O1xuICBkaXNwbGF5OiBub25lO1xuXG4gIC5uYXZpZ2F0aW9uLW9wZW4gJiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sZ1wiKSB7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwKSAwIDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sZ1wiKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3JkZXI6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLmxvZ28ge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbmF2LWhlaWdodCkgLyAzLjQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uO1xuXG4gIC5sb2dvLXN2ZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb247XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5zY3JvbGxlZCAmIHtcbiAgICAgIHBhZGRpbmc6IDEuMmVtIDA7XG4gICAgfVxuICB9XG5cbiAgLm1haW4tbGV0dGVycyB7XG4gICAgZmlsbDogJGNvbG9yLXByaW1hcnk7XG4gIH1cblxuICAuc2lkZS1sZXR0ZXJzIHtcbiAgICBmaWxsOiB3aGl0ZTtcbiAgfVxuXG4gIC5pbnZlcnRlZCAmIHtcbiAgICAuc2lkZS1sZXR0ZXJzIHtcbiAgICAgIGZpbGw6IGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIC5zY3JvbGxlZCAmIHtcbiAgICBoZWlnaHQ6IHZhcigtLW5hdi1oZWlnaHQpO1xuXG4gICAgLnNpZGUtbGV0dGVycyB7XG4gICAgICBmaWxsOiB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmxvZ28td2hpdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwidWwuc29jaWFsLWxpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49bGdcIikge1xuICAgIHBhZGRpbmc6IDAgMCAwIDIuNWVtO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49bWF4LXdpZHRoXCIpIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyLjVlbTtcbiAgfVxuXG4gIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjJlbTtcbiAgfVxufVxuXG51bC5zb2NpYWwtbGlua3MgYSB7XG4gIEBpbmNsdWRlIGNpcmNsZS1saW5rcztcblxuICBpIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG5cbiAgICBodG1sOm5vdCgubmF2aWdhdGlvbi1vcGVuKSAuaW52ZXJ0ZWQ6bm90KC5zY3JvbGxlZCkgJiB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICB9XG59XG4iLCIudXRpbC1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgb3JkZXI6IDg7XG4gIHBhZGRpbmc6IHZhcigtLWNvbnRhaW5lci1nYXApIDA7XG5cbiAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxnXCIpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXApIDAgMCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnV0aWwtbGlua3Mge1xuICBwYWRkaW5nOiAwIDAgMCAyZW07XG4gIG9wYWNpdHk6IDA7XG5cbiAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1kXCIpIHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1tYXgtd2lkdGhcIikge1xuICAgIHBhZGRpbmc6IDAgMCAwIDIuNWVtO1xuICB9XG59XG5cbnVsLnV0aWwtbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwIDJlbSAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PW1heC13aWR0aFwiKSB7XG4gICAgcGFkZGluZzogMCAyLjVlbSAwIDA7XG4gIH1cblxuICBsaSB7XG4gICAgcGFkZGluZzogMCAxLjJlbSAwIDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49eGxcIikge1xuICAgICAgcGFkZGluZzogMCAwIDAgMS4yZW07XG4gICAgfVxuICB9XG59XG5cbnVsLnV0aWwtbGlua3MgYSB7XG4gIEBpbmNsdWRlIGNpcmNsZS1saW5rcztcblxuICBpIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG5cbiAgICBodG1sOm5vdCgubmF2aWdhdGlvbi1vcGVuKSAuaW52ZXJ0ZWQ6bm90KC5zY3JvbGxlZCkgJiB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICB9XG59XG5cbi51dGlsLWxpbmtzIC5zZWFyY2gtZm9ybSxcbi5zZWFyY2gtbm8tcmVzdWx0cyAuc2VhcmNoLWZvcm0ge1xuICB6LWluZGV4OiAzO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuODVlbSkgdHJhbnNsYXRlWCgyMDAlKTtcbiAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgb3BhY2l0eTogMDtcblxuICAuc2VhcmNoLWZpZWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDUwcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxuXG4gIC5zZWFyY2gtc3VibWl0IHtcbiAgICBAaW5jbHVkZSBjdGEtYnV0dG9uO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICB9XG59XG5cbi5zZWFyY2gtb3BlbiAudXRpbC1saW5rcyAuc2VhcmNoLWZvcm0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS44ZW0pIHRyYW5zbGF0ZVgoMnJlbSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zZWFyY2gtbm8tcmVzdWx0cyAud3JhcCxcbi5zZWFyY2gtcmVzdWx0cyAud3JhcCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1wYWdlcy10b3AtZ2FwKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZ2VzLXRvcC1nYXApO1xuICBwYWRkaW5nLWxlZnQ6ICRmcmFtZTtcbiAgcGFkZGluZy1yaWdodDogJGZyYW1lO1xuICBtYXgtd2lkdGg6IDUwZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBoZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAzZW07XG4gIH1cblxuICAuZW50cnktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi40ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXNtXCIpIHtcbiAgICBtYXgtd2lkdGg6IDYwZW07XG4gIH1cbn1cbiIsIi5jdGEtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG4gIG9wYWNpdHk6IDA7XG4gIG9yZGVyOiAzO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXhzJykge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3JkZXI6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5uYXZpZ2F0aW9uLW9wZW4gJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmN0YS1idXR0b24gYSB7XG4gICAgQGluY2x1ZGUgY3RhLWJ1dHRvbjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuIiwiLnRvcGljLW5hdmlnYXRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLWNvbG9yOiBsaWdodDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6ICRmcmFtZTtcbiAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRmYWRlLXdoaXRlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtd2hpdGU7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBibGFjayA5NSUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDk1JSwgdHJhbnNwYXJlbnQgMTAwJSk7XG5cbiAgLmludmVydGVkICYge1xuICAgIGJvcmRlci1jb2xvcjogJGZhZGUtYmxhY2s7XG4gIH1cblxuICAubmF2aWdhdGlvbi1vcGVuICYsXG4gIC5uYXZpZ2F0aW9uLW9wZW4gLnNjcm9sbGVkICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuc2Nyb2xsZWQgJiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTA7XG4gIH1cbn1cblxuLnRvcGljLW5hdmlnYXRpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1lbnUtdG9waWMtbmF2aWdhdGlvbi1jb250YWluZXIge1xuICBzY3JvbGxiYXItY29sb3I6IGxpZ2h0O1xuICB3aWR0aDogMTAwJTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbn1cblxuLnRvcGljLW5hdmlnYXRpb24tdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGxpIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLnRvcGljLW5hdmlnYXRpb24tdWwgbGkgYSB7XG4gIEBpbmNsdWRlIHNtYWxsLXRleHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBhZGRpbmc6IDAuOWVtIDEuNWVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmhvdmVyOmFmdGVyLFxuICAmOmZvY3VzOmFmdGVyLFxuICAmOmFjdGl2ZTphZnRlcixcbiAgJjpob3ZlcjpiZWZvcmUsXG4gICY6Zm9jdXM6YmVmb3JlLFxuICAmOmFjdGl2ZTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmFmdGVyLFxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgOTBkZWcsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAwJSxcbiAgICAgICAgcmdiYSh3aGl0ZSwgMSkgNTAlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgMTAwJVxuICAgICAgKTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gIH1cblxuICAuaW52ZXJ0ZWQgJiB7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG59XG5cblxuLm5hdi1zY3JvbGwtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMWVtO1xuXG4gIGNvbG9yOiB3aGl0ZTtcblxuICAuaW52ZXJ0ZWQgJiB7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuXG4gIC5uZXh0LWFycm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gIFxuICAgICAgLmludmVydGVkICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICY6YmVmb3JlICB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcDogc29saWQgMnB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgXG4gICAgICAuaW52ZXJ0ZWQgJiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByZXYtYXJyb3d7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICBcbiAgICAgIC5pbnZlcnRlZCAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmOmFmdGVyICB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIFxuICAgICAgLmludmVydGVkICYge1xuICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImZvb3RlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubG9nbyB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLW5hdi1oZWlnaHQpIC8gMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgLnNpZGUtbGV0dGVycyxcbiAgICAuaW52ZXJ0ZWQgJiAuc2lkZS1sZXR0ZXJzIHtcbiAgICAgIGZpbGw6IHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItYmcge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMC4wMztcbiAgfVxuXG4gIC5iYWNrLXRvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgICBjb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW46IDJyZW0gYXV0byAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49c20nKSB7XG4gICAgICBvcmRlcjogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICAgIGhlaWdodDogM2VtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgd2hpdGU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG5mb290ZXIge1xuICAubG9nbyAubWFpbi1sZXR0ZXJzIHtcbiAgICBmaWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIH1cblxuICAubG9nbyAuc2lkZS1sZXR0ZXJzIHtcbiAgICBmaWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIH1cbn1cblxuLm1haW4tZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy10b3A6IDVlbTtcbiAgcGFkZGluZy1ib3R0b206IDVlbTtcbn1cblxuLmZvb3Rlci1jb250YWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXJpZ2h0OiAyZW07XG59XG5cbi5mb290ZXItY29udGFjdC1uYXZpZ2F0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49c20nKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICBsaSB7XG4gICAgcGFkZGluZzogMC4zZW0gMDtcbiAgfVxuXG4gIGxpIGEge1xuICAgIEBpbmNsdWRlIHNtYWxsLXRleHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpdW0tdGV4dDtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1zaWRlLW5hdmlnYXRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiAzZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49c20nKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXNtJykge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVlbTtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgcGFkZGluZzogMC4zZW0gMDtcbiAgfVxuXG4gIHVsIGxpIGEge1xuICAgIEBpbmNsdWRlIHNtYWxsLXRleHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIC5pbnZlcnRlZCAmIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGl1bS10ZXh0O1xuXG4gICAgICAuaW52ZXJ0ZWQgJiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1jb3B5IHtcbiAgY29sb3I6IHJnYmEod2hpdGUsIDAuOCk7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcbiAgZm9udC1zaXplOiAxLjNlbTtcbn1cblxuLmZvb3Rlci1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuLmZvb3Rlci1iYXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZm9vdGVyIC51dGlsLW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBvcmRlcjogODtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xuICAgIG9yZGVyOiAwO1xuICB9XG59XG5cbi5mb290ZXItc29jaWFsLW5hdmlnYXRpb24ge1xuICBwYWRkaW5nOiAwIDAgMCAyZW07XG4gIG9wYWNpdHk6IDA7XG5cbiAgLm5hdmlnYXRpb24tb3BlbiAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49eGwnKSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj1tYXgtd2lkdGgnKSB7XG4gICAgcGFkZGluZzogMCAwIDAgMi41ZW07XG4gIH1cbn1cblxudWwuZm9vdGVyLXNvY2lhbC1saW5rcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMS4yZW07XG4gIH1cbn1cblxudWwuZm9vdGVyLXNvY2lhbC1saW5rcyBhIHtcbiAgQGluY2x1ZGUgY2lyY2xlLWxpbmtzO1xuXG4gIGkge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiBWYXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLyogRm9udCBGYW1pbHkgKi9cbiAgLS1nbG9iYWwtLWZvbnQtcHJpbWFyeTogdmFyKC0tZm9udC1oZWFkaW5ncywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZik7XG4gIC0tZ2xvYmFsLS1mb250LXNlY29uZGFyeTogdmFyKC0tZm9udC1iYXNlLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmKTtcblxuICAvKiBGb250IFNpemUgKi9cbiAgLS1nbG9iYWwtLWZvbnQtc2l6ZS1iYXNlOiAxLjI1cmVtO1xuICAtLWdsb2JhbC0tZm9udC1zaXplLXhzOiAxcmVtO1xuICAtLWdsb2JhbC0tZm9udC1zaXplLXNtOiAxLjEyNXJlbTtcbiAgLS1nbG9iYWwtLWZvbnQtc2l6ZS1tZDogMS4yNXJlbTtcbiAgLS1nbG9iYWwtLWZvbnQtc2l6ZS1sZzogMS41cmVtO1xuICAtLWdsb2JhbC0tZm9udC1zaXplLXhsOiAyLjI1cmVtO1xuICAtLWdsb2JhbC0tZm9udC1zaXplLXh4bDogNHJlbTtcbiAgLS1nbG9iYWwtLWZvbnQtc2l6ZS14eHhsOiA1cmVtO1xuICAtLWdsb2JhbC0tZm9udC1zaXplLXBhZ2UtdGl0bGU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXh4bCk7XG4gIC0tZ2xvYmFsLS1sZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuXG4gIC8qIExpbmUgSGVpZ2h0ICovXG4gIC0tZ2xvYmFsLS1saW5lLWhlaWdodC1ib2R5OiAxLjc7XG4gIC0tZ2xvYmFsLS1saW5lLWhlaWdodC1oZWFkaW5nOiAxLjM7XG4gIC0tZ2xvYmFsLS1saW5lLWhlaWdodC1wYWdlLXRpdGxlOiAxLjE7XG5cbiAgLyogSGVhZGluZ3MgKi9cbiAgLS1oZWFkaW5nLS1mb250LWZhbWlseTogdmFyKC0tZ2xvYmFsLS1mb250LXByaW1hcnkpO1xuICAtLWhlYWRpbmctLWZvbnQtc2l6ZS1oNjogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteHMpO1xuICAtLWhlYWRpbmctLWZvbnQtc2l6ZS1oNTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtc20pO1xuICAtLWhlYWRpbmctLWZvbnQtc2l6ZS1oNDogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtbGcpO1xuICAtLWhlYWRpbmctLWZvbnQtc2l6ZS1oMzogY2FsYygxLjI1ICogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtbGcpKTtcbiAgLS1oZWFkaW5nLS1mb250LXNpemUtaDI6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhsKTtcbiAgLS1oZWFkaW5nLS1mb250LXNpemUtaDE6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXBhZ2UtdGl0bGUpO1xuICAtLWhlYWRpbmctLWxldHRlci1zcGFjaW5nLWg2OiAwLjA1ZW07XG4gIC0taGVhZGluZy0tbGV0dGVyLXNwYWNpbmctaDU6IDAuMDVlbTtcbiAgLS1oZWFkaW5nLS1sZXR0ZXItc3BhY2luZy1oNDogdmFyKC0tZ2xvYmFsLS1sZXR0ZXItc3BhY2luZyk7XG4gIC0taGVhZGluZy0tbGV0dGVyLXNwYWNpbmctaDM6IHZhcigtLWdsb2JhbC0tbGV0dGVyLXNwYWNpbmcpO1xuICAtLWhlYWRpbmctLWxldHRlci1zcGFjaW5nLWgyOiB2YXIoLS1nbG9iYWwtLWxldHRlci1zcGFjaW5nKTtcbiAgLS1oZWFkaW5nLS1sZXR0ZXItc3BhY2luZy1oMTogdmFyKC0tZ2xvYmFsLS1sZXR0ZXItc3BhY2luZyk7XG4gIC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDY6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtaGVhZGluZyk7XG4gIC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDU6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtaGVhZGluZyk7XG4gIC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtaGVhZGluZyk7XG4gIC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDM6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtaGVhZGluZyk7XG4gIC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDI6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtaGVhZGluZyk7XG4gIC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDE6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtcGFnZS10aXRsZSk7XG4gIC0taGVhZGluZy0tZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLS1oZWFkaW5nLS1mb250LXdlaWdodC1wYWdlLXRpdGxlOiAzMDA7XG4gIC0taGVhZGluZy0tZm9udC13ZWlnaHQtc3Ryb25nOiA2MDA7XG5cbiAgLyogQmxvY2s6IExhdGVzdCBwb3N0cyAqL1xuICAtLWxhdGVzdC1wb3N0cy0tdGl0bGUtZm9udC1mYW1pbHk6IHZhcigtLWhlYWRpbmctLWZvbnQtZmFtaWx5KTtcbiAgLS1sYXRlc3QtcG9zdHMtLXRpdGxlLWZvbnQtc2l6ZTogdmFyKC0taGVhZGluZy0tZm9udC1zaXplLWgzKTtcbiAgLS1sYXRlc3QtcG9zdHMtLWRlc2NyaXB0aW9uLWZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgLS1sYXRlc3QtcG9zdHMtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtc20pO1xuICAtLWxpc3QtLWZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgLS1kZWZpbml0aW9uLXRlcm0tLWZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtcHJpbWFyeSk7XG5cbiAgLyogQ29sb3JzICovXG4gIC0tZ2xvYmFsLS1jb2xvci1ibGFjazogIzAwMDAwMDtcbiAgLS1nbG9iYWwtLWNvbG9yLWRhcmstZ3JheTogIzI4MzAzZDtcbiAgLS1nbG9iYWwtLWNvbG9yLWdyYXk6ICMzOTQxNGQ7XG4gIC0tZ2xvYmFsLS1jb2xvci1saWdodC1ncmF5OiAjZjBmMGYwO1xuICAtLWdsb2JhbC0tY29sb3ItZ3JlZW46ICNkMWU0ZGQ7XG4gIC0tZ2xvYmFsLS1jb2xvci1ibHVlOiAjZDFkZmU0O1xuICAtLWdsb2JhbC0tY29sb3ItcHVycGxlOiAjZDFkMWU0O1xuICAtLWdsb2JhbC0tY29sb3ItcmVkOiAjZTRkMWQxO1xuICAtLWdsb2JhbC0tY29sb3Itb3JhbmdlOiAjZTRkYWQxO1xuICAtLWdsb2JhbC0tY29sb3IteWVsbG93OiAjZWVlYWRkO1xuICAtLWdsb2JhbC0tY29sb3Itd2hpdGU6ICNmZmZmZmY7XG4gIC0tZ2xvYmFsLS1jb2xvci13aGl0ZS01MDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAtLWdsb2JhbC0tY29sb3Itd2hpdGUtOTA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgLS1nbG9iYWwtLWNvbG9yLXByaW1hcnk6IHZhcigtLWdsb2JhbC0tY29sb3ItZGFyay1ncmF5KTtcblxuICAvKiBCb2R5IHRleHQgY29sb3IsIHNpdGUgdGl0bGUsIGZvb3RlciB0ZXh0IGNvbG9yLiAqL1xuICAtLWdsb2JhbC0tY29sb3Itc2Vjb25kYXJ5OiB2YXIoLS1nbG9iYWwtLWNvbG9yLWdyYXkpO1xuXG4gIC8qIEhlYWRpbmdzICovXG4gIC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5LWhvdmVyOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZDogdmFyKC0tZ2xvYmFsLS1jb2xvci1ncmVlbik7XG5cbiAgLyogTWludCwgZGVmYXVsdCBib2R5IGJhY2tncm91bmQgKi9cbiAgLS1nbG9iYWwtLWNvbG9yLWJvcmRlcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcblxuICAvKiBVc2VkIGZvciBib3JkZXJzIChzZXBhcmF0b3JzKSAqL1xuXG4gIC8qIFNwYWNpbmcgKi9cbiAgLS1nbG9iYWwtLXNwYWNpbmctdW5pdDogMjBweDtcbiAgLS1nbG9iYWwtLXNwYWNpbmctbWVhc3VyZTogdW5zZXQ7XG4gIC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWw6IDI1cHg7XG4gIC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsOiAzMHB4O1xuXG4gIC8qIEVsZXZhdGlvbiAqL1xuICAtLWdsb2JhbC0tZWxldmF0aW9uOiAxcHggMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAvKiBGb3JtcyAqL1xuICAtLWZvcm0tLWZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgLS1mb3JtLS1mb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcbiAgLS1mb3JtLS1saW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1ib2R5KTtcbiAgLS1mb3JtLS1jb2xvci10ZXh0OiB2YXIoLS1nbG9iYWwtLWNvbG9yLWRhcmstZ3JheSk7XG4gIC0tZm9ybS0tY29sb3ItcmFuZ2VkOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXNlY29uZGFyeSk7XG4gIC0tZm9ybS0tbGFiZWwtd2VpZ2h0OiA1MDA7XG4gIC0tZm9ybS0tYm9yZGVyLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXNlY29uZGFyeSk7XG4gIC0tZm9ybS0tYm9yZGVyLXdpZHRoOiAzcHg7XG4gIC0tZm9ybS0tYm9yZGVyLXJhZGl1czogMDtcbiAgLS1mb3JtLS1zcGFjaW5nLXVuaXQ6IGNhbGMoMC41ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKTtcblxuICAvKiBDb3ZlciBibG9jayAqL1xuICAtLWNvdmVyLS1oZWlnaHQ6IGNhbGMoMTUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgLS1jb3Zlci0tY29sb3ItZm9yZWdyb3VuZDogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZSk7XG4gIC0tY292ZXItLWNvbG9yLWJhY2tncm91bmQ6IHZhcigtLWdsb2JhbC0tY29sb3ItYmxhY2spO1xuXG4gIC8qIEJ1dHRvbnMgKi9cbiAgLS1idXR0b24tLWNvbG9yLXRleHQ6IHZhcigtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC0tYnV0dG9uLS1jb2xvci10ZXh0LWhvdmVyOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXNlY29uZGFyeSk7XG4gIC0tYnV0dG9uLS1jb2xvci10ZXh0LWFjdGl2ZTogdmFyKC0tZ2xvYmFsLS1jb2xvci1zZWNvbmRhcnkpO1xuICAtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZDogdmFyKC0tZ2xvYmFsLS1jb2xvci1zZWNvbmRhcnkpO1xuICAtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZC1hY3RpdmU6IHZhcigtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC0tYnV0dG9uLS1mb250LWZhbWlseTogdmFyKC0tZ2xvYmFsLS1mb250LXByaW1hcnkpO1xuICAtLWJ1dHRvbi0tZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgLS1idXR0b24tLWZvbnQtd2VpZ2h0OiA1MDA7XG4gIC0tYnV0dG9uLS1saW5lLWhlaWdodDogMS41O1xuICAtLWJ1dHRvbi0tYm9yZGVyLXdpZHRoOiAzcHg7XG4gIC0tYnV0dG9uLS1ib3JkZXItcmFkaXVzOiAwO1xuICAtLWJ1dHRvbi0tcGFkZGluZy12ZXJ0aWNhbDogMTVweDtcbiAgLS1idXR0b24tLXBhZGRpbmctaG9yaXpvbnRhbDogY2FsYygyICogdmFyKC0tYnV0dG9uLS1wYWRkaW5nLXZlcnRpY2FsKSk7XG5cbiAgLyogZW50cnkgKi9cbiAgLS1lbnRyeS1oZWFkZXItLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAtLWVudHJ5LWhlYWRlci0tY29sb3ItbGluazogY3VycmVudENvbG9yO1xuICAtLWVudHJ5LWhlYWRlci0tY29sb3ItaG92ZXI6IHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG4gIC0tZW50cnktaGVhZGVyLS1jb2xvci1mb2N1czogdmFyKC0tZ2xvYmFsLS1jb2xvci1zZWNvbmRhcnkpO1xuICAtLWVudHJ5LWhlYWRlci0tZm9udC1zaXplOiB2YXIoLS1oZWFkaW5nLS1mb250LXNpemUtaDIpO1xuICAtLWVudHJ5LWNvbnRlbnQtLWZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgLS1lbnRyeS1hdXRob3ItYmlvLS1mb250LWZhbWlseTogdmFyKC0taGVhZGluZy0tZm9udC1mYW1pbHkpO1xuICAtLWVudHJ5LWF1dGhvci1iaW8tLWZvbnQtc2l6ZTogdmFyKC0taGVhZGluZy0tZm9udC1zaXplLWg0KTtcblxuICAvKiBIZWFkZXIgKi9cbiAgLS1icmFuZGluZy0tY29sb3ItdGV4dDogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLS1icmFuZGluZy0tY29sb3ItbGluazogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLS1icmFuZGluZy0tY29sb3ItbGluay1ob3ZlcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1zZWNvbmRhcnkpO1xuICAtLWJyYW5kaW5nLS10aXRsZS0tZm9udC1mYW1pbHk6IHZhcigtLWdsb2JhbC0tZm9udC1wcmltYXJ5KTtcbiAgLS1icmFuZGluZy0tdGl0bGUtLWZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtbGcpO1xuICAtLWJyYW5kaW5nLS10aXRsZS0tZm9udC1zaXplLW1vYmlsZTogdmFyKC0taGVhZGluZy0tZm9udC1zaXplLWg0KTtcbiAgLS1icmFuZGluZy0tdGl0bGUtLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC0tYnJhbmRpbmctLXRpdGxlLS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtLWJyYW5kaW5nLS1kZXNjcmlwdGlvbi0tZm9udC1mYW1pbHk6IHZhcigtLWdsb2JhbC0tZm9udC1zZWNvbmRhcnkpO1xuICAtLWJyYW5kaW5nLS1kZXNjcmlwdGlvbi0tZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1zbSk7XG4gIC0tYnJhbmRpbmctLWRlc2NyaXB0aW9uLS1mb250LWZhbWlseTogdmFyKC0tZ2xvYmFsLS1mb250LXNlY29uZGFyeSk7XG4gIC0tYnJhbmRpbmctLWxvZ28tLW1heC13aWR0aDogMzAwcHg7XG4gIC0tYnJhbmRpbmctLWxvZ28tLW1heC1oZWlnaHQ6IDEwMHB4O1xuICAtLWJyYW5kaW5nLS1sb2dvLS1tYXgtd2lkdGgtbW9iaWxlOiA5NnB4O1xuICAtLWJyYW5kaW5nLS1sb2dvLS1tYXgtaGVpZ2h0LW1vYmlsZTogOTZweDtcblxuICAvKiBNYWluIG5hdmlnYXRpb24gKi9cbiAgLS1wcmltYXJ5LW5hdi0tZm9udC1mYW1pbHk6IHZhcigtLWdsb2JhbC0tZm9udC1zZWNvbmRhcnkpO1xuICAtLXByaW1hcnktbmF2LS1mb250LWZhbWlseS1tb2JpbGU6IHZhcigtLWdsb2JhbC0tZm9udC1wcmltYXJ5KTtcbiAgLS1wcmltYXJ5LW5hdi0tZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1tZCk7XG4gIC0tcHJpbWFyeS1uYXYtLWZvbnQtc2l6ZS1zdWItbWVudTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteHMpO1xuICAtLXByaW1hcnktbmF2LS1mb250LXNpemUtbW9iaWxlOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1zbSk7XG4gIC0tcHJpbWFyeS1uYXYtLWZvbnQtc2l6ZS1zdWItbWVudS1tb2JpbGU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcbiAgLS1wcmltYXJ5LW5hdi0tZm9udC1zaXplLWJ1dHRvbjogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteHMpO1xuICAtLXByaW1hcnktbmF2LS1mb250LXN0eWxlOiBub3JtYWw7XG4gIC0tcHJpbWFyeS1uYXYtLWZvbnQtc3R5bGUtc3ViLW1lbnUtbW9iaWxlOiBub3JtYWw7XG4gIC0tcHJpbWFyeS1uYXYtLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC0tcHJpbWFyeS1uYXYtLWZvbnQtd2VpZ2h0LWJ1dHRvbjogNTAwO1xuICAtLXByaW1hcnktbmF2LS1jb2xvci1saW5rOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAtLXByaW1hcnktbmF2LS1jb2xvci1saW5rLWhvdmVyOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnktaG92ZXIpO1xuICAtLXByaW1hcnktbmF2LS1jb2xvci10ZXh0OiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAtLXByaW1hcnktbmF2LS1wYWRkaW5nOiBjYWxjKDAuNjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCkpO1xuICAtLXByaW1hcnktbmF2LS1ib3JkZXItY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeSk7XG5cbiAgLyogUGFnaW5hdGlvbiAqL1xuICAtLXBhZ2luYXRpb24tLWNvbG9yLXRleHQ6IHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeSk7XG4gIC0tcGFnaW5hdGlvbi0tY29sb3ItbGluay1ob3ZlcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbiAgLS1wYWdpbmF0aW9uLS1mb250LWZhbWlseTogdmFyKC0tZ2xvYmFsLS1mb250LXNlY29uZGFyeSk7XG4gIC0tcGFnaW5hdGlvbi0tZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1sZyk7XG4gIC0tcGFnaW5hdGlvbi0tZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLS1wYWdpbmF0aW9uLS1mb250LXdlaWdodC1zdHJvbmc6IDYwMDtcblxuICAvKiBGb290ZXIgKi9cbiAgLS1mb290ZXItLWNvbG9yLXRleHQ6IHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeSk7XG4gIC0tZm9vdGVyLS1jb2xvci1saW5rOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAtLWZvb3Rlci0tY29sb3ItbGluay1ob3ZlcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbiAgLS1mb290ZXItLWZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtcHJpbWFyeSk7XG4gIC0tZm9vdGVyLS1mb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcblxuICAvKiBCbG9jazogUHVsbCBxdW90ZSAqL1xuICAtLXB1bGxxdW90ZS0tZm9udC1mYW1pbHk6IHZhcigtLWdsb2JhbC0tZm9udC1wcmltYXJ5KTtcbiAgLS1wdWxscXVvdGUtLWZvbnQtc2l6ZTogdmFyKC0taGVhZGluZy0tZm9udC1zaXplLWgzKTtcbiAgLS1wdWxscXVvdGUtLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgLS1wdWxscXVvdGUtLWxldHRlci1zcGFjaW5nOiB2YXIoLS1oZWFkaW5nLS1sZXR0ZXItc3BhY2luZy1oNCk7XG4gIC0tcHVsbHF1b3RlLS1saW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1oZWFkaW5nKTtcbiAgLS1wdWxscXVvdGUtLWJvcmRlci13aWR0aDogM3B4O1xuICAtLXB1bGxxdW90ZS0tYm9yZGVyLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAtLXB1bGxxdW90ZS0tY29sb3ItZm9yZWdyb3VuZDogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLS1wdWxscXVvdGUtLWNvbG9yLWJhY2tncm91bmQ6IHZhcigtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC0tcXVvdGUtLWZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgLS1xdW90ZS0tZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1tZCk7XG4gIC0tcXVvdGUtLWZvbnQtc2l6ZS1sYXJnZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteGwpO1xuICAtLXF1b3RlLS1mb250LXN0eWxlOiBub3JtYWw7XG4gIC0tcXVvdGUtLWZvbnQtd2VpZ2h0OiA3MDA7XG4gIC0tcXVvdGUtLWZvbnQtd2VpZ2h0LXN0cm9uZzogYm9sZGVyO1xuICAtLXF1b3RlLS1mb250LXN0eWxlLWxhcmdlOiBub3JtYWw7XG4gIC0tcXVvdGUtLWZvbnQtc3R5bGUtY2l0ZTogbm9ybWFsO1xuICAtLXF1b3RlLS1saW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1ib2R5KTtcbiAgLS1xdW90ZS0tbGluZS1oZWlnaHQtbGFyZ2U6IDEuMzU7XG4gIC0tc2VwYXJhdG9yLS1ib3JkZXItY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItYm9yZGVyKTtcbiAgLS1zZXBhcmF0b3ItLWhlaWdodDogMXB4O1xuXG4gIC8qIEJsb2NrOiBUYWJsZSAqL1xuICAtLXRhYmxlLS1zdHJpcGVzLWJvcmRlci1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1saWdodC1ncmF5KTtcbiAgLS10YWJsZS0tc3RyaXBlcy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuICAtLXRhYmxlLS1oYXMtYmFja2dyb3VuZC10ZXh0LWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWRhcmstZ3JheSk7XG5cbiAgLyogV2lkZ2V0cyAqL1xuICAtLXdpZGdldC0tbGluZS1oZWlnaHQtbGlzdDogMS45O1xuICAtLXdpZGdldC0tbGluZS1oZWlnaHQtdGl0bGU6IDEuNDtcbiAgLS13aWRnZXQtLWZvbnQtd2VpZ2h0LXRpdGxlOiA3MDA7XG4gIC0td2lkZ2V0LS1zcGFjaW5nLW1lbnU6IGNhbGMoMC42NiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG5cbiAgLyogQWRtaW4tYmFyIGhlaWdodCAqL1xuICAtLWdsb2JhbC0tYWRtaW4tYmFyLS1oZWlnaHQ6IDA7XG59XG5cbi5hZG1pbi1iYXIge1xuICAtLWdsb2JhbC0tYWRtaW4tYmFyLS1oZWlnaHQ6IDMycHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcbiAgLmFkbWluLWJhciB7XG4gICAgLS1nbG9iYWwtLWFkbWluLWJhci0taGVpZ2h0OiA0NnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUycHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tZ2xvYmFsLS1mb250LXNpemUteGw6IDIuNXJlbTtcbiAgICAtLWdsb2JhbC0tZm9udC1zaXplLXh4bDogNnJlbTtcbiAgICAtLWdsb2JhbC0tZm9udC1zaXplLXh4eGw6IDlyZW07XG4gICAgLS1oZWFkaW5nLS1mb250LXNpemUtaDM6IDJyZW07XG4gICAgLS1oZWFkaW5nLS1mb250LXNpemUtaDI6IDNyZW07XG4gIH1cbn1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIC8vIGxpbmUtaGVpZ2h0OiAxLjE1O1xuXG4gIC8qIDEgKi9cbiAgdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblxuICAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgLy8gZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuXG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIC8vIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cbiAgLyogMSAqL1xuICAvLyBmb250LXNpemU6IDFlbTtcblxuICAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgLy8gYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAvKiAxICovXG4gIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIC8qIDIgKi9cbiAgLy8gdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG5cbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICAvLyBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgLy8gZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcblxuICAvKiAxICovXG4gIC8vIGZvbnQtc2l6ZTogMWVtO1xuXG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICAvLyBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgLy8gZm9udC1zaXplOiA3NSU7XG4gIC8vIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICAvLyBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAvLyBmb250LWZhbWlseTogaW5oZXJpdDtcblxuICAvKiAxICovXG4gIC8vIGZvbnQtc2l6ZTogMTAwJTtcblxuICAvKiAxICovXG4gIC8vIGxpbmUtaGVpZ2h0OiAxLjE1O1xuXG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuXG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICAvLyB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIC8vIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC8qIDEgKi9cbiAgLy8gY29sb3I6IGluaGVyaXQ7XG5cbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcblxuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcblxuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG5cbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gIC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG5cbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuXG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBhcHBlYXJhbmNlOiBidXR0b247XG5cbiAgLyogMSAqL1xuICAvLyBmb250OiBpbmhlcml0O1xuXG4gIC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZXNwb25zaXZlIFN0eWxlc1xuICovXG5cbi8qKlxuICogUmVxdWlyZWQgVmFyaWFibGVzXG4gKi9cblxuLyoqXG4gKiBSb290IE1lZGlhIFF1ZXJ5IFZhcmlhYmxlc1xuICovXG46cm9vdCB7XG4gIC0tcmVzcG9uc2l2ZS0tc3BhY2luZy1ob3Jpem9udGFsOiBjYWxjKDIgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAwLjYpO1xuICAtLXJlc3BvbnNpdmUtLWFsaWduZGVmYXVsdC13aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXJlc3BvbnNpdmUtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xuICAtLXJlc3BvbnNpdmUtLWFsaWdud2lkZS13aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXJlc3BvbnNpdmUtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xuICAtLXJlc3BvbnNpdmUtLWFsaWduZnVsbC13aWR0aDogMTAwJTtcbiAgLS1yZXNwb25zaXZlLS1hbGlnbnJpZ2h0LW1hcmdpbjogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpO1xuICAtLXJlc3BvbnNpdmUtLWFsaWdubGVmdC1tYXJnaW46IHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICA6cm9vdCB7XG4gICAgLS1yZXNwb25zaXZlLS1hbGlnbmRlZmF1bHQtd2lkdGg6IG1pbihjYWxjKDEwMHZ3IC0gNCAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSksIDYxMHB4KTtcbiAgICAtLXJlc3BvbnNpdmUtLWFsaWdud2lkZS13aWR0aDogY2FsYygxMDB2dyAtIDQgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xuICAgIC0tcmVzcG9uc2l2ZS0tYWxpZ25yaWdodC1tYXJnaW46IGNhbGMoMC41ICogKDEwMHZ3IC0gdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25kZWZhdWx0LXdpZHRoKSkpO1xuICAgIC0tcmVzcG9uc2l2ZS0tYWxpZ25sZWZ0LW1hcmdpbjogY2FsYygwLjUgKiAoMTAwdncgLSB2YXIoLS1yZXNwb25zaXZlLS1hbGlnbmRlZmF1bHQtd2lkdGgpKSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MjJweCkge1xuICA6cm9vdCB7XG4gICAgLS1yZXNwb25zaXZlLS1hbGlnbmRlZmF1bHQtd2lkdGg6IG1pbihjYWxjKDEwMHZ3IC0gOCAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSksIDYxMHB4KTtcbiAgICAtLXJlc3BvbnNpdmUtLWFsaWdud2lkZS13aWR0aDogbWluKGNhbGMoMTAwdncgLSA4ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpKSwgMTI0MHB4KTtcbiAgfVxufVxuXG4vKipcbiAqIEV4dGVuZHNcbiAqL1xuLnBvc3QtdGh1bWJuYWlsLFxuLmVudHJ5LWNvbnRlbnQgLndwLWF1ZGlvLXNob3J0Y29kZSxcbi5lbnRyeS1jb250ZW50ID4gKjpub3QoLmFsaWdud2lkZSk6bm90KC5hbGlnbmZ1bGwpOm5vdCguYWxpZ25sZWZ0KTpub3QoLmFsaWducmlnaHQpOm5vdCgud3AtYmxvY2stc2VwYXJhdG9yKTpub3QoLndvb2NvbW1lcmNlKSxcbipbY2xhc3MqPWlubmVyLWNvbnRhaW5lcl0gPiAqOm5vdCguZW50cnktY29udGVudCk6bm90KC5hbGlnbndpZGUpOm5vdCguYWxpZ25mdWxsKTpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLndwLWJsb2NrLXNlcGFyYXRvcik6bm90KC53b29jb21tZXJjZSksXG4uZGVmYXVsdC1tYXgtd2lkdGgge1xuICAvLyBtYXgtd2lkdGg6IHZhcigtLXJlc3BvbnNpdmUtLWFsaWduZGVmYXVsdC13aWR0aCk7XG4gIC8vIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvLyBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53aWRnZXQtYXJlYSxcbi5wYWdpbmF0aW9uLFxuLmNvbW1lbnRzLXBhZ2luYXRpb24sXG4ucG9zdC1uYXZpZ2F0aW9uLFxuLnNpdGUtZm9vdGVyLFxuLnNpdGUtaGVhZGVyLFxuLmFsaWdud2lkZSxcbi53aWRlLW1heC13aWR0aCB7XG4gIG1heC13aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ253aWRlLXdpZHRoKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmFsaWduZnVsbCxcbi53cC1ibG9jay1ncm91cCAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciA+ICouYWxpZ25mdWxsLFxuLmZ1bGwtbWF4LXdpZHRoIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1yZXNwb25zaXZlLS1hbGlnbmZ1bGwtd2lkdGgpO1xuICB3aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25mdWxsLXdpZHRoKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuYWxpZ25mdWxsLFxuICAuZnVsbC1tYXgtd2lkdGgge1xuICAgIG1heC13aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25mdWxsLXdpZHRoKTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLmVudHJ5LWhlYWRlciAucG9zdC10aHVtYm5haWwsXG4uc2luZ3VsYXIgLnBvc3QtdGh1bWJuYWlsLFxuLmFsaWduZnVsbCBbY2xhc3MqPWlubmVyLWNvbnRhaW5lcl0gPiAuYWxpZ253aWRlLFxuLmFsaWdud2lkZSBbY2xhc3MqPWlubmVyLWNvbnRhaW5lcl0gPiAuYWxpZ253aWRlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IHZhcigtLXJlc3BvbnNpdmUtLWFsaWdud2lkZS13aWR0aCk7XG4gIG1heC13aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25mdWxsLXdpZHRoKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuZW50cnktY29udGVudCA+IC5hbGlnbmxlZnQge1xuICAgIC8qIHJ0bDppZ25vcmUgKi9cbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25sZWZ0LW1hcmdpbik7XG5cbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuZW50cnktY29udGVudCA+IC5hbGlnbnJpZ2h0IHtcbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKTtcblxuICAgIC8qIHJ0bDppZ25vcmUgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXJlc3BvbnNpdmUtLWFsaWducmlnaHQtbWFyZ2luKTtcbiAgfVxufVxuXG4vKipcbiAqIFNpdGUgU3RydWN0dXJlXG4gKlxuICogLSBTZXQgdmVydGljYWwgbWFyZ2lucyBhbmQgcmVzcG9uc2l2ZSB3aWR0aHMgb25cbiAqICAgdG9wLWxldmVsIHdyYXBwZXJzIGFuZCBjb250ZW50IHdyYXBwZXJzXG4gKiAtIGAtLWdsb2JhbC0td2lkdGgtY29udGVudGAgaXMgYSByZXNwb25zaXZlIHZhcmlhYmxlXG4gKiAtIFNlZTogZ2xvYmFscy9fZ2xvYmFsLXdpZHRoLXJlc3BvbnNpdmUuc2Nzc1xuICovXG5cbi8qKlxuICogVG9wIExldmVsIFdyYXBwZXJzIChoZWFkZXIsIG1haW4sIGZvb3RlcilcbiAqIC0gU2V0IHZlcnRpY2FsIHBhZGRpbmcgYW5kIGhvcml6b250YWwgbWFyZ2luc1xuICovXG4uc2l0ZS1oZWFkZXIsXG4uc2l0ZS1tYWluLFxuLndpZGdldC1hcmVhLFxuLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uc2l0ZS1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjc1ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDIgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuc2l0ZS1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDMgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgfVxufVxuXG4vKipcbiAqIFNpdGUtbWFpbiBjaGlsZHJlbiB3cmFwcGVyc1xuICogLSBBZGQgZG91YmxlIHZlcnRpY2FsIG1hcmdpbnMgaGVyZSBmb3IgY2xlYXJlciBoaWVyYXJjaHlcbiAqL1xuLnNpdGUtbWFpbiA+ICoge1xuICBtYXJnaW4tdG9wOiBjYWxjKDMgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygzICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbi5zaXRlLW1haW4gPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnNpdGUtbWFpbiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuICogU2V0IHRoZSBkZWZhdWx0IG1heGltdW0gcmVzcG9uc2l2ZSBjb250ZW50LXdpZHRoXG4gKi9cblxuLyoqXG4gKiBTZXQgdGhlIHdpZGUgbWF4aW11bSByZXNwb25zaXZlIGNvbnRlbnQtd2lkdGhcbiAqL1xuXG4vKipcbiAqIFNldCB0aGUgZnVsbCBtYXhpbXVtIHJlc3BvbnNpdmUgY29udGVudC13aWR0aFxuICovXG5cbi8qXG4gKiBCbG9jayAmIG5vbi1ndXRlbmJlcmcgY29udGVudCB3cmFwcGVyc1xuICogLSBTZXQgbWFyZ2luc1xuICovXG4uZW50cnktaGVhZGVyLFxuLnBvc3QtdGh1bWJuYWlsLFxuLmVudHJ5LWNvbnRlbnQsXG4uZW50cnktZm9vdGVyLFxuLmF1dGhvci1iaW8ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4vKlxuICogQmxvY2sgJiBub24tZ3V0ZW5iZXJnIGNvbnRlbnQgd3JhcHBlciBjaGlsZHJlblxuICogLSBTZXRzIHNwYWNpbmctdmVydGljYWwgbWFyZ2luIGxvZ2ljXG4gKi9cbi5zaXRlLW1haW4gPiBhcnRpY2xlID4gKixcbi5zaXRlLW1haW4gPiAubm90LWZvdW5kID4gKixcbi5lbnRyeS1jb250ZW50ID4gKixcbltjbGFzcyo9aW5uZXItY29udGFpbmVyXSA+ICosXG4ud3AtYmxvY2stdGVtcGxhdGUtcGFydCA+ICoge1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuNjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMC42NjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuc2l0ZS1tYWluID4gYXJ0aWNsZSA+ICosXG4gIC5zaXRlLW1haW4gPiAubm90LWZvdW5kID4gKixcbiAgLmVudHJ5LWNvbnRlbnQgPiAqLFxuICBbY2xhc3MqPWlubmVyLWNvbnRhaW5lcl0gPiAqLFxuICAud3AtYmxvY2stdGVtcGxhdGUtcGFydCA+ICoge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuXG4uc2l0ZS1tYWluID4gYXJ0aWNsZSA+ICo6Zmlyc3QtY2hpbGQsXG4uc2l0ZS1tYWluID4gLm5vdC1mb3VuZCA+ICo6Zmlyc3QtY2hpbGQsXG4uZW50cnktY29udGVudCA+ICo6Zmlyc3QtY2hpbGQsXG5bY2xhc3MqPWlubmVyLWNvbnRhaW5lcl0gPiAqOmZpcnN0LWNoaWxkLFxuLndwLWJsb2NrLXRlbXBsYXRlLXBhcnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnNpdGUtbWFpbiA+IGFydGljbGUgPiAqOmxhc3QtY2hpbGQsXG4uc2l0ZS1tYWluID4gLm5vdC1mb3VuZCA+ICo6bGFzdC1jaGlsZCxcbi5lbnRyeS1jb250ZW50ID4gKjpsYXN0LWNoaWxkLFxuW2NsYXNzKj1pbm5lci1jb250YWluZXJdID4gKjpsYXN0LWNoaWxkLFxuLndwLWJsb2NrLXRlbXBsYXRlLXBhcnQgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2l0ZS1mb290ZXIgPiAqLFxuLndpZGdldC1hcmVhID4gKiB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC42NjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjY2NiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC5zaXRlLWZvb3RlciA+ICosXG4gIC53aWRnZXQtYXJlYSA+ICoge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuXG4vKlxuICogQmxvY2sgJiBub24tZ3V0ZW5iZXJnIGNvbnRlbnQgd3JhcHBlciBjaGlsZHJlblxuICogLSBTZXRzIHNwYWNpbmctdW5pdCBtYXJnaW5zXG4gKi9cbi5lbnRyeS1oZWFkZXIgPiAqLFxuLnBvc3QtdGh1bWJuYWlsID4gKixcbi5wYWdlLWNvbnRlbnQgPiAqLFxuLmNvbW1lbnQtY29udGVudCA+ICosXG4ud2lkZ2V0ID4gKiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xufVxuXG4uZW50cnktaGVhZGVyID4gKjpmaXJzdC1jaGlsZCxcbi5wb3N0LXRodW1ibmFpbCA+ICo6Zmlyc3QtY2hpbGQsXG4ucGFnZS1jb250ZW50ID4gKjpmaXJzdC1jaGlsZCxcbi5jb21tZW50LWNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkLFxuLndpZGdldCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uZW50cnktaGVhZGVyID4gKjpsYXN0LWNoaWxkLFxuLnBvc3QtdGh1bWJuYWlsID4gKjpsYXN0LWNoaWxkLFxuLnBhZ2UtY29udGVudCA+ICo6bGFzdC1jaGlsZCxcbi5jb21tZW50LWNvbnRlbnQgPiAqOmxhc3QtY2hpbGQsXG4ud2lkZ2V0ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLypcbiAqIC5lbnRyeS1jb250ZW50IGNoaWxkcmVuIHNwZWNpZmljIGNvbnRyb2xzXG4gKiAtIEFkZHMgc3BlY2lhbCBtYXJnaW4gb3ZlcnJpZGVzIGZvciBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzXG4gKi9cbi5lbnRyeS1jb250ZW50ID4gKiB7XG4gIC8qIFJlc2V0IGFsaWdubGVmdCBhbmQgYWxpZ25yaWdodCBtYXJnaW5zIGFmdGVyIGFsaWduZnVsbCAqL1xufVxuXG4uZW50cnktY29udGVudCA+ICouYWxpZ25sZWZ0LFxuLmVudHJ5LWNvbnRlbnQgPiAqLmFsaWducmlnaHQsXG4uZW50cnktY29udGVudCA+ICouYWxpZ25sZWZ0OmZpcnN0LWNoaWxkICsgKixcbi5lbnRyeS1jb250ZW50ID4gKi5hbGlnbnJpZ2h0OmZpcnN0LWNoaWxkICsgKixcbi5lbnRyeS1jb250ZW50ID4gKi5hbGlnbmZ1bGwuaGFzLWJhY2tncm91bmQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uZW50cnktY29udGVudCA+ICo6bGFzdC1jaGlsZCxcbi5lbnRyeS1jb250ZW50ID4gKi5hbGlnbmZ1bGwuaGFzLWJhY2tncm91bmQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW50cnktY29udGVudCA+ICouYWxpZ25mdWxsICsgLmFsaWdubGVmdCxcbi5lbnRyeS1jb250ZW50ID4gKi5hbGlnbmZ1bGwgKyAuYWxpZ25yaWdodCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi8qKlxuICogUmVzZXQgc3BlY2lmaWMgZWxlbWVudHMgdG8gbWFrZSB0aGVtIGVhc2llciB0byBzdHlsZSBpbiBvdGhlciBjb250ZXh0cy5cbiAqL1xuaHRtbCxcbmJvZHksXG5wLFxub2wsXG51bCxcbmxpLFxuZGwsXG5kdCxcbmRkLFxuYmxvY2txdW90ZSxcbmZpZ3VyZSxcbmZpZWxkc2V0LFxuZm9ybSxcbmxlZ2VuZCxcbnRleHRhcmVhLFxucHJlLFxuaWZyYW1lLFxuaHIsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4vKipcbiAqIEFwcGx5IGdlbmVyaWMgYm9yZGVyLWJveCB0byBhbGwgZWxlbWVudHMuXG4gKiBTZWU6XG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuaHRtbCB7XG4gIC8qIEFwcGx5IGJvcmRlci1ib3ggYWNyb3NzIHRoZSBlbnRpcmUgcGFnZS4gKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLy8gZm9udC1mYW1pbHk6IHZhcigtLWdsb2JhbC0tZm9udC1zZWNvbmRhcnkpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1ib2R5KTtcbn1cblxuLyoqXG4gKiBSZWxheCB0aGUgZGVmaW5pdGlvbiBhIGJpdCwgdG8gYWxsb3cgY29tcG9uZW50cyB0byBvdmVycmlkZSBpdCBtYW51YWxseS5cbiAqL1xuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLWJhc2UpO1xuICAvLyBmb250LXdlaWdodDogbm9ybWFsO1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLy8gdGV4dC1hbGlnbjogbGVmdDtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2xlYXI6YmVmb3JlLFxuLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YmVmb3JlLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmJlZm9yZSxcbi5jb21tZW50LWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1oZWFkZXI6YmVmb3JlLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDpiZWZvcmUsXG4uc2l0ZS1jb250ZW50OmFmdGVyLFxuLnNpdGUtZm9vdGVyOmJlZm9yZSxcbi5zaXRlLWZvb3RlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiBDYXRlZ29yeSAwNCBjYW4gY29udGFpbiBhbnkgZGVmYXVsdCBIVE1MIGVsZW1lbnQuIERvIG5vdCBhZGQgY2xhc3NlcyBoZXJlLCBqdXN0IGdpdmUgdGhlIGVsZW1lbnRzIHNvbWUgYmFzaWMgc3R5bGVzLiAqL1xuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpIDAgdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5cbmJsb2NrcXVvdGUgPiAqIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCk7XG59XG5cbmJsb2NrcXVvdGUgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuYmxvY2txdW90ZSA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmJsb2NrcXVvdGUgcCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1oZWFkaW5nLS1sZXR0ZXItc3BhY2luZy1oNCk7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1xdW90ZS0tZm9udC1mYW1pbHkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLXF1b3RlLS1mb250LXNpemUpO1xuICAvLyBmb250LXN0eWxlOiB2YXIoLS1xdW90ZS0tZm9udC1zdHlsZSk7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1xdW90ZS0tZm9udC13ZWlnaHQpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tcXVvdGUtLWxpbmUtaGVpZ2h0KTtcbn1cblxuYmxvY2txdW90ZSBjaXRlLFxuYmxvY2txdW90ZSBmb290ZXIge1xuICAvLyBmb250LXdlaWdodDogbm9ybWFsO1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1nbG9iYWwtLWxldHRlci1zcGFjaW5nKTtcbn1cblxuYmxvY2txdW90ZS5hbGlnbmxlZnQsXG5ibG9ja3F1b3RlLmFsaWducmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IGluaGVyaXQ7XG59XG5cbmJsb2NrcXVvdGUuYWxpZ25sZWZ0IHAsXG5ibG9ja3F1b3RlLmFsaWducmlnaHQgcCB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0taGVhZGluZy0tZm9udC1zaXplLWg1KTtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbn1cblxuYmxvY2txdW90ZS5hbGlnbmxlZnQgY2l0ZSxcbmJsb2NrcXVvdGUuYWxpZ25sZWZ0IGZvb3RlcixcbmJsb2NrcXVvdGUuYWxpZ25yaWdodCBjaXRlLFxuYmxvY2txdW90ZS5hbGlnbnJpZ2h0IGZvb3RlciB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteHMpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZ2xvYmFsLS1sZXR0ZXItc3BhY2luZyk7XG59XG5cbmJsb2NrcXVvdGUgc3Ryb25nIHtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLXF1b3RlLS1mb250LXdlaWdodC1zdHJvbmcpO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICfigJwnO1xuICAvLyBmb250LXNpemU6IHZhcigtLXF1b3RlLS1mb250LXNpemUpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tcXVvdGUtLWxpbmUtaGVpZ2h0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xufVxuXG5ibG9ja3F1b3RlIC53cC1ibG9jay1xdW90ZV9fY2l0YXRpb24sXG5ibG9ja3F1b3RlIGNpdGUsXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhzKTtcbiAgLy8gZm9udC1zdHlsZTogdmFyKC0tcXVvdGUtLWZvbnQtc3R5bGUtY2l0ZSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcbiAgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSk7XG4gIH1cblxuICBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPXVybF0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9c2VhcmNoXSxcbmlucHV0W3R5cGU9bnVtYmVyXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9ZGF0ZV0sXG5pbnB1dFt0eXBlPW1vbnRoXSxcbmlucHV0W3R5cGU9d2Vla10sXG5pbnB1dFt0eXBlPXRpbWVdLFxuaW5wdXRbdHlwZT1kYXRldGltZV0sXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbmlucHV0W3R5cGU9Y29sb3JdLFxuLnNpdGUgdGV4dGFyZWEge1xuICAvLyBib3JkZXI6IHZhcigtLWZvcm0tLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tZm9ybS0tYm9yZGVyLWNvbG9yKTtcbiAgLy8gYm9yZGVyLXJhZGl1czogdmFyKC0tZm9ybS0tYm9yZGVyLXJhZGl1cyk7XG4gIC8vIGNvbG9yOiB2YXIoLS1mb3JtLS1jb2xvci10ZXh0KTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtYm9keSk7XG4gIHBhZGRpbmc6IHZhcigtLWZvcm0tLXNwYWNpbmctdW5pdCk7XG4gIG1hcmdpbjogMCAycHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbmlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuaW5wdXRbdHlwZT11cmxdOmZvY3VzLFxuaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsXG5pbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMsXG5pbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG5pbnB1dFt0eXBlPXRlbF06Zm9jdXMsXG5pbnB1dFt0eXBlPWRhdGVdOmZvY3VzLFxuaW5wdXRbdHlwZT1tb250aF06Zm9jdXMsXG5pbnB1dFt0eXBlPXdlZWtdOmZvY3VzLFxuaW5wdXRbdHlwZT10aW1lXTpmb2N1cyxcbmlucHV0W3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLFxuaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsXG5pbnB1dFt0eXBlPWNvbG9yXTpmb2N1cyxcbi5zaXRlIHRleHRhcmVhOmZvY3VzIHtcbiAgLy8gY29sb3I6IHZhcigtLWZvcm0tLWNvbG9yLXRleHQpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICBvdXRsaW5lOiAycHggZG90dGVkIHZhcigtLWZvcm0tLWJvcmRlci1jb2xvcik7XG59XG5cbmlucHV0W3R5cGU9dGV4dF06ZGlzYWJsZWQsXG5pbnB1dFt0eXBlPWVtYWlsXTpkaXNhYmxlZCxcbmlucHV0W3R5cGU9dXJsXTpkaXNhYmxlZCxcbmlucHV0W3R5cGU9cGFzc3dvcmRdOmRpc2FibGVkLFxuaW5wdXRbdHlwZT1zZWFyY2hdOmRpc2FibGVkLFxuaW5wdXRbdHlwZT1udW1iZXJdOmRpc2FibGVkLFxuaW5wdXRbdHlwZT10ZWxdOmRpc2FibGVkLFxuaW5wdXRbdHlwZT1kYXRlXTpkaXNhYmxlZCxcbmlucHV0W3R5cGU9bW9udGhdOmRpc2FibGVkLFxuaW5wdXRbdHlwZT13ZWVrXTpkaXNhYmxlZCxcbmlucHV0W3R5cGU9dGltZV06ZGlzYWJsZWQsXG5pbnB1dFt0eXBlPWRhdGV0aW1lXTpkaXNhYmxlZCxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmRpc2FibGVkLFxuaW5wdXRbdHlwZT1jb2xvcl06ZGlzYWJsZWQsXG4uc2l0ZSB0ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmlzLWRhcmstdGhlbWUgaW5wdXRbdHlwZT10ZXh0XSxcbi5pcy1kYXJrLXRoZW1lIGlucHV0W3R5cGU9ZW1haWxdLFxuLmlzLWRhcmstdGhlbWUgaW5wdXRbdHlwZT11cmxdLFxuLmlzLWRhcmstdGhlbWUgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPXNlYXJjaF0sXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPW51bWJlcl0sXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPXRlbF0sXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPWRhdGVdLFxuLmlzLWRhcmstdGhlbWUgaW5wdXRbdHlwZT1tb250aF0sXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPXdlZWtdLFxuLmlzLWRhcmstdGhlbWUgaW5wdXRbdHlwZT10aW1lXSxcbi5pcy1kYXJrLXRoZW1lIGlucHV0W3R5cGU9ZGF0ZXRpbWVdLFxuLmlzLWRhcmstdGhlbWUgaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0sXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPWNvbG9yXSxcbi5pcy1kYXJrLXRoZW1lIC5zaXRlIHRleHRhcmVhIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZS05MCk7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtN3B4O1xufVxuXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG5pbnB1dFt0eXBlPWNvbG9yXSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZm9ybS0tc3BhY2luZy11bml0KSAvIDIpO1xuICBoZWlnaHQ6IGNhbGMoNCAqIHZhcigtLWZvcm0tLXNwYWNpbmctdW5pdCkpO1xufVxuXG5pbnB1dFt0eXBlPWVtYWlsXSxcbmlucHV0W3R5cGU9dXJsXSB7XG4gIC8qIHJ0bDppZ25vcmUgKi9cbiAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIGJvcmRlcjogdmFyKC0tZm9ybS0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1mb3JtLS1ib3JkZXItY29sb3IpO1xuICAvLyBjb2xvcjogdmFyKC0tZm9ybS0tY29sb3ItdGV4dCk7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWJvZHkpO1xuICBwYWRkaW5nOiB2YXIoLS1mb3JtLS1zcGFjaW5nLXVuaXQpIGNhbGMoMyAqIHZhcigtLWZvcm0tLXNwYWNpbmctdW5pdCkpIHZhcigtLWZvcm0tLXNwYWNpbmctdW5pdCkgdmFyKC0tZm9ybS0tc3BhY2luZy11bml0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZSkgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMCcgZmlsbD0nJTIzMjgzMDNkJz48cG9seWdvbiBwb2ludHM9JzAsMCAxMCwwIDUsNScvPjwvc3ZnPlwiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHZhcigtLWZvcm0tLXNwYWNpbmctdW5pdCkgdG9wIDYwJTtcbn1cblxuc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgb3V0bGluZTogMnB4IGRvdHRlZCB2YXIoLS1mb3JtLS1ib3JkZXItY29sb3IpO1xufVxuXG4uaXMtZGFyay10aGVtZSBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlLTkwKSB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwJyBoZWlnaHQ9JzEwJyBmaWxsPSclMjMyODMwM2QnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDEwLDAgNSw1Jy8+PC9zdmc+XCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdmFyKC0tZm9ybS0tc3BhY2luZy11bml0KSB0b3AgNjAlO1xufVxuXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5sYWJlbCB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS0tZm9udC1zaXplKTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLWZvcm0tLWxhYmVsLXdlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSAvIDMpO1xufVxuXG4vKipcbmh0dHBzOi8vY3NzLXRyaWNrcy5jb20vY3VzdG9tLXN0eWxpbmctZm9ybS1pbnB1dHMtd2l0aC1tb2Rlcm4tY3NzLWZlYXR1cmVzL1xuaHR0cHM6Ly9jb2RlcGVuLmlvL2Fhcm9uaWtlci9wZW4vWkVZb3hFWSBieSBBYXJvbiBJa2VyLlxuTGljZW5zZTogTUlULlxuKi9cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lKSBvciAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICAvLyBib3JkZXI6IHZhcigtLWZvcm0tLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tZm9ybS0tYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmRpc2FibGVkLFxuICBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgLmlzLWRhcmstdGhlbWUgaW5wdXRbdHlwZT1jaGVja2JveF0sXG4gIC5pcy1kYXJrLXRoZW1lIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlLTkwKTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzIHtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIG91dGxpbmU6IDJweCBkb3R0ZWQgdmFyKC0tZm9ybS0tYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDVweDtcbiAgICB0b3A6IDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDdweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgLy8gYm9yZGVyOiAzcHggc29saWQgdmFyKC0tZm9ybS0tY29sb3ItdGV4dCk7XG4gICAgLy8gYm9yZGVyLXRvcDogMDtcbiAgICAvLyBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XG4gIH1cblxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIHtcbiAgICAvLyBjb2xvcjogdmFyKC0tZm9ybS0tY29sb3ItdGV4dCk7XG4gIH1cblxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzIHtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIG91dGxpbmU6IDJweCBkb3R0ZWQgdmFyKC0tZm9ybS0tYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9cmFkaW9dOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDNweDtcbiAgICB0b3A6IDNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLS1jb2xvci10ZXh0KTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQge1xuICAgIC8vIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLWZvcm0tLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDpmb2N1cyB7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDRweDtcbiAgICBvdXRsaW5lOiAycHggZG90dGVkIHZhcigtLWZvcm0tLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF0gKyBsYWJlbCxcbmlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qKlxuICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zdHlsaW5nLWNyb3NzLWJyb3dzZXItY29tcGF0aWJsZS1yYW5nZS1pbnB1dHMtY3NzL1xuKi9cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lKSBvciAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gIGlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgLyogSGlkZXMgdGhlIHNsaWRlciBzbyB0aGF0IGN1c3RvbSBzbGlkZXIgY2FuIGJlIG1hZGUgKi9cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC8qIFNwZWNpZmljIHdpZHRoIGlzIHJlcXVpcmVkIGZvciBGaXJlZm94LiAqL1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tLWNvbG9yLXJhbmdlZCk7XG4gICAgLy8gYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxMHB4O1xuICB9XG5cbiAgaW5wdXRbdHlwZT1yYW5nZV06ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvLyBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1mb3JtLS1jb2xvci1yYW5nZWQpO1xuICAgIGhlaWdodDogNDRweDtcbiAgICB3aWR0aDogNDRweDtcbiAgICAvLyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ2xvYmFsLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLy8gYm9yZGVyOiAzcHggc29saWQgdmFyKC0tZm9ybS0tY29sb3ItcmFuZ2VkKTtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgLy8gYm9yZGVyLXJhZGl1czogNnB4O1xuICAvLyBib3JkZXItd2lkdGg6IDE5cHggMDtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLy8gY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tLWNvbG9yLXJhbmdlZCk7XG4gIC8vIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZm9ybS0tY29sb3ItcmFuZ2VkKTtcbiAgLy8gYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRodW1iIHtcbiAgLy8gYm9yZGVyOiAzcHggc29saWQgdmFyKC0tZm9ybS0tY29sb3ItcmFuZ2VkKTtcbiAgaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogNDRweDtcbiAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmZpZWxkc2V0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXNlY29uZGFyeSk7XG4gIHBhZGRpbmc6IHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cblxuZmllbGRzZXQgbGVnZW5kIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1sZyk7XG59XG5cbmZpZWxkc2V0IGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbmZpZWxkc2V0IGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbn1cblxuZmllbGRzZXQgaW5wdXRbdHlwZT1yYWRpb10sXG5maWVsZHNldCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmZpZWxkc2V0IGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwsXG5maWVsZHNldCBpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1mb3JtLS1mb250LXNpemUpO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbn1cblxuOjpwbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5wb3N0LXBhc3N3b3JkLW1lc3NhZ2Uge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLWxnKTtcbn1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybV9fbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpIC8gMyk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwLjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpKTtcbn1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybV9fc3VibWl0IHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpIC8gMyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTkycHgpIHtcbiAgLnBvc3QtcGFzc3dvcmQtZm9ybV9fc3VibWl0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwLjQgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xuICB9XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogQ2xhc3NpYyBlZGl0b3IgaW1hZ2VzICovXG4uZW50cnktY29udGVudCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIE1ha2Ugc3VyZSBlbWJlZHMgYW5kIGlmcmFtZXMgZml0IHRoZWlyIGNvbnRhaW5lcnMuICovXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBNZWRpYSBjYXB0aW9ucyAqL1xuZmlnY2FwdGlvbixcbi53cC1jYXB0aW9uLFxuLndwLWNhcHRpb24tdGV4dCxcbi53cC1ibG9jay1lbWJlZCBmaWdjYXB0aW9uIHtcbiAgLy8gY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWJvZHkpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbiAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWxpZ25sZWZ0IGZpZ2NhcHRpb24sXG4uYWxpZ25yaWdodCBmaWdjYXB0aW9uLFxuLmFsaWdubGVmdCAud3AtY2FwdGlvbixcbi5hbGlnbnJpZ2h0IC53cC1jYXB0aW9uLFxuLmFsaWdubGVmdCAud3AtY2FwdGlvbi10ZXh0LFxuLmFsaWducmlnaHQgLndwLWNhcHRpb24tdGV4dCxcbi5hbGlnbmxlZnQgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24sXG4uYWxpZ25yaWdodCAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFdQIFNtaWxleSAqL1xuLnBhZ2UtY29udGVudCAud3Atc21pbGV5LFxuLmVudHJ5LWNvbnRlbnQgLndwLXNtaWxleSxcbi5jb21tZW50LWNvbnRlbnQgLndwLXNtaWxleSB7XG4gIC8vIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogT3ZlciBoZXJlLCBwbGFjZSBhbnkgZWxlbWVudHMgdGhhdCBkbyBub3QgbmVlZCB0byBoYXZlIHRoZWlyIG93biBmaWxlLiAqL1xuYixcbnN0cm9uZyB7XG4gIC8vIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmRmbixcbmNpdGUsXG5lbSxcbmkge1xuICAvLyBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8qXG4gKiB0ZXh0LXVuZGVybGluZS1vZmZzZXQgZG9lc24ndCB3b3JrIGluIENocm9tZSBhdCBhbGwg8J+RjlxuICogQnV0IGxvb2tzIG5pY2UgaW4gU2FmYXJpL0ZpcmVmb3gsIHNvIGxldCdzIGtlZXAgaXQgYW5kXG4gKiBtYXliZSBDaHJvbWUgd2lsbCBzdXBwb3J0IGl0IHNvb24uXG4gKi9cbmEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8vIGNvbG9yOiB2YXIoLS13cC0tc3R5bGUtLWNvbG9yLS1saW5rLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpKTtcbiAgLy8gdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYWxsO1xufVxuXG5hOmhvdmVyIHtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbn1cblxuLnNpdGUgYTpmb2N1czpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6bm90KC53cC1ibG9jay1maWxlX19idXR0b24pIHtcbiAgLyogT25seSB2aXNpYmxlIGluIFdpbmRvd3MgSGlnaCBDb250cmFzdCBtb2RlICovXG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMXB4IGRvdHRlZCBjdXJyZW50Q29sb3I7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuXG4uaXMtZGFyay10aGVtZSAuc2l0ZSBhOmZvY3VzOm5vdCgud3AtYmxvY2stYnV0dG9uX19saW5rKTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbiksXG4uaXMtZGFyay10aGVtZSAuc2l0ZSBhOmZvY3VzOm5vdCgud3AtYmxvY2stYnV0dG9uX19saW5rKTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbikgLm1ldGEtbmF2IHtcbiAgLy8gY29sb3I6IHZhcigtLXdwLS1zdHlsZS0tY29sb3ItLWxpbmssIHZhcigtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZCkpO1xufVxuXG4uaGFzLWJhY2tncm91bmQtd2hpdGUgLnNpdGUgYTpmb2N1czpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6bm90KC53cC1ibG9jay1maWxlX19idXR0b24pIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAvLyBjb2xvcjogdmFyKC0td3AtLXN0eWxlLS1jb2xvci0tbGluaywgdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZSkpO1xufVxuXG4uaGFzLWJhY2tncm91bmQtd2hpdGUgLnNpdGUgYTpmb2N1czpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6bm90KC53cC1ibG9jay1maWxlX19idXR0b24pIC5tZXRhLW5hdiB7XG4gIC8vIGNvbG9yOiB2YXIoLS13cC0tc3R5bGUtLWNvbG9yLS1saW5rLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlKSk7XG59XG5cbi5zaXRlIGE6Zm9jdXM6bm90KC53cC1ibG9jay1idXR0b25fX2xpbmspOm5vdCgud3AtYmxvY2stZmlsZV9fYnV0dG9uKS5za2lwLWxpbmsge1xuICAvKiBPbmx5IHZpc2libGUgaW4gV2luZG93cyBIaWdoIENvbnRyYXN0IG1vZGUgKi9cbiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLnNpdGUgYTpmb2N1czpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6bm90KC53cC1ibG9jay1maWxlX19idXR0b24pLnNraXAtbGluazpmb2N1cyB7XG4gIC8vIGNvbG9yOiAjMjE3NTliO1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xufVxuXG4uc2l0ZSBhOmZvY3VzOm5vdCgud3AtYmxvY2stYnV0dG9uX19saW5rKTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbikgaW1nIHtcbiAgb3V0bGluZTogMnB4IGRvdHRlZCB2YXIoLS13cC0tc3R5bGUtLWNvbG9yLS1saW5rLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpKTtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kIC5oYXMtbGluay1jb2xvciBhLFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1saW5rLWNvbG9yIGEge1xuICAvLyBjb2xvcjogdmFyKC0td3AtLXN0eWxlLS1jb2xvci0tbGluaywgdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KSk7XG59XG5cbi8qIENhdGVnb3J5IDA1IGlzIGFsbCBhYm91dCBhZGp1c3RpbmcgdGhlIGRlZmF1bHQgYmxvY2sgc3R5bGVzIHRvIHRoZSBnaXZlbiBsYXlvdXQuIEkgb25seSBhZGRlZCB0aHJlZSBibG9ja3MgYXMgZXhhbXBsZXMuICovXG4ud3AtYmxvY2stYXVkaW8gYXVkaW86Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogNXB4O1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyoqXG4gKiBCdXR0b25cbiAqL1xuLnNpdGUgLmJ1dHRvbixcbmlucHV0W3R5cGU9c3VibWl0XSxcbmlucHV0W3R5cGU9cmVzZXRdLFxuLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLFxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWJ1dHRvbi0tbGluZS1oZWlnaHQpO1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvLyBmb250LXdlaWdodDogdmFyKC0tYnV0dG9uLS1mb250LXdlaWdodCk7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1idXR0b24tLWZvbnQtZmFtaWx5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1idXR0b24tLWZvbnQtc2l6ZSk7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC8vIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi0tYm9yZGVyLXJhZGl1cyk7XG4gIC8vIGJvcmRlcjogdmFyKC0tYnV0dG9uLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogdmFyKC0tYnV0dG9uLS1wYWRkaW5nLXZlcnRpY2FsKSB2YXIoLS1idXR0b24tLXBhZGRpbmctaG9yaXpvbnRhbCk7XG59XG5cbi5zaXRlIC5idXR0b246Zm9jdXMsXG5pbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXMsXG5pbnB1dFt0eXBlPXJlc2V0XTpmb2N1cyxcbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpmb2N1cyxcbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lLW9mZnNldDogLTZweDtcbiAgb3V0bGluZTogMnB4IGRvdHRlZCBjdXJyZW50Q29sb3I7XG59XG5cbi5pcy1kYXJrLXRoZW1lIC5zaXRlIC5idXR0b246Zm9jdXMsXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXMsXG4uaXMtZGFyay10aGVtZSBpbnB1dFt0eXBlPXJlc2V0XTpmb2N1cyxcbi5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpmb2N1cyxcbi5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4uc2l0ZSAuYnV0dG9uOmZvY3VzOm5vdCguaGFzLWJhY2tncm91bmQpLFxuaW5wdXRbdHlwZT1zdWJtaXRdOmZvY3VzOm5vdCguaGFzLWJhY2tncm91bmQpLFxuaW5wdXRbdHlwZT1yZXNldF06Zm9jdXM6bm90KC5oYXMtYmFja2dyb3VuZCksXG4ud3AtYmxvY2stc2VhcmNoX19idXR0b246Zm9jdXM6bm90KC5oYXMtYmFja2dyb3VuZCksXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXM6bm90KC5oYXMtYmFja2dyb3VuZCkge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0LWhvdmVyKTtcbn1cblxuLnNpdGUgLmJ1dHRvbjpkaXNhYmxlZCxcbmlucHV0W3R5cGU9c3VibWl0XTpkaXNhYmxlZCxcbmlucHV0W3R5cGU9cmVzZXRdOmRpc2FibGVkLFxuLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uOmRpc2FibGVkLFxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmRpc2FibGVkIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZS01MCk7XG4gIC8vIGJvcmRlci1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZS01MCk7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQtYWN0aXZlKTtcbn1cblxuLnNpdGUgLmJ1dHRvbjphY3RpdmUsXG5pbnB1dFt0eXBlPXN1Ym1pdF06YWN0aXZlLFxuaW5wdXRbdHlwZT1yZXNldF06YWN0aXZlLFxuLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19idXR0b246YWN0aXZlLFxuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbjphY3RpdmUge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0LWFjdGl2ZSk7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZC1hY3RpdmUpO1xufVxuXG4uc2l0ZSAuYnV0dG9uOmhvdmVyLFxuaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyLFxuaW5wdXRbdHlwZT1yZXNldF06aG92ZXIsXG4ud3AtYmxvY2stc2VhcmNoIC53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b246aG92ZXIge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0LWhvdmVyKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogQmxvY2sgT3B0aW9uc1xuICovXG4ud3AtYmxvY2stYnV0dG9uOm5vdCguaXMtc3R5bGUtb3V0bGluZSkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazphY3RpdmUge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0LWFjdGl2ZSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4ud3AtYmxvY2stYnV0dG9uOm5vdCguaXMtc3R5bGUtb3V0bGluZSkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQtaG92ZXIpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIC8vIGJvcmRlci1jb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLndwLWJsb2NrLWJ1dHRvbjpub3QoLmlzLXN0eWxlLW91dGxpbmUpIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1idXR0b24tLWNvbG9yLWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgcGFkZGluZzogdmFyKC0tYnV0dG9uLS1wYWRkaW5nLXZlcnRpY2FsKSB2YXIoLS1idXR0b24tLXBhZGRpbmctaG9yaXpvbnRhbCk7XG59XG5cbi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOm5vdCguaGFzLWJhY2tncm91bmQpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOm5vdCguaGFzLWJhY2tncm91bmQpOm5vdCguaGFzLXRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLWJhY2tncm91bmQpO1xuICAvLyBib3JkZXItY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZCk7XG59XG5cbi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy1iYWNrZ3JvdW5kOm5vdCguaGFzLXRleHQtY29sb3IpIHtcbiAgLy8gY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLWJhY2tncm91bmQuaGFzLWdyYXktYmFja2dyb3VuZC1jb2xvcjpub3QoLmhhcy10ZXh0LWNvbG9yKSxcbi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy1iYWNrZ3JvdW5kLmhhcy1kYXJrLWdyYXktYmFja2dyb3VuZC1jb2xvcjpub3QoLmhhcy10ZXh0LWNvbG9yKSxcbi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy1iYWNrZ3JvdW5kLmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9yOm5vdCguaGFzLXRleHQtY29sb3IpIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xufVxuXG4uaXMtZGFyay10aGVtZSAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpub3QoLmhhcy10ZXh0LWNvbG9yKS5oYXMtYmFja2dyb3VuZCB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWRhcmstZ3JheSk7XG59XG5cbi5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOm5vdCguaGFzLXRleHQtY29sb3IpLmhhcy1iYWNrZ3JvdW5kLmhhcy1ncmF5LWJhY2tncm91bmQtY29sb3IsXG4uaXMtZGFyay10aGVtZSAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpub3QoLmhhcy10ZXh0LWNvbG9yKS5oYXMtYmFja2dyb3VuZC5oYXMtZGFyay1ncmF5LWJhY2tncm91bmQtY29sb3IsXG4uaXMtZGFyay10aGVtZSAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpub3QoLmhhcy10ZXh0LWNvbG9yKS5oYXMtYmFja2dyb3VuZC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlKTtcbn1cblxuLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXRleHQtY29sb3IsXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtYmFja2dyb3VuZC5oYXMtdGV4dC1jb2xvciB7XG4gIC8vIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazphY3RpdmUsXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZCkgIWltcG9ydGFudDtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazphY3RpdmUuaGFzLXRleHQtY29sb3IsXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlci5oYXMtdGV4dC1jb2xvciB7XG4gIC8vIGJvcmRlci1jb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4ud3AtYmxvY2stYnV0dG9uIC5pcy1zdHlsZS1zcXVhcmVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAvLyBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW3N0eWxlKj1yYWRpdXNdOmZvY3VzLFxuLndwLWJsb2NrLWJ1dHRvbiBhLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tzdHlsZSo9cmFkaXVzXTpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIG91dGxpbmU6IDJweCBkb3R0ZWQgdmFyKC0tYnV0dG9uLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLndwLWJsb2NrLWNvZGUge1xuICAvLyBib3JkZXItY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItYm9yZGVyKTtcbiAgLy8gYm9yZGVyLXJhZGl1czogMDtcbiAgLy8gYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgLy8gYm9yZGVyLXdpZHRoOiAwLjFyZW07XG4gIHBhZGRpbmc6IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbn1cblxuLndwLWJsb2NrLWNvZGUgY29kZSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhzKTtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53cC1ibG9jay1jb2x1bW5zOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduZnVsbCkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLndwLWJsb2NrLWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiA+ICoge1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuNjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgycHgpIHtcbiAgLndwLWJsb2NrLWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiA+ICoge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1uID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi53cC1ibG9jay1jb2x1bW5zIC53cC1ibG9jay1jb2x1bW4gPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1uOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAuNjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MjJweCkge1xuICAud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLndwLWJsb2NrLWNvbHVtbnMuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLWNvbHVtbnMtb3ZlcmxhcCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MnB4KSB7XG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyLjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAud3AtYmxvY2stY29sdW1ucy5pcy1zdHlsZS10d2VudHl0d2VudHlvbmUtY29sdW1ucy1vdmVybGFwIC53cC1ibG9jay1jb2x1bW46bnRoLWNoaWxkKDJuKSA+IHA6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gaDE6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gaDI6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gaDM6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gaDQ6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gaDU6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gaDY6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gdWw6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gb2w6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gcHJlOm5vdCguaGFzLWJhY2tncm91bmQpIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmc6IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbiAgfVxuXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gdWw6bm90KC5oYXMtYmFja2dyb3VuZCksXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pID4gb2w6bm90KC5oYXMtYmFja2dyb3VuZCkge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygyICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpKTtcbiAgfVxuXG4gIC53cC1ibG9jay1jb2x1bW5zLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1jb2x1bW5zLW92ZXJsYXAgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMm4pLmlzLXZlcnRpY2FsbHktYWxpZ25lZC1jZW50ZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLndwLWJsb2NrLWNvbHVtbnMuYWxpZ25mdWxsIC53cC1ibG9jay1jb2x1bW4gcDpub3QoLmhhcy1iYWNrZ3JvdW5kKSxcbi53cC1ibG9jay1jb2x1bW5zLmFsaWduZnVsbCAud3AtYmxvY2stY29sdW1uIGgxOm5vdCguaGFzLWJhY2tncm91bmQpLFxuLndwLWJsb2NrLWNvbHVtbnMuYWxpZ25mdWxsIC53cC1ibG9jay1jb2x1bW4gaDI6bm90KC5oYXMtYmFja2dyb3VuZCksXG4ud3AtYmxvY2stY29sdW1ucy5hbGlnbmZ1bGwgLndwLWJsb2NrLWNvbHVtbiBoMzpub3QoLmhhcy1iYWNrZ3JvdW5kKSxcbi53cC1ibG9jay1jb2x1bW5zLmFsaWduZnVsbCAud3AtYmxvY2stY29sdW1uIGg0Om5vdCguaGFzLWJhY2tncm91bmQpLFxuLndwLWJsb2NrLWNvbHVtbnMuYWxpZ25mdWxsIC53cC1ibG9jay1jb2x1bW4gaDU6bm90KC5oYXMtYmFja2dyb3VuZCksXG4ud3AtYmxvY2stY29sdW1ucy5hbGlnbmZ1bGwgLndwLWJsb2NrLWNvbHVtbiBoNjpub3QoLmhhcy1iYWNrZ3JvdW5kKSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCk7XG59XG5cbi53cC1ibG9jay1jb3Zlcixcbi53cC1ibG9jay1jb3Zlci1pbWFnZSB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvdmVyLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgbWluLWhlaWdodDogdmFyKC0tY292ZXItLWhlaWdodCk7XG4gIG1hcmdpbi10b3A6IGluaGVyaXQ7XG4gIG1hcmdpbi1ib3R0b206IGluaGVyaXQ7XG5cbiAgLyogZGVmYXVsdCAmIGN1c3RvbSBiYWNrZ3JvdW5kLWNvbG9yICovXG5cbiAgLyogVHJlYXRpbmcgSDIgc2VwYXJhdGVseSB0byBhY2NvdW50IGZvciBsZWdhY3kgL2NvcmUgc3R5bGVzICovXG5cbiAgLyogQmxvY2sgU3R5bGVzICovXG59XG5cbi53cC1ibG9jay1jb3Zlcjpub3QoLmFsaWdud2lkZSk6bm90KC5hbGlnbmZ1bGwpLFxuLndwLWJsb2NrLWNvdmVyLWltYWdlOm5vdCguYWxpZ253aWRlKTpub3QoLmFsaWduZnVsbCkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLndwLWJsb2NrLWNvdmVyLmFsaWduZnVsbCxcbi53cC1ibG9jay1jb3Zlci1pbWFnZS5hbGlnbmZ1bGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyLWltYWdlLXRleHQsXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyLXRleHQsXG4ud3AtYmxvY2stY292ZXItaW1hZ2UgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsXG4ud3AtYmxvY2stY292ZXItaW1hZ2UgLndwLWJsb2NrLWNvdmVyLWltYWdlLXRleHQsXG4ud3AtYmxvY2stY292ZXItaW1hZ2UgLndwLWJsb2NrLWNvdmVyLXRleHQge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIgYTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6bm90KC53cC1ibG9jay1maWxlX19idXR0b24pLFxuLndwLWJsb2NrLWNvdmVyIC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0IGE6bm90KC53cC1ibG9jay1idXR0b25fX2xpbmspOm5vdCgud3AtYmxvY2stZmlsZV9fYnV0dG9uKSxcbi53cC1ibG9jay1jb3ZlciAud3AtYmxvY2stY292ZXItdGV4dCBhOm5vdCgud3AtYmxvY2stYnV0dG9uX19saW5rKTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbiksXG4ud3AtYmxvY2stY292ZXItaW1hZ2UgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIgYTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6bm90KC53cC1ibG9jay1maWxlX19idXR0b24pLFxuLndwLWJsb2NrLWNvdmVyLWltYWdlIC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0IGE6bm90KC53cC1ibG9jay1idXR0b25fX2xpbmspOm5vdCgud3AtYmxvY2stZmlsZV9fYnV0dG9uKSxcbi53cC1ibG9jay1jb3Zlci1pbWFnZSAud3AtYmxvY2stY292ZXItdGV4dCBhOm5vdCgud3AtYmxvY2stYnV0dG9uX19saW5rKTpub3QoLndwLWJsb2NrLWZpbGVfX2J1dHRvbikge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIgLmhhcy1saW5rLWNvbG9yIGEsXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyLWltYWdlLXRleHQgLmhhcy1saW5rLWNvbG9yIGEsXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyLXRleHQgLmhhcy1saW5rLWNvbG9yIGEsXG4ud3AtYmxvY2stY292ZXItaW1hZ2UgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIgLmhhcy1saW5rLWNvbG9yIGEsXG4ud3AtYmxvY2stY292ZXItaW1hZ2UgLndwLWJsb2NrLWNvdmVyLWltYWdlLXRleHQgLmhhcy1saW5rLWNvbG9yIGEsXG4ud3AtYmxvY2stY292ZXItaW1hZ2UgLndwLWJsb2NrLWNvdmVyLXRleHQgLmhhcy1saW5rLWNvbG9yIGEge1xuICAvLyBjb2xvcjogdmFyKC0td3AtLXN0eWxlLS1jb2xvci0tbGluaywgdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KSk7XG59XG5cbi53cC1ibG9jay1jb3Zlcjpub3QoW2NsYXNzKj1iYWNrZ3JvdW5kLWNvbG9yXSkgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsXG4ud3AtYmxvY2stY292ZXI6bm90KFtjbGFzcyo9YmFja2dyb3VuZC1jb2xvcl0pIC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0LFxuLndwLWJsb2NrLWNvdmVyOm5vdChbY2xhc3MqPWJhY2tncm91bmQtY29sb3JdKSAud3AtYmxvY2stY292ZXItdGV4dCxcbi53cC1ibG9jay1jb3Zlci1pbWFnZTpub3QoW2NsYXNzKj1iYWNrZ3JvdW5kLWNvbG9yXSkgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsXG4ud3AtYmxvY2stY292ZXItaW1hZ2U6bm90KFtjbGFzcyo9YmFja2dyb3VuZC1jb2xvcl0pIC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0LFxuLndwLWJsb2NrLWNvdmVyLWltYWdlOm5vdChbY2xhc3MqPWJhY2tncm91bmQtY29sb3JdKSAud3AtYmxvY2stY292ZXItdGV4dCB7XG4gIC8vIGNvbG9yOiB2YXIoLS1jb3Zlci0tY29sb3ItZm9yZWdyb3VuZCk7XG59XG5cbi53cC1ibG9jay1jb3ZlciBoMixcbi53cC1ibG9jay1jb3Zlci1pbWFnZSBoMiB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0taGVhZGluZy0tZm9udC1zaXplLWgyKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWhlYWRpbmctLWxldHRlci1zcGFjaW5nLWgyKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWhlYWRpbmctLWxpbmUtaGVpZ2h0LWgyKTtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICAvLyB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwO1xufVxuXG4ud3AtYmxvY2stY292ZXIgaDIuaGFzLXRleHQtYWxpZ24tbGVmdCxcbi53cC1ibG9jay1jb3Zlci1pbWFnZSBoMi5oYXMtdGV4dC1hbGlnbi1sZWZ0IHtcbiAgLy8gdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLndwLWJsb2NrLWNvdmVyIGgyLmhhcy10ZXh0LWFsaWduLWNlbnRlcixcbi53cC1ibG9jay1jb3Zlci1pbWFnZSBoMi5oYXMtdGV4dC1hbGlnbi1jZW50ZXIge1xuICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1ibG9jay1jb3ZlciBoMi5oYXMtdGV4dC1hbGlnbi1yaWdodCxcbi53cC1ibG9jay1jb3Zlci1pbWFnZSBoMi5oYXMtdGV4dC1hbGlnbi1yaWdodCB7XG4gIC8vIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsXG4ud3AtYmxvY2stY292ZXItaW1hZ2UgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYygyICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSkpO1xufVxuXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIgPiAqLFxuLndwLWJsb2NrLWNvdmVyLWltYWdlIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyID4gKiB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC42NjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjY2NiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC53cC1ibG9jay1jb3ZlciAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciA+ICosXG4gIC53cC1ibG9jay1jb3Zlci1pbWFnZSAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciA+ICoge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIgPiAqOmZpcnN0LWNoaWxkLFxuLndwLWJsb2NrLWNvdmVyLWltYWdlIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi53cC1ibG9jay1jb3ZlciAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciA+ICo6bGFzdC1jaGlsZCxcbi53cC1ibG9jay1jb3Zlci1pbWFnZSAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53cC1ibG9jay1jb3Zlci5hbGlnbmxlZnQsXG4ud3AtYmxvY2stY292ZXIuYWxpZ25yaWdodCxcbi53cC1ibG9jay1jb3Zlci1pbWFnZS5hbGlnbmxlZnQsXG4ud3AtYmxvY2stY292ZXItaW1hZ2UuYWxpZ25yaWdodCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi53cC1ibG9jay1jb3Zlci5hbGlnbmxlZnQgPiAqLFxuLndwLWJsb2NrLWNvdmVyLmFsaWducmlnaHQgPiAqLFxuLndwLWJsb2NrLWNvdmVyLWltYWdlLmFsaWdubGVmdCA+ICosXG4ud3AtYmxvY2stY292ZXItaW1hZ2UuYWxpZ25yaWdodCA+ICoge1xuICBtYXJnaW4tdG9wOiBjYWxjKDIgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygyICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud3AtYmxvY2stY292ZXIuaGFzLWxlZnQtY29udGVudCxcbi53cC1ibG9jay1jb3Zlci5oYXMtcmlnaHQtY29udGVudCxcbi53cC1ibG9jay1jb3Zlci1pbWFnZS5oYXMtbGVmdC1jb250ZW50LFxuLndwLWJsb2NrLWNvdmVyLWltYWdlLmhhcy1yaWdodC1jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi53cC1ibG9jay1jb3Zlci5pcy1zdHlsZS10d2VudHl0d2VudHlvbmUtYm9yZGVyLFxuLndwLWJsb2NrLWNvdmVyLWltYWdlLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1ib3JkZXIge1xuICAvLyBib3JkZXI6IGNhbGMoMyAqIHZhcigtLXNlcGFyYXRvci0taGVpZ2h0KSkgc29saWQgdmFyKC0tZ2xvYmFsLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ud3AtYmxvY2stZmlsZSBhLndwLWJsb2NrLWZpbGVfX2J1dHRvbjphY3RpdmUsXG4ud3AtYmxvY2stZmlsZSBhLndwLWJsb2NrLWZpbGVfX2J1dHRvbjpmb2N1cyxcbi53cC1ibG9jay1maWxlIGEud3AtYmxvY2stZmlsZV9fYnV0dG9uOmhvdmVyIHtcbiAgLy8gY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItdGV4dC1ob3Zlcik7XG4gIG9wYWNpdHk6IGluaGVyaXQ7XG59XG5cbi53cC1ibG9jay1maWxlIGEud3AtYmxvY2stZmlsZV9fYnV0dG9uOnZpc2l0ZWQge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0KTtcbn1cblxuLndwLWJsb2NrLWZpbGUgYS53cC1ibG9jay1maWxlX19idXR0b246dmlzaXRlZDpob3ZlciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQtaG92ZXIpO1xufVxuXG4ud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uIHtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWJ1dHRvbi0tbGluZS1oZWlnaHQpO1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvLyBmb250LXdlaWdodDogdmFyKC0tYnV0dG9uLS1mb250LXdlaWdodCk7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1idXR0b24tLWZvbnQtZmFtaWx5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1idXR0b24tLWZvbnQtc2l6ZSk7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC8vIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi0tYm9yZGVyLXJhZGl1cyk7XG4gIC8vIGJvcmRlcjogdmFyKC0tYnV0dG9uLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogdmFyKC0tYnV0dG9uLS1wYWRkaW5nLXZlcnRpY2FsKSB2YXIoLS1idXR0b24tLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lLW9mZnNldDogLTZweDtcbiAgb3V0bGluZTogMnB4IGRvdHRlZCBjdXJyZW50Q29sb3I7XG59XG5cbi5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b246Zm9jdXMge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbjpmb2N1czpub3QoLmhhcy1iYWNrZ3JvdW5kKSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQtaG92ZXIpO1xufVxuXG4ud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uOmRpc2FibGVkIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZS01MCk7XG4gIC8vIGJvcmRlci1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZS01MCk7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQtYWN0aXZlKTtcbn1cblxuLndwLWJsb2NrLWdhbGxlcnkge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWltYWdlLFxuLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogY2FsYygoMTAwJSAtIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSkgLyAyKTtcbn1cblxuLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWltYWdlIGZpZ2NhcHRpb24sXG4ud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaXRlbSBmaWdjYXB0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZSk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteHMpO1xufVxuXG4ud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaW1hZ2UgZmlnY2FwdGlvbiBhLFxuLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0gZmlnY2FwdGlvbiBhIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xufVxuXG4ud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaW1hZ2UgZmlnY2FwdGlvbiBhOmZvY3VzLFxuLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0gZmlnY2FwdGlvbiBhOmZvY3VzIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS13cC0tc3R5bGUtLWNvbG9yLS1saW5rLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpKTtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaW1hZ2UgYTpmb2N1cyBpbWcsXG4ud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaXRlbSBhOmZvY3VzIGltZyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi53cC1ibG9jay1ncm91cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogZmxvdy1yb290O1xufVxuXG4ud3AtYmxvY2stZ3JvdXA6YmVmb3JlLFxuLndwLWJsb2NrLWdyb3VwOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cblxuLndwLWJsb2NrLWdyb3VwIC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLndwLWJsb2NrLWdyb3VwIC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyID4gKiB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC42NjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjY2NiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC53cC1ibG9jay1ncm91cCAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciA+ICoge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stZ3JvdXAgLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLndwLWJsb2NrLWdyb3VwIC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndwLWJsb2NrLWdyb3VwLmhhcy1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogY2FsYygwLjY2NiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC53cC1ibG9jay1ncm91cC5oYXMtYmFja2dyb3VuZCB7XG4gICAgcGFkZGluZzogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLWJvcmRlciB7XG4gIC8vIGJvcmRlcjogY2FsYygzICogdmFyKC0tc2VwYXJhdG9yLS1oZWlnaHQpKSBzb2xpZCB2YXIoLS1nbG9iYWwtLWNvbG9yLWJvcmRlcik7XG4gIHBhZGRpbmc6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi53cC1ibG9jay1ncm91cC5oYXMtYmFja2dyb3VuZCAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciA+IC5hbGlnbmZ1bGwsXG4ud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQgLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgPiBoci53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS1kb3RzKTpub3QoLmFsaWdud2lkZSkuYWxpZ25mdWxsLFxuLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1ib3JkZXIgLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgPiAuYWxpZ25mdWxsLFxuLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1ib3JkZXIgLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgPiBoci53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS1kb3RzKTpub3QoLmFsaWdud2lkZSkuYWxpZ25mdWxsIHtcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXJlc3BvbnNpdmUtLWFsaWduZnVsbC13aWR0aCkgKyAoMiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpKTtcbiAgd2lkdGg6IGNhbGModmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25mdWxsLXdpZHRoKSArICgyICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbmg1LFxuLmg1LFxuaDYsXG4uaDYge1xuICBjbGVhcjogYm90aDtcbiAgLy8gZm9udC1mYW1pbHk6IHZhcigtLWhlYWRpbmctLWZvbnQtZmFtaWx5KTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRpbmctLWZvbnQtd2VpZ2h0KTtcbn1cblxuaDEgc3Ryb25nLFxuLmgxIHN0cm9uZyxcbmgyIHN0cm9uZyxcbi5oMiBzdHJvbmcsXG5oMyBzdHJvbmcsXG4uaDMgc3Ryb25nLFxuaDQgc3Ryb25nLFxuLmg0IHN0cm9uZyxcbmg1IHN0cm9uZyxcbi5oNSBzdHJvbmcsXG5oNiBzdHJvbmcsXG4uaDYgc3Ryb25nIHtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRpbmctLWZvbnQtd2VpZ2h0LXN0cm9uZyk7XG59XG5cbmgxLFxuLmgxIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1oZWFkaW5nLS1mb250LXNpemUtaDEpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0taGVhZGluZy0tbGV0dGVyLXNwYWNpbmctaDEpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDEpO1xufVxuXG5oMixcbi5oMiB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0taGVhZGluZy0tZm9udC1zaXplLWgyKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWhlYWRpbmctLWxldHRlci1zcGFjaW5nLWgyKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWhlYWRpbmctLWxpbmUtaGVpZ2h0LWgyKTtcbn1cblxuaDMsXG4uaDMge1xuICAvLyBmb250LXNpemU6IHZhcigtLWhlYWRpbmctLWZvbnQtc2l6ZS1oMyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1oZWFkaW5nLS1sZXR0ZXItc3BhY2luZy1oMyk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkaW5nLS1saW5lLWhlaWdodC1oMyk7XG59XG5cbmg0LFxuLmg0IHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1oZWFkaW5nLS1mb250LXNpemUtaDQpO1xuICAvLyBmb250LXdlaWdodDogdmFyKC0taGVhZGluZy0tZm9udC13ZWlnaHQtc3Ryb25nKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWhlYWRpbmctLWxldHRlci1zcGFjaW5nLWg0KTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWhlYWRpbmctLWxpbmUtaGVpZ2h0LWg0KTtcbn1cblxuaDUsXG4uaDUge1xuICAvLyBmb250LXNpemU6IHZhcigtLWhlYWRpbmctLWZvbnQtc2l6ZS1oNSk7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1oZWFkaW5nLS1mb250LXdlaWdodC1zdHJvbmcpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0taGVhZGluZy0tbGV0dGVyLXNwYWNpbmctaDUpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDUpO1xufVxuXG5oNixcbi5oNiB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0taGVhZGluZy0tZm9udC1zaXplLWg2KTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRpbmctLWZvbnQtd2VpZ2h0LXN0cm9uZyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1oZWFkaW5nLS1sZXR0ZXItc3BhY2luZy1oNik7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkaW5nLS1saW5lLWhlaWdodC1oNik7XG59XG5cbi53cC1ibG9jay1pbWFnZSB7XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24ge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWJvZHkpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbiAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpO1xufVxuXG4ud3AtYmxvY2staW1hZ2UgLmFsaWdubGVmdCB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpO1xufVxuXG4ud3AtYmxvY2staW1hZ2UgYTpmb2N1cyBpbWcge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4uZW50cnktY29udGVudCA+ICpbY2xhc3M9d3AtYmxvY2staW1hZ2VdLFxuLmVudHJ5LWNvbnRlbnQgW2NsYXNzKj1pbm5lci1jb250YWluZXJdID4gKltjbGFzcz13cC1ibG9jay1pbWFnZV0ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW50cnktY29udGVudCA+ICpbY2xhc3M9d3AtYmxvY2staW1hZ2VdICsgKixcbi5lbnRyeS1jb250ZW50IFtjbGFzcyo9aW5uZXItY29udGFpbmVyXSA+ICpbY2xhc3M9d3AtYmxvY2staW1hZ2VdICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ud3AtYmxvY2staW1hZ2UuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLWJvcmRlciBpbWcsXG4ud3AtYmxvY2staW1hZ2UuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLWltYWdlLWZyYW1lIGltZyB7XG4gIC8vIGJvcmRlcjogY2FsYygzICogdmFyKC0tc2VwYXJhdG9yLS1oZWlnaHQpKSBzb2xpZCB2YXIoLS1nbG9iYWwtLWNvbG9yLWJvcmRlcik7XG59XG5cbi53cC1ibG9jay1pbWFnZS5pcy1zdHlsZS10d2VudHl0d2VudHlvbmUtaW1hZ2UtZnJhbWUgaW1nIHtcbiAgcGFkZGluZzogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC5lbnRyeS1jb250ZW50ID4gLndwLWJsb2NrLWltYWdlID4gLmFsaWdubGVmdCxcbiAgLmVudHJ5LWNvbnRlbnQgPiAud3AtYmxvY2staW1hZ2UgPiAuYWxpZ25yaWdodCB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODFweCkge1xuICAuZW50cnktY29udGVudCA+IC53cC1ibG9jay1pbWFnZSA+IC5hbGlnbmxlZnQsXG4gIC5lbnRyeS1jb250ZW50ID4gLndwLWJsb2NrLWltYWdlID4gLmFsaWducmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtYm9keSk7XG5cbiAgLyogVmVydGljYWwgbWFyZ2lucyBsb2dpYyAqL1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtY29tbWVudHMgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1tZXRhIHtcbiAgLy8gZm9udC1mYW1pbHk6IHZhcigtLWhlYWRpbmctLWZvbnQtZmFtaWx5KTtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1jb21tZW50cyAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50LWRhdGUge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtY29tbWVudHMgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1leGNlcnB0IHAge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtYm9keSk7XG4gIG1hcmdpbjogMDtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0czpub3QoLmlzLWdyaWQpID4gbGkge1xuICBtYXJnaW4tdG9wOiBjYWxjKDEuNjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMS42NjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0czpub3QoLmlzLWdyaWQpID4gbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzOm5vdCguaXMtZ3JpZCkgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1ncmlkIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLWdyaWQgPiBsaSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtZ3JpZCA+IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLWdyaWQuY29sdW1ucy0yID4gbGk6bnRoLWxhc3QtY2hpbGQoLW4rMik6bnRoLWNoaWxkKDJuKzEpLFxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1ncmlkLmNvbHVtbnMtMiA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzIpOm50aC1jaGlsZCgybisxKSB+IGxpLFxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1ncmlkLmNvbHVtbnMtMyA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzMpOm50aC1jaGlsZCgzbisxKSxcbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtZ3JpZC5jb2x1bW5zLTMgPiBsaTpudGgtbGFzdC1jaGlsZCgtbiszKTpudGgtY2hpbGQoM24rMSkgfiBsaSxcbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtZ3JpZC5jb2x1bW5zLTQgPiBsaTpudGgtbGFzdC1jaGlsZCgtbis0KTpudGgtY2hpbGQoNG4rMSksXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLWdyaWQuY29sdW1ucy00ID4gbGk6bnRoLWxhc3QtY2hpbGQoLW4rNCk6bnRoLWNoaWxkKDRuKzEpIH4gbGksXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLWdyaWQuY29sdW1ucy01ID4gbGk6bnRoLWxhc3QtY2hpbGQoLW4rNSk6bnRoLWNoaWxkKDVuKzEpLFxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1ncmlkLmNvbHVtbnMtNSA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzUpOm50aC1jaGlsZCg1bisxKSB+IGxpLFxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1ncmlkLmNvbHVtbnMtNiA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzYpOm50aC1jaGlsZCg2bisxKSxcbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtZ3JpZC5jb2x1bW5zLTYgPiBsaTpudGgtbGFzdC1jaGlsZCgtbis2KTpudGgtY2hpbGQoNm4rMSkgfiBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMgPiBsaSA+ICoge1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuMzMzICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMC4zMzMgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cyA+IGxpID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMgPiBsaSA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1sYXRlc3QtcG9zdHMtLXRpdGxlLWZvbnQtZmFtaWx5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1sYXRlc3QtcG9zdHMtLXRpdGxlLWZvbnQtc2l6ZSk7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1oZWFkaW5nLS1mb250LXdlaWdodCk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWhlYWRpbmcpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAuMzMzICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMgLndwLWJsb2NrLWxhdGVzdC1wb3N0c19fcG9zdC1hdXRob3Ige1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1tZCk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWJvZHkpO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzIC53cC1ibG9jay1sYXRlc3QtcG9zdHNfX3Bvc3QtZGF0ZSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhzKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtYm9keSk7XG59XG5cbltjbGFzcyo9aW5uZXItY29udGFpbmVyXSAud3AtYmxvY2stbGF0ZXN0LXBvc3RzIC53cC1ibG9jay1sYXRlc3QtcG9zdHNfX3Bvc3QtZGF0ZSxcbi5oYXMtYmFja2dyb3VuZCAud3AtYmxvY2stbGF0ZXN0LXBvc3RzIC53cC1ibG9jay1sYXRlc3QtcG9zdHNfX3Bvc3QtZGF0ZSB7XG4gIC8vIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMgLndwLWJsb2NrLWxhdGVzdC1wb3N0c19fcG9zdC1leGNlcnB0LFxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cyAud3AtYmxvY2stbGF0ZXN0LXBvc3RzX19wb3N0LWZ1bGwtY29udGVudCB7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1sYXRlc3QtcG9zdHMtLWRlc2NyaXB0aW9uLWZvbnQtZmFtaWx5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1sYXRlc3QtcG9zdHMtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWJvZHkpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuNjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuYWxpZ25mdWxsIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbn1cblxuLmVudHJ5LWNvbnRlbnQgW2NsYXNzKj1pbm5lci1jb250YWluZXJdIC53cC1ibG9jay1sYXRlc3QtcG9zdHMuYWxpZ25mdWxsLFxuLmVudHJ5LWNvbnRlbnQgLmhhcy1iYWNrZ3JvdW5kIC53cC1ibG9jay1sYXRlc3QtcG9zdHMuYWxpZ25mdWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtZGl2aWRlcnMge1xuICAvLyBib3JkZXItdG9wOiBjYWxjKDMgKiB2YXIoLS1zZXBhcmF0b3ItLWhlaWdodCkpIHNvbGlkIHZhcigtLWdsb2JhbC0tY29sb3ItYm9yZGVyKTtcbiAgLy8gYm9yZGVyLWJvdHRvbTogY2FsYygzICogdmFyKC0tc2VwYXJhdG9yLS1oZWlnaHQpKSBzb2xpZCB2YXIoLS1nbG9iYWwtLWNvbG9yLWJvcmRlcik7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLWxhdGVzdC1wb3N0cy1kaXZpZGVyczpub3QoLmlzLWdyaWQpID4gbGksXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtZGl2aWRlcnMgPiBsaSB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICAvLyBib3JkZXItYm90dG9tOiB2YXIoLS1zZXBhcmF0b3ItLWhlaWdodCkgc29saWQgdmFyKC0tZ2xvYmFsLS1jb2xvci1ib3JkZXIpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtZGl2aWRlcnM6bm90KC5pcy1ncmlkKSA+IGxpOmxhc3QtY2hpbGQsXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtZGl2aWRlcnMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIC8vIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLWxhdGVzdC1wb3N0cy1kaXZpZGVycy5pcy1ncmlkIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgMCB2YXIoLS1nbG9iYWwtLWNvbG9yLWJvcmRlcik7XG4gIC8vIGJvcmRlci1ib3R0b206IGNhbGMoMiAqIHZhcigtLXNlcGFyYXRvci0taGVpZ2h0KSkgc29saWQgdmFyKC0tZ2xvYmFsLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtZGl2aWRlcnMuaXMtZ3JpZCBsaSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cblxuLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1zdHlsZS10d2VudHl0d2VudHlvbmUtbGF0ZXN0LXBvc3RzLWRpdmlkZXJzLmlzLWdyaWQgbGk6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtZGl2aWRlcnMuaXMtZ3JpZC5jb2x1bW5zLTIgbGkge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMikpO1xuICB9XG5cbiAgLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1zdHlsZS10d2VudHl0d2VudHlvbmUtbGF0ZXN0LXBvc3RzLWRpdmlkZXJzLmlzLWdyaWQuY29sdW1ucy0zIGxpIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDMpKTtcbiAgfVxuXG4gIC53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLWxhdGVzdC1wb3N0cy1kaXZpZGVycy5pcy1ncmlkLmNvbHVtbnMtNCBsaSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyA0KSk7XG4gIH1cblxuICAud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtZGl2aWRlcnMuaXMtZ3JpZC5jb2x1bW5zLTUgbGkge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gNSkpO1xuICB9XG5cbiAgLndwLWJsb2NrLWxhdGVzdC1wb3N0cy5pcy1zdHlsZS10d2VudHl0d2VudHlvbmUtbGF0ZXN0LXBvc3RzLWRpdmlkZXJzLmlzLWdyaWQuY29sdW1ucy02IGxpIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDYpKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtYm9yZGVycyBsaSB7XG4gIC8vIGJvcmRlcjogY2FsYygzICogdmFyKC0tc2VwYXJhdG9yLS1oZWlnaHQpKSBzb2xpZCB2YXIoLS1nbG9iYWwtLWNvbG9yLWJvcmRlcik7XG4gIHBhZGRpbmc6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpO1xufVxuXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1sYXRlc3QtcG9zdHMtYm9yZGVycyBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLWxhdGVzdC1wb3N0cy1ib3JkZXJzOm5vdCguaXMtZ3JpZCkgbGkge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmdhbGxlcnktaXRlbSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5nYWxsZXJ5LWl0ZW0gYTpmb2N1cyBpbWcge1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDMzLjMzJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDIwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDE2LjY2JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDE0LjI4JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDEyLjUlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMTEuMTElO1xufVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmZpZ3VyZS53cC1jYXB0aW9uIGE6Zm9jdXMgaW1nIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxudWwsXG5vbCB7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1saXN0LS1mb250LWZhbWlseSk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xufVxuXG51bC5hbGlnbmNlbnRlcixcbm9sLmFsaWduY2VudGVyIHtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBwYWRkaW5nOiAwO1xufVxuXG51bC5hbGlnbnJpZ2h0LFxub2wuYWxpZ25yaWdodCB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgLy8gdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuZHQge1xuICAvLyBmb250LWZhbWlseTogdmFyKC0tZGVmaW5pdGlvbi10ZXJtLS1mb250LWZhbWlseSk7XG4gIC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xufVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dCB7XG4gIC8qKlxuICAgKiBCbG9jayBPcHRpb25zXG4gICAqL1xufVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dC5hbGlnbmZ1bGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dCBhOmZvY3VzIGltZyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCB7XG4gIHBhZGRpbmc6IHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1OTJweCkge1xuICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCB7XG4gICAgcGFkZGluZzogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCA+ICoge1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuNjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMC42NjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCA+ICoge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgycHgpIHtcbiAgLndwLWJsb2NrLW1lZGlhLXRleHQuaXMtc3RhY2tlZC1vbi1tb2JpbGUgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICB9XG59XG5cbi53cC1ibG9jay1tZWRpYS10ZXh0LmlzLXN0eWxlLXR3ZW50eXR3ZW50eW9uZS1ib3JkZXIge1xuICAvLyBib3JkZXI6IGNhbGMoMyAqIHZhcigtLXNlcGFyYXRvci0taGVpZ2h0KSkgc29saWQgdmFyKC0tZ2xvYmFsLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbiAud3AtYmxvY2stbmF2aWdhdGlvbi1saW5rIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLndwLWJsb2NrLW5hdmlnYXRpb24gLndwLWJsb2NrLW5hdmlnYXRpb24tbGluayAud3AtYmxvY2stbmF2aWdhdGlvbi1saW5rX19jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tcHJpbWFyeS1uYXYtLXBhZGRpbmcpO1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbiAud3AtYmxvY2stbmF2aWdhdGlvbi1saW5rIC53cC1ibG9jay1uYXZpZ2F0aW9uLWxpbmtfX2xhYmVsIHtcbiAgLy8gZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktbmF2LS1mb250LWZhbWlseSk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tcHJpbWFyeS1uYXYtLWZvbnQtc2l6ZSk7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1wcmltYXJ5LW5hdi0tZm9udC13ZWlnaHQpO1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbiAud3AtYmxvY2stbmF2aWdhdGlvbi1saW5rX19zdWJtZW51LWljb24ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbiA+IC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIgLmhhcy1jaGlsZCAud3AtYmxvY2stbmF2aWdhdGlvbi1saW5rIHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbn1cblxuLndwLWJsb2NrLW5hdmlnYXRpb24gPiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIC5oYXMtY2hpbGQgLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XG4gIC8vIGJvcmRlcjogbm9uZTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXByaW1hcnktbmF2LS1wYWRkaW5nKTtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGluaGVyaXQ7XG4gIHRvcDogaW5oZXJpdDtcbn1cblxuLndwLWJsb2NrLW5hdmlnYXRpb24gPiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIC5oYXMtY2hpbGQgLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciAud3AtYmxvY2stbmF2aWdhdGlvbi1saW5rIC53cC1ibG9jay1uYXZpZ2F0aW9uLWxpbmtfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IGNhbGMoMC41ICogdmFyKC0tcHJpbWFyeS1uYXYtLXBhZGRpbmcpKSB2YXIoLS1wcmltYXJ5LW5hdi0tcGFkZGluZyk7XG59XG5cbi53cC1ibG9jay1uYXZpZ2F0aW9uID4gLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciAuaGFzLWNoaWxkIC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIgLndwLWJsb2NrLW5hdmlnYXRpb24tbGlua19fc3VibWVudS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndwLWJsb2NrLW5hdmlnYXRpb24gPiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIC5oYXMtY2hpbGQ6aG92ZXIgLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lcixcbi53cC1ibG9jay1uYXZpZ2F0aW9uID4gLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciAuaGFzLWNoaWxkOmZvY3VzLXdpdGhpbiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi53cC1ibG9jay1uYXZpZ2F0aW9uID4gLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciA+IC5oYXMtY2hpbGQgPiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ2xvYmFsLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgLy8gYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS1uYXYtLWJvcmRlci1jb2xvcik7XG59XG5cbi53cC1ibG9jay1uYXZpZ2F0aW9uID4gLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciA+IC5oYXMtY2hpbGQgPiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyOmJlZm9yZSxcbi53cC1ibG9jay1uYXZpZ2F0aW9uID4gLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciA+IC5oYXMtY2hpbGQgPiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIC8vIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIC8vIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1uYXYtLWJvcmRlci1jb2xvcikgdHJhbnNwYXJlbnQ7XG4gIC8vIGJvcmRlci13aWR0aDogMCA3cHggMTBweCA3cHg7XG59XG5cbi53cC1ibG9jay1uYXZpZ2F0aW9uID4gLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciA+IC5oYXMtY2hpbGQgPiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyOmFmdGVyIHtcbiAgdG9wOiAtOXB4O1xuICAvLyBib3JkZXItY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZCkgdHJhbnNwYXJlbnQ7XG59XG5cbi53cC1ibG9jay1uYXZpZ2F0aW9uOm5vdCguaGFzLWJhY2tncm91bmQpIC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbjpub3QoLmhhcy1iYWNrZ3JvdW5kKSAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbjpub3QoLmhhcy10ZXh0LWNvbG9yKSAud3AtYmxvY2stbmF2aWdhdGlvbi1saW5rID4gYTpob3Zlcixcbi53cC1ibG9jay1uYXZpZ2F0aW9uOm5vdCguaGFzLXRleHQtY29sb3IpIC53cC1ibG9jay1uYXZpZ2F0aW9uLWxpbmsgPiBhOmZvY3VzIHtcbiAgLy8gY29sb3I6IHZhcigtLXByaW1hcnktbmF2LS1jb2xvci1saW5rLWhvdmVyKTtcbn1cblxuLndwLWJsb2NrLW5hdmlnYXRpb246bm90KC5oYXMtdGV4dC1jb2xvcikgLndwLWJsb2NrLW5hdmlnYXRpb24tbGluayA+IGE6aG92ZXIge1xuICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG59XG5cbi53cC1ibG9jay1uYXZpZ2F0aW9uOm5vdCguaGFzLXRleHQtY29sb3IpIC53cC1ibG9jay1uYXZpZ2F0aW9uLWxpbmtfX2NvbnRlbnQge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG5wIHtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLXdwLS10eXBvZ3JhcGh5LS1saW5lLWhlaWdodCwgLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWJvZHkpO1xufVxuXG5wLmhhcy1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xufVxuXG5wLmhhcy10ZXh0LWNvbG9yIGEge1xuICAvLyBjb2xvcjogdmFyKC0td3AtLXN0eWxlLS1jb2xvci0tbGluaywgdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KSk7XG59XG5cbnByZS53cC1ibG9jay1wcmVmb3JtYXR0ZWQge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlIHtcbiAgcGFkZGluZzogY2FsYygyICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKSAwO1xuICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vIGJvcmRlci13aWR0aDogdmFyKC0tcHVsbHF1b3RlLS1ib3JkZXItd2lkdGgpO1xuICAvLyBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgLy8gYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIC8vIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLyoqXG4gICAqIEJsb2NrIE9wdGlvbnNcbiAgICovXG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUgYmxvY2txdW90ZTpiZWZvcmUge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xuICBjb250ZW50OiAn4oCcJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgLy8gZm9udC1zaXplOiAzcmVtO1xuICAvLyBmb250LXdlaWdodDogNTAwO1xuICAvLyBsaW5lLWhlaWdodDogMTtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSBwIHtcbiAgLy8gZm9udC1mYW1pbHk6IHZhcigtLXB1bGxxdW90ZS0tZm9udC1mYW1pbHkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLXB1bGxxdW90ZS0tZm9udC1zaXplKTtcbiAgLy8gZm9udC1zdHlsZTogdmFyKC0tcHVsbHF1b3RlLS1mb250LXN0eWxlKTtcbiAgLy8gZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXB1bGxxdW90ZS0tbGV0dGVyLXNwYWNpbmcpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tcHVsbHF1b3RlLS1saW5lLWhlaWdodCk7XG4gIG1hcmdpbjogMDtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSBhIHtcbiAgLy8gY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSAud3AtYmxvY2stcHVsbHF1b3RlX19jaXRhdGlvbixcbi53cC1ibG9jay1wdWxscXVvdGUgY2l0ZSxcbi53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHtcbiAgLy8gY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteHMpO1xuICAvLyBmb250LXN0eWxlOiB2YXIoLS1wdWxscXVvdGUtLWZvbnQtc3R5bGUpO1xuICAvLyB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZTpub3QoLmlzLXN0eWxlLXNvbGlkLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25sZWZ0Om5vdCguaXMtc3R5bGUtc29saWQtY29sb3IpIGJsb2NrcXVvdGU6YmVmb3JlLFxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmxlZnQ6bm90KC5pcy1zdHlsZS1zb2xpZC1jb2xvcikgY2l0ZSB7XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbndpZGUgPiBwLFxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbndpZGUgYmxvY2txdW90ZSB7XG4gIG1heC13aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ253aWRlLXdpZHRoKTtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmZ1bGw6bm90KC5pcy1zdHlsZS1zb2xpZC1jb2xvcikgPiBwLFxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmZ1bGw6bm90KC5pcy1zdHlsZS1zb2xpZC1jb2xvcikgYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAgY2FsYygyICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKTtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1wdWxscXVvdGUtLWNvbG9yLWZvcmVncm91bmQpO1xuICBwYWRkaW5nOiBjYWxjKDIuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG4gIC8vIGJvcmRlci13aWR0aDogdmFyKC0tcHVsbHF1b3RlLS1ib3JkZXItd2lkdGgpO1xuICAvLyBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAvLyBib3JkZXItY29sb3I6IHZhcigtLXB1bGxxdW90ZS0tYm9yZGVyLWNvbG9yKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3Ige1xuICAgIHBhZGRpbmc6IGNhbGMoNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG4gIH1cbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gIC8vIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IgYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIGJsb2NrcXVvdGUgcCB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tcHVsbHF1b3RlLS1mb250LXNpemUpO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLFxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBjaXRlLFxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBmb290ZXIge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yLmFsaWdubGVmdCxcbi53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IuYWxpZ25yaWdodCB7XG4gIHBhZGRpbmc6IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvci5hbGlnbmxlZnQgYmxvY2txdW90ZSxcbi53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IuYWxpZ25yaWdodCBibG9ja3F1b3RlIHtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xufVxuXG4ud3AtYmxvY2stcXVvdGUge1xuICAvLyBib3JkZXItbGVmdDogbm9uZTtcblxuICAvKipcbiAgICogQmxvY2sgT3B0aW9uc1xuICAgKi9cbn1cblxuLndwLWJsb2NrLXF1b3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICfigJwnO1xuICAvLyBmb250LXNpemU6IHZhcigtLXF1b3RlLS1mb250LXNpemUpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tcXVvdGUtLWxpbmUtaGVpZ2h0KTtcbiAgbGVmdDogOHB4O1xufVxuXG4uaGFzLWJhY2tncm91bmQgLndwLWJsb2NrLXF1b3RlIC53cC1ibG9jay1xdW90ZV9fY2l0YXRpb24sXG5bY2xhc3MqPWJhY2tncm91bmQtY29sb3JdIC53cC1ibG9jay1xdW90ZSAud3AtYmxvY2stcXVvdGVfX2NpdGF0aW9uLFxuW3N0eWxlKj1iYWNrZ3JvdW5kLWNvbG9yXSAud3AtYmxvY2stcXVvdGUgLndwLWJsb2NrLXF1b3RlX19jaXRhdGlvbixcbi53cC1ibG9jay1jb3ZlcltzdHlsZSo9YmFja2dyb3VuZC1pbWFnZV0gLndwLWJsb2NrLXF1b3RlIC53cC1ibG9jay1xdW90ZV9fY2l0YXRpb24sXG4uaGFzLWJhY2tncm91bmQgLndwLWJsb2NrLXF1b3RlIGNpdGUsXG5bY2xhc3MqPWJhY2tncm91bmQtY29sb3JdIC53cC1ibG9jay1xdW90ZSBjaXRlLFxuW3N0eWxlKj1iYWNrZ3JvdW5kLWNvbG9yXSAud3AtYmxvY2stcXVvdGUgY2l0ZSxcbi53cC1ibG9jay1jb3ZlcltzdHlsZSo9YmFja2dyb3VuZC1pbWFnZV0gLndwLWJsb2NrLXF1b3RlIGNpdGUsXG4uaGFzLWJhY2tncm91bmQgLndwLWJsb2NrLXF1b3RlIGZvb3RlcixcbltjbGFzcyo9YmFja2dyb3VuZC1jb2xvcl0gLndwLWJsb2NrLXF1b3RlIGZvb3RlcixcbltzdHlsZSo9YmFja2dyb3VuZC1jb2xvcl0gLndwLWJsb2NrLXF1b3RlIGZvb3Rlcixcbi53cC1ibG9jay1jb3ZlcltzdHlsZSo9YmFja2dyb3VuZC1pbWFnZV0gLndwLWJsb2NrLXF1b3RlIGZvb3RlciB7XG4gIC8vIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7XG4gIG1hcmdpbjogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkgdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAvLyBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ud3AtYmxvY2stcXVvdGUuaGFzLXRleHQtYWxpZ24tcmlnaHQgcDpiZWZvcmUge1xuICBjb250ZW50OiAn4oCdJztcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1xdW90ZS0tZm9udC1zaXplKTtcbiAgLy8gZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLXF1b3RlLS1saW5lLWhlaWdodCk7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4ud3AtYmxvY2stcXVvdGUuaGFzLXRleHQtYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpIGF1dG87XG59XG5cbi53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlLFxuLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gIC8qIFJlc2V0dGluZyBtYXJnaW5zIHRvIG1hdGNoIF9ibG9jay1jb250YWluZXIuc2NzcyAqL1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4ud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UgcCxcbi53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSBwIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1xdW90ZS0tZm9udC1zaXplLWxhcmdlKTtcbiAgLy8gZm9udC1zdHlsZTogdmFyKC0tcXVvdGUtLWZvbnQtc3R5bGUtbGFyZ2UpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tcXVvdGUtLWxpbmUtaGVpZ2h0LWxhcmdlKTtcbn1cblxuLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlOmJlZm9yZSxcbi53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZTpiZWZvcmUge1xuICAvLyBmb250LXNpemU6IHZhcigtLXF1b3RlLS1mb250LXNpemUtbGFyZ2UpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tcXVvdGUtLWxpbmUtaGVpZ2h0LWxhcmdlKTtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSk7XG59XG5cbi53cC1ibG9jay1xdW90ZS5pcy1sYXJnZS5oYXMtdGV4dC1hbGlnbi1yaWdodDpiZWZvcmUsXG4ud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2UuaGFzLXRleHQtYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlLmhhcy10ZXh0LWFsaWduLXJpZ2h0IHA6YmVmb3JlLFxuLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlLmhhcy10ZXh0LWFsaWduLXJpZ2h0IHA6YmVmb3JlIHtcbiAgY29udGVudDogJ+KAnSc7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tcXVvdGUtLWZvbnQtc2l6ZS1sYXJnZSk7XG4gIC8vIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1xdW90ZS0tbGluZS1oZWlnaHQtbGFyZ2UpO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi53cC1ibG9jay1xdW90ZS5pcy1sYXJnZSAud3AtYmxvY2stcXVvdGVfX2NpdGF0aW9uLFxuLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlIGNpdGUsXG4ud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UgZm9vdGVyLFxuLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlIC53cC1ibG9jay1xdW90ZV9fY2l0YXRpb24sXG4ud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2UgY2l0ZSxcbi53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSBmb290ZXIge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcbiAgLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlLFxuICAud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpO1xuICB9XG5cbiAgLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlOmJlZm9yZSxcbiAgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlOmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC53cC1ibG9jay1xdW90ZS5pcy1sYXJnZS5oYXMtdGV4dC1hbGlnbi1yaWdodCxcbiAgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlLmhhcy10ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpO1xuICB9XG5cbiAgLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlLmhhcy10ZXh0LWFsaWduLXJpZ2h0OmJlZm9yZSxcbiAgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLWxhcmdlLmhhcy10ZXh0LWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UuaGFzLXRleHQtYWxpZ24tY2VudGVyLFxuICAud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2UuaGFzLXRleHQtYWxpZ24tY2VudGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MXB4KSB7XG4gIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC41ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpKTtcbiAgfVxuXG4gIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodDpiZWZvcmUge1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLndwLWJsb2NrLXF1b3RlLmhhcy10ZXh0LWFsaWduLWNlbnRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLndwLWJsb2NrLXJzcyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLndwLWJsb2NrLXJzcyA+IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLndwLWJsb2NrLXJzczpub3QoLmlzLWdyaWQpID4gbGkge1xuICBtYXJnaW4tdG9wOiBjYWxjKDEuNjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMS42NjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuLndwLWJsb2NrLXJzczpub3QoLmlzLWdyaWQpID4gbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ud3AtYmxvY2stcnNzOm5vdCguaXMtZ3JpZCkgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndwLWJsb2NrLXJzcy5pcy1ncmlkID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4ud3AtYmxvY2stcnNzLmlzLWdyaWQgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndwLWJsb2NrLXJzcy5pcy1ncmlkLmNvbHVtbnMtMiA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzIpOm50aC1jaGlsZCgybisxKSxcbi53cC1ibG9jay1yc3MuaXMtZ3JpZC5jb2x1bW5zLTIgPiBsaTpudGgtbGFzdC1jaGlsZCgtbisyKTpudGgtY2hpbGQoMm4rMSkgfiBsaSxcbi53cC1ibG9jay1yc3MuaXMtZ3JpZC5jb2x1bW5zLTMgPiBsaTpudGgtbGFzdC1jaGlsZCgtbiszKTpudGgtY2hpbGQoM24rMSksXG4ud3AtYmxvY2stcnNzLmlzLWdyaWQuY29sdW1ucy0zID4gbGk6bnRoLWxhc3QtY2hpbGQoLW4rMyk6bnRoLWNoaWxkKDNuKzEpIH4gbGksXG4ud3AtYmxvY2stcnNzLmlzLWdyaWQuY29sdW1ucy00ID4gbGk6bnRoLWxhc3QtY2hpbGQoLW4rNCk6bnRoLWNoaWxkKDRuKzEpLFxuLndwLWJsb2NrLXJzcy5pcy1ncmlkLmNvbHVtbnMtNCA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzQpOm50aC1jaGlsZCg0bisxKSB+IGxpLFxuLndwLWJsb2NrLXJzcy5pcy1ncmlkLmNvbHVtbnMtNSA+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzUpOm50aC1jaGlsZCg1bisxKSxcbi53cC1ibG9jay1yc3MuaXMtZ3JpZC5jb2x1bW5zLTUgPiBsaTpudGgtbGFzdC1jaGlsZCgtbis1KTpudGgtY2hpbGQoNW4rMSkgfiBsaSxcbi53cC1ibG9jay1yc3MuaXMtZ3JpZC5jb2x1bW5zLTYgPiBsaTpudGgtbGFzdC1jaGlsZCgtbis2KTpudGgtY2hpbGQoNm4rMSksXG4ud3AtYmxvY2stcnNzLmlzLWdyaWQuY29sdW1ucy02ID4gbGk6bnRoLWxhc3QtY2hpbGQoLW4rNik6bnRoLWNoaWxkKDZuKzEpIH4gbGkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2stcnNzID4gbGkgPiAqIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwLjMzMyAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAuMzMzICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbi53cC1ibG9jay1yc3MgPiBsaSA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ud3AtYmxvY2stcnNzID4gbGkgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2stcnNzIC53cC1ibG9jay1yc3NfX2l0ZW0tdGl0bGUgPiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvLyBmb250LWZhbWlseTogdmFyKC0tbGF0ZXN0LXBvc3RzLS10aXRsZS1mb250LWZhbWlseSk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tbGF0ZXN0LXBvc3RzLS10aXRsZS1mb250LXNpemUpO1xuICAvLyBmb250LXdlaWdodDogdmFyKC0taGVhZGluZy0tZm9udC13ZWlnaHQpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1oZWFkaW5nKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjMzMyAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG4ud3AtYmxvY2stcnNzIC53cC1ibG9jay1yc3NfX2l0ZW0tYXV0aG9yIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeSk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtbWQpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1ib2R5KTtcbn1cblxuLndwLWJsb2NrLXJzcyAud3AtYmxvY2stcnNzX19pdGVtLXB1Ymxpc2gtZGF0ZSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhzKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtYm9keSk7XG59XG5cbltjbGFzcyo9aW5uZXItY29udGFpbmVyXSAud3AtYmxvY2stcnNzIC53cC1ibG9jay1yc3NfX2l0ZW0tcHVibGlzaC1kYXRlLFxuLmhhcy1iYWNrZ3JvdW5kIC53cC1ibG9jay1yc3MgLndwLWJsb2NrLXJzc19faXRlbS1wdWJsaXNoLWRhdGUge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ud3AtYmxvY2stcnNzIC53cC1ibG9jay1yc3NfX2l0ZW0tZXhjZXJwdCxcbi53cC1ibG9jay1yc3MgLndwLWJsb2NrLXJzc19faXRlbS1mdWxsLWNvbnRlbnQge1xuICAvLyBmb250LWZhbWlseTogdmFyKC0tbGF0ZXN0LXBvc3RzLS1kZXNjcmlwdGlvbi1mb250LWZhbWlseSk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tbGF0ZXN0LXBvc3RzLS1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1ib2R5KTtcbiAgbWFyZ2luLXRvcDogY2FsYygwLjY2NiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG4ud3AtYmxvY2stcnNzLmFsaWduZnVsbCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCk7XG59XG5cbi5lbnRyeS1jb250ZW50IFtjbGFzcyo9aW5uZXItY29udGFpbmVyXSAud3AtYmxvY2stcnNzLmFsaWduZnVsbCxcbi5lbnRyeS1jb250ZW50IC5oYXMtYmFja2dyb3VuZCAud3AtYmxvY2stcnNzLmFsaWduZnVsbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLndwLWJsb2NrLXNlYXJjaCB7XG4gIG1heC13aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25kZWZhdWx0LXdpZHRoKTtcbn1cblxuLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLW9ubHkuYWxpZ25jZW50ZXIgLndwLWJsb2NrLXNlYXJjaF9faW5zaWRlLXdyYXBwZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS0tZm9udC1zaXplKTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLWZvcm0tLWxhYmVsLXdlaWdodCk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSAvIDMpO1xufVxuXG4ud3AtYmxvY2stc2VhcmNoIC53cC1ibG9jay1zZWFyY2hfX2lucHV0IHtcbiAgLy8gYm9yZGVyOiB2YXIoLS1mb3JtLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWZvcm0tLWJvcmRlci1jb2xvcik7XG4gIC8vIGJvcmRlci1yYWRpdXM6IHZhcigtLWZvcm0tLWJvcmRlci1yYWRpdXMpO1xuICAvLyBjb2xvcjogdmFyKC0tZm9ybS0tY29sb3ItdGV4dCk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb3JtLS1saW5lLWhlaWdodCk7XG4gIG1heC13aWR0aDogaW5oZXJpdDtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tYnV0dG9uLS1ib3JkZXItd2lkdGgpKTtcbiAgcGFkZGluZzogdmFyKC0tZm9ybS0tc3BhY2luZy11bml0KTtcbn1cblxuLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19pbnB1dDpmb2N1cyB7XG4gIC8vIGNvbG9yOiB2YXIoLS1mb3JtLS1jb2xvci10ZXh0KTtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLS1ib3JkZXItY29sb3IpO1xufVxuXG4uaGFzLWJhY2tncm91bmQgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19pbnB1dCxcbltjbGFzcyo9YmFja2dyb3VuZC1jb2xvcl0gLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19pbnB1dCxcbltzdHlsZSo9YmFja2dyb3VuZC1jb2xvcl0gLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19pbnB1dCxcbi53cC1ibG9jay1jb3ZlcltzdHlsZSo9YmFja2dyb3VuZC1pbWFnZV0gLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19pbnB1dCB7XG4gIC8vIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uaGFzLWJhY2tncm91bmQuaGFzLWdyYXktYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIC53cC1ibG9jay1zZWFyY2hfX2lucHV0LFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1kYXJrLWdyYXktYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIC53cC1ibG9jay1zZWFyY2hfX2lucHV0LFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggLndwLWJsb2NrLXNlYXJjaF9faW5wdXQge1xuICAvLyBib3JkZXItY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xufVxuXG4ud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItdGV4dC1ob3Zlcik7XG4gIC8vIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3ZlciB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQpO1xufVxuXG4ud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbi5oYXMtaWNvbiB7XG4gIHBhZGRpbmc6IDZweCBjYWxjKDAuNSAqIHZhcigtLWJ1dHRvbi0tcGFkZGluZy1ob3Jpem9udGFsKSk7XG59XG5cbi53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLmhhcy1pY29uIHN2ZyB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1ncmF5LWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b24sXG4uaGFzLWJhY2tncm91bmQuaGFzLWRhcmstZ3JheS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xuICAvLyBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1ncmF5LWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIsXG4uaGFzLWJhY2tncm91bmQuaGFzLWRhcmstZ3JheS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uOmhvdmVyLFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uOmhvdmVyIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlKTtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xufVxuXG4uaXMtZGFyay10aGVtZSAuaGFzLWJhY2tncm91bmQuaGFzLWdyYXktYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi5pcy1kYXJrLXRoZW1lIC5oYXMtYmFja2dyb3VuZC5oYXMtZGFyay1ncmF5LWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIsXG4uaXMtZGFyay10aGVtZSAuaGFzLWJhY2tncm91bmQuaGFzLWJsYWNrLWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIge1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0KTtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kLmhhcy13aGl0ZS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1ncmVlbi1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1ibHVlLWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b24sXG4uaGFzLWJhY2tncm91bmQuaGFzLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1yZWQtYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbixcbi5oYXMtYmFja2dyb3VuZC5oYXMtb3JhbmdlLWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b24sXG4uaGFzLWJhY2tncm91bmQuaGFzLXllbGxvdy1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uIHtcbiAgLy8gYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5oYXMtYmFja2dyb3VuZC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi5oYXMtYmFja2dyb3VuZC5oYXMtZ3JlZW4tYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi5oYXMtYmFja2dyb3VuZC5oYXMtYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uOmhvdmVyLFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy1wdXJwbGUtYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi5oYXMtYmFja2dyb3VuZC5oYXMtcmVkLWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIsXG4uaGFzLWJhY2tncm91bmQuaGFzLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uOmhvdmVyLFxuLmhhcy1iYWNrZ3JvdW5kLmhhcy15ZWxsb3ctYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3ZlciB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tLWJvcmRlci1jb2xvcik7XG4gIC8vIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS0tYm9yZGVyLWNvbG9yKTtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xufVxuXG4uaXMtZGFyay10aGVtZSAuaGFzLWJhY2tncm91bmQuaGFzLXdoaXRlLWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIsXG4uaXMtZGFyay10aGVtZSAuaGFzLWJhY2tncm91bmQuaGFzLWdyZWVuLWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIsXG4uaXMtZGFyay10aGVtZSAuaGFzLWJhY2tncm91bmQuaGFzLWJsdWUtYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi5pcy1kYXJrLXRoZW1lIC5oYXMtYmFja2dyb3VuZC5oYXMtcHVycGxlLWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIsXG4uaXMtZGFyay10aGVtZSAuaGFzLWJhY2tncm91bmQuaGFzLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2ggYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uOmhvdmVyLFxuLmlzLWRhcmstdGhlbWUgLmhhcy1iYWNrZ3JvdW5kLmhhcy1vcmFuZ2UtYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi5pcy1kYXJrLXRoZW1lIC5oYXMtYmFja2dyb3VuZC5oYXMteWVsbG93LWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaCBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIge1xuICAvLyBib3JkZXItY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItdGV4dCk7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItdGV4dCk7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4ud3AtYmxvY2stc2VhcmNoLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLWluc2lkZSAud3AtYmxvY2stc2VhcmNoX19pbnNpZGUtd3JhcHBlciB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xuICAvLyBib3JkZXI6IHZhcigtLWZvcm0tLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tZm9ybS0tYm9yZGVyLWNvbG9yKTtcbiAgLy8gYm9yZGVyLXJhZGl1czogdmFyKC0tZm9ybS0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53cC1ibG9jay1zZWFyY2gud3AtYmxvY2stc2VhcmNoX19idXR0b24taW5zaWRlIC53cC1ibG9jay1zZWFyY2hfX2luc2lkZS13cmFwcGVyIC53cC1ibG9jay1zZWFyY2hfX2lucHV0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ud3AtYmxvY2stc2VhcmNoLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLWluc2lkZSAud3AtYmxvY2stc2VhcmNoX19pbnNpZGUtd3JhcHBlciAud3AtYmxvY2stc2VhcmNoX19pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBkb3R0ZWQgdmFyKC0tZm9ybS0tYm9yZGVyLWNvbG9yKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC01cHg7XG59XG5cbi5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1zZWFyY2gud3AtYmxvY2stc2VhcmNoX19idXR0b24taW5zaWRlIC53cC1ibG9jay1zZWFyY2hfX2luc2lkZS13cmFwcGVyIC53cC1ibG9jay1zZWFyY2hfX2lucHV0OmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ud3AtYmxvY2stc2VhcmNoLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLWluc2lkZS53cC1ibG9jay1zZWFyY2hfX3RleHQtYnV0dG9uIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbiB7XG4gIHBhZGRpbmc6IHZhcigtLWJ1dHRvbi0tcGFkZGluZy12ZXJ0aWNhbCkgdmFyKC0tYnV0dG9uLS1wYWRkaW5nLWhvcml6b250YWwpO1xufVxuXG4uaGFzLWJhY2tncm91bmQuaGFzLWdyYXktYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLWluc2lkZSBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b24sXG4uaGFzLWJhY2tncm91bmQuaGFzLWRhcmstZ3JheS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2gud3AtYmxvY2stc2VhcmNoX19idXR0b24taW5zaWRlIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbixcbi5oYXMtYmFja2dyb3VuZC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLWluc2lkZSBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b24ge1xuICAvLyBib3JkZXItY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC8vIGNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4uaGFzLWJhY2tncm91bmQuaGFzLWdyYXktYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLWluc2lkZSBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIsXG4uaGFzLWJhY2tncm91bmQuaGFzLWRhcmstZ3JheS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2gud3AtYmxvY2stc2VhcmNoX19idXR0b24taW5zaWRlIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi5oYXMtYmFja2dyb3VuZC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciAud3AtYmxvY2stc2VhcmNoLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLWluc2lkZSBidXR0b24ud3AtYmxvY2stc2VhcmNoX19idXR0b246aG92ZXIge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci13aGl0ZSk7XG59XG5cbi5pcy1kYXJrLXRoZW1lIC5oYXMtYmFja2dyb3VuZC5oYXMtZ3JheS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2gud3AtYmxvY2stc2VhcmNoX19idXR0b24taW5zaWRlIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbixcbi5pcy1kYXJrLXRoZW1lIC5oYXMtYmFja2dyb3VuZC5oYXMtZGFyay1ncmF5LWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaC53cC1ibG9jay1zZWFyY2hfX2J1dHRvbi1pbnNpZGUgYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uLFxuLmlzLWRhcmstdGhlbWUgLmhhcy1iYWNrZ3JvdW5kLmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2gud3AtYmxvY2stc2VhcmNoX19idXR0b24taW5zaWRlIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbiB7XG4gIC8vIGJvcmRlci1jb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0KTtcbiAgLy8gY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItdGV4dCk7XG59XG5cbi5pcy1kYXJrLXRoZW1lIC5oYXMtYmFja2dyb3VuZC5oYXMtZ3JheS1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2gud3AtYmxvY2stc2VhcmNoX19idXR0b24taW5zaWRlIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3Zlcixcbi5pcy1kYXJrLXRoZW1lIC5oYXMtYmFja2dyb3VuZC5oYXMtZGFyay1ncmF5LWJhY2tncm91bmQtY29sb3IgLndwLWJsb2NrLXNlYXJjaC53cC1ibG9jay1zZWFyY2hfX2J1dHRvbi1pbnNpZGUgYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uOmhvdmVyLFxuLmlzLWRhcmstdGhlbWUgLmhhcy1iYWNrZ3JvdW5kLmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9yIC53cC1ibG9jay1zZWFyY2gud3AtYmxvY2stc2VhcmNoX19idXR0b24taW5zaWRlIGJ1dHRvbi53cC1ibG9jay1zZWFyY2hfX2J1dHRvbjpob3ZlciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLXNlYXJjaC53cC1ibG9jay1zZWFyY2hfX2J1dHRvbi1pbnNpZGUgYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uIHtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQpO1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci10ZXh0KTtcbn1cblxuLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLXNlYXJjaC53cC1ibG9jay1zZWFyY2hfX2J1dHRvbi1pbnNpZGUgYnV0dG9uLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uOmhvdmVyIHtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQpO1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tLWNvbG9yLXRleHQpO1xuICAvLyBjb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuaHIge1xuICAvLyBib3JkZXItc3R5bGU6IG5vbmU7XG4gIC8vIGJvcmRlci1ib3R0b206IHZhcigtLXNlcGFyYXRvci0taGVpZ2h0KSBzb2xpZCB2YXIoLS1zZXBhcmF0b3ItLWJvcmRlci1jb2xvcik7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5oci53cC1ibG9jay1zZXBhcmF0b3Ige1xuICAvLyBib3JkZXItYm90dG9tOiB2YXIoLS1zZXBhcmF0b3ItLWhlaWdodCkgc29saWQgdmFyKC0tc2VwYXJhdG9yLS1ib3JkZXItY29sb3IpO1xuICBvcGFjaXR5OiAxO1xuXG4gIC8qKlxuICAgKiBCbG9jayBPcHRpb25zXG4gICAqL1xufVxuXG5oci53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS1kb3RzKTpub3QoLmFsaWdud2lkZSkge1xuICBtYXgtd2lkdGg6IHZhcigtLXJlc3BvbnNpdmUtLWFsaWduZGVmYXVsdC13aWR0aCk7XG59XG5cbmhyLndwLWJsb2NrLXNlcGFyYXRvcjpub3QoLmlzLXN0eWxlLWRvdHMpLmFsaWdud2lkZSB7XG4gIG1heC13aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ253aWRlLXdpZHRoKTtcbn1cblxuaHIud3AtYmxvY2stc2VwYXJhdG9yOm5vdCguaXMtc3R5bGUtZG90cykuYWxpZ25mdWxsIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1yZXNwb25zaXZlLS1hbGlnbmZ1bGwtd2lkdGgpO1xufVxuXG5oci53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtdHdlbnR5dHdlbnR5b25lLXNlcGFyYXRvci10aGljayB7XG4gIC8vIGJvcmRlci1ib3R0b20td2lkdGg6IGNhbGMoMyAqIHZhcigtLXNlcGFyYXRvci0taGVpZ2h0KSk7XG59XG5cbmhyLndwLWJsb2NrLXNlcGFyYXRvci5pcy1zdHlsZS1kb3RzLmhhcy1iYWNrZ3JvdW5kLFxuaHIud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLWRvdHMuaGFzLXRleHQtY29sb3Ige1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG5oci53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtZG90cy5oYXMtYmFja2dyb3VuZDpiZWZvcmUsXG5oci53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtZG90cy5oYXMtdGV4dC1jb2xvcjpiZWZvcmUge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG59XG5cbmhyLndwLWJsb2NrLXNlcGFyYXRvci5pcy1zdHlsZS1kb3RzOmJlZm9yZSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1zZXBhcmF0b3ItLWJvcmRlci1jb2xvcik7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteGwpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtc20pO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kIGhyLndwLWJsb2NrLXNlcGFyYXRvcixcbltjbGFzcyo9YmFja2dyb3VuZC1jb2xvcl0gaHIud3AtYmxvY2stc2VwYXJhdG9yLFxuW3N0eWxlKj1iYWNrZ3JvdW5kLWNvbG9yXSBoci53cC1ibG9jay1zZXBhcmF0b3IsXG4ud3AtYmxvY2stY292ZXJbc3R5bGUqPWJhY2tncm91bmQtaW1hZ2VdIGhyLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gIC8vIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ud3AtYmxvY2stc29jaWFsLWxpbmtzIGE6Zm9jdXMge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLndwLWJsb2NrLXNvY2lhbC1saW5rcy5pcy1zdHlsZS10d2VudHl0d2VudHlvbmUtc29jaWFsLWljb25zLWNvbG9yIGEge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLndwLWJsb2NrLXNvY2lhbC1saW5rcy5pcy1zdHlsZS10d2VudHl0d2VudHlvbmUtc29jaWFsLWljb25zLWNvbG9yIC53cC1zb2NpYWwtbGluayB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi53cC1ibG9jay1zcGFjZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcbiAgLndwLWJsb2NrLXNwYWNlcltzdHlsZV0ge1xuICAgIGhlaWdodDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxudGFibGUsXG4ud3AtYmxvY2stdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAyNDBweDtcbiAgLy8gYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxudGFibGUgdGhlYWQsXG50YWJsZSB0Zm9vdCxcbi53cC1ibG9jay10YWJsZSB0aGVhZCxcbi53cC1ibG9jay10YWJsZSB0Zm9vdCB7XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxudGFibGUgdGgsXG4ud3AtYmxvY2stdGFibGUgdGgge1xuICAvLyBmb250LWZhbWlseTogdmFyKC0taGVhZGluZy0tZm9udC1mYW1pbHkpO1xufVxuXG50YWJsZSB0ZCxcbnRhYmxlIHRoLFxuLndwLWJsb2NrLXRhYmxlIHRkLFxuLndwLWJsb2NrLXRhYmxlIHRoIHtcbiAgcGFkZGluZzogY2FsYygwLjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCkpO1xuICAvLyBib3JkZXI6IDFweCBzb2xpZDtcbn1cblxudGFibGUgZmlnY2FwdGlvbixcbi53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeSk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteHMpO1xufVxuXG50YWJsZS5pcy1zdHlsZS1yZWd1bGFyIC5oYXMtYmFja2dyb3VuZCxcbnRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgLmhhcy1iYWNrZ3JvdW5kLFxudGFibGUuaXMtc3R5bGUtc3RyaXBlcyAuaGFzLWJhY2tncm91bmQgdGhlYWQgdHIsXG50YWJsZS5pcy1zdHlsZS1zdHJpcGVzIC5oYXMtYmFja2dyb3VuZCB0Zm9vdCB0cixcbnRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgLmhhcy1iYWNrZ3JvdW5kIHRib2R5IHRyLFxuLndwLWJsb2NrLXRhYmxlLmlzLXN0eWxlLXJlZ3VsYXIgLmhhcy1iYWNrZ3JvdW5kLFxuLndwLWJsb2NrLXRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgLmhhcy1iYWNrZ3JvdW5kLFxuLndwLWJsb2NrLXRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgLmhhcy1iYWNrZ3JvdW5kIHRoZWFkIHRyLFxuLndwLWJsb2NrLXRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgLmhhcy1iYWNrZ3JvdW5kIHRmb290IHRyLFxuLndwLWJsb2NrLXRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgLmhhcy1iYWNrZ3JvdW5kIHRib2R5IHRyIHtcbiAgLy8gY29sb3I6IHZhcigtLXRhYmxlLS1oYXMtYmFja2dyb3VuZC10ZXh0LWNvbG9yKTtcbn1cblxudGFibGUuaXMtc3R5bGUtc3RyaXBlcyxcbi53cC1ibG9jay10YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHtcbiAgLy8gYm9yZGVyLWNvbG9yOiB2YXIoLS10YWJsZS0tc3RyaXBlcy1ib3JkZXItY29sb3IpO1xufVxuXG50YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHRoLFxudGFibGUuaXMtc3R5bGUtc3RyaXBlcyB0ZCxcbi53cC1ibG9jay10YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHRoLFxuLndwLWJsb2NrLXRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgdGQge1xuICAvLyBib3JkZXItd2lkdGg6IDA7XG59XG5cbnRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCksXG4ud3AtYmxvY2stdGFibGUuaXMtc3R5bGUtc3RyaXBlcyB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRhYmxlLS1zdHJpcGVzLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG50YWJsZS5pcy1zdHlsZS1zdHJpcGVzIC5oYXMtYmFja2dyb3VuZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSxcbi53cC1ibG9jay10YWJsZS5pcy1zdHlsZS1zdHJpcGVzIC5oYXMtYmFja2dyb3VuZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUtOTApO1xufVxuXG50YWJsZS53cC1jYWxlbmRhci10YWJsZSB0ZCxcbnRhYmxlLndwLWNhbGVuZGFyLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC8vIGJvcmRlcjogMDtcbiAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICAvLyBsaW5lLWhlaWdodDogMjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd29yZC1icmVhazogbm9ybWFsO1xufVxuXG50YWJsZS53cC1jYWxlbmRhci10YWJsZSB0aCB7XG4gIC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG50YWJsZS53cC1jYWxlbmRhci10YWJsZSB0aGVhZCxcbnRhYmxlLndwLWNhbGVuZGFyLXRhYmxlIHRib2R5IHtcbiAgLy8gY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gYm9yZGVyOiAxcHggc29saWQ7XG59XG5cbnRhYmxlLndwLWNhbGVuZGFyLXRhYmxlIGNhcHRpb24ge1xuICAvLyBmb250LXdlaWdodDogYm9sZDtcbiAgLy8gdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ud3AtY2FsZW5kYXItbmF2IHtcbiAgLy8gdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCkgLyAyKTtcbn1cblxuLndwLWNhbGVuZGFyLW5hdiBzdmcge1xuICBoZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLndwLWNhbGVuZGFyLW5hdiBzdmcgcGF0aCB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLndwLWNhbGVuZGFyLW5hdiAud3AtY2FsZW5kYXItbmF2LW5leHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi53cC1ibG9jay10YWctY2xvdWQuYWxpZ25mdWxsIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KTtcbn1cblxuLndwLWJsb2NrLXZlcnNlIHtcbiAgLy8gZm9udC1mYW1pbHk6IHZhcigtLWVudHJ5LWNvbnRlbnQtLWZvbnQtZmFtaWx5KTtcbn1cblxuLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24ge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC41ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xuICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiogPiBmaWd1cmUgPiB2aWRlbyB7XG4gIG1heC13aWR0aDogdW5zZXQ7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG46cm9vdCAuaXMtZXh0cmEtc21hbGwtdGV4dCxcbjpyb290IC5oYXMtZXh0cmEtc21hbGwtZm9udC1zaXplIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG59XG5cbjpyb290IC5pcy1zbWFsbC10ZXh0LFxuOnJvb3QgLmhhcy1zbWFsbC1mb250LXNpemUge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcbn1cblxuOnJvb3QgLmlzLXJlZ3VsYXItdGV4dCxcbjpyb290IC5oYXMtcmVndWxhci1mb250LXNpemUsXG46cm9vdCAuaXMtbm9ybWFsLWZvbnQtc2l6ZSxcbjpyb290IC5oYXMtbm9ybWFsLWZvbnQtc2l6ZSxcbjpyb290IC5oYXMtbWVkaXVtLWZvbnQtc2l6ZSB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtYmFzZSk7XG59XG5cbjpyb290IC5pcy1sYXJnZS10ZXh0LFxuOnJvb3QgLmhhcy1sYXJnZS1mb250LXNpemUge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLWxnKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtaGVhZGluZyk7XG59XG5cbjpyb290IC5pcy1sYXJnZXItdGV4dCxcbjpyb290IC5oYXMtbGFyZ2VyLWZvbnQtc2l6ZSxcbjpyb290IC5pcy1leHRyYS1sYXJnZS10ZXh0LFxuOnJvb3QgLmhhcy1leHRyYS1sYXJnZS1mb250LXNpemUge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhsKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtaGVhZGluZyk7XG59XG5cbjpyb290IC5pcy1odWdlLXRleHQsXG46cm9vdCAuaGFzLWh1Z2UtZm9udC1zaXplIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14eGwpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1oZWFkaW5nKTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRpbmctLWZvbnQtd2VpZ2h0LXBhZ2UtdGl0bGUpO1xufVxuXG46cm9vdCAuaXMtZ2lnYW50aWMtdGV4dCxcbjpyb290IC5oYXMtZ2lnYW50aWMtZm9udC1zaXplIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14eHhsKTtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtaGVhZGluZyk7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1oZWFkaW5nLS1mb250LXdlaWdodC1wYWdlLXRpdGxlKTtcbn1cblxuLyogQmxvY2sgQWxpZ25tZW50cyAqL1xuXG4vKipcbiAqIFRoZXNlIHNlbGVjdG9ycyBzZXQgdGhlIGRlZmF1bHQgbWF4IHdpZHRoIGZvciBjb250ZW50IGFwcGVhcmluZyBpbnNpZGUgYSBwb3N0IG9yIHBhZ2UuXG4gKi9cblxuLyoqXG4gKiAuYWxpZ25sZWZ0XG4gKi9cbi5hbGlnbmxlZnQge1xuICAvKiBydGw6aWdub3JlICovXG4gIC8vIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5lbnRyeS1jb250ZW50ID4gLmFsaWdubGVmdCB7XG4gIG1heC13aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25kZWZhdWx0LXdpZHRoKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuYWxpZ25sZWZ0IHtcbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxuXG4gIC5lbnRyeS1jb250ZW50ID4gLmFsaWdubGVmdCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLXJlc3BvbnNpdmUtLWFsaWdubGVmdC1tYXJnaW4pKTtcbiAgfVxufVxuXG4vKipcbiAqIC5hbGlnbmNlbnRlclxuICovXG4uYWxpZ25jZW50ZXIge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qKlxuICogLmFsaWducmlnaHRcbiAqL1xuLmFsaWducmlnaHQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4uZW50cnktY29udGVudCA+IC5hbGlnbnJpZ2h0IHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1yZXNwb25zaXZlLS1hbGlnbmRlZmF1bHQtd2lkdGgpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC5hbGlnbnJpZ2h0IHtcbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgLyogcnRsOmlnbm9yZSAqL1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIH1cblxuICAuZW50cnktY29udGVudCA+IC5hbGlnbnJpZ2h0IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25yaWdodC1tYXJnaW4pKTtcbiAgfVxufVxuXG5bY2xhc3MqPWlubmVyLWNvbnRhaW5lcl0gPiAuYWxpZ25sZWZ0ICsgKixcbltjbGFzcyo9aW5uZXItY29udGFpbmVyXSA+IC5hbGlnbnJpZ2h0ICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qKlxuICogLmFsaWdud2lkZVxuICovXG4uYWxpZ253aWRlIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qKlxuICogLmFsaWduZnVsbFxuICovXG4uYWxpZ25mdWxsIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5oYXMtbGVmdC1jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uaGFzLXJpZ2h0LWNvbnRlbnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uaGFzLXBhcmFsbGF4IHtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbn1cblxuLmhhcy1kcm9wLWNhcDpub3QoOmZvY3VzKTpmaXJzdC1sZXR0ZXIge1xuICAvLyBmb250LWZhbWlseTogdmFyKC0taGVhZGluZy0tZm9udC1mYW1pbHkpO1xuICAvLyBmb250LXdlaWdodDogdmFyKC0taGVhZGluZy0tZm9udC13ZWlnaHQpO1xuICAvLyBsaW5lLWhlaWdodDogMC42NjtcbiAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLy8gZm9udC1zdHlsZTogbm9ybWFsO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwLjFlbSAwLjFlbSAwIDA7XG4gIC8vIGZvbnQtc2l6ZTogY2FsYygxLjIgKiB2YXIoLS1oZWFkaW5nLS1mb250LXNpemUtaDEpKTtcbn1cblxuLmhhcy1kcm9wLWNhcDpub3QoOmZvY3VzKTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xufVxuXG4uZGVza3RvcC1vbmx5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuZGVza3RvcC1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vKiBDYXRlZ29yeSAwNiBjb250YWlucyBhbGwgXCJiaWdnZXJcIiBjb21wb25lbnRzIHdoaWNoIGNvbnRhaW4gZWxlbWVudHMgb2YgdGhlIHByZXZpb3VzIHR3byBjYXRlZ29yaWVzIGxpa2UgaGVhZGVyLCBmb290ZXIsIHBhZ2UgdGVtcGxhdGUsIHNpbmdsZSB0ZW1wbGF0ZSwgY29tbWVudHMgc2VjdGlvbiwgYXJjaGl2ZXMsIC4uLiAqL1xuLnNpdGUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcm93LWdhcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLndwLWN1c3RvbS1sb2dvIC5zaXRlLWhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgycHgpIHtcbiAgLnNpdGUtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpIC8gMC43NSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MjJweCkge1xuICAuc2l0ZS1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDIuNCAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xuICB9XG59XG5cbi5zaXRlLWJyYW5kaW5nIHtcbiAgLy8gY29sb3I6IHZhcigtLWJyYW5kaW5nLS1jb2xvci10ZXh0KTtcbiAgbWFyZ2luLXJpZ2h0OiAxNDBweDtcbn1cblxuLnNpdGUtYnJhbmRpbmc6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuc2l0ZS1icmFuZGluZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBpbml0aWFsO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxufVxuXG4uc2l0ZS10aXRsZSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1icmFuZGluZy0tY29sb3ItbGluayk7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1icmFuZGluZy0tdGl0bGUtLWZvbnQtZmFtaWx5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1icmFuZGluZy0tdGl0bGUtLWZvbnQtc2l6ZS1tb2JpbGUpO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAvLyB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYnJhbmRpbmctLXRpdGxlLS10ZXh0LXRyYW5zZm9ybSk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWhlYWRpbmcpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkgLyA2KTtcbn1cblxuLnNpdGUtdGl0bGUgYSB7XG4gIC8vIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1icmFuZGluZy0tdGl0bGUtLWZvbnQtd2VpZ2h0KTtcbn1cblxuLnNpdGUtdGl0bGUgYTpsaW5rLFxuLnNpdGUtdGl0bGUgYTp2aXNpdGVkLFxuLnNpdGUtdGl0bGUgYTphY3RpdmUge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uc2l0ZS10aXRsZSBhOmhvdmVyLFxuLnNpdGUtdGl0bGUgYTpmb2N1cyB7XG4gIC8vIGNvbG9yOiB2YXIoLS1icmFuZGluZy0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgycHgpIHtcbiAgLnNpdGUtdGl0bGUge1xuICAgIC8vIGZvbnQtc2l6ZTogdmFyKC0tYnJhbmRpbmctLXRpdGxlLS1mb250LXNpemUpO1xuICB9XG59XG5cbi5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgLy8gY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gZm9udC1mYW1pbHk6IHZhcigtLWJyYW5kaW5nLS1kZXNjcmlwdGlvbi0tZm9udC1mYW1pbHkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLWJyYW5kaW5nLS1kZXNjcmlwdGlvbi0tZm9udC1zaXplKTtcbiAgLy8gbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuYS5jdXN0b20tbG9nby1saW5rIHtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uaGFzLWJhY2tncm91bmQtd2hpdGUgYS5jdXN0b20tbG9nby1saW5rOmZvY3VzLFxuLmlzLWRhcmstdGhlbWUgYS5jdXN0b20tbG9nby1saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnNpdGUtdGl0bGUgPiBhIHtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5zaXRlLWxvZ28ge1xuICBtYXJnaW46IGNhbGModmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSAvIDIpIDA7XG59XG5cbi5zaXRlLWhlYWRlciA+IC5zaXRlLWxvZ28ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSAqIDEuNSk7XG4gIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2l0ZS1sb2dvIC5jdXN0b20tbG9nbyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogdmFyKC0tYnJhbmRpbmctLWxvZ28tLW1heC13aWR0aC1tb2JpbGUpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1icmFuZGluZy0tbG9nby0tbWF4LWhlaWdodC1tb2JpbGUpO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgycHgpIHtcbiAgLnNpdGUtbG9nbyAuY3VzdG9tLWxvZ28ge1xuICAgIG1heC13aWR0aDogdmFyKC0tYnJhbmRpbmctLWxvZ28tLW1heC13aWR0aCk7XG4gICAgbWF4LWhlaWdodDogdmFyKC0tYnJhbmRpbmctLWxvZ28tLW1heC1oZWlnaHQpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MXB4KSB7XG4gIC5zaXRlLWhlYWRlci5oYXMtbG9nbzpub3QoLmhhcy10aXRsZS1hbmQtdGFnbGluZSkuaGFzLW1lbnUgLnNpdGUtbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDAuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdG9wOiB2YXIoLS1nbG9iYWwtLWFkbWluLWJhci0taGVpZ2h0KTtcbiAgfVxuXG4gIC5wcmltYXJ5LW5hdmlnYXRpb24tb3BlbiAuc2l0ZS1oZWFkZXIuaGFzLWxvZ286bm90KC5oYXMtdGl0bGUtYW5kLXRhZ2xpbmUpLmhhcy1tZW51IC5zaXRlLWxvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2l0ZS1oZWFkZXIuaGFzLWxvZ286bm90KC5oYXMtdGl0bGUtYW5kLXRhZ2xpbmUpLmhhcy1tZW51IC5zaXRlLWxvZ28gaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKHZhcigtLWJ1dHRvbi0tcGFkZGluZy12ZXJ0aWNhbCkgLSAoMC4yNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSkgKyAxLjdlbSk7XG4gIH1cblxuICAuc2l0ZS1oZWFkZXIuaGFzLWxvZ28uaGFzLXRpdGxlLWFuZC10YWdsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIC5zaXRlLWhlYWRlci5oYXMtbG9nby5oYXMtdGl0bGUtYW5kLXRhZ2xpbmUuaGFzLW1lbnUge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5zaXRlLWhlYWRlci5oYXMtbG9nby5oYXMtdGl0bGUtYW5kLXRhZ2xpbmUuaGFzLW1lbnUgLnNpdGUtYnJhbmRpbmcge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICB9XG5cbiAgLnNpdGUtaGVhZGVyLmhhcy1sb2dvLmhhcy10aXRsZS1hbmQtdGFnbGluZSAuc2l0ZS1icmFuZGluZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgYm9keTpub3QoLnByaW1hcnktbmF2aWdhdGlvbi1vcGVuKSAuc2l0ZS1oZWFkZXIuaGFzLWxvZ28uaGFzLXRpdGxlLWFuZC10YWdsaW5lOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgYm9keTpub3QoLnByaW1hcnktbmF2aWdhdGlvbi1vcGVuKSAuc2l0ZS1oZWFkZXIuaGFzLWxvZ28uaGFzLXRpdGxlLWFuZC10YWdsaW5lIC5wcmltYXJ5LW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cblxuICBib2R5Om5vdCgucHJpbWFyeS1uYXZpZ2F0aW9uLW9wZW4pIC5zaXRlLWhlYWRlci5oYXMtbG9nby5oYXMtdGl0bGUtYW5kLXRhZ2xpbmUgLm1lbnUtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMHB4IC0gdmFyKC0tYnV0dG9uLS1wYWRkaW5nLXZlcnRpY2FsKSArICgwLjI1ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKSk7XG4gIH1cblxuICBib2R5Om5vdCgucHJpbWFyeS1uYXZpZ2F0aW9uLW9wZW4pIC5zaXRlLWhlYWRlci5oYXMtbG9nby5oYXMtdGl0bGUtYW5kLXRhZ2xpbmUgLm1lbnUtYnV0dG9uLWNvbnRhaW5lciAjcHJpbWFyeS1tb2JpbGUtbWVudSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSAqIDAuNiAtIDQuNXB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSAqIDAuNiAtIDQuNXB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMHB4IC0gdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpICogMC42KTtcbiAgfVxuXG4gIC5zaXRlLWhlYWRlcjpub3QoLmhhcy1sb2dvKS5oYXMtdGl0bGUtYW5kLXRhZ2xpbmUgLnNpdGUtYnJhbmRpbmcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KTtcbiAgfVxuXG4gIC5zaXRlLWhlYWRlcjpub3QoLmhhcy1tZW51KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDEuNyAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG4ubm8td2lkZ2V0cyAuc2l0ZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiBjYWxjKDYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODFweCkge1xuICAubm8td2lkZ2V0cyAuc2l0ZS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMyAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xuICB9XG59XG5cbi5zaXRlLWZvb3RlciA+IC5zaXRlLWluZm8ge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgLy8gY29sb3I6IHZhcigtLWZvb3Rlci0tY29sb3ItdGV4dCk7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1mb290ZXItLWZvbnQtZmFtaWx5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1mb290ZXItLWZvbnQtc2l6ZSk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWJvZHkpO1xuICAvLyBib3JkZXItdG9wOiAzcHggc29saWQgdmFyKC0tZ2xvYmFsLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uc2l0ZS1mb290ZXIgPiAuc2l0ZS1pbmZvIC5zaXRlLW5hbWUge1xuICAvLyB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tYnJhbmRpbmctLXRpdGxlLS10ZXh0LXRyYW5zZm9ybSk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tYnJhbmRpbmctLXRpdGxlLS1mb250LXNpemUpO1xufVxuXG4uc2l0ZS1mb290ZXIgPiAuc2l0ZS1pbmZvIC5wb3dlcmVkLWJ5IHtcbiAgbWFyZ2luLXRvcDogY2FsYygwLjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MjJweCkge1xuICAuc2l0ZS1mb290ZXIgPiAuc2l0ZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuc2l0ZS1mb290ZXIgPiAuc2l0ZS1pbmZvIC5wb3dlcmVkLWJ5IHtcbiAgICBtYXJnaW4tdG9wOiBpbml0aWFsO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbi5zaXRlLWZvb3RlciA+IC5zaXRlLWluZm8gYSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1mb290ZXItLWNvbG9yLWxpbmspO1xufVxuXG4uc2l0ZS1mb290ZXIgPiAuc2l0ZS1pbmZvIGE6bGluayxcbi5zaXRlLWZvb3RlciA+IC5zaXRlLWluZm8gYTp2aXNpdGVkLFxuLnNpdGUtZm9vdGVyID4gLnNpdGUtaW5mbyBhOmFjdGl2ZSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1mb290ZXItLWNvbG9yLWxpbmspO1xufVxuXG4uc2l0ZS1mb290ZXIgPiAuc2l0ZS1pbmZvIGE6aG92ZXIge1xuICAvLyBjb2xvcjogdmFyKC0tZm9vdGVyLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cblxuLnNpdGUtZm9vdGVyID4gLnNpdGUtaW5mbyBhOmZvY3VzIHtcbiAgLy8gY29sb3I6IHZhcigtLWZvb3Rlci0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi5pcy1kYXJrLXRoZW1lIC5zaXRlLWZvb3RlciA+IC5zaXRlLWluZm8gYTpmb2N1cyB7XG4gIC8vIGNvbG9yOiB2YXIoLS13cC0tc3R5bGUtLWNvbG9yLS1saW5rLCB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpKTtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kLXdoaXRlIC5zaXRlLWZvb3RlciA+IC5zaXRlLWluZm8gYTpmb2N1cyB7XG4gIC8vIGNvbG9yOiB2YXIoLS13cC0tc3R5bGUtLWNvbG9yLS1saW5rLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlKSk7XG59XG5cbi5zaW5ndWxhciAuZW50cnktaGVhZGVyIHtcbiAgLy8gYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHZhcigtLWdsb2JhbC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDMgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuLmhvbWUgLmVudHJ5LWhlYWRlciB7XG4gIC8vIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2luZ3VsYXIgLmhhcy1wb3N0LXRodW1ibmFpbCAuZW50cnktaGVhZGVyIHtcbiAgLy8gYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMS4zICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5uby1yZXN1bHRzLm5vdC1mb3VuZCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDMgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuLnBhZ2UtbGlua3Mge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhZ2UtbGlua3MgLnBvc3QtcGFnZS1udW1iZXJzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAuNjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCkpO1xuICBtaW4td2lkdGg6IDQ0cHg7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi5wYWdlLWxpbmtzIC5wb3N0LXBhZ2UtbnVtYmVyczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZW50cnktdGl0bGUge1xuICAvLyBjb2xvcjogdmFyKC0tZW50cnktaGVhZGVyLS1jb2xvcik7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZW50cnktaGVhZGVyLS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0taGVhZGluZy0tbGV0dGVyLXNwYWNpbmctaDIpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0taGVhZGluZy0tbGluZS1oZWlnaHQtaDIpO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uZW50cnktdGl0bGUgYSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1lbnRyeS1oZWFkZXItLWNvbG9yLWxpbmspO1xuICAvLyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTVlbTtcbn1cblxuLmVudHJ5LXRpdGxlIGE6aG92ZXIge1xuICAvLyBjb2xvcjogdmFyKC0tZW50cnktaGVhZGVyLS1jb2xvci1ob3Zlcik7XG59XG5cbi5lbnRyeS10aXRsZSBhOmZvY3VzIHtcbiAgLy8gY29sb3I6IHZhcigtLWVudHJ5LWhlYWRlci0tY29sb3ItZm9jdXMpO1xufVxuXG4uZW50cnktdGl0bGUgYTphY3RpdmUge1xuICAvLyBjb2xvcjogdmFyKC0tZW50cnktaGVhZGVyLS1jb2xvci1saW5rKTtcbn1cblxuLnNpbmd1bGFyIC5lbnRyeS10aXRsZSB7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtcGFnZS10aXRsZSk7XG59XG5cbmgxLmVudHJ5LXRpdGxlIHtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWhlYWRpbmctLWxpbmUtaGVpZ2h0LWgxKTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRpbmctLWZvbnQtd2VpZ2h0LXBhZ2UtdGl0bGUpO1xufVxuXG4vKipcbiAqIEVudHJ5IENvbnRlbnRcbiAqL1xuLmVudHJ5LWNvbnRlbnQsXG4uZW50cnktc3VtbWFyeSB7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1lbnRyeS1jb250ZW50LS1mb250LWZhbWlseSk7XG59XG5cbi5lbnRyeS1jb250ZW50IHAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5lbnRyeS1jb250ZW50ID4gaWZyYW1lW3N0eWxlXSB7XG4gIG1hcmdpbjogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSAwICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uZW50cnktZm9vdGVyIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeSk7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogbm9uZTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZW50cnktZm9vdGVyID4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmVudHJ5LWZvb3RlciBhIHtcbiAgLy8gY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmVudHJ5LWZvb3RlciBhOmhvdmVyLFxuLmVudHJ5LWZvb3RlciBhOmZvY3VzIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG59XG5cbi5lbnRyeS1mb290ZXIgYTphY3RpdmUge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uc2l0ZS1tYWluID4gYXJ0aWNsZSA+IC5lbnRyeS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygzICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIC8vIGJvcmRlci1ib3R0b206IHZhcigtLXNlcGFyYXRvci0taGVpZ2h0KSBzb2xpZCB2YXIoLS1zZXBhcmF0b3ItLWJvcmRlci1jb2xvcik7XG59XG5cbmJvZHk6bm90KC5zaW5nbGUpIC5zaXRlLW1haW4gPiBhcnRpY2xlOmxhc3Qtb2YtdHlwZSAuZW50cnktZm9vdGVyIHtcbiAgLy8gYm9yZGVyLWJvdHRvbTogdmFyKC0tc2VwYXJhdG9yLS1oZWlnaHQpIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2luZ2xlIC5zaXRlLW1haW4gPiBhcnRpY2xlID4gLmVudHJ5LWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMy40ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMy40ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjggKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgLy8gYm9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLXNlcGFyYXRvci0tYm9yZGVyLWNvbG9yKTtcbiAgLy8gYm9yZGVyLWJvdHRvbTogdmFyKC0tc2VwYXJhdG9yLS1oZWlnaHQpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBjb2x1bW4tZ2FwOiBjYWxjKDIgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xufVxuXG4uc2luZ2xlIC5zaXRlLW1haW4gPiBhcnRpY2xlID4gLmVudHJ5LWZvb3RlciAucG9zdC10YXhvbm9taWVzLFxuLnNpbmdsZSAuc2l0ZS1tYWluID4gYXJ0aWNsZSA+IC5lbnRyeS1mb290ZXIgLmZ1bGwtc2l6ZS1saW5rIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgLy8gdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5zaW5nbGUgLnNpdGUtbWFpbiA+IGFydGljbGUgPiAuZW50cnktZm9vdGVyIC5mdWxsLXNpemUtbGluazpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbn1cblxuLnNpbmdsZSAuc2l0ZS1tYWluID4gYXJ0aWNsZSA+IC5lbnRyeS1mb290ZXIgLnBvc3RlZC1vbixcbi5zaW5nbGUgLnNpdGUtbWFpbiA+IGFydGljbGUgPiAuZW50cnktZm9vdGVyIC5ieWxpbmUsXG4uc2luZ2xlIC5zaXRlLW1haW4gPiBhcnRpY2xlID4gLmVudHJ5LWZvb3RlciAuY2F0LWxpbmtzLFxuLnNpbmdsZSAuc2l0ZS1tYWluID4gYXJ0aWNsZSA+IC5lbnRyeS1mb290ZXIgLnRhZ3MtbGlua3Mge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODFweCkge1xuICAuc2luZ2xlIC5zaXRlLW1haW4gPiBhcnRpY2xlID4gLmVudHJ5LWZvb3RlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuc2luZ2xlIC5zaXRlLW1haW4gPiBhcnRpY2xlID4gLmVudHJ5LWZvb3RlciAuZnVsbC1zaXplLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLnNpbmdsZSAuc2l0ZS1tYWluID4gYXJ0aWNsZSA+IC5lbnRyeS1mb290ZXIgLnBvc3QtdGF4b25vbWllcyxcbiAgLnNpbmdsZSAuc2l0ZS1tYWluID4gYXJ0aWNsZSA+IC5lbnRyeS1mb290ZXIgLmZ1bGwtc2l6ZS1saW5rIHtcbiAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi8qKlxuICogUG9zdCBUaHVtYm5haWxzXG4gKi9cbi5wb3N0LXRodW1ibmFpbCB7XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBvc3QtdGh1bWJuYWlsIC53cC1wb3N0LWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IGNhbGMoMiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG4vKipcbiAqIEF1dGhvclxuICovXG4uYXV0aG9yLWJpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIG1heC13aWR0aDogdmFyKC0tcmVzcG9uc2l2ZS0tYWxpZ25kZWZhdWx0LXdpZHRoKTtcbn1cblxuLnNpdGUtbWFpbiA+IGFydGljbGUgPiAuYXV0aG9yLWJpbyB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG4uYXV0aG9yLWJpby5zaG93LWF2YXRhcnMgLmF2YXRhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYXV0aG9yLWJpby5zaG93LWF2YXRhcnMgLmF1dGhvci1iaW8tY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIG1heC13aWR0aDogY2FsYyh2YXIoLS1yZXNwb25zaXZlLS1hbGlnbmRlZmF1bHQtd2lkdGgpIC0gOTBweCk7XG59XG5cbi5hdXRob3ItYmlvIC5hdXRob3ItYmlvLWNvbnRlbnQgLmF1dGhvci10aXRsZSB7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1lbnRyeS1hdXRob3ItYmlvLS1mb250LWZhbWlseSk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZW50cnktYXV0aG9yLWJpby0tZm9udC1zaXplKTtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uYXV0aG9yLWJpbyAuYXV0aG9yLWJpby1jb250ZW50IC5hdXRob3ItZGVzY3JpcHRpb24ge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhzKTtcbiAgbWFyZ2luLXRvcDogY2FsYygwLjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbn1cblxuLnBhZ2UtdGl0bGUge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXBhZ2UtdGl0bGUpO1xufVxuXG5oMS5wYWdlLXRpdGxlLFxuaDIucGFnZS10aXRsZSB7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1oZWFkaW5nLS1mb250LXdlaWdodC1wYWdlLXRpdGxlKTtcbn1cblxuaDEucGFnZS10aXRsZSB7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkaW5nLS1saW5lLWhlaWdodC1oMSk7XG59XG5cblxuLmFyY2hpdmUgLmNvbnRlbnQtYXJlYSAuZm9ybWF0LWFzaWRlIC5lbnRyeS1jb250ZW50LFxuLmFyY2hpdmUgLmNvbnRlbnQtYXJlYSAuZm9ybWF0LXN0YXR1cyAuZW50cnktY29udGVudCxcbi5hcmNoaXZlIC5jb250ZW50LWFyZWEgLmZvcm1hdC1saW5rIC5lbnRyeS1jb250ZW50LFxuLnNlYXJjaCAuY29udGVudC1hcmVhIC5mb3JtYXQtYXNpZGUgLmVudHJ5LWNvbnRlbnQsXG4uc2VhcmNoIC5jb250ZW50LWFyZWEgLmZvcm1hdC1zdGF0dXMgLmVudHJ5LWNvbnRlbnQsXG4uc2VhcmNoIC5jb250ZW50LWFyZWEgLmZvcm1hdC1saW5rIC5lbnRyeS1jb250ZW50LFxuLmJsb2cgLmNvbnRlbnQtYXJlYSAuZm9ybWF0LWFzaWRlIC5lbnRyeS1jb250ZW50LFxuLmJsb2cgLmNvbnRlbnQtYXJlYSAuZm9ybWF0LXN0YXR1cyAuZW50cnktY29udGVudCxcbi5ibG9nIC5jb250ZW50LWFyZWEgLmZvcm1hdC1saW5rIC5lbnRyeS1jb250ZW50IHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5hcmNoaXZlIC5mb3JtYXQtaW1hZ2UgLmVudHJ5LWNvbnRlbnQsXG4uYXJjaGl2ZSAuZm9ybWF0LWdhbGxlcnkgLmVudHJ5LWNvbnRlbnQsXG4uYXJjaGl2ZSAuZm9ybWF0LXZpZGVvIC5lbnRyeS1jb250ZW50LFxuLnNlYXJjaCAuZm9ybWF0LWltYWdlIC5lbnRyeS1jb250ZW50LFxuLnNlYXJjaCAuZm9ybWF0LWdhbGxlcnkgLmVudHJ5LWNvbnRlbnQsXG4uc2VhcmNoIC5mb3JtYXQtdmlkZW8gLmVudHJ5LWNvbnRlbnQsXG4uYmxvZyAuZm9ybWF0LWltYWdlIC5lbnRyeS1jb250ZW50LFxuLmJsb2cgLmZvcm1hdC1nYWxsZXJ5IC5lbnRyeS1jb250ZW50LFxuLmJsb2cgLmZvcm1hdC12aWRlbyAuZW50cnktY29udGVudCB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG4uYXJjaGl2ZSAuZW50cnktZm9vdGVyIC5jYXQtbGlua3MsXG4uYXJjaGl2ZSAuZW50cnktZm9vdGVyIC50YWdzLWxpbmtzLFxuLnNlYXJjaCAuZW50cnktZm9vdGVyIC5jYXQtbGlua3MsXG4uc2VhcmNoIC5lbnRyeS1mb290ZXIgLnRhZ3MtbGlua3MsXG4uYmxvZyAuZW50cnktZm9vdGVyIC5jYXQtbGlua3MsXG4uYmxvZyAuZW50cnktZm9vdGVyIC50YWdzLWxpbmtzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hcmNoaXZlLmxvZ2dlZC1pbiAuZW50cnktZm9vdGVyIC5wb3N0ZWQtb24sXG4uc2VhcmNoLmxvZ2dlZC1pbiAuZW50cnktZm9vdGVyIC5wb3N0ZWQtb24sXG4uYmxvZy5sb2dnZWQtaW4gLmVudHJ5LWZvb3RlciAucG9zdGVkLW9uIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG59XG5cbi5hcmNoaXZlLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14bCk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWhlYWRpbmcpO1xufVxuXG4uZXJyb3I0MDQgbWFpbiBwIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1sZyk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSAqIDEuNjY2NjY2NjY2Nyk7XG59XG5cbi5zZWFyY2gtbm8tcmVzdWx0cyAucGFnZS1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogY2FsYygzICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbi8qKlxuICogQ29tbWVudHMgV3JhcHBlclxuICovXG4uY29tbWVudHMtYXJlYSA+ICoge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4uY29tbWVudHMtYXJlYSA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uY29tbWVudHMtYXJlYSA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jb21tZW50cy1hcmVhLnNob3ctYXZhdGFycyAuYXZhdGFyIHtcbiAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbn1cblxuLmNvbW1lbnRzLWFyZWEuc2hvdy1hdmF0YXJzIC5mbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiA4NXB4O1xufVxuXG4uY29tbWVudHMtYXJlYS5zaG93LWF2YXRhcnMgLmNvbW1lbnQtbWV0YWRhdGEge1xuICBwYWRkaW5nOiA4cHggMCA5cHggODVweDtcbn1cblxuLyoqXG4gKiBDb21tZW50IFRpdGxlXG4gKi9cbi5jb21tZW50cy10aXRsZSxcbi5jb21tZW50LXJlcGx5LXRpdGxlIHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1oZWFkaW5nLS1mb250LXNpemUtaDIpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0taGVhZGluZy0tbGV0dGVyLXNwYWNpbmctaDIpO1xufVxuXG4uY29tbWVudC1yZXBseS10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmNvbW1lbnQtcmVwbHktdGl0bGUgc21hbGwgYSB7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIC8vIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgLy8gZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbn1cblxuLyogTmVzdGVkIGNvbW1lbnQgcmVwbHkgdGl0bGUgKi9cbi5jb21tZW50IC5jb21tZW50LXJlc3BvbmQgLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLWxnKTtcbn1cblxuLyoqXG4gKiBDb21tZW50IExpc3RzXG4gKi9cbi5jb21tZW50LWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jb21tZW50LWxpc3QgPiBsaSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi5jb21tZW50LWxpc3QgLmNoaWxkcmVuIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY29tbWVudC1saXN0IC5jaGlsZHJlbiA+IGxpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuY29tbWVudC1saXN0IC5kZXB0aC0yLFxuICAuY29tbWVudC1saXN0IC5kZXB0aC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNCAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb21tZW50IE1ldGFcbiAqL1xuLmNvbW1lbnQtbWV0YSAuY29tbWVudC1hdXRob3Ige1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0tZ2xvYmFsLS1saW5lLWhlaWdodC1oZWFkaW5nKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwLjI1ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAuY29tbWVudC1tZXRhIC5jb21tZW50LWF1dGhvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jb21tZW50LW1ldGEgLmNvbW1lbnQtYXV0aG9yIC5mbiB7XG4gIC8vIGZvbnQtZmFtaWx5OiB2YXIoLS1nbG9iYWwtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgLy8gZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1sZyk7XG4gIGh5cGhlbnM6IGF1dG87XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmNvbW1lbnQtbWV0YSAuY29tbWVudC1tZXRhZGF0YSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhzKTtcbiAgcGFkZGluZzogOHB4IDAgOXB4O1xufVxuXG4uY29tbWVudC1tZXRhIC5jb21tZW50LW1ldGFkYXRhIC5lZGl0LWxpbmsge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC5jb21tZW50LW1ldGEge1xuICAgIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC5jb21tZW50LW1ldGEgLmNvbW1lbnQtYXV0aG9yIHtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIH1cbn1cblxuLnJlcGx5IHtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS1zbSk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWhlYWRpbmcpO1xufVxuXG4uYnlwb3N0YXV0aG9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zYXlzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBpbmdiYWNrIC51cmwsXG4udHJhY2tiYWNrIC51cmwge1xuICAvLyBmb250LWZhbWlseTogdmFyKC0tZ2xvYmFsLS1mb250LXByaW1hcnkpO1xufVxuXG4uY29tbWVudC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDEuNyAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG4uY29tbWVudC1ib2R5ID4gKiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi5jb21tZW50LWJvZHkgLnJlcGx5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY29tbWVudC1jb250ZW50IGEge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5waW5nYmFjayAuY29tbWVudC1ib2R5LFxuLnRyYWNrYmFjayAuY29tbWVudC1ib2R5IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi5jb21tZW50LXJlc3BvbmQgPiAqIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCk7XG59XG5cbi5jb21tZW50LXJlc3BvbmQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNvbW1lbnQtcmVzcG9uZCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jb21tZW50LXJlc3BvbmQgPiAqOmxhc3QtY2hpbGQuY29tbWVudC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLmNvbW1lbnQtYXV0aG9yIHtcbiAgcGFkZGluZy10b3A6IDNweDtcbn1cblxuLmNvbW1lbnQtYXV0aG9yIC51cmwge1xuICAvLyBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uY29tbWVudC1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY29tbWVudC1mb3JtID4gKiB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG59XG5cbi5jb21tZW50LWZvcm0gLmNvbW1lbnQtbm90ZXMge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcbn1cblxuLmNvbW1lbnQtZm9ybSAuY29tbWVudC1mb3JtLXVybCxcbi5jb21tZW50LWZvcm0gLmNvbW1lbnQtZm9ybS1jb21tZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21tZW50LWZvcm0gLmNvbW1lbnQtZm9ybS1hdXRob3IsXG4uY29tbWVudC1mb3JtIC5jb21tZW50LWZvcm0tZW1haWwge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcbiAgLmNvbW1lbnQtZm9ybSAuY29tbWVudC1mb3JtLWF1dGhvcixcbiAgLmNvbW1lbnQtZm9ybSAuY29tbWVudC1mb3JtLWVtYWlsIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG59XG5cbi5jb21tZW50LWZvcm0gLmNvbW1lbnQtZm9ybS1jb29raWVzLWNvbnNlbnQgPiBsYWJlbCxcbi5jb21tZW50LWZvcm0gLmNvbW1lbnQtbm90ZXMge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXhzKTtcbiAgLy8gZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmNvbW1lbnQtZm9ybSA+IHAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCk7XG59XG5cbi5jb21tZW50LWZvcm0gPiBwOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uY29tbWVudC1mb3JtID4gcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29tbWVudC1mb3JtID4gcCBsYWJlbCxcbi5jb21tZW50LWZvcm0gPiBwIGlucHV0W3R5cGU9ZW1haWxdLFxuLmNvbW1lbnQtZm9ybSA+IHAgaW5wdXRbdHlwZT10ZXh0XSxcbi5jb21tZW50LWZvcm0gPiBwIGlucHV0W3R5cGU9dXJsXSxcbi5jb21tZW50LWZvcm0gPiBwIHRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUtc20pO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyBmb250LXdlaWdodDogdmFyKC0tZm9ybS0tbGFiZWwtd2VpZ2h0KTtcbn1cblxuLmNvbW1lbnQtZm9ybSA+IHAuY29tbWVudC1mb3JtLWNvb2tpZXMtY29uc2VudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgycHgpIHtcbiAgLmNvbW1lbnQtZm9ybSA+IHAuY29tbWVudC1mb3JtLWF1dGhvciB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKSk7XG4gIH1cblxuICAuY29tbWVudC1mb3JtID4gcC5jb21tZW50LW5vdGVzLFxuICAuY29tbWVudC1mb3JtID4gcC5sb2dnZWQtaW4tYXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5tZW51LWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjI1ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbi5tZW51LWJ1dHRvbi1jb250YWluZXIgI3ByaW1hcnktbW9iaWxlLW1lbnUge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idXR0b24tLXBhZGRpbmctdmVydGljYWwpIC0gKDAuMjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCkpKSBjYWxjKDAuNSAqIHZhcigtLWJ1dHRvbi0tcGFkZGluZy1ob3Jpem9udGFsKSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcbiAgLm1lbnUtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ubWVudS1idXR0b24tY29udGFpbmVyIC5idXR0b24uYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1wcmltYXJ5LW5hdi0tZm9udC1zaXplLWJ1dHRvbik7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1wcmltYXJ5LW5hdi0tZm9udC13ZWlnaHQtYnV0dG9uKTtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIGJvcmRlcjogbm9uZTtcbiAgLy8gY29sb3I6IHZhcigtLXByaW1hcnktbmF2LS1jb2xvci1saW5rKTtcbn1cblxuLm1lbnUtYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uLmJ1dHRvbiAuZHJvcGRvd24taWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tZW51LWJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbi5idXR0b24gLmRyb3Bkb3duLWljb24gLnN2Zy1pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMC4yNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG59XG5cbi5tZW51LWJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbi5idXR0b24gLmRyb3Bkb3duLWljb24ub3BlbiAuc3ZnLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLm1lbnUtYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uLmJ1dHRvbiAuZHJvcGRvd24taWNvbi5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZW51LWJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbi5idXR0b25bYXJpYS1leHBhbmRlZCo9dHJ1ZV0gLmRyb3Bkb3duLWljb24ub3BlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZW51LWJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbi5idXR0b25bYXJpYS1leHBhbmRlZCo9dHJ1ZV0gLmRyb3Bkb3duLWljb24uY2xvc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uaGFzLWxvZ28uaGFzLXRpdGxlLWFuZC10YWdsaW5lIC5tZW51LWJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbi5idXR0b25bYXJpYS1leHBhbmRlZCo9dHJ1ZV0gLmRyb3Bkb3duLWljb24uY2xvc2Uge1xuICBhbmltYXRpb24tbmFtZTogdHdlbnR5dHdlbnR5b25lLWNsb3NlLWJ1dHRvbi10cmFuc2l0aW9uO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG59XG5cbi5wcmltYXJ5LW5hdmlnYXRpb24tb3BlbiAubWVudS1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDUwMDtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbi1vcGVuIC5tZW51LWJ1dHRvbi1jb250YWluZXIgI3ByaW1hcnktbW9iaWxlLW1lbnUge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHZhcigtLWdsb2JhbC0tYWRtaW4tYmFyLS1oZWlnaHQpO1xuICByaWdodDogMDtcbiAgLy8gY29sb3I6IHZhcigtLXByaW1hcnktbmF2LS1jb2xvci10ZXh0KTtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1wcmltYXJ5LW5hdi0tZm9udC1zaXplKTtcbiAgLy8gbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcmltYXJ5LW5hdmlnYXRpb24gPiAucHJpbWFyeS1tZW51LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWJ1dHRvbi0tbGluZS1oZWlnaHQpICogdmFyKC0tcHJpbWFyeS1uYXYtLWZvbnQtc2l6ZS1idXR0b24pICsgNDJweCArIDVweCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MXB4KSB7XG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gPiAucHJpbWFyeS1tZW51LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB6LWluZGV4OiA0OTk7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLy8gYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuaGFzLWxvZ28uaGFzLXRpdGxlLWFuZC10YWdsaW5lIC5wcmltYXJ5LW5hdmlnYXRpb24gPiAucHJpbWFyeS1tZW51LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG5cbiAgLmFkbWluLWJhciAuaGFzLWxvZ28uaGFzLXRpdGxlLWFuZC10YWdsaW5lIC5wcmltYXJ5LW5hdmlnYXRpb24gPiAucHJpbWFyeS1tZW51LWNvbnRhaW5lciB7XG4gICAgdG9wOiB2YXIoLS1nbG9iYWwtLWFkbWluLWJhci0taGVpZ2h0KTtcbiAgfVxuXG4gIC5hZG1pbi1iYXIgLnByaW1hcnktbmF2aWdhdGlvbiA+IC5wcmltYXJ5LW1lbnUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1nbG9iYWwtLWFkbWluLWJhci0taGVpZ2h0KSk7XG4gIH1cblxuICAucHJpbWFyeS1uYXZpZ2F0aW9uID4gLnByaW1hcnktbWVudS1jb250YWluZXI6Zm9jdXMge1xuICAgIC8vIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODFweCkge1xuICAucHJpbWFyeS1uYXZpZ2F0aW9uLW9wZW4gLnByaW1hcnktbmF2aWdhdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbi1vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24gPiAucHJpbWFyeS1tZW51LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MXB4KSB7XG4gIC5wcmltYXJ5LW5hdmlnYXRpb24tb3BlbiAuaGFzLWxvZ28uaGFzLXRpdGxlLWFuZC10YWdsaW5lIC5wcmltYXJ5LW5hdmlnYXRpb24gPiAucHJpbWFyeS1tZW51LWNvbnRhaW5lciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAucHJpbWFyeS1uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAucHJpbWFyeS1uYXZpZ2F0aW9uID4gLnByaW1hcnktbWVudS1jb250YWluZXIge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAucHJpbWFyeS1uYXZpZ2F0aW9uICN0b2dnbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gPiAucHJpbWFyeS1tZW51LWNvbnRhaW5lciB1bCA+IGxpIC5zdWItbWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD1mYWxzZV0gfiB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hZG1pbi1iYXIgLnByaW1hcnktbmF2aWdhdGlvbiB7XG4gICAgdG9wOiBpbml0aWFsO1xuICB9XG5cbiAgLmFkbWluLWJhciAucHJpbWFyeS1uYXZpZ2F0aW9uID4gLnByaW1hcnktbWVudS1jb250YWluZXIge1xuICAgIHRvcDogaW5pdGlhbDtcbiAgfVxufVxuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uID4gZGl2ID4gLm1lbnUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcbiAgLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxuXG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAucHJpbWFyeS1uYXZpZ2F0aW9uID4gZGl2ID4gLm1lbnUtd3JhcHBlciBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICB9XG5cbiAgLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgbGk6bGFzdC1jaGlsZCgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgLnN1Yi1tZW51LXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogY2FsYygyICogdmFyKC0tcHJpbWFyeS1uYXYtLXBhZGRpbmcpICsgMS4xNWVtICsgMXB4KTtcbiAgd2lkdGg6IDQ0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLy8gY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gYm9yZGVyOiBub25lO1xufVxuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uID4gZGl2ID4gLm1lbnUtd3JhcHBlciAuc3ViLW1lbnUtdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXdwLS1zdHlsZS0tY29sb3ItLWxpbmssIHZhcigtLWdsb2JhbC0tY29sb3ItcHJpbWFyeSkpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MXB4KSB7XG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyIC5zdWItbWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgLnN1Yi1tZW51LXRvZ2dsZSAuaWNvbi1wbHVzLFxuLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgLnN1Yi1tZW51LXRvZ2dsZSAuaWNvbi1taW51cyB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgLnN1Yi1tZW51LXRvZ2dsZSAuaWNvbi1wbHVzIHN2Zyxcbi5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyIC5zdWItbWVudS10b2dnbGUgLmljb24tbWludXMgc3ZnIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgLnN1Yi1tZW51LXRvZ2dsZSAuaWNvbi1taW51cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyIC5zdWItbWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSAuaWNvbi1taW51cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyIC5zdWItbWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSAuaWNvbi1wbHVzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgPiBsaSA+IC5zdWItbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAucHJpbWFyeS1uYXZpZ2F0aW9uID4gZGl2ID4gLm1lbnUtd3JhcHBlciA+IGxpID4gLnN1Yi1tZW51IHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgIHotaW5kZXg6IDg4ODg4O1xuICB9XG5cbiAgLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgPiBsaSA+IC5zdWItbWVudTpiZWZvcmUsXG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyID4gbGkgPiAuc3ViLW1lbnU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGxlZnQ6IHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAvLyBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIC8vIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1uYXYtLWJvcmRlci1jb2xvcikgdHJhbnNwYXJlbnQ7XG4gICAgLy8gYm9yZGVyLXdpZHRoOiAwIDdweCAxMHB4IDdweDtcbiAgfVxuXG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyID4gbGkgPiAuc3ViLW1lbnU6YWZ0ZXIge1xuICAgIHRvcDogLTlweDtcbiAgICAvLyBib3JkZXItY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItYmFja2dyb3VuZCkgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAucHJpbWFyeS1uYXZpZ2F0aW9uID4gZGl2ID4gLm1lbnUtd3JhcHBlciA+IGxpID4gLnN1Yi1tZW51IGxpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpO1xuICB9XG5cbiAgLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgPiBsaSA+IC5zdWItbWVudS5zdWJtZW51LXJlcG9zaXRpb24tbGVmdCB7XG4gICAgLyogcnRsOmlnbm9yZSAqL1xuICAgIGxlZnQ6IDA7XG5cbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAucHJpbWFyeS1uYXZpZ2F0aW9uID4gZGl2ID4gLm1lbnUtd3JhcHBlciA+IGxpID4gLnN1Yi1tZW51LnN1Ym1lbnUtcmVwb3NpdGlvbi1sZWZ0OmJlZm9yZSxcbiAgLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgPiBsaSA+IC5zdWItbWVudS5zdWJtZW51LXJlcG9zaXRpb24tbGVmdDphZnRlciB7XG4gICAgLyogcnRsOmlnbm9yZSAqL1xuICAgIGxlZnQ6IHZhcigtLWdsb2JhbC0tc3BhY2luZy1ob3Jpem9udGFsKTtcblxuICAgIC8qIHJ0bDppZ25vcmUgKi9cbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyID4gbGkgPiAuc3ViLW1lbnUuc3VibWVudS1yZXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgcmlnaHQ6IDA7XG5cbiAgICAvKiBydGw6aWdub3JlICovXG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gPiBkaXYgPiAubWVudS13cmFwcGVyID4gbGkgPiAuc3ViLW1lbnUuc3VibWVudS1yZXBvc2l0aW9uLXJpZ2h0OmJlZm9yZSxcbiAgLnByaW1hcnktbmF2aWdhdGlvbiA+IGRpdiA+IC5tZW51LXdyYXBwZXIgPiBsaSA+IC5zdWItbWVudS5zdWJtZW51LXJlcG9zaXRpb24tcmlnaHQ6YWZ0ZXIge1xuICAgIC8qIHJ0bDppZ25vcmUgKi9cbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgLyogcnRsOmlnbm9yZSAqL1xuICAgIHJpZ2h0OiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIH1cbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gLm1lbnUtaXRlbTpob3ZlciA+IGEge1xuICAvLyBjb2xvcjogdmFyKC0tcHJpbWFyeS1uYXYtLWNvbG9yLWxpbmstaG92ZXIpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gLnByaW1hcnktbWVudS1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygwcHggLSB2YXIoLS1wcmltYXJ5LW5hdi0tcGFkZGluZykpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDBweCAtIHZhcigtLXByaW1hcnktbmF2LS1wYWRkaW5nKSk7XG4gIH1cblxuICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUtY29udGFpbmVyID4gdWwgPiAubWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLnByaW1hcnktbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51LWNvbnRhaW5lciA+IHVsID4gLm1lbnUtaXRlbSA+IGEge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcHJpbWFyeS1uYXYtLXBhZGRpbmcpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXByaW1hcnktbmF2LS1wYWRkaW5nKTtcbiAgfVxuXG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gLnByaW1hcnktbWVudS1jb250YWluZXIgPiB1bCA+IC5tZW51LWl0ZW0gPiBhICsgLnN1Yi1tZW51LXRvZ2dsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNXB4IC0gdmFyKC0tcHJpbWFyeS1uYXYtLXBhZGRpbmcpKTtcbiAgfVxufVxuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnktbmF2LS1mb250LWZhbWlseS1tb2JpbGUpO1xuICAvLyBmb250LXNpemU6IHZhcigtLXByaW1hcnktbmF2LS1mb250LXNpemUtbW9iaWxlKTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLXByaW1hcnktbmF2LS1mb250LXdlaWdodCk7XG4gIHBhZGRpbmc6IHZhcigtLXByaW1hcnktbmF2LS1wYWRkaW5nKSAwO1xuICAvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgycHgpIHtcbiAgLnByaW1hcnktbmF2aWdhdGlvbiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1uYXYtLWZvbnQtZmFtaWx5KTtcbiAgICAvLyBmb250LXNpemU6IHZhcigtLXByaW1hcnktbmF2LS1mb250LXNpemUpO1xuICAgIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1wcmltYXJ5LW5hdi0tZm9udC13ZWlnaHQpO1xuICB9XG59XG5cbi5wcmltYXJ5LW5hdmlnYXRpb24gYSArIHN2ZyB7XG4gIGZpbGw6IHZhcigtLXByaW1hcnktbmF2LS1jb2xvci10ZXh0KTtcbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiBhOmhvdmVyLFxuLnByaW1hcnktbmF2aWdhdGlvbiBhOmxpbmssXG4ucHJpbWFyeS1uYXZpZ2F0aW9uIGE6dmlzaXRlZCB7XG4gIC8vIGNvbG9yOiB2YXIoLS1wcmltYXJ5LW5hdi0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi5wcmltYXJ5LW5hdmlnYXRpb24gYTpob3ZlciB7XG4gIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvLyB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiBhOmZvY3VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJweDtcbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmZpcnN0LWNoaWxkLFxuLnByaW1hcnktbmF2aWdhdGlvbiAuY3VycmVudF9wYWdlX2l0ZW0gPiBhOmZpcnN0LWNoaWxkIHtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogc29saWQ7XG59XG5cbi5wcmltYXJ5LW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1pdGVtID4gYTpmaXJzdC1jaGlsZDpob3Zlcixcbi5wcmltYXJ5LW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9pdGVtID4gYTpmaXJzdC1jaGlsZDpob3ZlciB7XG4gIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvLyB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiAuc3ViLW1lbnUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1wcmltYXJ5LW5hdi0tcGFkZGluZyk7XG4gIC8vIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktbmF2LS1ib3JkZXItY29sb3IpO1xufVxuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAvLyBib3JkZXI6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgycHgpIHtcbiAgLnByaW1hcnktbmF2aWdhdGlvbiAuc3ViLW1lbnUgPiAubWVudS1pdGVtID4gLnN1Yi1tZW51IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgxcHgpIHtcbiAgLnByaW1hcnktbmF2aWdhdGlvbiAuc3ViLW1lbnUgLm1lbnUtaXRlbTpsYXN0LWNoaWxkKCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbiAuc3ViLW1lbnUgLm1lbnUtaXRlbSA+IGEge1xuICBwYWRkaW5nOiBjYWxjKDEuMjUgKiB2YXIoLS1wcmltYXJ5LW5hdi0tcGFkZGluZykpIHZhcigtLXByaW1hcnktbmF2LS1wYWRkaW5nKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tcHJpbWFyeS1uYXYtLWZvbnQtc2l6ZS1zdWItbWVudS1tb2JpbGUpO1xuICAvLyBmb250LXN0eWxlOiB2YXIoLS1wcmltYXJ5LW5hdi0tZm9udC1zdHlsZS1zdWItbWVudS1tb2JpbGUpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC5wcmltYXJ5LW5hdmlnYXRpb24gLnN1Yi1tZW51IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAvLyBmb250LXNpemU6IHZhcigtLXByaW1hcnktbmF2LS1mb250LXNpemUtc3ViLW1lbnUpO1xuICAgIC8vIGZvbnQtc3R5bGU6IHZhcigtLXByaW1hcnktbmF2LS1mb250LXN0eWxlKTtcbiAgfVxufVxuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gLnN2Zy1pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODJweCkge1xuICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gLnN2Zy1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnByaW1hcnktbmF2aWdhdGlvbiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuc3ViLW1lbnUgLnN2Zy1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wcmltYXJ5LW5hdmlnYXRpb24gLm1lbnUtaXRlbS1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgLy8gZm9udC1zaXplOiB2YXIoLS1nbG9iYWwtLWZvbnQtc2l6ZS14cyk7XG4gIC8vIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvLyBsaW5lLWhlaWdodDogMS43O1xufVxuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0tZGVzY3JpcHRpb24gPiBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MXB4KSB7XG4gIC5sb2NrLXNjcm9sbGluZyAuc2l0ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHR3ZW50eXR3ZW50eW9uZS1jbG9zZS1idXR0b24tdHJhbnNpdGlvbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZm9vdGVyLW5hdmlnYXRpb24ge1xuICBtYXJnaW4tdG9wOiBjYWxjKDIgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgLy8gY29sb3I6IHZhcigtLWZvb3Rlci0tY29sb3ItdGV4dCk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZ2xvYmFsLS1mb250LXNpemUteHMpO1xuICAvLyBmb250LWZhbWlseTogdmFyKC0tZm9vdGVyLS1mb250LWZhbWlseSk7XG59XG5cbi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgLy8gbGluZS1oZWlnaHQ6IDM7XG59XG5cbi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGxpIGEge1xuICBwYWRkaW5nOiBjYWxjKDEuMjUgKiB2YXIoLS1wcmltYXJ5LW5hdi0tcGFkZGluZykpIHZhcigtLXByaW1hcnktbmF2LS1wYWRkaW5nKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgLy8gY29sb3I6IHZhcigtLWZvb3Rlci0tY29sb3ItbGluayk7XG59XG5cbi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGxpIGE6bGluayxcbi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGxpIGE6dmlzaXRlZCxcbi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGxpIGE6YWN0aXZlIHtcbiAgLy8gY29sb3I6IHZhcigtLWZvb3Rlci0tY29sb3ItbGluayk7XG59XG5cbi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGxpIGE6aG92ZXIge1xuICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgLy8gY29sb3I6IHZhcigtLWZvb3Rlci0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi5pcy1kYXJrLXRoZW1lIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGxpIGE6Zm9jdXMgLnN2Zy1pY29uIHtcbiAgZmlsbDogdmFyKC0td3AtLXN0eWxlLS1jb2xvci0tbGluaywgdmFyKC0tZ2xvYmFsLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG59XG5cbi5oYXMtYmFja2dyb3VuZC13aGl0ZSAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciBsaSBhOmZvY3VzIC5zdmctaWNvbiB7XG4gIGZpbGw6IHZhcigtLXdwLS1zdHlsZS0tY29sb3ItLWxpbmssIHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpKTtcbn1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgbGkgLnN2Zy1pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZmlsbDogdmFyKC0tZm9vdGVyLS1jb2xvci1saW5rKTtcbn1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgbGkgLnN2Zy1pY29uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc3ViLW1lbnUtdG9nZ2xlLFxuLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lbnUtaXRlbS1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE5leHQvUHJldmlvdXMgbmF2aWdhdGlvbiAqL1xuLm5hdmlnYXRpb24ge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLm5hdmlnYXRpb24gYSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xuICAvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZpZ2F0aW9uIGE6aG92ZXIge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkO1xufVxuXG4ubmF2aWdhdGlvbiBhOmZvY3VzIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cblxuLm5hdmlnYXRpb24gYTphY3RpdmUge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLm5hdmlnYXRpb24gLm5hdi1saW5rcyA+ICoge1xuICBtaW4td2lkdGg6IDQ0cHg7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXYtbGlua3MgLm5hdi1uZXh0IGEsXG4ubmF2aWdhdGlvbiAubmF2LWxpbmtzIC5uYXYtcHJldmlvdXMgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5uYXZpZ2F0aW9uIC5uYXYtbGlua3MgLmRvdHMge1xuICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTkycHgpIHtcbiAgLm5hdmlnYXRpb24gLm5hdi1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAubmF2aWdhdGlvbiAubmF2LWxpbmtzIC5uYXYtbmV4dCxcbiAgLm5hdmlnYXRpb24gLm5hdi1saW5rcyAubmF2LXByZXZpb3VzIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgIG1hcmdpbi10b3A6IGluaGVyaXQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtICgwLjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCkpKTtcbiAgfVxuXG4gIC5uYXZpZ2F0aW9uIC5uYXYtbGlua3MgLm5hdi1uZXh0IHtcbiAgICAvLyB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4ubmF2aWdhdGlvbiAuc3ZnLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIC5zdmctaWNvbixcbi5uYXZpZ2F0aW9uIC5wcmV2IC5zdmctaWNvbiB7XG4gIHRvcDogLTJweDtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAuMjUgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCkpO1xufVxuXG4ubmF2aWdhdGlvbiAubmF2LW5leHQgLnN2Zy1pY29uLFxuLm5hdmlnYXRpb24gLm5leHQgLnN2Zy1pY29uIHtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjI1ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKTtcbn1cblxuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIG1hcmdpbjogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyMnB4KSB7XG4gIC5wb3N0LW5hdmlnYXRpb24ge1xuICAgIG1hcmdpbjogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSBhdXRvO1xuICB9XG59XG5cbi5wb3N0LW5hdmlnYXRpb24gLm1ldGEtbmF2IHtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC0tbGluZS1oZWlnaHQtYm9keSk7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4ucG9zdC1uYXZpZ2F0aW9uIC5wb3N0LXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvLyBmb250LWZhbWlseTogdmFyKC0tZ2xvYmFsLS1mb250LXByaW1hcnkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLWxnKTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLXBhZ2luYXRpb24tLWZvbnQtd2VpZ2h0LXN0cm9uZyk7XG4gIC8vIGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtLWxpbmUtaGVpZ2h0LWhlYWRpbmcpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyMnB4KSB7XG4gIC5wb3N0LW5hdmlnYXRpb24gLnBvc3QtdGl0bGUge1xuICAgIG1hcmdpbjogNXB4IGNhbGMoMjRweCArICgwLjI1ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXVuaXQpKSkgMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MnB4KSB7XG4gIC5wb3N0LW5hdmlnYXRpb24gLm5hdi1saW5rcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi5wb3N0LW5hdmlnYXRpb24gLm5hdi1uZXh0LFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LW5leHQ6Zmlyc3QtY2hpbGQsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dDpsYXN0LWNoaWxkLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFnaW5hdGlvbixcbi5jb21tZW50cy1wYWdpbmF0aW9uIHtcbiAgLy8gYm9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLWdsb2JhbC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIG1hcmdpbjogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyMnB4KSB7XG4gIC5wYWdpbmF0aW9uLFxuICAuY29tbWVudHMtcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpIGF1dG87XG4gIH1cbn1cblxuLnBhZ2luYXRpb24gLm5hdi1saW5rcyxcbi5jb21tZW50cy1wYWdpbmF0aW9uIC5uYXYtbGlua3Mge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgYTpob3Zlcixcbi5jb21tZW50cy1wYWdpbmF0aW9uIC5uYXYtbGlua3MgYTpob3ZlciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1wYWdpbmF0aW9uLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cblxuLmlzLWRhcmstdGhlbWUgLnBhZ2luYXRpb24gLm5hdi1saW5rcyBhOmFjdGl2ZSxcbi5pcy1kYXJrLXRoZW1lIC5wYWdpbmF0aW9uIC5uYXYtbGlua3MgYTpob3ZlcjphY3RpdmUsXG4uaXMtZGFyay10aGVtZSAucGFnaW5hdGlvbiAubmF2LWxpbmtzIGE6aG92ZXI6Zm9jdXMsXG4uaXMtZGFyay10aGVtZSAuY29tbWVudHMtcGFnaW5hdGlvbiAubmF2LWxpbmtzIGE6YWN0aXZlLFxuLmlzLWRhcmstdGhlbWUgLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5hdi1saW5rcyBhOmhvdmVyOmFjdGl2ZSxcbi5pcy1kYXJrLXRoZW1lIC5jb21tZW50cy1wYWdpbmF0aW9uIC5uYXYtbGlua3MgYTpob3Zlcjpmb2N1cyB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4uaGFzLWJhY2tncm91bmQtd2hpdGUgLnBhZ2luYXRpb24gLm5hdi1saW5rcyBhOmFjdGl2ZSxcbi5oYXMtYmFja2dyb3VuZC13aGl0ZSAucGFnaW5hdGlvbiAubmF2LWxpbmtzIGE6aG92ZXI6YWN0aXZlLFxuLmhhcy1iYWNrZ3JvdW5kLXdoaXRlIC5wYWdpbmF0aW9uIC5uYXYtbGlua3MgYTpob3Zlcjpmb2N1cyxcbi5oYXMtYmFja2dyb3VuZC13aGl0ZSAuY29tbWVudHMtcGFnaW5hdGlvbiAubmF2LWxpbmtzIGE6YWN0aXZlLFxuLmhhcy1iYWNrZ3JvdW5kLXdoaXRlIC5jb21tZW50cy1wYWdpbmF0aW9uIC5uYXYtbGlua3MgYTpob3ZlcjphY3RpdmUsXG4uaGFzLWJhY2tncm91bmQtd2hpdGUgLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5hdi1saW5rcyBhOmhvdmVyOmZvY3VzIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xufVxuXG4ucGFnaW5hdGlvbiAubmF2LWxpbmtzID4gKixcbi5jb21tZW50cy1wYWdpbmF0aW9uIC5uYXYtbGlua3MgPiAqIHtcbiAgLy8gY29sb3I6IHZhcigtLXBhZ2luYXRpb24tLWNvbG9yLXRleHQpO1xuICAvLyBmb250LWZhbWlseTogdmFyKC0tcGFnaW5hdGlvbi0tZm9udC1mYW1pbHkpO1xuICAvLyBmb250LXNpemU6IHZhcigtLXBhZ2luYXRpb24tLWZvbnQtc2l6ZSk7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1wYWdpbmF0aW9uLS1mb250LXdlaWdodCk7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAuNjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdW5pdCkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMC42NiAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy11bml0KSk7XG59XG5cbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgPiAqLmN1cnJlbnQsXG4uY29tbWVudHMtcGFnaW5hdGlvbiAubmF2LWxpbmtzID4gKi5jdXJyZW50IHtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgPiAqOm5vdCguZG90cyk6bm90KC5jdXJyZW50KTpob3Zlcixcbi5jb21tZW50cy1wYWdpbmF0aW9uIC5uYXYtbGlua3MgPiAqOm5vdCguZG90cyk6bm90KC5jdXJyZW50KTpob3ZlciB7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkO1xufVxuXG4ucGFnaW5hdGlvbiAubmF2LWxpbmtzID4gKjpmaXJzdC1jaGlsZCxcbi5jb21tZW50cy1wYWdpbmF0aW9uIC5uYXYtbGlua3MgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5wYWdpbmF0aW9uIC5uYXYtbGlua3MgPiAqOmxhc3QtY2hpbGQsXG4uY29tbWVudHMtcGFnaW5hdGlvbiAubmF2LWxpbmtzID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucGFnaW5hdGlvbiAubmF2LWxpbmtzID4gKi5uZXh0LFxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5hdi1saW5rcyA+ICoubmV4dCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ucGFnaW5hdGlvbiAubmF2LWxpbmtzID4gKi5wcmV2LFxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5hdi1saW5rcyA+ICoucHJldiB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MjFweCkge1xuICAucGFnaW5hdGlvbiAubmF2LWxpbmtzLFxuICAuY29tbWVudHMtcGFnaW5hdGlvbiAubmF2LWxpbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMsXG4gIC5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLnByZXYsXG4gIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCxcbiAgLmNvbW1lbnRzLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2LFxuICAuY29tbWVudHMtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MXB4KSB7XG4gIC5wYWdpbmF0aW9uIC5uYXYtc2hvcnQsXG4gIC5jb21tZW50cy1wYWdpbmF0aW9uIC5uYXYtc2hvcnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24ge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjY2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIG1hcmdpbjogY2FsYygzICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSkgYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MjJweCkge1xuICAuY29tbWVudHMtcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiBjYWxjKDMgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctdmVydGljYWwpKSBhdXRvIGNhbGMoNCAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpIGF1dG87XG4gIH1cbn1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5hdi1saW5rcyA+ICoge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLW1kKTtcbn1cblxuLndpZGdldC1hcmVhIHtcbiAgbWFyZ2luLXRvcDogY2FsYyg2ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkgLyAzKTtcbiAgLy8gY29sb3I6IHZhcigtLWZvb3Rlci0tY29sb3ItdGV4dCk7XG4gIC8vIGZvbnQtc2l6ZTogdmFyKC0tZm9vdGVyLS1mb250LXNpemUpO1xuICAvLyBmb250LWZhbWlseTogdmFyKC0tZm9vdGVyLS1mb250LWZhbWlseSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUycHgpIHtcbiAgLndpZGdldC1hcmVhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgY29sdW1uLWdhcDogY2FsYygyICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLWhvcml6b250YWwpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAud2lkZ2V0LWFyZWEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODFweCkge1xuICAud2lkZ2V0LWFyZWEge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMyAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xuICB9XG59XG5cbi53aWRnZXQtYXJlYSB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLndpZGdldC1hcmVhIHVsIGxpIHtcbiAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLXdpZGdldC0tbGluZS1oZWlnaHQtbGlzdCk7XG59XG5cbi53aWRnZXQtYXJlYSB1bC5zdWItbWVudSxcbi53aWRnZXQtYXJlYSB1bC5jaGlsZHJlbiB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS13aWRnZXQtLXNwYWNpbmctbWVudSk7XG59XG5cbi53aWRnZXQtYXJlYSB1bCAuc3ViLW1lbnUtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndpZGdldC1hcmVhIGEge1xuICAvLyBjb2xvcjogdmFyKC0tZm9vdGVyLS1jb2xvci1saW5rKTtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogc29saWQ7XG4gIC8vIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ud2lkZ2V0LWFyZWEgYTpsaW5rLFxuLndpZGdldC1hcmVhIGE6dmlzaXRlZCxcbi53aWRnZXQtYXJlYSBhOmFjdGl2ZSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1mb290ZXItLWNvbG9yLWxpbmspO1xufVxuXG4ud2lkZ2V0LWFyZWEgYTpob3ZlciB7XG4gIC8vIGNvbG9yOiB2YXIoLS1mb290ZXItLWNvbG9yLWxpbmstaG92ZXIpO1xuICAvLyB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbn1cblxuLndpZGdldC1hcmVhIC53cC1ibG9jay1zb2NpYWwtbGlua3MuYWxpZ25yaWdodCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi53aWRnZXQtYXJlYSAud3AtYmxvY2stc29jaWFsLWxpbmtzLmFsaWdubGVmdCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi53aWRnZXQtYXJlYTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi53aWRnZXQtdGl0bGUge1xuICAvLyBmb250LXNpemU6IHZhcigtLWdsb2JhbC0tZm9udC1zaXplLXNtKTtcbiAgLy8gZm9udC13ZWlnaHQ6IHZhcigtLXdpZGdldC0tZm9udC13ZWlnaHQtdGl0bGUpO1xuICAvLyBsaW5lLWhlaWdodDogdmFyKC0td2lkZ2V0LS1saW5lLWhlaWdodC10aXRsZSk7XG59XG5cbi5zZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IHZhcigtLXJlc3BvbnNpdmUtLWFsaWduZGVmYXVsdC13aWR0aCk7XG59XG5cbi5zZWFyY2gtZm9ybSA+IGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC8vIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb3JtLS1sYWJlbC13ZWlnaHQpO1xufVxuXG4uc2VhcmNoLWZvcm0gLnNlYXJjaC1maWVsZCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkgLyAzKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAuNjYgKiB2YXIoLS1nbG9iYWwtLXNwYWNpbmctaG9yaXpvbnRhbCkpO1xufVxuXG4uc2VhcmNoLWZvcm0gLnNlYXJjaC1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkgLyAzKTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi53aWRnZXRfc2VhcmNoID4gLnNlYXJjaC1mb3JtIC5zZWFyY2gtZmllbGQge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1idXR0b24tLWJvcmRlci13aWR0aCkpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAuNSAqIHZhcigtLWdsb2JhbC0tc3BhY2luZy12ZXJ0aWNhbCkpO1xufVxuXG4ud2lkZ2V0X3NlYXJjaCA+IC5zZWFyY2gtZm9ybSAuc2VhcmNoLXN1Ym1pdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItdGV4dC1ob3Zlcik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMC41ICogdmFyKC0tZ2xvYmFsLS1zcGFjaW5nLXZlcnRpY2FsKSk7XG59XG5cbi53aWRnZXRfc2VhcmNoID4gLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0OmhvdmVyIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgLy8gY29sb3I6IHZhcigtLWJ1dHRvbi0tY29sb3ItdGV4dCk7XG59XG5cbi53aWRnZXRfcnNzIGEucnNzd2lkZ2V0IC5yc3Mtd2lkZ2V0LWljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDYXRlZ29yeSAwNyBpcyBmb3IgYW55IHV0aWxpdHkgY2xhc3NlcyB0aGF0IGFyZSBub3QgYXNzaWduZWQgdG8gYSBzcGVjaWZpYyBjb21wb25lbnQuICovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgLy8gYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xufVxuXG4uc2tpcC1saW5rOmZvY3VzIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgLy8gYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBub25lO1xuICBjbGlwLXBhdGg6IG5vbmU7XG4gIC8vIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLy8gZm9udC13ZWlnaHQ6IDcwMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIC8vIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwO1xufVxuXG4vKiBEbyBub3Qgc2hvdyB0aGUgb3V0bGluZSBvbiB0aGUgc2tpcCBsaW5rIHRhcmdldC4gKi9cbiNjb250ZW50W3RhYmluZGV4PSctMSddOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gICoge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGFzLWJsYWNrLWNvbG9yW2NsYXNzXSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJsYWNrKTtcbn1cblxuLmhhcy1ncmF5LWNvbG9yW2NsYXNzXSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWdyYXkpO1xufVxuXG4uaGFzLWRhcmstZ3JheS1jb2xvcltjbGFzc10ge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1kYXJrLWdyYXkpO1xufVxuXG4uaGFzLWdyZWVuLWNvbG9yW2NsYXNzXSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWdyZWVuKTtcbn1cblxuLmhhcy1ibHVlLWNvbG9yW2NsYXNzXSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJsdWUpO1xufVxuXG4uaGFzLXB1cnBsZS1jb2xvcltjbGFzc10ge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1wdXJwbGUpO1xufVxuXG4uaGFzLXJlZC1jb2xvcltjbGFzc10ge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1yZWQpO1xufVxuXG4uaGFzLW9yYW5nZS1jb2xvcltjbGFzc10ge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1vcmFuZ2UpO1xufVxuXG4uaGFzLXllbGxvdy1jb2xvcltjbGFzc10ge1xuICAvLyBjb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci15ZWxsb3cpO1xufVxuXG4uaGFzLXdoaXRlLWNvbG9yW2NsYXNzXSB7XG4gIC8vIGNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kIGEsXG4uaGFzLWJhY2tncm91bmQgcCxcbi5oYXMtYmFja2dyb3VuZCBoMSxcbi5oYXMtYmFja2dyb3VuZCBoMixcbi5oYXMtYmFja2dyb3VuZCBoMyxcbi5oYXMtYmFja2dyb3VuZCBoNCxcbi5oYXMtYmFja2dyb3VuZCBoNSxcbi5oYXMtYmFja2dyb3VuZCBoNiB7XG4gIC8vIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvcltjbGFzc10ge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWJsYWNrKTtcbn1cblxuLmhhcy1ncmF5LWJhY2tncm91bmQtY29sb3JbY2xhc3NdIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1ncmF5KTtcbn1cblxuLmhhcy1kYXJrLWdyYXktYmFja2dyb3VuZC1jb2xvcltjbGFzc10ge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWRhcmstZ3JheSk7XG59XG5cbi5oYXMtZ3JlZW4tYmFja2dyb3VuZC1jb2xvcltjbGFzc10ge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLWdyZWVuKTtcbn1cblxuLmhhcy1ibHVlLWJhY2tncm91bmQtY29sb3JbY2xhc3NdIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1ibHVlKTtcbn1cblxuLmhhcy1wdXJwbGUtYmFja2dyb3VuZC1jb2xvcltjbGFzc10ge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXB1cnBsZSk7XG59XG5cbi5oYXMtcmVkLWJhY2tncm91bmQtY29sb3JbY2xhc3NdIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2xvYmFsLS1jb2xvci1yZWQpO1xufVxuXG4uaGFzLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yW2NsYXNzXSB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itb3JhbmdlKTtcbn1cblxuLmhhcy15ZWxsb3ctYmFja2dyb3VuZC1jb2xvcltjbGFzc10ge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXllbGxvdyk7XG59XG5cbi5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvcltjbGFzc10ge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbG9iYWwtLWNvbG9yLXdoaXRlKTtcbn1cblxuOm5vdCguaGFzLXRleHQtY29sb3IpLmhhcy1ibGFjay1iYWNrZ3JvdW5kLWNvbG9yW2NsYXNzXSxcbjpub3QoLmhhcy10ZXh0LWNvbG9yKS5oYXMtZ3JheS1iYWNrZ3JvdW5kLWNvbG9yW2NsYXNzXSxcbjpub3QoLmhhcy10ZXh0LWNvbG9yKS5oYXMtZGFyay1ncmF5LWJhY2tncm91bmQtY29sb3JbY2xhc3NdIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3Itd2hpdGUpO1xufVxuXG46bm90KC5oYXMtdGV4dC1jb2xvcikuaGFzLWdyZWVuLWJhY2tncm91bmQtY29sb3JbY2xhc3NdLFxuOm5vdCguaGFzLXRleHQtY29sb3IpLmhhcy1ibHVlLWJhY2tncm91bmQtY29sb3JbY2xhc3NdLFxuOm5vdCguaGFzLXRleHQtY29sb3IpLmhhcy1wdXJwbGUtYmFja2dyb3VuZC1jb2xvcltjbGFzc10sXG46bm90KC5oYXMtdGV4dC1jb2xvcikuaGFzLXJlZC1iYWNrZ3JvdW5kLWNvbG9yW2NsYXNzXSxcbjpub3QoLmhhcy10ZXh0LWNvbG9yKS5oYXMtb3JhbmdlLWJhY2tncm91bmQtY29sb3JbY2xhc3NdLFxuOm5vdCguaGFzLXRleHQtY29sb3IpLmhhcy15ZWxsb3ctYmFja2dyb3VuZC1jb2xvcltjbGFzc10sXG46bm90KC5oYXMtdGV4dC1jb2xvcikuaGFzLXdoaXRlLWJhY2tncm91bmQtY29sb3JbY2xhc3NdIHtcbiAgLy8gY29sb3I6IHZhcigtLWdsb2JhbC0tY29sb3ItZGFyay1ncmF5KTtcbn1cblxuLmhhcy1wdXJwbGUtdG8teWVsbG93LWdyYWRpZW50LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYwZGVnLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXB1cnBsZSksIHZhcigtLWdsb2JhbC0tY29sb3IteWVsbG93KSk7XG59XG5cbi5oYXMteWVsbG93LXRvLXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2MGRlZywgdmFyKC0tZ2xvYmFsLS1jb2xvci15ZWxsb3cpLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXB1cnBsZSkpO1xufVxuXG4uaGFzLWdyZWVuLXRvLXllbGxvdy1ncmFkaWVudC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2MGRlZywgdmFyKC0tZ2xvYmFsLS1jb2xvci1ncmVlbiksIHZhcigtLWdsb2JhbC0tY29sb3IteWVsbG93KSk7XG59XG5cbi5oYXMteWVsbG93LXRvLWdyZWVuLWdyYWRpZW50LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYwZGVnLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXllbGxvdyksIHZhcigtLWdsb2JhbC0tY29sb3ItZ3JlZW4pKTtcbn1cblxuLmhhcy1yZWQtdG8teWVsbG93LWdyYWRpZW50LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYwZGVnLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXJlZCksIHZhcigtLWdsb2JhbC0tY29sb3IteWVsbG93KSk7XG59XG5cbi5oYXMteWVsbG93LXRvLXJlZC1ncmFkaWVudC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2MGRlZywgdmFyKC0tZ2xvYmFsLS1jb2xvci15ZWxsb3cpLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXJlZCkpO1xufVxuXG4uaGFzLXB1cnBsZS10by1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjBkZWcsIHZhcigtLWdsb2JhbC0tY29sb3ItcHVycGxlKSwgdmFyKC0tZ2xvYmFsLS1jb2xvci1yZWQpKTtcbn1cblxuLmhhcy1yZWQtdG8tcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYwZGVnLCB2YXIoLS1nbG9iYWwtLWNvbG9yLXJlZCksIHZhcigtLWdsb2JhbC0tY29sb3ItcHVycGxlKSk7XG59XG5cbmhlYWRlciAqLFxubWFpbiAqLFxuZm9vdGVyICoge1xuICBtYXgtd2lkdGg6IHZhcigtLWdsb2JhbC0tc3BhY2luZy1tZWFzdXJlKTtcbn1cblxuaHRtbCxcbmJvZHksXG5kaXYsXG5oZWFkZXIsXG5uYXYsXG5hcnRpY2xlLFxuZmlndXJlLFxuaHIsXG5tYWluLFxuc2VjdGlvbixcbmZvb3RlciB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmlzLUlFLmlzLWRhcmstdGhlbWUge1xuICAvLyBjb2xvcjogI2ZmZjtcbn1cblxuLmlzLUlFLmlzLWRhcmstdGhlbWUgKixcbi5pcy1JRS5pcy1kYXJrLXRoZW1lIGEsXG4uaXMtSUUuaXMtZGFyay10aGVtZSAuc2l0ZS1kZXNjcmlwdGlvbixcbi5pcy1JRS5pcy1kYXJrLXRoZW1lIC5lbnRyeS10aXRsZSxcbi5pcy1JRS5pcy1kYXJrLXRoZW1lIC5lbnRyeS1mb290ZXIsXG4uaXMtSUUuaXMtZGFyay10aGVtZSAud2lkZ2V0LWFyZWEsXG4uaXMtSUUuaXMtZGFyay10aGVtZSAucG9zdC1uYXZpZ2F0aW9uIC5tZXRhLW5hdixcbi5pcy1JRS5pcy1kYXJrLXRoZW1lIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGxpIGE6bGluayxcbi5pcy1JRS5pcy1kYXJrLXRoZW1lIC5zaXRlLWZvb3RlciA+IC5zaXRlLWluZm8sXG4uaXMtSUUuaXMtZGFyay10aGVtZSAuc2l0ZS1mb290ZXIgPiAuc2l0ZS1pbmZvIGEsXG4uaXMtSUUuaXMtZGFyay10aGVtZSAuc2l0ZS1mb290ZXIgPiAuc2l0ZS1pbmZvIGE6dmlzaXRlZCB7XG4gIC8vIGNvbG9yOiAjZmZmO1xufVxuXG4uaXMtSUUuaXMtZGFyay10aGVtZSAuc3ViLW1lbnUtdG9nZ2xlIHN2Zyxcbi5pcy1JRS5pcy1kYXJrLXRoZW1lIC5zdWItbWVudS10b2dnbGUgcGF0aCxcbi5pcy1JRS5pcy1kYXJrLXRoZW1lIC5wb3N0LW5hdmlnYXRpb24gLm1ldGEtbmF2IHN2Zyxcbi5pcy1JRS5pcy1kYXJrLXRoZW1lIC5wb3N0LW5hdmlnYXRpb24gLm1ldGEtbmF2IHBhdGgge1xuICBmaWxsOiAjZmZmZmZmO1xufVxuXG4uaXMtSUUuaXMtZGFyay10aGVtZSAucHJpbWFyeS1uYXZpZ2F0aW9uID4gZGl2ID4gLm1lbnUtd3JhcHBlciA+IGxpID4gLnN1Yi1tZW51IGxpIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODFweCkge1xuICAuaXMtSUUuaXMtZGFyay10aGVtZS5wcmltYXJ5LW5hdmlnYXRpb24tb3BlbiAucHJpbWFyeS1uYXZpZ2F0aW9uID4gLnByaW1hcnktbWVudS1jb250YWluZXIsXG4gIC5pcy1JRS5pcy1kYXJrLXRoZW1lLnByaW1hcnktbmF2aWdhdGlvbi1vcGVuIC5tZW51LWJ1dHRvbi1jb250YWluZXIge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIH1cbn1cblxuLmlzLUlFLmlzLWRhcmstdGhlbWUgLnNraXAtbGluazpmb2N1cyB7XG4gIC8vIGNvbG9yOiAjMjE3NTliO1xufVxuXG4uaXMtSUUgLm5hdmlnYXRpb24gLm5hdi1saW5rcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXMtSUUgLnBvc3QtdGh1bWJuYWlsIC53cC1wb3N0LWltYWdlIHtcbiAgbWluLXdpZHRoOiBhdXRvO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzQ0FBc0M7QUFHdEM7Ozs7O0dBS0c7QUNSSCxzQkFBc0I7O0FBQ3RCLEFBQUEsQ0FBQztBQUNELENBQUMsQUFBQSxRQUFRO0FBQ1QsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUNQLFVB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WixNQUFNLEVBQUUsQ0FBQztDQUNWOzs7QUFFRCxBQUFBLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQTtBQUMvQyxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxRQUFDLEFBQUE7QUFDL0MsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsY0FBQyxBQUFBO0FBQy9DLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQTtBQUMvQyxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxLQUFDLEFBQUE7QUFDL0MsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBO0FBQy9DLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELFFBQUMsQUFBQTtBQUMvQyxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxLQUFDLEFBQUE7QUFDL0MsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBO0FBQy9DLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEdBQUMsQUFBQTtBQUMvQyxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxJQUFDLEFBQUE7QUFDL0MsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBO0FBQy9DLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEdBQUMsQUFBQTtBQUMvQyxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxJQUFDLEFBQUE7QUFDL0MsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxNQUFNO0FBQy9DLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsUUFBUTtBQUNqRCxHQUFHLEFBQUEsa0JBQWtCLENBQUMsSUFBSSxBQUFBLGFBQWEsQ0FBQyxlQUFlLENBQUM7RUFDdEQsWUFBWSxFQUFFLG1CQUFtQjtFQUNqQyxhQUFhLEVBQUUsR0FBRztFQUNsQixNQUFNLEVBQUUsS0FBSztFQUNiLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE9BQU8sRUFBRSxHQUFHO0NBQ2I7OztBQUVELEFBQUEsR0FBRyxBQUFBLHVCQUF1QixDQUFDLElBQUksQUFBQSxhQUFhLENBQUMsNENBQTRDO0FBQ3pGLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxJQUFJLEFBQUEsYUFBYSxDQUFDLEtBQUssQUFBQSx3Q0FBd0MsQ0FBQztFQUN6RixZQUFZLEVBQUUsbUJBQW1CO0VBQ2pDLE1BQU0sRUFBRSxLQUFLO0VBQ2IsV0FBVyxFQUFFLElBQUk7RUFDakIsT0FBTyxFQUFFLEdBQUc7Q0FDYjs7O0FBR0QsQUFBQSxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUE7QUFDL0MsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBO0FBQ2hELEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUM7RUFDNUQsZ0JBQWdCLEVScENGLE9BQU87RVFxQ3JCLFlBQVksRVJyQ0UsT0FBTztFUXNDckIsS0FBSyxFQUFFLEtBQUs7RUFDWixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsU0FBUztFQUNsQixVQUFVLEVSaENTLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztDUTBDeEM7OztBQWxCRCxBQVVFLEdBVkMsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQVU1QyxNQUFNLEVBVlQsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBLENBVzVDLE1BQU0sRUFYVCxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsQ0FZNUMsT0FBTztBQVhWLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQVM3QyxNQUFNO0FBVFQsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBLENBVTdDLE1BQU07QUFWVCxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsQ0FXN0MsT0FBTztBQVZWLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEFBUTFELE1BQU07QUFSVCxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLG9CQUFvQixBQVMxRCxNQUFNO0FBVFQsR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQUFVMUQsT0FBTyxDQUFDO0VBQ1AsU0FBUyxFQUFFLFdBQVc7RUFDdEIsZ0JBQWdCLEVSL0NKLE9BQU87RVFnRG5CLEtBQUssRUFBRSxLQUFLO0VBQ1osVUFBVSxFUnJDRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWU7Q1FzQzlDOzs7QUFHSCxBQUFBLEdBQUcsQUFBQSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO0VBQ3RELE9BQU8sRUFBRSxPQUFPO0NBQ2pCOzs7QUFHRCxBQUFBLEdBQUcsQUFBQSxrQkFBa0IsQ0FBQyxJQUFJLEFBQUEsYUFBYSxDQUFDLFFBQVEsQ0FBQztFQUMvQyxhQUFhLEVBQUUsS0FBSztDQUNyQjs7O0FBRUQsQUFBQSxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7RUFDaEUsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixPQUFPLEVBQUUsT0FBTztDQUNqQjs7O0FBR0QsQUFBQSxHQUFHLEFBQUEsa0JBQWtCLENBQUMsSUFBSSxBQUFBLGFBQWEsQ0FBQyxRQUFRLENBQUEsQUFBQSxTQUFDLEVBQVcsWUFBWSxBQUF2QixDQUF3QixNQUFNLENBQUM7RUFDOUUsS0FBSyxFQUFFLEdBQUc7Q0FDWDs7O0FBRUQsQUFBQSxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLHVCQUF1QixBQUFBLFNBQVMsQ0FBQyxxQ0FBcUM7QUFDL0csR0FBRyxBQUFBLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQUFBQSxTQUFTLENBQUMsMENBQTBDLENBQUM7RUFDbkgsTUFBTSxFQUFFLElBQUk7Q0FDYjs7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixXQUFXLEVBQUUsS0FBSztDQUNuQjs7O0FBRUQsQUFBQSxHQUFHLEFBQUEsdUJBQXVCLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDO0VBQ2hFLFFBQVEsRUFBRSxLQUFLO0VBQ2YsVUFBVSxFQUFFLE9BQU87RUFDbkIsT0FBTyxFQUFFLE9BQU87RUFDaEIsS0FBSyxFQUFFLEtBQUs7RUFDWixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLEdBQUc7RUFDVixJQUFJLEVBQUUsR0FBRztFQUNULFNBQVMsRUFBRSxnQkFBZ0I7Q0FDNUI7OztBRW5IRCxBQUFBLENBQUMsQ0FBQztFQUVBLE1BQU0sRUFBRSxPQUFPO0VBQ2YsZUFBZSxFQUFFLElBQUk7RUFDckIsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxJQUFJO0NBQ2xCOzs7QUFFRCxBQUFBLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDTCxVQUFVLEVBQUUsYUFBYTtDQUsxQjs7O0FBRUQsQUFBQSxVQUFVLENBQUM7RURxQ1QsU0FBUyxFQUFFLElBQUk7RUFDZixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLFdBQVcsRVRiRyxNQUFNLEVBQUUsVUFBVTtFU2NoQyxPQUFPLEVBQUUsV0FBVztFQUNwQixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsU0FBUztFQUMxQixZQUFZLEVBQUUsS0FBSztDQzFDcEI7OztBRDRDQyxBQUFBLFNBQVMsQ0M5Q1gsVUFBVSxDRDhDSTtFQUNWLEtBQUssRUFBRSxLQUFLO0NBQ2I7OztBQ2hESCxBRGtERSxVQ2xEUSxBRGtEUCxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixLQUFLLEVBQUUsS0FBSztFQUNaLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLFVBQVUsRVQxQ08sR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0VTMkNyQyxnQkFBZ0IsRUFBRSxLQUFLO0NBS3hCOzs7QUFIQyxBQUFBLFNBQVMsQ0MzRGIsVUFBVSxBRGtEUCxNQUFNLENBU087RUFDVixVQUFVLEVBQUUsS0FBSztDQUNsQjs7O0FDN0RMLEFEZ0VFLFVDaEVRLEFEZ0VQLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsR0FBRztFQUNWLFlBQVksRUFBRSxPQUFPO0VBQ3JCLFVBQVUsRUFBRSxTQUFTO0VBQ3JCLFlBQVksRUFBRSxTQUFTO0VBQ3ZCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsU0FBUyxFQUFFLGFBQWE7RUFDeEIsVUFBVSxFVDVETyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7Q1NpRXRDOzs7QUFIQyxBQUFBLFNBQVMsQ0M1RWIsVUFBVSxBRGdFUCxPQUFPLENBWU07RUFDVixZQUFZLEVBQUUsS0FBSztDQUNwQjs7O0FDOUVMLEFEcUZJLFVDckZNLEFEaUZQLE1BQU0sQUFJSixNQUFNLEVDckZYLFVBQVUsQURrRlAsTUFBTSxBQUdKLE1BQU0sRUNyRlgsVUFBVSxBRG1GUCxPQUFPLEFBRUwsTUFBTTtBQURULE9BQU8sQUFBQSxNQUFNLENDcEZmLFVBQVUsQURxRkwsTUFBTSxDQUFDO0VBQ04sU0FBUyxFQUFFLGlCQUFpQixDQUFDLFlBQVk7Q0FDMUM7OztBQ3ZGTCxBRHlGSSxVQ3pGTSxBRGlGUCxNQUFNLEFBUUosT0FBTyxFQ3pGWixVQUFVLEFEa0ZQLE1BQU0sQUFPSixPQUFPLEVDekZaLFVBQVUsQURtRlAsT0FBTyxBQU1MLE9BQU87QUFMVixPQUFPLEFBQUEsTUFBTSxDQ3BGZixVQUFVLEFEeUZMLE9BQU8sQ0FBQztFQUNQLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhO0NBQzNDOzs7QUU1R0wsQUFBQSxFQUFFLEFBQUEsS0FBSyxDQUFDO0VBQ04sT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxhQUFhO0NBeUN0Qjs7QVB5aEJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RU9ya0I3QixBQUFBLEVBQUUsQUFBQSxLQUFLLENBQUM7SUFNSixNQUFNLEVBQUUsYUFBYTtHQXNDeEI7Ozs7QUE1Q0QsQUFTRSxFQVRBLEFBQUEsS0FBSyxDQVNMLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLE9BQU8sRUFBRSxXQUFXO0NBS3JCOztBUHFqQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFT3JrQjdCLEFBU0UsRUFUQSxBQUFBLEtBQUssQ0FTTCxFQUFFLENBQUM7SUFLQyxNQUFNLEVBQUUsZUFBZTtHQUUxQjs7OztBQWhCSCxBQWtCRSxFQWxCQSxBQUFBLEtBQUssQ0FrQkwsQ0FBQyxDQUFDO0VMVkYsV0FBVyxFTm1DRCxRQUFRLEVBQUUsVUFBVTtFTWxDOUIsU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFQUFFLEtBQUs7RUFDWixPQUFPLEVBQUUsR0FBRztFS1NWLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE1BQU0sRUFBRSxLQUFLLENYR0osd0JBQXFCLENXSEosR0FBRztFQUM3QixlQUFlLEVBQUUsSUFBSTtFQUNyQixhQUFhLEVBQUUsS0FBSztFQUNwQixVQUFVLEVBQUUsUUFBUTtDQW1CckI7OztBQTNDSCxBTGFFLEVLYkEsQUFBQSxLQUFLLENBa0JMLENBQUMsQ0xMRCxTQUFTLENBQUM7RUFDUixLQUFLLEVBQUUsS0FBSztDQUNiOztBRnNqQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFT3JrQjdCLEFBMkJNLEVBM0JKLEFBQUEsS0FBSyxDQWtCTCxDQUFDLEFBU0ksTUFBTSxFQTNCYixFQUFFLEFBQUEsS0FBSyxDQWtCTCxDQUFDLEFBVUksT0FBTyxFQTVCZCxFQUFFLEFBQUEsS0FBSyxDQWtCTCxDQUFDLEFBV0ksTUFBTSxDQUFDO0lBQ04sTUFBTSxFQUFFLGVBQWU7SUFDdkIsZ0JBQWdCLEVBQUUsa0JBQWtCO0dBQ3JDOzs7QVBxaUJILE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RU9ya0I3QixBQWtCRSxFQWxCQSxBQUFBLEtBQUssQ0FrQkwsQ0FBQyxDQUFDO0lBa0JFLE9BQU8sRUFBRSxXQUFXO0dBT3ZCOzs7O0FBSkMsQUFBQSxTQUFTLENBdkNiLEVBQUUsQUFBQSxLQUFLLENBa0JMLENBQUMsQ0FxQmE7RUFDVixLQUFLLEVBQUUsS0FBSztFQUNaLFlBQVksRVhoQkwsa0JBQWU7Q1dpQnZCOzs7QUMxQ0wsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0NBK0NaOztBUmdoQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFUXJrQjdCLEFBQUEsZ0JBQWdCLENBQUM7SUFTYixRQUFRLEVBQUUsTUFBTTtHQTRDbkI7Ozs7QUFyREQsQUFZRSxnQkFaYyxBQVliLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsK0JBQStCO0VBQ3RDLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLEdBQUc7RUFDVixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSw4REFBOEQ7Q0FXM0U7OztBQVRDLEFBQUEsK0JBQStCLENBdEJuQyxnQkFBZ0IsQUFZYixPQUFPLENBVTRCO0VBQ2hDLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7O0FSNmlCRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VRcmtCN0IsQUFZRSxnQkFaYyxBQVliLE9BQU8sQ0FBQztJQWVMLEtBQUssRUFBRSxHQUFHO0lBQ1YsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsQ0FBQztHQUVYOzs7O0FBL0JILEFBaUNFLGdCQWpDYyxBQWlDYixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLCtCQUErQjtFQUNyQyxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxHQUFHO0VBQ1YsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsNkRBQTZEO0NBVzFFOzs7QUFUQyxBQUFBLCtCQUErQixDQTNDbkMsZ0JBQWdCLEFBaUNiLE1BQU0sQ0FVNkI7RUFDaEMsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QVJ3aEJELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVFya0I3QixBQWlDRSxnQkFqQ2MsQUFpQ2IsTUFBTSxDQUFDO0lBZUosS0FBSyxFQUFFLEdBQUc7SUFDVixPQUFPLEVBQUUsS0FBSztJQUNkLElBQUksRUFBRSxDQUFDO0dBRVY7Ozs7QUFHSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDO0NBS2pFOztBUm1nQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFUTlnQjdCLEFBQUEsa0JBQWtCLENBQUM7SUFTZixPQUFPLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztHQUVuRTs7OztBQUVELEFBQUEsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO0VBQy9DLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE9BQU8sRUFBRSxNQUFNO0NBU2hCOztBUnFmRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VRamdCN0IsQUFBQSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUM7SUFNN0MsU0FBUyxFQUFFLEdBQUc7R0FNakI7OztBUnFmRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VRamdCN0IsQUFBQSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUM7SUFVN0MsU0FBUyxFQUFFLEtBQUs7R0FFbkI7Ozs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLGFBQWE7Q0F5Qi9COzs7QUEvQkQsQUFRRSxZQVJVLENBUVYseUJBQXlCLENBQUM7RUFDeEIsU0FBUyxFQUFFLElBQUk7Q0FDaEI7OztBQVZILEFBWUUsWUFaVSxDQVlWLGlCQUFpQixDQUFDO0VBQ2hCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFWnREQyxNQUFNLEVBQUUsVUFBVTtFWXVEOUIsV0FBVyxFWnJEUSxHQUFHO0NZa0V2Qjs7O0FBOUJILEFBbUJJLFlBbkJRLENBWVYsaUJBQWlCLENBT2YsSUFBSSxDQUFDO0VBQ0gsS0FBSyxFWmhGSyxPQUFPO0NZaUZsQjs7QVI4ZEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFUW5mN0IsQUFZRSxZQVpVLENBWVYsaUJBQWlCLENBQUM7SUFZZCxTQUFTLEVBQUUsS0FBSztHQU1uQjs7O0FScWRDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVFuZjdCLEFBWUUsWUFaVSxDQVlWLGlCQUFpQixDQUFDO0lBZ0JkLFNBQVMsRUFBRSxHQUFHO0dBRWpCOzs7O0FBR0gsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsMENBQTBDO0VBRWpELEtBQUssRUFBRSxnQkFBZ0I7RUFDdkIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLGVBQWUsRUFBRSxhQUFhO0VBQzlCLE1BQU0sRUFBRSxJQUFJO0NBYWI7O0FSNmJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RVFsZDVCLEFBQUEsc0JBQXNCLENBQUM7SUFXbkIsS0FBSyxFQUFFLHNCQUFzQjtHQVVoQzs7O0FSNmJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVFsZDdCLEFBQUEsc0JBQXNCLENBQUM7SUFlbkIsTUFBTSxFQUFFLElBQUk7R0FNZjs7O0FSNmJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVFsZDdCLEFBQUEsc0JBQXNCLENBQUM7SUFtQm5CLE1BQU0sRUFBRSxJQUFJO0dBRWY7Ozs7QUFFRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7RUFDNUIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZUFBZSxFQUFFLFdBQVc7Q0FDN0I7OztBQUVELEFBQ0UscUJBRG1CLEFBQUEsT0FBTyxDQUMxQixnQkFBZ0I7QUFEbEIscUJBQXFCLEFBQUEsT0FBTyxDQUUxQixhQUFhO0FBRmYscUJBQXFCLEFBQUEsT0FBTyxDQUcxQixVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztDQUNYOzs7QUFHSCxBQUNFLHFCQURtQixDQUNuQixnQkFBZ0I7QUFEbEIscUJBQXFCLENBRW5CLGFBQWE7QUFGZixxQkFBcUIsQ0FHbkIsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7Q0FDWDs7O0FBR0gsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixJQUFJLEVBQUUsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0NBT1A7OztBQWJELEFBUUUscUJBUm1CLENBUW5CLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsS0FBSztDQUNsQjs7O0FBR0gsQUFDRSxZQURVLEFBQUEsT0FBTyxDQUNqQixxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsQ0FBQztDQUtYOzs7QUFQSCxBQUlJLFlBSlEsQUFBQSxPQUFPLENBQ2pCLHFCQUFxQixBQUdsQixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsR0FBRztDQUNiOzs7QUFJTCxBQUFBLEVBQUUsQUFBQSx5QkFBeUIsQ0FBQztFQUMxQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLFVBQVU7RUFDM0IsV0FBVyxFQUFFLE1BQU07RUFDbkIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsV0FBVyxFQUFFLFVBQVU7RUFDdkIsVUFBVSxFQUFFLEtBQUs7Q0EwQ2xCOztBUjJWRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0VRNVk1QixBQUFBLEVBQUUsQUFBQSx5QkFBeUIsQ0FBQztJQVV4QixVQUFVLEVBQUUsSUFBSTtHQXVDbkI7OztBUjJWRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0VRNVk1QixBQUFBLEVBQUUsQUFBQSx5QkFBeUIsQ0FBQztJQWN4QixVQUFVLEVBQUUsSUFBSTtHQW1DbkI7OztBUjJWRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VRNVk3QixBQUFBLEVBQUUsQUFBQSx5QkFBeUIsQ0FBQztJQWtCeEIsVUFBVSxFQUFFLElBQUk7R0ErQm5COzs7QVIyVkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFUTVZN0IsQUFBQSxFQUFFLEFBQUEseUJBQXlCLENBQUM7SUFzQnhCLFVBQVUsRUFBRSxDQUFDO0dBMkJoQjs7OztBQXhCQyxBQUFBLCtCQUErQixDQXpCakMsRUFBRSxBQUFBLHlCQUF5QixDQXlCUztFQUNoQyxXQUFXLEVBQUUsSUFBSTtDQUNsQjs7O0FBM0JILEFBNkJFLEVBN0JBLEFBQUEseUJBQXlCLENBNkJ6QixFQUFFLENBQUM7RUFDRCxPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0NBQ1o7OztBQWhDSCxBQWtDRSxFQWxDQSxBQUFBLHlCQUF5QixDQWtDekIsRUFBRSxBQUFBLFVBQVUsQ0FBQztFQUNYLFVBQVUsRVpuTUQsa0JBQWU7Q1lvTXpCOzs7QUFwQ0gsQUFzQ0UsRUF0Q0EsQUFBQSx5QkFBeUIsQ0FzQ3pCLEVBQUUsQ0FBQyxDQUFDLENBQUM7RUFDSCxXQUFXLEVBQUUsU0FBUztFQUN0QixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsVUFBVSxFWm5NWSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7Q1lvTTFDOzs7QUEzQ0gsQUE2Q0UsRUE3Q0EsQUFBQSx5QkFBeUIsQ0E2Q3pCLEVBQUUsQUFBQSxPQUFPLENBQUMsQ0FBQyxDQUFDO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxVQUFVLEVBQUUsS0FBSztDQUNsQjs7O0FBR0gsQUFBQSxjQUFjO0FBQ2QsVUFBVSxDQUFDO0VBQ1QsTUFBTSxFQUFFLGdCQUFnQjtFQUN4QixLQUFLLEVBQUUsZ0JBQWdCO0VBQ3ZCLFdBQVcsRUFBRSxPQUFPO0VBQ3BCLE1BQU0sRUFBRSxLQUFLLENaeE5GLGtCQUFlLENZd05BLEdBQUc7RUFDN0IsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixVQUFVLEVBQUUsSUFBSTtDQWdCakI7OztBQTFCRCxBQVlFLGNBWlksQ0FZWixJQUFJO0FBWE4sVUFBVSxDQVdSLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSwwQkFBMEI7RUFDbEMsS0FBSyxFQUFFLDBCQUEwQjtFQUNqQyxVQUFVLEVBQUUsZUFBZTtFQUMzQixZQUFZLEVBQUUsZUFBZTtFQUM3QixRQUFRLEVBQUUsUUFBUTtDQUNuQjs7O0FBbEJILEFBb0JFLGNBcEJZLEFBb0JYLE1BQU0sRUFwQlQsY0FBYyxBQXFCWCxPQUFPLEVBckJWLGNBQWMsQUFzQlgsTUFBTTtBQXJCVCxVQUFVLEFBbUJQLE1BQU07QUFuQlQsVUFBVSxBQW9CUCxPQUFPO0FBcEJWLFVBQVUsQUFxQlAsTUFBTSxDQUFDO0VBQ04sTUFBTSxFQUFFLGVBQWU7RUFDdkIsZ0JBQWdCLEVBQUUsa0JBQWtCO0NBQ3JDOzs7QUFHSCxBQUFBLGNBQWMsQ0FBQztFQUNiLFlBQVksRUFBRSxHQUFHO0NBTWxCOzs7QUFQRCxBQUdFLGNBSFksQ0FHWixJQUFJLENBQUM7RUFDSCxTQUFTLEVBQUUsZUFBZTtFQUMxQixXQUFXLEVBQUUsS0FBSztDQUNuQjs7O0FBR0gsQUFBQSxVQUFVLENBQUM7RUFDVCxXQUFXLEVBQUUsR0FBRztDQU1qQjs7O0FBUEQsQUFHRSxVQUhRLENBR1IsSUFBSSxDQUFDO0VBQ0gsU0FBUyxFQUFFLGFBQWE7RUFDeEIsV0FBVyxFQUFFLE1BQU07Q0FDcEI7OztBQUdILEFBQUEsWUFBWSxBQUFBLElBQUssQ0FBQSxPQUFPLEVBQUU7RUFDeEIsTUFBTSxFQUFFLE9BQU87Q0FDaEI7OztBQzVSRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsV0FBVyxFQUFFLElBQUk7Q0FLbEI7O0FUNmpCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0VTcmtCNUIsQUFBQSxpQkFBaUIsQ0FBQztJQU1kLFdBQVcsRUFBRSxDQUFDO0dBRWpCOzs7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDTixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLGVBQWUsRUFBRSxhQUFhO0VBQzlCLE1BQU0sRUFBRSxNQUFNO0VBQ2QsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVBQUUsTUFBTTtDQThEcEI7O0FUc2ZHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVMzakI3QixBQUFBLE9BQU8sQ0FBQztJQVVKLFVBQVUsRUFBRSxDQUFDO0lBQ2IsT0FBTyxFQUFFLElBQUk7R0EwRGhCOzs7O0FBckVELEFBY0UsT0FkSyxDQWNMLEdBQUcsQ0FBQztFQUNGLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFFWCxVQUFVLEVBQUUsS0FBSztFQUNqQixPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSxZQUFZO0VBQ3ZCLFVBQVUsRUFBRSxxQkFBcUI7Q0FTbEM7OztBQVBDLEFBQUEsU0FBUyxDQXZCYixPQUFPLENBY0wsR0FBRyxDQVNXO0VBQ1YsZ0JBQWdCLEVBQUUsS0FBSztDQUt4Qjs7O0FBSEMsQUFBQSxnQkFBZ0IsQ0FIbEIsU0FBUyxDQXZCYixPQUFPLENBY0wsR0FBRyxDQVlvQjtFQUNqQixnQkFBZ0IsRUFBRSxLQUFLO0NBQ3hCOzs7QUE1QlAsQUFnQ0UsT0FoQ0ssQ0FnQ0wsR0FBRyxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBQUU7RUFDZixVQUFVLEVBQUUsTUFBTTtDQU9uQjs7O0FBTEMsQUFBQSxnQkFBZ0IsQ0FuQ3BCLE9BQU8sQ0FnQ0wsR0FBRyxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBR007RUFDakIsS0FBSyxFQUFFLEVBQUU7RUFDVCxJQUFJLEVBQUUsR0FBRztFQUNULE9BQU8sRUFBRSxDQUFDO0NBQ1g7OztBQXZDTCxBQTBDRSxPQTFDSyxDQTBDTCxHQUFHLEFBQUEsVUFBVyxDQUFBLENBQUMsRUFBRTtFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxlQUFlO0NBS3JCOzs7QUFIQyxBQUFBLGdCQUFnQixDQTlDcEIsT0FBTyxDQTBDTCxHQUFHLEFBQUEsVUFBVyxDQUFBLENBQUMsRUFJTTtFQUNqQixTQUFTLEVBQUUsYUFBYTtDQUN6Qjs7O0FBaERMLEFBbURFLE9BbkRLLENBbURMLEdBQUcsQUFBQSxVQUFXLENBQUEsQ0FBQyxFQUFFO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLGVBQWU7Q0FLckI7OztBQUhDLEFBQUEsZ0JBQWdCLENBdkRwQixPQUFPLENBbURMLEdBQUcsQUFBQSxVQUFXLENBQUEsQ0FBQyxFQUlNO0VBQ2pCLFNBQVMsRUFBRSxjQUFjO0NBQzFCOzs7QUF6REwsQUE0REUsT0E1REssQ0E0REwsR0FBRyxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBQUU7RUFDZixVQUFVLEVBQUUsTUFBTTtDQU9uQjs7O0FBTEMsQUFBQSxnQkFBZ0IsQ0EvRHBCLE9BQU8sQ0E0REwsR0FBRyxBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBR007RUFDakIsS0FBSyxFQUFFLEVBQUU7RUFDVCxJQUFJLEVBQUUsR0FBRztFQUNULE9BQU8sRUFBRSxDQUFDO0NBQ1g7OztBQzdFTCxBQUFBLElBQUksQ0FBQztFQUNILGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRWR3Q0QsUUFBUSxFQUFFLFVBQVU7Q2NuQi9COztBVjZpQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLOztFVXJrQjVCLEFBQUEsSUFBSSxDQUFDO0lBTUQsU0FBUyxFQUFFLElBQUk7R0FrQmxCOzs7QVY2aUJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVVya0I3QixBQUFBLElBQUksQ0FBQztJQVVELFNBQVMsRUFBRSxJQUFJO0dBY2xCOzs7QVY2aUJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVVya0I3QixBQUFBLElBQUksQ0FBQztJQWNELFNBQVMsRUFBRSxJQUFJO0dBVWxCOzs7QVY2aUJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVVya0I3QixBQUFBLElBQUksQ0FBQztJQWtCRCxTQUFTLEVBQUUsSUFBSTtHQU1sQjs7O0FWNmlCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VVcmtCN0IsQUFBQSxJQUFJLENBQUM7SUFzQkQsU0FBUyxFQUFFLElBQUk7R0FFbEI7Ozs7QUFHQyxBQUFBLGdCQUFnQixDQURsQixJQUFJLENBQ2lCO0VBQ2pCLFFBQVEsRUFBRSxNQUFNO0NBQ2pCOzs7QUFHSCxBQUFBLElBQUksQUFBQSxJQUFLLENBQUEsS0FBSyxFQUFFLEtBQUssQ0FBQztFQUNwQixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLE1BQU07Q0FDeEI7OztBQUVELEFBQUEsS0FBSyxDQUFDO0VBQ0osUUFBUSxFQUFFLFFBQVE7RUFDbEIsVUFBVSxFQUFFLElBQUk7Q0FDakI7OztBQUVELEFBQUEsS0FBSyxDQUFDLEtBQUssQ0FBQztFQUNWLFFBQVEsRUFBRSxNQUFNO0NBQ2pCOzs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNULFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsb0JBQW9CO0NBS2hDOztBVjZnQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFVXBoQjdCLEFBQUEsVUFBVSxDQUFDO0lBS1AsTUFBTSxFQUFFLE1BQU07R0FFakI7Ozs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLE9BQU8sRWR4Q0QsSUFBSTtFY3lDVixLQUFLLEVBQUUsSUFBSTtDQUNaOzs7QUFFRCxBQUFBLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztFQUMxQixPQUFPLEVBQUUsb0JBQW9CLENBQUMsb0JBQW9CO0NBS25EOzs7QUFORCxBQUdFLFFBSE0sQ0FBQyxrQkFBa0IsQ0FHekIsdUJBQXVCLENBQUM7RUFDdEIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7O0FBR0gsQUFDRSxLQURHLEFBQUEsSUFBSyxDQUFBLEtBQUssRUFDYixtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGVBQWUsRUFBRSxFQUFFO0VBQ25CLE9BQU8sRUFBRSxFQUFFO0VBQ1gsY0FBYyxFQUFFLElBQUk7Q0FDckI7OztBQVZILEFBWUUsS0FaRyxBQUFBLElBQUssQ0FBQSxLQUFLLEVBWWIsWUFBWSxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7Q0E2Qm5COzs7QUExQ0gsQUFlSSxLQWZDLEFBQUEsSUFBSyxDQUFBLEtBQUssRUFZYixZQUFZLEFBR1QsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CO0VBQzlDLE9BQU8sRUFBRSxHQUFHO0VBQ1osU0FBUyxFQUFFLHFCQUFxQjtDQUNqQzs7O0FBM0JMLEFBNkJJLEtBN0JDLEFBQUEsSUFBSyxDQUFBLEtBQUssRUFZYixZQUFZLEFBaUJULE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsS0FBSztFQUNqQixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtFQUM5QyxPQUFPLEVBQUUsR0FBRztFQUNaLFNBQVMsRUFBRSxxQkFBcUI7Q0FDakM7OztBQUlMLEFBQUEsUUFBUSxDQUFDLG1CQUFtQixDQUFDO0VBQzNCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osZUFBZSxFQUFFLEVBQUU7RUFDbkIsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsR0FBRztDQUNiOzs7QUFFRCxBQUFBLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztFQUN2QixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUVYLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxvQkFBb0I7Q0FTbkQ7O0FWeWJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RVV0YzVCLEFBQUEsS0FBSyxDQUFDLGtCQUFrQixDQUFDO0lBT3JCLFNBQVMsRUFBRSxJQUFJO0dBTWxCOzs7QVZ5YkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFVXRjN0IsQUFBQSxLQUFLLENBQUMsa0JBQWtCLENBQUM7SUFXckIsU0FBUyxFQUFFLElBQUk7R0FFbEI7Ozs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsWUFBWSxFQUFFLFVBQVU7Q0FDekI7OztBQUVELEFBQUEsMEJBQTBCLENBQUM7RUFDekIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsVUFBVTtFQUN2QixhQUFhLEVBQUUsR0FBRztDQWNuQjs7QVZnYUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFVWxiN0IsQUFBQSwwQkFBMEIsQ0FBQztJQU92QixjQUFjLEVBQUUsR0FBRztJQUNuQixXQUFXLEVBQUUsTUFBTTtHQVV0Qjs7OztBQWxCRCxBQVlFLDBCQVp3QixDQVl4QixNQUFNLENBQUM7RUw3SlAsUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFFLE9BQU87RUFDZCxTQUFTLEVBQUUsS0FBSztFQUNoQixjQUFjLEVBQUUsU0FBUztFQUN6QixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVUY0ksT0FBTztFU2JyQixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsZUFBZTtFQUN4QixPQUFPLEVBQUUsV0FBVztFQUNwQixXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVUcUJLLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtFU3BCL0MsV0FBVyxFVDhCRyxNQUFNLEVBQUUsVUFBVTtFUzdCaEMsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFVGVTLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFY2tJckMsVUFBVSxFZDFJSSxPQUFPO0VjMklyQixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxLQUFLO0NBQ2I7OztBQWpCSCxBTGpJRSwwQktpSXdCLENBWXhCLE1BQU0sQUw3SUwsTUFBTSxFS2lJVCwwQkFBMEIsQ0FZeEIsTUFBTSxBTDVJTCxPQUFPLEVLZ0lWLDBCQUEwQixDQVl4QixNQUFNLEFMM0lMLE1BQU0sQ0FBQztFQUNOLFNBQVMsRUFBRSxXQUFXO0VBQ3RCLFVBQVUsRVRlUyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQWdCO0NTZHJEOzs7QUtnSkgsQUFBQSxlQUFlLENBQUM7RUFDZCxVQUFVLEVkOUlBLFVBQU87RWMrSWpCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLGFBQWE7RUFDdEIsS0FBSyxFQUFFLEtBQUs7Q0FPYjs7O0FBWEQsQUFNRSxlQU5hLENBTWIsQ0FBQyxDQUFDO0VBQ0EsVUFBVSxFZHZKSSxPQUFPO0Vjd0pyQixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7OztBQUdILEFBQUEsSUFBSSxDQUFDLGVBQWUsQUFBQSxRQUFRLENBQUM7RUFDM0IsT0FBTyxFQUFFLEVBQUU7Q0FDWjs7QVYrWUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFVTVZM0IsQUFBQSxLQUFLLENBQUM7SUFDSixlQUFlLENBQUEsS0FBQztJQUNoQixLQUFLLENBQUEsT0FBQztJQUNOLGVBQWUsQ0FBQSxLQUFDO0dBQ2pCOzs7O0FBR0gsQUFBQSxjQUFjLENBQUM7RVI1SmIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsV0FBVyxFQUFFLEtBQUs7RUFDbEIsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVOS0csTUFBTSxFQUFFLFVBQVU7RU1KaEMsV0FBVyxFTk1VLEdBQUc7Q2NvSnpCOztBVm1ZRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VVclk3QixBQUFBLGNBQWMsQ0FBQztJUnJKWCxTQUFTLEVBQUUsS0FBSztHUXVKbkI7OztBVm1ZRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VVclk3QixBQUFBLGNBQWMsQ0FBQztJUmpKWCxTQUFTLEVBQUUsS0FBSztHUW1KbkI7Ozs7QVJoSkMsQUFBQSxTQUFTLENROElYLGNBQWMsQ1I5SUE7RUFDVixLQUFLLEVBQUUsS0FBSztDQUNiOzs7QVFnSkgsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixpQkFBaUIsRUFBRSxHQUFHO0NBQ3ZCOzs7QUFFRCxBQUFBLFNBQVMsQ0FBQyxLQUFLLENBQUM7RUFDZCxTQUFTLEVBQUUsS0FBSztFQUNoQixPQUFPLEVBQUUsb0JBQW9CLENBQUMsb0JBQW9CO0VBQ2xELGNBQWMsRUFBRSxNQUFNO0NBV3ZCOztBVitXRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VVN1g3QixBQUFBLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFNWixNQUFNLEVBQUUsTUFBTTtHQVFqQjs7OztBQWRELEFBU0UsU0FUTyxDQUFDLEtBQUssQ0FTYixZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLENBQUM7Q0FDVjs7O0FBR0gsQUFBQSx5QkFBeUIsQ0FBQztFQUN4QixNQUFNLEVBQUUsQ0FBQztFQUNULFFBQVEsRUFBRSxNQUFNO0NBVWpCOzs7QUFaRCxBQUlFLHlCQUp1QixBQUl0QixLQUFLLENBQUM7RUFDTCxNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxPQUFPO0NBQ2xCOzs7QUFQSCxBQVNFLHlCQVR1QixDQVN2QixjQUFjLEFBQUEsZUFBZSxDQUFDLGdCQUFnQixDQUFDO0VBQzdDLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7OztBQUdILEFBR0UsT0FISyxDQUdMLGtCQUFrQjtBQUZwQixhQUFhLENBRVgsa0JBQWtCO0FBRHBCLGlDQUFpQyxDQUMvQixrQkFBa0IsQ0FBQztFQUNqQixTQUFTLEVBQUUsSUFBSTtDQUtoQjs7QVZzVkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFVS9WN0IsQUFHRSxPQUhLLENBR0wsa0JBQWtCO0VBRnBCLGFBQWEsQ0FFWCxrQkFBa0I7RUFEcEIsaUNBQWlDLENBQy9CLGtCQUFrQixDQUFDO0lBSWYsY0FBYyxFQUFFLENBQUM7R0FFcEI7Ozs7QUFUSCxBQVdFLE9BWEssQ0FXTCxjQUFjO0FBVmhCLGFBQWEsQ0FVWCxjQUFjO0FBVGhCLGlDQUFpQyxDQVMvQixjQUFjLENBQUM7RUFDYixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLFNBQVMsRUFBRSxJQUFJO0NBS2hCOztBVjRVQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VVL1Y3QixBQVdFLE9BWEssQ0FXTCxjQUFjO0VBVmhCLGFBQWEsQ0FVWCxjQUFjO0VBVGhCLGlDQUFpQyxDQVMvQixjQUFjLENBQUM7SUFNWCxTQUFTLEVBQUUsTUFBTTtHQUVwQjs7OztBQW5CSCxBQXFCRSxPQXJCSyxDQXFCTCxjQUFjLENBQUMsZ0JBQWdCLEFBQUEsWUFBWTtBQXBCN0MsYUFBYSxDQW9CWCxjQUFjLENBQUMsZ0JBQWdCLEFBQUEsWUFBWTtBQW5CN0MsaUNBQWlDLENBbUIvQixjQUFjLENBQUMsZ0JBQWdCLEFBQUEsWUFBWSxDQUFDO0VBQzFDLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLFVBQVU7RUFDdkIsVUFBVSxFQUFFLElBQUk7Q0FLakI7O0FWa1VDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVUvVjdCLEFBcUJFLE9BckJLLENBcUJMLGNBQWMsQ0FBQyxnQkFBZ0IsQUFBQSxZQUFZO0VBcEI3QyxhQUFhLENBb0JYLGNBQWMsQ0FBQyxnQkFBZ0IsQUFBQSxZQUFZO0VBbkI3QyxpQ0FBaUMsQ0FtQi9CLGNBQWMsQ0FBQyxnQkFBZ0IsQUFBQSxZQUFZLENBQUM7SUFNeEMsU0FBUyxFQUFFLEdBQUc7R0FFakI7Ozs7QUE3QkgsQUErQkUsT0EvQkssQ0ErQkwsY0FBYyxDQUFDLGdCQUFnQixBQUFBLFVBQVcsQ0FBQSxDQUFDO0FBOUI3QyxhQUFhLENBOEJYLGNBQWMsQ0FBQyxnQkFBZ0IsQUFBQSxVQUFXLENBQUEsQ0FBQztBQTdCN0MsaUNBQWlDLENBNkIvQixjQUFjLENBQUMsZ0JBQWdCLEFBQUEsVUFBVyxDQUFBLENBQUMsRUFBRTtFQUMzQyxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxDQUFDO0NBTWY7O0FWc1RDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVUvVjdCLEFBK0JFLE9BL0JLLENBK0JMLGNBQWMsQ0FBQyxnQkFBZ0IsQUFBQSxVQUFXLENBQUEsQ0FBQztFQTlCN0MsYUFBYSxDQThCWCxjQUFjLENBQUMsZ0JBQWdCLEFBQUEsVUFBVyxDQUFBLENBQUM7RUE3QjdDLGlDQUFpQyxDQTZCL0IsY0FBYyxDQUFDLGdCQUFnQixBQUFBLFVBQVcsQ0FBQSxDQUFDLEVBQUU7SUFPekMsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxTQUFTLEVBQUUsR0FBRztHQUVqQjs7O0FWc1RDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVUvVjdCLEFBMkNFLE9BM0NLLENBMkNMLE1BQU07RUExQ1IsYUFBYSxDQTBDWCxNQUFNO0VBekNSLGlDQUFpQyxDQXlDL0IsTUFBTSxDQUFDO0lBRUgsU0FBUyxFQUFFLGdCQUFnQjtHQUU5Qjs7OztBQUdILEFBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQztFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxNQUFNO0NBS25COzs7QUFIQyxBQUFBLFVBQVUsQ0FMWixNQUFNLENBQUMsVUFBVSxFQUtELFlBQVksQ0FMNUIsTUFBTSxDQUFDLFVBQVUsRUFLZSxhQUFhLENBTDdDLE1BQU0sQ0FBQyxVQUFVLENBSytCO0VBQzVDLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7OztBQUdILEFBQUEsV0FBVyxBQUFBLGlCQUFpQixDQUFDO0VBQzNCLFdBQVcsRUFBRSxJQUFJO0NBS2xCOzs7QUFORCxBQUdFLFdBSFMsQUFBQSxpQkFBaUIsQ0FHMUIsVUFBVSxDQUFDO0VBQ1QsZUFBZSxFQUFFLGFBQWE7Q0FDL0I7OztBQUdILEFBQUEsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLFNBQVM7RUFDbEIsV0FBVyxFQUFFLEtBQUs7RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0I7RUFDL0MsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFZHpSTSxPQUFPO0Nja1N4Qjs7O0FBUEMsQUFBQSxrQkFBa0IsQ0FScEIsT0FBTyxDQVFnQjtFQUNuQixPQUFPLEVBQUUsU0FBUztFQUNsQixhQUFhLEVBQUUsR0FBRztDQUluQjs7QVY2UUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFVW5SM0IsQUFBQSxrQkFBa0IsQ0FScEIsT0FBTyxDQVFnQjtJQUlqQixLQUFLLEVBQUUsR0FBRztHQUViOzs7O0FDeFRILEFBQUEsVUFBVSxDQUFDO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0NBdURwQjs7QVh3Z0JHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVdya0I3QixBQUFBLFVBQVUsQ0FBQztJQVNQLFVBQVUsRUFBRSxLQUFLO0dBb0RwQjs7OztBQTdERCxBQVlFLFVBWlEsQUFZUCxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsVUFBVSxFQUFFLEtBQUs7RUFDakIsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsRUFBRTtDQUtaOzs7QUFIQyxBQUFBLFNBQVMsQ0F2QmIsVUFBVSxBQVlQLE1BQU0sQ0FXTztFQUNWLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7OztBQXpCTCxBQTRCRSxVQTVCUSxBQTRCUCxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsVUFBVSxFQUFFLGlGQUtYO0VBQ0QsT0FBTyxFQUFFLEdBQUc7Q0FTYjs7O0FBUEMsQUFBQSxTQUFTLENBM0NiLFVBQVUsQUE0QlAsT0FBTyxDQWVNO0VBQ1YsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QVh3aEJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RVdya0I1QixBQTRCRSxVQTVCUSxBQTRCUCxPQUFPLENBQUM7SUFvQkwsS0FBSyxFQUFFLElBQUk7R0FFZDs7OztBQWxESCxBQW9ERSxVQXBEUSxDQW9EUixXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLEtBQUs7Q0FDbEI7OztBQUdILEFBQUEsS0FBSyxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztFQUNsQyxVQUFVLEVBQUUsTUFBTTtDQUNuQjs7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLFVBQVUsRUFBRSw2QkFBNkI7RUFDekMsYUFBYSxFQUFFLDZCQUE2QjtDQVU3Qzs7QVhtZkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFV2xnQjdCLEFBQUEsa0JBQWtCLENBQUM7SUFRZixjQUFjLEVBQUUsR0FBRztJQUNuQixlQUFlLEVBQUUsYUFBYTtJQUM5QixXQUFXLEVBQUUsUUFBUTtJQUNyQixVQUFVLEVBQUUsNkJBQTZCO0lBQ3pDLGFBQWEsRUFBRSw2QkFBNkI7SUFDNUMsS0FBSyxFQUFFLElBQUk7R0FFZDs7OztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FTWDs7QVhzZUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLOztFV2pmNUIsQUFBQSxrQkFBa0IsQ0FBQztJQUtmLFNBQVMsRUFBRSxJQUFJO0dBTWxCOzs7QVhzZUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFV2pmN0IsQUFBQSxrQkFBa0IsQ0FBQztJQVNmLFNBQVMsRUFBRSxJQUFJO0dBRWxCOzs7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFVHpGZixXQUFXLEVObUNELFFBQVEsRUFBRSxVQUFVO0VNbEM5QixTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHO0VTd0ZaLGFBQWEsRUFBRSxLQUFLO0NBS3JCOzs7QUFQRCxBVHBGRSxnQlNvRmMsQ1RwRmQsU0FBUyxDQUFDO0VBQ1IsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7O0FTc0ZELEFBQUEsU0FBUyxDQUpYLGdCQUFnQixDQUlGO0VBQ1YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7O0FBR0gsQUFBQSxhQUFhLENBQUM7RVR2RlosV0FBVyxFTndCRCxRQUFRLEVBQUUsVUFBVTtFTXZCOUIsU0FBUyxFQUFFLEdBQUc7RUFDZCxLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHO0NTMEZiOzs7QVR4RkMsQUFBQSxTQUFTLENTa0ZYLGFBQWEsQ1RsRkM7RUFDVixLQUFLLEVBQUUsS0FBSztDQUNiOzs7QVNtRkQsQUFBQSxTQUFTLENBSFgsYUFBYSxDQUdDO0VBQ1YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7O0FBR0gsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsS0FBSztDQUNmOzs7QUFFRCxBQUNFLFVBRFEsQ0FDUixVQUFVLENBQUM7RUFDVCxTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCOzs7QUFHSCxBQUFBLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLEtBQUs7RUFDYixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxNQUFNO0VBQ2YsYUFBYSxFQUFFLEdBQUc7RUFDbEIsS0FBSyxFQUFFLEtBQUs7RUFDWixnQkFBZ0IsRWZuSEEsT0FBTztFZW9IdkIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVmbkdHLE1BQU0sRUFBRSxVQUFVO0Vlb0doQyxXQUFXLEVBQUUsR0FBRztFQUNoQixjQUFjLEVBQUUsU0FBUztFQUN6QixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVBQUUsTUFBTTtFQUNsQixVQUFVLEVmbEhLLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtFZW1IL0MsU0FBUyxFQUFFLGFBQWE7RUFDeEIsVUFBVSxFZnZIUyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7Q2V5SnhDOztBWDZZRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0VXdGM1QixBQUFBLFdBQVcsQ0FBQztJQTBCUixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxJQUFJO0dBOEJwQjs7O0FYNllHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVd0YzdCLEFBQUEsV0FBVyxDQUFDO0lBK0JSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsR0FBRyxFQUFFLE1BQU07SUFDWCxhQUFhLEVBQUUsQ0FBQztHQXVCbkI7O0VBckJHLEFBQUEsU0FBUyxDQXBDYixXQUFXLENBb0NLO0lBQ1YsS0FBSyxFQUFFLEtBQUs7R0FDYjs7O0FYZ2FELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVd0YzdCLEFBQUEsV0FBVyxDQUFDO0lBMENSLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQUk7R0FjcEI7Ozs7QUF6REQsQUE4Q0UsV0E5Q1MsQUE4Q1IsTUFBTSxFQTlDVCxXQUFXLEFBK0NSLE1BQU0sRUEvQ1QsV0FBVyxBQWdEUixPQUFPLENBQUM7RUFDUCxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLElBQUk7RUFDMUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0I7Q0FDOUM7OztBQW5ESCxBQXFERSxXQXJEUyxDQXFEVCxDQUFDLENBQUM7RUFDQSxTQUFTLEVBQUUsR0FBRztFQUNkLGNBQWMsRUFBRSxNQUFNO0NBQ3ZCOzs7QUN2TEgsQUFDRSxZQURVLENBQ1YsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsTUFBTTtDQWN2Qjs7QVpvakJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVlya0I3QixBQUNFLFlBRFUsQ0FDVixVQUFVLENBQUM7SUFLUCxjQUFjLEVBQUUsR0FBRztHQVd0Qjs7OztBQWpCSCxBQVNJLFlBVFEsQ0FDVixVQUFVLENBUVIsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixlQUFlLEVBQUUsRUFBRTtDQUNwQjs7O0FBaEJMLEFBbUJFLFlBbkJVLENBbUJWLGtCQUFrQixDQUFDO0VBQ2pCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLENBQUM7Q0FPVjs7QVp5aUJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RVlya0I3QixBQW1CRSxZQW5CVSxDQW1CVixrQkFBa0IsQ0FBQztJQUtmLFVBQVUsRUFBRSw2QkFBNkI7SUFDekMsYUFBYSxFQUFFLDZCQUE2QjtJQUM1QyxTQUFTLEVBQUUsSUFBSTtHQUVsQjs7OztBQUdILEFBQUEsWUFBWSxDQUFDLG1CQUFtQixDQUFDO0VBQy9CLFVBQVUsRUFBRSw2QkFBNkI7RUFDekMsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxHQUFHO0NBMkNYOztBWm9mRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VZdGlCN0IsQUFBQSxZQUFZLENBQUMsbUJBQW1CLENBQUM7SUFVN0IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxDQUFDO0lBQ1IsVUFBVSxFQUFFLENBQUM7R0FvQ2hCOzs7O0FBbERELEFBaUJFLFlBakJVLENBQUMsbUJBQW1CLEFBaUI3QixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFVBQVUsRWhCbEJNLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBZ0I7RWdCbUJqRCxPQUFPLEVBQUUsR0FBRztDQUNiOzs7QUEzQkgsQUE2QkUsWUE3QlUsQ0FBQyxtQkFBbUIsQUE2QjdCLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsVUFBVSxFaEI5Qk0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFnQjtFZ0IrQmpELE9BQU8sRUFBRSxHQUFHO0NBQ2I7OztBQXZDSCxBQXlDRSxZQXpDVSxDQUFDLG1CQUFtQixDQXlDOUIsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtDQU1uQjs7QVpxZkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFWXRpQjdCLEFBeUNFLFlBekNVLENBQUMsbUJBQW1CLENBeUM5QixXQUFXLENBQUM7SUFLUixRQUFRLEVBQUUsUUFBUTtJQUNsQixVQUFVLEVBQUUsSUFBSTtHQUVuQjs7OztBQ2hGSCxBQUFBLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLFFBQVEsRUFBRSxNQUFNO0NBWWpCOzs7QUFuQkQsQUFTRSxhQVRXLENBU1gsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLEtBQUs7Q0FDbEI7OztBQUdILEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLDRCQUE0QjtFQUNwQyxPQUFPLEVBQUUsQ0FBQztFQUNWLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLG9CQUFvQjtFQUMxQixVQUFVLEVqQkxJLE9BQU87RWlCTXJCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsV0FBVyxFakJjRyxNQUFNLEVBQUUsVUFBVTtFaUJiaEMsT0FBTyxFQUFFLEtBQUs7Q0FjZjs7O0FBeEJELEFBWUUsaUJBWmUsQ0FZZixDQUFDLENBQUM7RUFDQSxLQUFLLEVBQUUsS0FBSztFQUNaLFNBQVMsRUFBRSxHQUFHO0NBQ2Y7OztBQWZILEFBaUJFLGlCQWpCZSxDQWlCZixJQUFJLENBQUM7RUFDSCxTQUFTLEVBQUUsS0FBSztFQUNoQixXQUFXLEVBQUUsS0FBSztFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLFlBQVksRUFBRSxLQUFLO0VBQ25CLFdBQVcsRUFBRSxLQUFLO0NBQ25COzs7QUFHSCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVqQmxCYyxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7RWlCbUIzQyxnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsVUFBVTtDQTRDeEI7O0FibWVHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RWF0aEI1QixBQUFBLHFCQUFxQixDQUFDO0lBVWxCLFNBQVMsRUFBRSxJQUFJO0dBeUNsQjs7O0FibWVHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWF0aEI3QixBQUFBLHFCQUFxQixDQUFDO0lBY2xCLFNBQVMsRUFBRSxJQUFJO0dBcUNsQjs7OztBQW5ERCxBQWlCRSxxQkFqQm1CLENBaUJuQixjQUFjLENBQUM7RUFDYixTQUFTLEVBQUUsS0FBSztFQUNoQixXQUFXLEVBQUUsS0FBSztFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLFdBQVcsRWpCeEJDLE1BQU0sRUFBRSxVQUFVO0NpQjZCL0I7O0FiNGZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWF0aEI3QixBQWlCRSxxQkFqQm1CLENBaUJuQixjQUFjLENBQUM7SUFPWCxTQUFTLEVBQUUsS0FBSztHQUVuQjs7OztBQTFCSCxBQTRCRSxxQkE1Qm1CLEFBNEJsQixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLEtBQUs7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsVUFBVSxFQUNSLGlGQUtDO0VBQ0gsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsRUFBRTtFQUNYLFVBQVUsRWpCM0RZLEdBQUcsQ0FBQyxJQUFHLENBQUMsV0FBVztFaUI0RHpDLGdCQUFnQixFQUFFLElBQUk7Q0FLdkI7O0Fib2VDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWF0aEI3QixBQTRCRSxxQkE1Qm1CLEFBNEJsQixNQUFNLENBQUM7SUFvQkosS0FBSyxFQUFFLElBQUk7R0FFZDs7OztBQUdILEFBQUEsZ0JBQWdCLENBQUM7RVg1RmYsV0FBVyxFTm1DRCxRQUFRLEVBQUUsVUFBVTtFTWxDOUIsU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFQUFFLEtBQUs7RUFDWixPQUFPLEVBQUUsR0FBRztFVzJGWixhQUFhLEVBQUUsS0FBSztDQVNyQjs7O0FBWEQsQVh2RkUsZ0JXdUZjLENYdkZkLFNBQVMsQ0FBQztFQUNSLEtBQUssRUFBRSxLQUFLO0NBQ2I7O0FGc2pCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0VhamU1QixBQUFBLGdCQUFnQixDQUFDO0lBS2IsS0FBSyxFQUFFLGlCQUFpQjtHQU0zQjs7OztBQUhDLEFBQUEsU0FBUyxDQVJYLGdCQUFnQixDQVFGO0VBQ1YsS0FBSyxFakJqRlUsa0JBQWU7Q2lCa0YvQjs7O0FBR0gsQUFBQSxhQUFhLENBQUM7RVg5RlosV0FBVyxFTndCRCxRQUFRLEVBQUUsVUFBVTtFTXZCOUIsU0FBUyxFQUFFLEdBQUc7RUFDZCxLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHO0NXaUdiOzs7QVgvRkMsQUFBQSxTQUFTLENXeUZYLGFBQWEsQ1h6RkM7RUFDVixLQUFLLEVBQUUsS0FBSztDQUNiOzs7QVcwRkQsQUFBQSxTQUFTLENBSFgsYUFBYSxDQUdDO0VBQ1YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7O0FBR0gsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsS0FBSztDQUNmOzs7QUFFRCxBQUNFLGFBRFcsQ0FDWCxVQUFVLENBQUM7RUFDVCxTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCOzs7QUFHSCxBQUFBLGFBQWEsQ0FBQyxhQUFhLENBQUM7RUFDMUIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsTUFBTTtDQUNqQjs7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxRQUFRLEVBQUUsTUFBTTtFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUVsQixlQUFlLEVBQUUsV0FBVztFQUM1QixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLFVBQVUsRUFBRSxlQUFlO0NBQzVCOzs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNYLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7RUFDeEUsTUFBTSxFQUFFLGVBQWU7RUFDdkIsS0FBSyxFQUFFLGVBQWU7RUFDdEIsU0FBUyxFQUFFLElBQUk7RUFDZixJQUFJLEVBQUUsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUsZUFBZTtFQUN4QixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxVQUFVO0NBd0N4Qjs7QWI2WEcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFYWhiN0IsQUFBQSxZQUFZLENBQUM7SUFjVCxXQUFXLEVBQUUsTUFBTTtHQXFDdEI7Ozs7QUFuREQsQUFpQkUsWUFqQlUsQUFpQlQsTUFBTSxFQWpCVCxZQUFZLEFBa0JULE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxVQUFVLEVBQ1IsK0VBS0M7RUFDSCxPQUFPLEVBQUUsR0FBRztFQUNaLE9BQU8sRUFBRSxDQUFDO0NBS1g7O0FiMFlDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWFoYjdCLEFBaUJFLFlBakJVLEFBaUJULE1BQU0sRUFqQlQsWUFBWSxBQWtCVCxPQUFPLENBQUM7SUFrQkwsTUFBTSxFQUFFLEdBQUc7R0FFZDs7OztBQXRDSCxBQXdDRSxZQXhDVSxBQXdDVCxPQUFPLENBQUM7RUFDUCxHQUFHLEVBQUUsSUFBSTtFQUNULE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUNSLGtGQUtDO0NBQ0o7OztBQUdILEFBQ0UsWUFEVSxBQUFBLE9BQU8sQ0FDakIscUJBQXFCLENBQUM7RUFDcEIsT0FBTyxFQUFFLENBQUM7Q0FLWDs7O0FBUEgsQUFJSSxZQUpRLEFBQUEsT0FBTyxDQUNqQixxQkFBcUIsQUFHbEIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEdBQUc7Q0FDYjs7O0FBSUwsQUFBQSxFQUFFLEFBQUEsZ0JBQWdCLENBQUM7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLG9CQUFvQjtFQUMzQixNQUFNLEVBQUUsb0JBQW9CO0VBQzVCLElBQUksRUFBRSxvQkFBb0I7RUFDMUIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsVUFBVTtFQUMzQixXQUFXLEVBQUUsTUFBTTtFQUNuQixjQUFjLEVBQUUsR0FBRztFQUNuQixXQUFXLEVBQUUsR0FBRztFQUNoQixVQUFVLEVBQUUsSUFBSTtDQWlDakI7O0Fic1VHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWFqWDdCLEFBQUEsRUFBRSxBQUFBLGdCQUFnQixDQUFDO0lBYWYsV0FBVyxFQUFFLENBQUM7SUFDZCxJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLDhCQUE4QjtHQTJCekM7Ozs7QUEzQ0QsQUFtQkUsRUFuQkEsQUFBQSxnQkFBZ0IsQ0FtQmhCLEVBQUUsQ0FBQztFQUNELE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7Q0FDWjs7O0FBdEJILEFBd0JFLEVBeEJBLEFBQUEsZ0JBQWdCLENBd0JoQixFQUFFLEFBQUEsVUFBVSxDQUFDO0VBQ1gsVUFBVSxFakJyTkQsd0JBQXFCO0NpQnNOL0I7OztBQTFCSCxBQTRCRSxFQTVCQSxBQUFBLGdCQUFnQixDQTRCaEIsRUFBRSxDQUFDLENBQUMsQ0FBQztFQUNILFdBQVcsRUFBRSxRQUFRO0VBQ3JCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLEdBQUc7RUFDWCxVQUFVLEVqQnBOWSxHQUFHLENBQUMsSUFBRyxDQUFDLFdBQVc7Q2lCeU4xQzs7QWI0VUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFYWpYN0IsQUE0QkUsRUE1QkEsQUFBQSxnQkFBZ0IsQ0E0QmhCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFPRCxLQUFLLEVBQUUsS0FBSztHQUVmOzs7O0FBckNILEFBdUNFLEVBdkNBLEFBQUEsZ0JBQWdCLENBdUNoQixFQUFFLEFBQUEsT0FBTyxDQUFDLENBQUMsQ0FBQztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsVUFBVSxFQUFFLEtBQUs7Q0FDbEI7OztBQUdILEFBQUEsU0FBUztBQUNULEtBQUssQ0FBQztFQUNKLE1BQU0sRUFBRSxnQkFBZ0I7RUFDeEIsS0FBSyxFQUFFLGdCQUFnQjtFQUN2QixXQUFXLEVBQUUsT0FBTztFQUNwQixNQUFNLEVBQUUsS0FBSyxDakI5T0Ysd0JBQXFCLENpQjhPTixHQUFHO0VBQzdCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsVUFBVSxFQUFFLElBQUk7Q0FnQmpCOzs7QUExQkQsQUFZRSxTQVpPLENBWVAsSUFBSTtBQVhOLEtBQUssQ0FXSCxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsMEJBQTBCO0VBQ2xDLEtBQUssRUFBRSwwQkFBMEI7RUFDakMsVUFBVSxFQUFFLGVBQWU7RUFDM0IsWUFBWSxFQUFFLGVBQWU7RUFDN0IsUUFBUSxFQUFFLFFBQVE7Q0FDbkI7OztBQWxCSCxBQW9CRSxTQXBCTyxBQW9CTixNQUFNLEVBcEJULFNBQVMsQUFxQk4sT0FBTyxFQXJCVixTQUFTLEFBc0JOLE1BQU07QUFyQlQsS0FBSyxBQW1CRixNQUFNO0FBbkJULEtBQUssQUFvQkYsT0FBTztBQXBCVixLQUFLLEFBcUJGLE1BQU0sQ0FBQztFQUNOLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLGdCQUFnQixFQUFFLGtCQUFrQjtDQUNyQzs7O0FBR0gsQUFBQSxTQUFTLENBQUM7RUFDUixZQUFZLEVBQUUsR0FBRztDQU1sQjs7O0FBUEQsQUFHRSxTQUhPLENBR1AsSUFBSSxDQUFDO0VBQ0gsU0FBUyxFQUFFLGVBQWU7RUFDMUIsV0FBVyxFQUFFLEtBQUs7Q0FDbkI7OztBQUdILEFBQUEsS0FBSyxDQUFDO0VBQ0osV0FBVyxFQUFFLEdBQUc7Q0FNakI7OztBQVBELEFBR0UsS0FIRyxDQUdILElBQUksQ0FBQztFQUNILFNBQVMsRUFBRSxhQUFhO0VBQ3hCLFdBQVcsRUFBRSxNQUFNO0NBQ3BCOzs7QUFHSCxBQUFBLFlBQVksQUFBQSxJQUFLLENBQUEsT0FBTyxFQUFFO0VBQ3hCLE1BQU0sRUFBRSxPQUFPO0NBQ2hCOzs7QUNqVEQsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUNYLDRCQUVLO0NBK0RSOztBZGdnQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLOztFY3JrQjVCLEFBQUEsdUJBQXVCLENBQUM7SUFTcEIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxVQUFVO0lBQzFCLGFBQWEsRUFDWCwrQ0FDZTtJQUNqQixxQkFBcUIsRUFBRSxPQUFPO0dBd0RqQzs7O0FkZ2dCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VjcmtCN0IsQUFBQSx1QkFBdUIsQ0FBQztJQWlCcEIsYUFBYSxFQUNYLHVFQUNtQztJQUNyQyxxQkFBcUIsRUFBRSxpQkFBaUI7SUFDeEMsa0JBQWtCLEVBQUUsUUFBUTtHQWdEL0I7Ozs7QUFyRUQsQUF5QkksdUJBekJtQixDQXdCckIsYUFBYSxBQUNWLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7OztBQTNCTCxBQThCRSx1QkE5QnFCLENBOEJyQixpQkFBaUIsQ0FBQztFQUNoQixTQUFTLEVBQUUsR0FBRztFQUNkLFdBQVcsRUFBRSxDQUFDO0VBQ2QsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVBQUUsTUFBTTtDQUNwQjs7O0FBbkNILEFBcUNFLHVCQXJDcUIsQ0FxQ3JCLGdCQUFnQixDQUFDO0VBQ2YsYUFBYSxFQUFFLEtBQUs7Q0FDckI7OztBQXZDSCxBQXlDRSx1QkF6Q3FCLENBeUNyQixVQUFVLENBQUM7RUFDVCxVQUFVLEVBQUUsS0FBSztDQUNsQjs7O0FBM0NILEFBNkNFLHVCQTdDcUIsQ0E2Q3JCLG9CQUFvQixDQUFDO0VBQ25CLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLGFBQWEsRUFBRSxVQUFVO0VBQ3pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsNEJBQTRCO0VBQ25ELEdBQUcsRUFBRSxVQUFVO0VBQ2YsU0FBUyxFQUFFLGNBQWM7Q0FpQjFCOztBZGlnQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLOztFY3JrQjVCLEFBNkNFLHVCQTdDcUIsQ0E2Q3JCLG9CQUFvQixDQUFDO0lBU2pCLHFCQUFxQixFQUFFLDRCQUE0QjtHQWN0RDs7O0FkaWdCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VjcmtCN0IsQUE2Q0UsdUJBN0NxQixDQTZDckIsb0JBQW9CLENBQUM7SUFhakIscUJBQXFCLEVBQUUsNEJBQTRCO0dBVXREOzs7QWRpZ0JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWNya0I3QixBQTZDRSx1QkE3Q3FCLENBNkNyQixvQkFBb0IsQ0FBQztJQWlCakIscUJBQXFCLEVBQUUsNEJBQTRCO0dBTXREOzs7QWRpZ0JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWNya0I3QixBQTZDRSx1QkE3Q3FCLENBNkNyQixvQkFBb0IsQ0FBQztJQXFCakIscUJBQXFCLEVBQUUsNEJBQTRCO0dBRXREOzs7O0FDcEVILEFBQUEsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtDQUNoQjs7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDWCxVQUFVLEVBQUUsT0FBc0I7Q0FDbkM7OztBQUVELEFBSUksT0FKRyxBQUNKLE1BQU0sQ0FHTCxvQkFBb0IsQUFBQSxNQUFNLEVBSjlCLE9BQU8sQUFFSixNQUFNLENBRUwsb0JBQW9CLEFBQUEsTUFBTSxFQUo5QixPQUFPLEFBR0osT0FBTyxDQUNOLG9CQUFvQixBQUFBLE1BQU0sQ0FBQztFQUN6QixNQUFNLEVBQUUsSUFBSTtDQUNiOzs7QUFJTCxBQUFBLGVBQWUsQ0FBQztFQUNkLE1BQU0sRW5CRlMsSUFBSTtFbUJHbkIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsUUFBUTtFQUN6QixXQUFXLEVBQUUsVUFBVTtDQTRDeEI7OztBQWhERCxBQU9JLGVBUFcsQ0FNYix3QkFBd0IsQUFDckIsTUFBTSxDQUFDLHFCQUFxQjtBQVBqQyxlQUFlLENBTWIsd0JBQXdCLEFBRXJCLE1BQU0sQ0FBQyxxQkFBcUI7QUFSakMsZUFBZSxDQU1iLHdCQUF3QixBQUdyQixPQUFPLENBQUMscUJBQXFCLENBQUM7RUFDN0IsU0FBUyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLENBQUMsSUFBSTtDQUN4RTs7O0FBWEwsQUFjRSxlQWRhLENBY2IsZ0JBQWdCLENBQUM7RUFDZixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxDQUFDO0VBQ1IsUUFBUSxFQUFFLE1BQU07RUFDaEIsU0FBUyxFQUFFLGdCQUFnQjtDQUs1Qjs7QWYwaEJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWVsakI3QixBQWNFLGVBZGEsQ0FjYixnQkFBZ0IsQ0FBQztJQVFiLFNBQVMsRUFBRSxnQkFBZ0I7R0FFOUI7Ozs7QUF4QkgsQUEwQkUsZUExQmEsQ0EwQmIscUJBQXFCLENBQUM7RUFDcEIsT0FBTyxFQUFFLFdBQVc7Q0FDckI7OztBQTVCSCxBQThCRSxlQTlCYSxDQThCYixvQkFBb0IsQ0FBQztFQUNuQixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRW5CaEJRLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtFbUJpQmxELFNBQVMsRUFBRSxlQUFlLENBQUMsY0FBYztDQUsxQzs7QWY0Z0JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWVsakI3QixBQThCRSxlQTlCYSxDQThCYixvQkFBb0IsQ0FBQztJQU1qQixLQUFLLEVBQUUsS0FBSztHQUVmOzs7O0FBdENILEFBd0NFLGVBeENhLENBd0NiLFVBQVUsQ0FBQztFQUNULFNBQVMsRUFBRSxJQUFJO0VBQ2YsWUFBWSxFQUFFLEdBQUc7Q0FLbEI7O0FmbWdCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VlbGpCN0IsQUF3Q0UsZUF4Q2EsQ0F3Q2IsVUFBVSxDQUFDO0lBS1AsWUFBWSxFQUFFLENBQUM7R0FFbEI7Ozs7QUFHSCxBQUFBLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsYUFBYSxFQUNYLDZDQUlLO0NBa0ZSOztBZnNhRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0VlaGdCNUIsQUFBQSxLQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFXbkIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxVQUFVO0lBQy9CLGFBQWEsRUFDWCx1REFFaUI7SUFFbkIscUJBQXFCLEVBQUUsT0FBTztHQXlFakM7OztBZnNhRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VlaGdCN0IsQUFBQSxLQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFxQm5CLGFBQWEsRUFDWCwrQ0FDcUI7SUFDdkIscUJBQXFCLEVBQUUsaUJBQWlCO0lBQ3hDLGtCQUFrQixFQUFFLElBQUk7R0FpRTNCOzs7O0FBMUZELEFBNEJFLEtBNUJHLENBQUMsZ0JBQWdCLENBNEJwQixPQUFPLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxnQ0FBZ0M7Q0FVaEQ7OztBQXhDSCxBQWdDSSxLQWhDQyxDQUFDLGdCQUFnQixDQTRCcEIsT0FBTyxDQUlMLGFBQWE7QUFoQ2pCLEtBQUssQ0FBQyxnQkFBZ0IsQ0E0QnBCLE9BQU8sQ0FLTCxnQkFBZ0IsQ0FBQztFQUNmLEtBQUssRUFBRSxLQUFLO0NBQ2I7O0FmNmRELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RWVoZ0I1QixBQTRCRSxLQTVCRyxDQUFDLGdCQUFnQixDQTRCcEIsT0FBTyxDQUFDO0lBVUosYUFBYSxFQUFFLENBQUM7R0FFbkI7Ozs7QUF4Q0gsQUEwQ0UsS0ExQ0csQ0FBQyxnQkFBZ0IsQ0EwQ3BCLE9BQU8sQUFBQSxZQUFhLENBQUEsQ0FBQyxFQUFFO0VBQ3JCLFNBQVMsRUFBRSxTQUFTO0NBQ3JCOzs7QUE1Q0gsQUE4Q0UsS0E5Q0csQ0FBQyxnQkFBZ0IsQ0E4Q3BCLE9BQU8sQUFBQSxZQUFhLENBQUEsQ0FBQyxFQUFFO0VBQ3JCLFNBQVMsRUFBRSxTQUFTO0NBQ3JCOzs7QUFoREgsQUFrREUsS0FsREcsQ0FBQyxnQkFBZ0IsQ0FrRHBCLE9BQU8sQUFBQSxZQUFhLENBQUEsQ0FBQyxFQUFFO0VBQ3JCLFNBQVMsRUFBRSxTQUFTO0NBQ3JCOzs7QUFwREgsQUFzREUsS0F0REcsQ0FBQyxnQkFBZ0IsQ0FzRHBCLE9BQU8sQUFBQSxZQUFhLENBQUEsQ0FBQyxFQUFFO0VBQ3JCLFNBQVMsRUFBRSxTQUFTO0NBQ3JCOzs7QUF4REgsQUEwREUsS0ExREcsQ0FBQyxnQkFBZ0IsQ0EwRHBCLGlDQUFpQyxDQUFDO0VBQ2hDLFNBQVMsRUFBRSxjQUFjO0VBRXpCLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsbUNBQW1DO0VBQzFELEdBQUcsRUFBRSxHQUFHO0NBU1Q7O0Fmd2JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWVoZ0I3QixBQTBERSxLQTFERyxDQUFDLGdCQUFnQixDQTBEcEIsaUNBQWlDLENBQUM7SUFROUIscUJBQXFCLEVBQUUsbUNBQW1DO0dBTTdEOzs7QWZ3YkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFZWhnQjdCLEFBMERFLEtBMURHLENBQUMsZ0JBQWdCLENBMERwQixpQ0FBaUMsQ0FBQztJQVk5QixxQkFBcUIsRUFBRSxtQ0FBbUM7R0FFN0Q7Ozs7QUF4RUgsQUEwRUUsS0ExRUcsQ0FBQyxnQkFBZ0IsQ0EwRXBCLGdCQUFnQixDQUFDO0VBQ2YsVUFBVSxFQUFFLEtBQUs7Q0FDbEI7OztBQTVFSCxBQThFRSxLQTlFRyxDQUFDLGdCQUFnQixDQThFcEIsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsS0FBSztFQUNqQixZQUFZLEVBQUUsR0FBRztFQUNqQixPQUFPLEVBQUUsV0FBVztFQUNwQixLQUFLLEVBQUUsS0FBSztFQUNaLFlBQVksRUFBRSxLQUFLO0NBS3BCOzs7QUF6RkgsQUFzRkksS0F0RkMsQ0FBQyxnQkFBZ0IsQ0E4RXBCLFVBQVUsQUFRUCxNQUFNLENBQUM7RUFDTixnQkFBZ0IsRUFBRSxLQUFLO0NBQ3hCOzs7QUFJTCxBQUFBLGFBQWEsQUFBQSxNQUFNLENBQUM7RUFDbEIsZ0JBQWdCLEVBQUUsa0RBQWtEO0VBQ3BFLGVBQWUsRUFBRSxHQUFHO0NBQ3JCOzs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFbkJwSVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFnQjtFbUJxSXRELGNBQWMsRUFBRSxHQUFHO0NBdUVwQjs7O0FBM0VELEFBTUUsYUFOVyxBQU1WLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLEdBQUc7RUFDWCxVQUFVLEVuQnBKTyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RW1CcUpyQyxVQUFVLEVBQUUsb0VBSVg7Q0FDRjs7O0FBbkJILEFBcUJFLGFBckJXLENBcUJYLENBQUMsQ0FBQztFQUNBLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLEtBQUssRUFBRSxnQkFBZ0I7RUFDdkIsZ0JBQWdCLEVuQjFLRixPQUFPO0VtQjJLckIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFbkJsS0csR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFlO0VtQm1LN0MsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxvQkFBb0I7Q0FLN0I7OztBQXhDSCxBQXFDSSxhQXJDUyxDQXFCWCxDQUFDLEFBZ0JFLE9BQU8sQ0FBQztFQUNQLFNBQVMsRUFBRSxLQUFLO0NBQ2pCOzs7QUF2Q0wsQUEwQ0UsYUExQ1csQ0EwQ1gsaUJBQWlCLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsQ0FBQztFQUNULFdBQVcsRW5CeEtDLE1BQU0sRUFBRSxVQUFVO0VtQnlLOUIsS0FBSyxFQUFFLEtBQUs7RUFDWixTQUFTLEVBQUUsS0FBSztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixPQUFPLEVBQUUsc0JBQXNCLENBQUMsb0JBQW9CO0NBU3JEOztBZm9XQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VlL1o3QixBQTBDRSxhQTFDVyxDQTBDWCxpQkFBaUIsQ0FBQztJQVdkLFNBQVMsRUFBRSxHQUFHO0dBTWpCOzs7QWZvV0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFZS9aN0IsQUEwQ0UsYUExQ1csQ0EwQ1gsaUJBQWlCLENBQUM7SUFlZCxTQUFTLEVBQUUsS0FBSztHQUVuQjs7OztBQTNESCxBQTZERSxhQTdEVyxDQTZEWCxNQUFNLENBQUM7RUFDTCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztDQVFSOzs7QUExRUgsQUFvRUksYUFwRVMsQ0E2RFgsTUFBTSxDQU9KLEdBQUcsQ0FBQztFQUNGLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsS0FBSztDQUNsQjs7O0FBSUwsQUFBQSxhQUFhLEFBQUEsYUFBYSxDQUFDO0VBQ3pCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGVBQWUsRUFBRSxHQUFHO0VBQ3BCLGdCQUFnQixFQUFFLGdEQUFnRDtDQThDbkU7OztBQWpERCxBQUtFLGFBTFcsQUFBQSxhQUFhLEFBS3ZCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7OztBQVBILEFBU0UsYUFUVyxBQUFBLGFBQWEsQ0FTeEIsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVBQUUsTUFBTTtFQUNuQixNQUFNLEVBQUUsR0FBRztDQXVCWjs7O0FBcENILEFBZUksYUFmUyxBQUFBLGFBQWEsQ0FTeEIsTUFBTSxBQU1ILE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFVBQVUsRW5Cbk9JLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBZ0I7RW1Cb08vQyxPQUFPLEVBQUUsR0FBRztDQUNiOzs7QUF4QkwsQUEwQkksYUExQlMsQUFBQSxhQUFhLENBU3hCLE1BQU0sQUFpQkgsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsVUFBVSxFbkI5T0ksR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFnQjtFbUIrTy9DLE9BQU8sRUFBRSxHQUFHO0NBQ2I7OztBQW5DTCxBQXNDRSxhQXRDVyxBQUFBLGFBQWEsQ0FzQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsY0FBYyxFQUFFLFFBQVE7RUFDeEIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7O0FBNUNILEFBOENFLGFBOUNXLEFBQUEsYUFBYSxDQThDeEIsaUJBQWlCLENBQUM7RUFDaEIsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7O0FBR0gsQUFBQSw2QkFBNkIsQ0FBQztFQUM1QixRQUFRLEVBQUUsTUFBTTtFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGVBQWUsRUFBRSxHQUFHO0VBQ3BCLGdCQUFnQixFQUFFLGdEQUFnRDtFQUNsRSxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxNQUFNO0NBV3hCOzs7QUF0QkQsQUFhRSw2QkFiMkIsQ0FhM0IsU0FBUyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsSUFBSTtDQUtiOzs7QUFyQkgsQUFrQkksNkJBbEJ5QixDQWEzQixTQUFTLENBS1AsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7Q0FDZDs7O0FDMVRMLEFBQ0UsSUFERSxBQUFBLFNBQVMsQ0FDWCxnQkFBZ0IsQ0FBQztFQUNmLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixhQUFhLEVBQ1gsMkRBS1c7Q0FtQmQ7O0FoQndpQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLOztFZ0Jya0I1QixBQUNFLElBREUsQUFBQSxTQUFTLENBQ1gsZ0JBQWdCLENBQUM7SUFZYixRQUFRLEVBQUUsVUFBVSxDQUFDLFVBQVU7SUFDL0IsYUFBYSxFQUNYLDJEQUVxQjtJQUV2QixxQkFBcUIsRUFBRSxPQUFPO0dBVWpDOzs7QWhCd2lCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VnQnJrQjdCLEFBQ0UsSUFERSxBQUFBLFNBQVMsQ0FDWCxnQkFBZ0IsQ0FBQztJQXNCYixhQUFhLEVBQ1gsbURBQ3lCO0lBQzNCLHFCQUFxQixFQUFFLGlCQUFpQjtJQUN4QyxrQkFBa0IsRUFBRSxJQUFJO0dBRTNCOzs7O0FBN0JILEFBK0JFLElBL0JFLEFBQUEsU0FBUyxDQStCWCxVQUFVLENBQUM7RUFDVCxVQUFVLEVBQUUsQ0FBQztFQUNiLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0I7Q0FDcEU7OztBQWxDSCxBQW9DRSxJQXBDRSxBQUFBLFNBQVMsQ0FvQ1gsa0JBQWtCLENBQUM7RUFDakIsU0FBUyxFQUFFLElBQUk7Q0FDaEI7OztBQXRDSCxBQXdDRSxJQXhDRSxBQUFBLFNBQVMsQ0F3Q1gsa0JBQWtCLENBQUM7RUFDakIsVUFBVSxFQUFFLG9CQUFvQjtFQUNoQyxhQUFhLEVBQUUsb0JBQW9CO0VBQ25DLEtBQUssRUFBRSxJQUFJO0NBQ1o7OztBQzNDSCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsa0NBQWtDO0VBQ3pELEdBQUcsRUFBRSxVQUFVO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsb0JBQW9CLENBQUMsMEJBQTBCO0NBa0Z6RDs7QWpCNmVHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWlCcGtCN0IsQUFBQSx1QkFBdUIsQ0FBQztJQVFwQixPQUFPLEVBQUUsb0JBQW9CLENBQUMsOEJBQThCO0lBQzVELHFCQUFxQixFQUFFLG1DQUFtQztHQThFN0Q7Ozs7QUF2RkQsQUFZRSx1QkFacUIsQ0FZckIsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFckI4QkMsTUFBTSxFQUFFLFVBQVU7RXFCN0I5QixLQUFLLEVBQUUsS0FBSztFQUNaLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE9BQU8sRUFBRSxXQUFXO0NBQ3JCOzs7QUFqQkgsQUFtQkUsdUJBbkJxQixDQW1CckIsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFQUFFLElBQUk7Q0FDWjs7O0FBckJILEFBdUJFLHVCQXZCcUIsQ0F1QnJCLE1BQU0sQ0FBQztFQUNMLFVBQVUsRXJCU0csR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFlO0NxQkk5Qzs7O0FBckNILEFBMEJJLHVCQTFCbUIsQ0F1QnJCLE1BQU0sQ0FHSixHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtDQUNaOztBakJ3aUJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RWlCcGtCNUIsQUF1QkUsdUJBdkJxQixDQXVCckIsTUFBTSxDQUFDO0lBUUgsVUFBVSxFckJESyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7R3FCT3RDOztFQXJDSCxBQWlDTSx1QkFqQ2lCLENBdUJyQixNQUFNLEFBVUQsTUFBTSxDQUFDO0lBQ04sU0FBUyxFQUFFLFdBQVc7R0FDdkI7Ozs7QUFuQ1AsQUF1Q0UsdUJBdkNxQixDQXVDckIsc0JBQXNCLENBQUM7RUFDckIsVUFBVSxFQUFFLE9BQU87RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVyQlRHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtFcUJVN0MsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsY0FBYyxFQUFFLElBQUk7Q0F5Q3JCOztBakI4ZUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLOztFaUJwa0I1QixBQXVDRSx1QkF2Q3FCLENBdUNyQixzQkFBc0IsQ0FBQztJQVNuQixVQUFVLEVyQmxCSyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7R3FCd0R0Qzs7RUF0RkgsQUFrRE0sdUJBbERpQixDQXVDckIsc0JBQXNCLEFBV2pCLE1BQU0sQ0FBQztJQUNOLFNBQVMsRUFBRSxXQUFXO0dBQ3ZCOzs7O0FBcERQLEFBaUVJLHVCQWpFbUIsQ0F1Q3JCLHNCQUFzQixDQTBCcEIsR0FBRyxDQUFDO0VBQ0YsU0FBUyxFQUFFLFVBQVU7RUFDckIsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0NBQ25COzs7QUF2RUwsQUEwRUksdUJBMUVtQixDQXVDckIsc0JBQXNCLENBbUNwQixJQUFJLENBQUM7RUFDSCxZQUFZLEVBQUUsV0FBVztFQUN6QixTQUFTLEVBQUUsY0FBYyxDQUFDLGVBQWU7RUFDekMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsQ0FBQztFQUNQLFNBQVMsRUFBRSxHQUFHO0VBQ2QsT0FBTyxFQUFFLEdBQUc7RUFDWixLQUFLLEVBQUMsS0FBSztFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsY0FBYyxFQUFFLE9BQU87Q0FDeEI7OztBQUlMLEFBQ0UsUUFETSxDQUNOLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDO0VBQ25DLFNBQVMsRUFBRSxHQUFHO0NBQ2Y7OztBQUdILEFBQUEsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLEdBQUc7Q0FLYjs7QWpCK2RHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWlCcmU3QixBQUFBLGNBQWMsQ0FBQztJQUlYLE9BQU8sRUFBRSxHQUFHO0dBRWY7Ozs7QUNyR0QsQUFBQSxnQkFBZ0IsQ0FBQztFQUVmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLEdBQUc7RUFDZCxnQkFBZ0IsRXRCcUJOLE9BQU87RXNCbkJqQixLQUFLLEVBQUUscUNBQXFDO0VBQzVDLFdBQVcsRUFBRSwrQkFBK0I7RUFDNUMsYUFBYSxFQUFFLGdDQUFnQztFQUUvQyxZQUFZLEVBQUUsOEJBQThCO0VBQzVDLGFBQWEsRUFBRSw4QkFBOEI7Q0FnQjlDOzs7QUFkQyxBQUFBLEtBQUssQ0FBQyxnQkFBZ0IsQUFBQSxjQUFjLENBYnRDLGdCQUFnQixDQWF5QjtFQUNyQyxXQUFXLEVBQUUsQ0FBQztFQUNkLFVBQVUsRUFBRSxXQUFXO0NBQ3hCOztBbEJvakJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWtCcGtCN0IsQUFBQSxnQkFBZ0IsQ0FBQztJQW1CYixPQUFPLEVBQUUsSUFBSTtJQUNiLEtBQUssRUFBRSxJQUFJO0lBQ1gsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLENBQUM7SUFDZCxhQUFhLEVBQUUsSUFBSTtJQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVU7R0FFbkM7Ozs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsR0FBRztDQU1wQjs7QWxCOGhCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VrQnZpQjdCLEFBQUEsdUJBQXVCLENBQUM7SUFNcEIsY0FBYyxFQUFFLE1BQU07SUFDdEIsVUFBVSxFdEJYRixPQUFPO0dzQmFsQjs7OztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLGNBQWMsRUFBRSxLQUFLO0NBMkJ0Qjs7QWxCMmZHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RWtCNWhCN0IsQUFBQSxZQUFZLENBQUM7SUFTVCxLQUFLLEVBQUUsVUFBVTtJQUNqQixXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsR0FBRztJQUNuQixVQUFVLEV0QjNCRixPQUFPO0dzQmdEbEI7O0VBbkJHLEFBQUEsS0FBSyxDQUFDLGdCQUFnQixBQUFBLGNBQWMsQ0FkeEMsWUFBWSxDQWMrQjtJQUNyQyxVQUFVLEVBQUUsTUFBaUI7R0FDOUI7Ozs7QUFoQkwsQUFtQkUsWUFuQlUsQ0FtQlYsSUFBSSxDQUFDO0VoQnBETCxXQUFXLEVObUNELFFBQVEsRUFBRSxVQUFVO0VNbEM5QixTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHO0VnQm1EVixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHO0VBQ1osT0FBTyxFQUFFLFdBQVc7RUFDcEIsV0FBVyxFQUFFLE1BQU07Q0FRcEI7OztBQWhDSCxBaEI1QkUsWWdCNEJVLENBbUJWLElBQUksQ2hCL0NKLFNBQVMsQ0FBQztFQUNSLEtBQUssRUFBRSxLQUFLO0NBQ2I7O0FGc2pCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VrQjVoQjdCLEFBbUJFLFlBbkJVLENBbUJWLElBQUksQ0FBQztJQVFELFlBQVksRUFBRSxXQUFXO0lBQ3pCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLEdBQUcsRUFBRSxpQkFBaUI7SUFDdEIsU0FBUyxFQUFFLGNBQWM7R0FFNUI7Ozs7QUFHSCxBQUFBLGFBQWEsQ0FBQztFQUNaLEtBQUssRUFBRSxTQUFTO0VBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsb0JBQW9CO0NBV2hDOzs7QUFiRCxBQUlFLGFBSlcsQ0FJWCxHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtDQUNaOztBbEJtZkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFa0J6ZjdCLEFBQUEsYUFBYSxDQUFDO0lBU1YsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNWLGFBQWEsRUFBRSxnQkFBZ0I7R0FFbEM7Ozs7QUFFRCxBQUFBLGFBQWEsQUFBQSxXQUFXLENBQUM7RUFDdkIsYUFBYSxFQUFFLENBQUM7Q0FLakI7O0FsQm9lRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VrQjFlN0IsQUFBQSxhQUFhLEFBQUEsV0FBVyxDQUFDO0lBSXJCLGFBQWEsRUFBRSxnQkFBZ0I7R0FFbEM7Ozs7QUNqR0QsQUFBQSxZQUFZLENBQUM7RUFDWCxlQUFlLEVBQUUsRUFBRTtFQUNuQixVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFFLElBQUcsQ0FBQyxrQkFBa0I7RUFDckQsS0FBSyxFQUFFLElBQUk7Q0FDWjs7O0FBRUQsQUFBQSxzQkFBc0IsQ0FBQztFQUNyQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFdBQVcsRUFBRSxNQUFNO0NBc0JwQjs7O0FBekJELEFBS0Usc0JBTG9CLENBS3BCLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLFVBQVU7RUFDdkIsR0FBRyxFQUFFLEdBQUc7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRXZCMkJDLE1BQU0sRUFBRSxVQUFVO0V1QjFCOUIsV0FBVyxFQUFFLHNCQUFzQjtFQUNuQyxhQUFhLEVBQUUsa0NBQWtDO0NBT2xEOztBbkIyaUJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RW1CL2pCN0IsQUFLRSxzQkFMb0IsQ0FLcEIsaUJBQWlCLENBQUM7SUFXZCxjQUFjLEVBQUUsR0FBRztJQUNuQixXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsYUFBYTtHQUVqQzs7OztBQXBCSCxBQXNCRSxzQkF0Qm9CLENBc0JwQixjQUFjLENBQUM7RUFDYixjQUFjLEVBQUUsb0JBQW9CO0NBQ3JDOzs7QUFHSCxBQUFBLGdDQUFnQyxDQUFDO0VBQy9CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLEdBQUc7Q0FjaEI7OztBQWxCRCxBQUtFLGdDQUw4QixDQUs5QixDQUFDLEFBQUEsVUFBVSxDQUFBO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsQ0FBQztDQUNkOzs7QUFSSCxBQVNFLGdDQVQ4QixDQVM5QixJQUFJLENBQUM7RUFDSCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsVUFBVSxFdkJ2QkksT0FBTztFdUJ3QnJCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsU0FBUyxFQUFFLGVBQWU7Q0FDM0I7OztBQUdILEFBQUEsc0JBQXNCLENBQUMsRUFBRSxDQUFDO0VBQ3hCLFNBQVMsRUFBRSxHQUFHO0VBQ2QsV0FBVyxFQUFFLEtBQUs7Q0FLbkI7O0FuQnlnQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFbUJoaEI3QixBQUFBLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztJQUt0QixTQUFTLEVBQUUsR0FBRztHQUVqQjs7OztBQUVELEFBQUEsWUFBWSxDQUFDLFVBQVUsQ0FBQztFZFJ0QixTQUFTLEVBQUUsSUFBSTtFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFVGJHLE1BQU0sRUFBRSxVQUFVO0VTY2hDLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxTQUFTO0VBQzFCLFlBQVksRUFBRSxLQUFLO0VjR25CLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLEtBQUssRUFBRSxLQUFLO0VBQ1osVUFBVSxFQUFFLEdBQUc7Q0FLaEI7OztBZFJDLEFBQUEsU0FBUyxDY0RYLFlBQVksQ0FBQyxVQUFVLENkQ1Q7RUFDVixLQUFLLEVBQUUsS0FBSztDQUNiOzs7QWNISCxBZEtFLFljTFUsQ0FBQyxVQUFVLEFkS3BCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsTUFBTSxFQUFFLEdBQUc7RUFDWCxnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFQUFFLEtBQUs7RUFDbEIsVUFBVSxFVDFDTyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RVMyQ3JDLGdCQUFnQixFQUFFLEtBQUs7Q0FLeEI7OztBQUhDLEFBQUEsU0FBUyxDY2RiLFlBQVksQ0FBQyxVQUFVLEFkS3BCLE1BQU0sQ0FTTztFQUNWLFVBQVUsRUFBRSxLQUFLO0NBQ2xCOzs7QWNoQkwsQWRtQkUsWWNuQlUsQ0FBQyxVQUFVLEFkbUJwQixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLEdBQUc7RUFDVixZQUFZLEVBQUUsT0FBTztFQUNyQixVQUFVLEVBQUUsU0FBUztFQUNyQixZQUFZLEVBQUUsU0FBUztFQUN2QixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsQ0FBQztFQUNSLFNBQVMsRUFBRSxhQUFhO0VBQ3hCLFVBQVUsRVQ1RE8sR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0NTaUV0Qzs7O0FBSEMsQUFBQSxTQUFTLENjL0JiLFlBQVksQ0FBQyxVQUFVLEFkbUJwQixPQUFPLENBWU07RUFDVixZQUFZLEVBQUUsS0FBSztDQUNwQjs7O0FjakNMLEFkd0NJLFljeENRLENBQUMsVUFBVSxBZG9DcEIsTUFBTSxBQUlKLE1BQU0sRWN4Q1gsWUFBWSxDQUFDLFVBQVUsQWRxQ3BCLE1BQU0sQUFHSixNQUFNLEVjeENYLFlBQVksQ0FBQyxVQUFVLEFkc0NwQixPQUFPLEFBRUwsTUFBTTtBQURULE9BQU8sQUFBQSxNQUFNLENjdkNmLFlBQVksQ0FBQyxVQUFVLEFkd0NsQixNQUFNLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCLENBQUMsWUFBWTtDQUMxQzs7O0FjMUNMLEFkNENJLFljNUNRLENBQUMsVUFBVSxBZG9DcEIsTUFBTSxBQVFKLE9BQU8sRWM1Q1osWUFBWSxDQUFDLFVBQVUsQWRxQ3BCLE1BQU0sQUFPSixPQUFPLEVjNUNaLFlBQVksQ0FBQyxVQUFVLEFkc0NwQixPQUFPLEFBTUwsT0FBTztBQUxWLE9BQU8sQUFBQSxNQUFNLENjdkNmLFlBQVksQ0FBQyxVQUFVLEFkNENsQixPQUFPLENBQUM7RUFDUCxTQUFTLEVBQUUsaUJBQWlCLENBQUMsYUFBYTtDQUMzQzs7O0FjOUNMLEFBTUUsWUFOVSxDQUFDLFVBQVUsQUFNcEIsTUFBTSxDQUFDO0VBQ04sZ0JBQWdCLEVBQUUsS0FBSztDQUN4Qjs7O0FBR0gsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGtCQUFrQixFQUFFLHNEQUFzRDtFQUMxRSxVQUFVLEVBQUUsc0RBQXNEO0NBVW5FOztBbkI2ZUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFbUI1ZjdCLEFBQUEsMEJBQTBCLENBQUM7SUFRdkIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixVQUFVLEVBQUUsSUFBSTtHQU1uQjs7O0FuQjZlRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VtQjVmN0IsQUFBQSwwQkFBMEIsQ0FBQztJQWF2QixRQUFRLEVBQUUsT0FBTztHQUVwQjs7OztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSw0QkFBNEI7RUFDbkQsS0FBSyxFQUFFLGlCQUFpQjtFQUN4QixHQUFHLEVBQUUsVUFBVTtFQUNmLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsY0FBYyxFQUFFLG9CQUFvQjtDQTJDckM7O0FuQjBiRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VtQjNlN0IsQUFBQSxlQUFlLENBQUM7SUFTWixxQkFBcUIsRUFBRSw2QkFBNkI7SUFDcEQsS0FBSyxFQUFFLElBQUk7SUFDWCxHQUFHLEVBQUUsVUFBVTtJQUNmLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsY0FBYyxFQUFFLG9CQUFvQjtHQW1DdkM7Ozs7QUFqREQsQUFpQkUsZUFqQmEsQ0FpQmIsbUJBQW1CLENBQUM7RUFDbEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsT0FBTyxFQUFFLENBQUMsQ0FBQyxVQUFVO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFdkIzRU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFnQjtFdUI0RWpELEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7Q0F1Qm5COzs7QUFoREgsQUEyQkksZUEzQlcsQ0FpQmIsbUJBQW1CLENBVWpCLFdBQVcsQ0FBQztFQUNWLGNBQWMsRUFBRSxHQUFHO0NBbUJwQjs7O0FBL0NMLEFBOEJNLGVBOUJTLENBaUJiLG1CQUFtQixDQVVqQixXQUFXLENBR1QsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFdkI3RUgsTUFBTSxFQUFFLFVBQVU7Q3VCOEUzQjs7O0FBaENQLEFBa0NNLGVBbENTLENBaUJiLG1CQUFtQixDQVVqQixXQUFXLENBT1QsU0FBUyxDQUFDO0VBQ1IsU0FBUyxFQUFFLEdBQUc7Q0FDZjs7O0FBcENQLEFBcUNNLGVBckNTLENBaUJiLG1CQUFtQixDQVVqQixXQUFXLENBVVQsTUFBTSxDQUFDO0VBQ0wsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLE9BQU87RUFDZixXQUFXLEVBQUUsR0FBRztDQUNqQjs7O0FBekNQLEFBMkNNLGVBM0NTLENBaUJiLG1CQUFtQixDQVVqQixXQUFXLENBZ0JULEtBQUssQ0FBQztFQUNKLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLEtBQUssRXZCM0dNLGtCQUFlO0N1QjRHM0I7OztBQUtQLEFBQ0UsbUJBRGlCLENBQ2pCLENBQUMsQ0FBQztFZDVJRixRQUFRLEVBQUUsUUFBUTtFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVBQUUsT0FBTztFQUNkLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFVBQVUsRVRjSSxPQUFPO0VTYnJCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRVRxQkssR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFlO0VTcEIvQyxXQUFXLEVUOEJHLE1BQU0sRUFBRSxVQUFVO0VTN0JoQyxRQUFRLEVBQUUsTUFBTTtFQUNoQixVQUFVLEVUZVMsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0V1QmlIckMsU0FBUyxFQUFFLEtBQUs7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLEdBQUc7Q0FDWjs7O0FBTkgsQWQzSEUsbUJjMkhpQixDQUNqQixDQUFDLEFkNUhBLE1BQU0sRWMySFQsbUJBQW1CLENBQ2pCLENBQUMsQWQzSEEsT0FBTyxFYzBIVixtQkFBbUIsQ0FDakIsQ0FBQyxBZDFIQSxNQUFNLENBQUM7RUFDTixTQUFTLEVBQUUsV0FBVztFQUN0QixVQUFVLEVUZVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFnQjtDU2RyRDs7O0Fjc0hILEFBUUUsbUJBUmlCLEFBUWhCLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDUixnQkFBZ0IsRXZCL0hGLE9BQU87RXVCZ0lyQixLQUFLLEVBQUUsS0FBSztDQUNiOzs7QUFYSCxBQWFFLG1CQWJpQixBQWFoQixLQUFLLENBQUMsQ0FBQyxDQUFDO0VBQ1AsS0FBSyxFQUFFLEtBQUs7RUFDWixnQkFBZ0IsRUFBRSxLQUFLO0NBQ3hCOzs7QUFHSCxBQUFBLFVBQVUsQ0FBQztFQUNULFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLEdBQUcsRUFBRSxNQUFNO0NBZVo7OztBQWJDLEFBQUEsTUFBTSxDQUxSLFVBQVUsQ0FLQztFQUNQLEtBQUssRXZCL0lTLE9BQU87Q3VCZ0p0Qjs7O0FBRUQsQUFBQSxLQUFLLENBVFAsVUFBVSxDQVNBO0VBQ04sS0FBSyxFdkJwSk8sT0FBTztDdUJxSnBCOzs7QUFYSCxBQWFFLFVBYlEsQ0FhUixRQUFRLENBQUM7RUFDUCxTQUFTLEVBQUUsS0FBSztFQUNoQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsR0FBRztDQUNqQjs7O0FBR0gsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0NBUXhCOzs7QUFYRCxBQUtFLG9CQUxrQixDQUtsQixlQUFlLENBQUM7RUFDZCxXQUFXLEV2QjlJQyxNQUFNLEVBQUUsVUFBVTtFdUIrSTlCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFdBQVcsRXZCN0lVLEdBQUc7RXVCOEl4QixjQUFjLEVBQUUsU0FBUztDQUMxQjs7O0FBR0gsQUFBQSxFQUFFLEFBQUEsaUJBQWlCLENBQUM7RWpCOUtsQixXQUFXLEVOd0JELFFBQVEsRUFBRSxVQUFVO0VNdkI5QixTQUFTLEVBQUUsR0FBRztFQUNkLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLEdBQUc7RWlCNktaLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLFdBQVc7RUFDcEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixHQUFHLEVBQUUsR0FBRztDQUNUOzs7QWpCaExDLEFBQUEsU0FBUyxDaUJ5S1gsRUFBRSxBQUFBLGlCQUFpQixDakJ6S0w7RUFDVixLQUFLLEVBQUUsS0FBSztDQUNiOzs7QWtCMUJILEFBQUEsT0FBTyxDQUFDLEtBQUssQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07Q0FDcEI7OztBQUVELEFBQ0UsWUFEVSxDQUNWLG1CQUFtQixDQUFDO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVBQUUsTUFBTTtFQUNuQixjQUFjLEVBQUUsTUFBTTtDQW1CdkI7OztBQTFCSCxBQVNJLFlBVFEsQ0FDVixtQkFBbUIsQ0FRakIsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsTUFBTTtDQUNwQjs7O0FBYkwsQUFnQkksWUFoQlEsQ0FDVixtQkFBbUIsQ0FlakIsR0FBRyxDQUFDO0VBQ0YsVUFBVSxFQUFFLEtBQUs7RUFDakIsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0FwQjZpQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLOztFb0Joa0I1QixBQXNCTSxZQXRCTSxDQUNWLG1CQUFtQixDQXFCZixHQUFHLENBQUM7SUFDRixVQUFVLEVBQUUsSUFBSTtHQUNqQjs7OztBQUtQLEFBQUEsWUFBWSxDQUFDLG9CQUFvQixDQUFDO0VBQ2hDLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsS0FBSyxFQUFFLElBQUk7Q0F5Qlo7OztBQTVCRCxBQUtFLFlBTFUsQ0FBQyxvQkFBb0IsQ0FLL0IsY0FBYyxDQUFDO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsTUFBTTtDQUNuQjs7O0FBUkgsQUFVRSxZQVZVLENBQUMsb0JBQW9CLENBVS9CLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLGFBQWE7RUFDOUIsV0FBVyxFQUFFLFVBQVU7RUFDdkIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsb0JBQW9CO0NBSzlCOztBcEIrZ0JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RW9CbmlCN0IsQUFVRSxZQVZVLENBQUMsb0JBQW9CLENBVS9CLGlCQUFpQixDQUFDO0lBUWQsT0FBTyxFQUFFLENBQUM7R0FFYjs7OztBQXBCSCxBQXNCRSxZQXRCVSxDQUFDLG9CQUFvQixDQXNCL0IseUJBQXlCLENBQUM7RUFDeEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFdBQVcsRUFBRSxNQUFNO0NBQ3BCOzs7QUFHSCxBQUNFLFlBRFUsQ0FBQyxhQUFhLEFBQ3ZCLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsRUFBRTtFQUNYLGVBQWUsRUFBRSxFQUFFO0VBQ25CLGdCQUFnQixFQUFFLGdEQUFnRDtDQUNuRTs7O0FBWEgsQUFhRSxZQWJVLENBQUMsYUFBYSxDQWF4QixzQkFBc0IsQ0FBQztFQUNyQixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLE1BQU07RUFDdkIsY0FBYyxFQUFFLGNBQWM7Q0FDL0I7OztBQWxCSCxBQW9CRSxZQXBCVSxDQUFDLGFBQWEsQ0FvQnhCLG1CQUFtQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07Q0FtQ3hCOzs7QUExREgsQUE0QkksWUE1QlEsQ0FBQyxhQUFhLENBb0J4QixtQkFBbUIsQ0FRakIsR0FBRyxDQUFDO0VBQ0YsVUFBVSxFQUFFLElBQUk7RUFDaEIsY0FBYyxFQUFFLFFBQVE7RUFDeEIsVUFBVSxFQUFFLE9BQU87RUFDbkIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7O0FBakNMLEFBbUNJLFlBbkNRLENBQUMsYUFBYSxDQW9CeEIsbUJBQW1CLEFBZWhCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsVUFBVSxFeEJyRUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFnQjtFd0JzRS9DLE9BQU8sRUFBRSxHQUFHO0NBQ2I7OztBQTdDTCxBQStDSSxZQS9DUSxDQUFDLGFBQWEsQ0FvQnhCLG1CQUFtQixBQTJCaEIsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsS0FBSztFQUNqQixVQUFVLEV4QmpGSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQWdCO0V3QmtGL0MsT0FBTyxFQUFFLElBQUk7Q0FDZDs7O0FBSUwsQUFDRSxrQkFEZ0IsQ0FBQyxpQkFBaUIsQUFDakMsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxFQUFFO0VBQ1gsZUFBZSxFQUFFLEVBQUU7RUFDbkIsZ0JBQWdCLEVBQUUsZ0RBQWdEO0NBQ25FOzs7QUFYSCxBQWFFLGtCQWJnQixDQUFDLGlCQUFpQixDQWFsQyxzQkFBc0IsQ0FBQztFQUNyQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLE1BQU07Q0F5QnhCOzs7QUExQ0gsQUFtQkksa0JBbkJjLENBQUMsaUJBQWlCLENBYWxDLHNCQUFzQixBQU1uQixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFVBQVUsRXhCbEhJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBZ0I7RXdCbUgvQyxPQUFPLEVBQUUsR0FBRztDQUNiOzs7QUE3QkwsQUErQkksa0JBL0JjLENBQUMsaUJBQWlCLENBYWxDLHNCQUFzQixBQWtCbkIsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsS0FBSztFQUNqQixVQUFVLEV4QjlISSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQWdCO0V3QitIL0MsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QXBCK1pELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RW9CM1o3QixBQUFBLHNCQUFzQixDQUFDO0lBRW5CLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFQUFFLElBQUk7R0FFZDs7OztBQy9LRCxBQUFBLG9CQUFvQixDQUFDO0VBQ25CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxNQUFNO0VBQ2QsY0FBYyxFQUFFLG9CQUFvQjtFQUNwQyxXQUFXLEVBQUUsc0JBQXNCO0NBS3BDOztBckI0akJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RXFCcmtCNUIsQUFBQSxvQkFBb0IsQ0FBQztJQU9qQixXQUFXLEVBQUUsc0JBQXNCO0dBRXRDOzs7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFbkJtQmhCLFdBQVcsRU5hRCxRQUFRLEVBQUUsVUFBVTtFTVo5QixTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVBQUUsa0JBQWtCO0VtQm5CekIsVUFBVSxFQUFFLElBQUk7RUFDaEIsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsTUFBTTtFQUNkLFFBQVEsRUFBRSxRQUFRO0NBbUJuQjs7O0FBeEJELEFBT0UsaUJBUGUsQUFPZCxhQUFhLENBQUM7RUFDYixTQUFTLEVBQUUsR0FBRztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLFdBQVc7RUFDcEIsV0FBVyxFQUFFLENBQUM7RUFDZCxLQUFLLEVBQUUsS0FBSztFQUNaLFdBQVcsRUFBRSxJQUFJO0NBQ2xCOzs7QUFkSCxBQWdCRSxpQkFoQmUsQ0FnQmYsQ0FBQyxDQUFDO0VBQ0EsT0FBTyxFQUFFLE9BQU87Q0FDakI7OztBQWxCSCxBQW9CRSxpQkFwQmUsQ0FvQmYsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVBQUUsR0FBRztDQUNqQjs7O0FBR0gsQUFBQSxlQUFlLENBQUMsb0JBQW9CLENBQUM7RUFDbkMsY0FBYyxFQUFFLENBQUM7Q0FXbEI7OztBQVpELEFBR0UsZUFIYSxDQUFDLG9CQUFvQixBQUdqQyxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLDZEQUF3RTtDQUNyRjs7O0FBR0gsQUFDRSxlQURhLENBQ2IsMEJBQTBCLENBQUM7RUFDekIsU0FBUyxFQUFFLEtBQUs7Q0FDakI7OztBQUhILEFBSUUsZUFKYSxDQUliLGVBQWUsQ0FBQztFQUNkLFdBQVcsRUFBRSxvQkFBb0I7Q0FDbEM7OztBQUdILEFBQUEsNEJBQTRCLENBQUM7RUFDM0IsT0FBTyxFQUFFLElBQUk7Q0FTZDs7QXJCK2ZHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RXFCemdCNUIsQUFBQSw0QkFBNEIsQ0FBQztJQUl6QixPQUFPLEVBQUUsS0FBSztHQU1qQjs7OztBQVZELEFBT0UsNEJBUDBCLENBTzFCLEVBQUUsRUFQSiw0QkFBNEIsQ0FPdEIsQ0FBQyxDQUFDO0VBQ0osVUFBVSxFQUFFLElBQUk7Q0FDakI7OztBQUdILEFBQUEsRUFBRSxBQUFBLDJCQUEyQixDQUFDO0VBQzVCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0NBU2Q7OztBQVhELEFBSUUsRUFKQSxBQUFBLDJCQUEyQixDQUkzQixFQUFFLENBQUM7RUFDRCxZQUFZLEVBQUUsSUFBSTtDQUNuQjs7QXJCdWZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RXFCN2Y1QixBQUFBLEVBQUUsQUFBQSwyQkFBMkIsQ0FBQztJQVMxQixPQUFPLEVBQUUsSUFBSTtHQUVoQjs7OztBQUVELEFBQUEsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO0VoQjFEN0IsS0FBSyxFQUFFLGdCQUFnQjtFQUN2QixNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENUUk4sd0JBQXFCO0VTU2hDLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxRQUFRO0NnQmlFckI7OztBQWRELEFoQmpERSw0QmdCaUQwQixDQUFDLENBQUMsQWhCakQzQixNQUFNLEVnQmlEVCw0QkFBNEIsQ0FBQyxDQUFDLEFoQmhEM0IsT0FBTyxFZ0JnRFYsNEJBQTRCLENBQUMsQ0FBQyxBaEIvQzNCLE1BQU0sQ0FBQztFQUNOLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLGdCQUFnQixFQUFFLGtCQUFrQjtDQUNyQzs7O0FBRUQsQUFBQSxJQUFJLEFBQUEsSUFBSyxDQUFBLGdCQUFnQixFQUFFLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFZ0IwQ3BELDRCQUE0QixDQUFDLENBQUMsQ2hCMUMwQjtFQUNwRCxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ1RuQlIsa0JBQWU7RVNvQnhCLFVBQVUsRUFBRSxRQUFRO0NBS3JCOzs7QUFQRCxBQUlFLElBSkUsQUFBQSxJQUFLLENBQUEsZ0JBQWdCLEVBQUUsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVnQjBDcEQsNEJBQTRCLENBQUMsQ0FBQyxBaEJ0Q3pCLE1BQU0sQ0FBQztFQUNOLE1BQU0sRUFBRSxlQUFlO0NBQ3hCOzs7QWdCb0NMLEFBR0UsNEJBSDBCLENBQUMsQ0FBQyxDQUc1QixHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsR0FBRztDQUNYOzs7QUFMSCxBQU9FLDRCQVAwQixDQUFDLENBQUMsQ0FPNUIsR0FBRyxDQUFDLElBQUksQ0FBQztFQUNQLElBQUksRUFBRSxLQUFLO0NBS1o7OztBQUhDLEFBQUEsU0FBUyxDQVZiLDRCQUE0QixDQUFDLENBQUMsQ0FPNUIsR0FBRyxDQUFDLElBQUksQ0FHTTtFQUNWLElBQUksRUFBRSxLQUFLO0NBQ1o7OztBQUlMLEFBQUEsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO0VoQjFFNUIsS0FBSyxFQUFFLGdCQUFnQjtFQUN2QixNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENUUk4sd0JBQXFCO0VTU2hDLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxRQUFRO0NnQmlGckI7OztBQWRELEFoQmpFRSwyQmdCaUV5QixDQUFDLENBQUMsQWhCakUxQixNQUFNLEVnQmlFVCwyQkFBMkIsQ0FBQyxDQUFDLEFoQmhFMUIsT0FBTyxFZ0JnRVYsMkJBQTJCLENBQUMsQ0FBQyxBaEIvRDFCLE1BQU0sQ0FBQztFQUNOLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLGdCQUFnQixFQUFFLGtCQUFrQjtDQUNyQzs7O0FBRUQsQUFBQSxJQUFJLEFBQUEsSUFBSyxDQUFBLGdCQUFnQixFQUFFLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFZ0IwRHBELDJCQUEyQixDQUFDLENBQUMsQ2hCMUQyQjtFQUNwRCxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ1RuQlIsa0JBQWU7RVNvQnhCLFVBQVUsRUFBRSxRQUFRO0NBS3JCOzs7QUFQRCxBQUlFLElBSkUsQUFBQSxJQUFLLENBQUEsZ0JBQWdCLEVBQUUsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVnQjBEcEQsMkJBQTJCLENBQUMsQ0FBQyxBaEJ0RHhCLE1BQU0sQ0FBQztFQUNOLE1BQU0sRUFBRSxlQUFlO0NBQ3hCOzs7QWdCb0RMLEFBR0UsMkJBSHlCLENBQUMsQ0FBQyxDQUczQixHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsR0FBRztDQUNYOzs7QUFMSCxBQU9FLDJCQVB5QixDQUFDLENBQUMsQ0FPM0IsR0FBRyxDQUFDLElBQUksQ0FBQztFQUNQLElBQUksRUFBRSxLQUFLO0NBS1o7OztBQUhDLEFBQUEsU0FBUyxDQVZiLDJCQUEyQixDQUFDLENBQUMsQ0FPM0IsR0FBRyxDQUFDLElBQUksQ0FHTTtFQUNWLElBQUksRUFBRSxLQUFLO0NBQ1o7OztBQUlMLEFBQUEsMkJBQTJCLENBQUMsbUJBQW1CLENBQUM7RUFDOUMsV0FBVyxFQUFFLFVBQVU7Q0FLeEI7O0FyQjBjRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VxQmhkN0IsQUFBQSwyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQztJQUk1QyxPQUFPLEVBQUUsSUFBSTtHQUVoQjs7OztBQUdELEFBQUEsc0JBQXNCO0FBQ3RCLHNCQUFzQixDQUFDO0VBQ3JCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsYUFBYTtFQUM5QixRQUFRLEVBQUUsTUFBTTtFQUNoQixNQUFNLEVBQUUsK0JBQStCO0VBQ3ZDLEdBQUcsRUFBRSxpQkFBaUI7RUFDdEIsY0FBYyxFQUFFLElBQUk7Q0FVckI7O0FyQm1iRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VxQnZjN0IsQUFBQSxzQkFBc0I7RUFDdEIsc0JBQXNCLENBQUM7SUFZbkIsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUk7R0FNakQ7OztBckJtYkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFcUJ2YzdCLEFBQUEsc0JBQXNCO0VBQ3RCLHNCQUFzQixDQUFDO0lBaUJuQixPQUFPLEVBQUUsNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUk7R0FFbkQ7Ozs7QUFFRCxBQUNFLHNCQURvQixDQUNwQixrQkFBa0IsQ0FBQztFQUNqQixXQUFXLEV6QjFHQyxNQUFNLEVBQUUsVUFBVTtFeUIyRzlCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsWUFBWSxFQUFFLFdBQVc7RUFDekIsU0FBUyxFQUFFLGNBQWM7Q0FDMUI7OztBQUdILEFBQUEsS0FBSztBQUNMLEtBQUssQ0FBQztFQUNKLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFdBQVcsRXpCdEhHLE1BQU0sRUFBRSxVQUFVO0V5QnVIaEMsWUFBWSxFQUFFLFdBQVc7RUFDekIsU0FBUyxFQUFFLGNBQWM7RUFDekIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVBQUUsa0JBQWtCO0VBQ3pCLE1BQU0sRUFBRSxPQUFPO0NBS2hCOzs7QUFmRCxBQVlFLEtBWkcsQ0FZSCxDQUFDO0FBWEgsS0FBSyxDQVdILENBQUMsQ0FBQztFQUNBLEtBQUssRUFBRSxPQUFPO0NBQ2Y7OztBQUdILEFBQUEsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUk7QUFDakMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUk7QUFDakMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLElBQUk7QUFDckMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztFaEJ4SnBDLEtBQUssRUFBRSxnQkFBZ0I7RUFDdkIsTUFBTSxFQUFFLGdCQUFnQjtFQUN4QixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDVFJOLHdCQUFxQjtFU1NoQyxhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsUUFBUTtFZ0JtSnBCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLGFBQWEsRUFBRSxNQUFNO0VBQ3JCLFdBQVcsRUFBRSxRQUFRO0NBd0J0Qjs7O0FBL0JELEFoQjVJRSxzQmdCNElvQixDQUFDLEtBQUssQ0FBQyxJQUFJLEFoQjVJOUIsTUFBTSxFZ0I0SVQsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQWhCM0k5QixPQUFPLEVnQjJJVixzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxBaEIxSTlCLE1BQU07QWdCMklULHNCQUFzQixDQUFDLEtBQUssQ0FBQyxJQUFJLEFoQjdJOUIsTUFBTTtBZ0I2SVQsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQWhCNUk5QixPQUFPO0FnQjRJVixzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxBaEIzSTlCLE1BQU07QWdCNElULDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLEFoQjlJbEMsTUFBTTtBZ0I4SVQsMEJBQTBCLENBQUMsS0FBSyxDQUFDLElBQUksQWhCN0lsQyxPQUFPO0FnQjZJViwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxBaEI1SWxDLE1BQU07QWdCNklULDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLEFoQi9JbEMsTUFBTTtBZ0IrSVQsMEJBQTBCLENBQUMsS0FBSyxDQUFDLElBQUksQWhCOUlsQyxPQUFPO0FnQjhJViwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxBaEI3SWxDLE1BQU0sQ0FBQztFQUNOLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLGdCQUFnQixFQUFFLGtCQUFrQjtDQUNyQzs7O0FBRUQsQUFBQSxJQUFJLEFBQUEsSUFBSyxDQUFBLGdCQUFnQixFQUFFLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFZ0JxSXBELHNCQUFzQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVoQnJJL0IsSUFBSSxBQUFBLElBQUssQ0FBQSxnQkFBZ0IsRUFBRSxTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVM7QWdCc0lwRCxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFaEJ0SS9CLElBQUksQUFBQSxJQUFLLENBQUEsZ0JBQWdCLEVBQUUsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTO0FnQnVJcEQsMEJBQTBCLENBQUMsS0FBSyxDQUFDLElBQUksRWhCdkluQyxJQUFJLEFBQUEsSUFBSyxDQUFBLGdCQUFnQixFQUFFLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUztBZ0J3SXBELDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLENoQnhJbUI7RUFDcEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENUbkJSLGtCQUFlO0VTb0J4QixVQUFVLEVBQUUsUUFBUTtDQUtyQjs7O0FBUEQsQUFJRSxJQUpFLEFBQUEsSUFBSyxDQUFBLGdCQUFnQixFQUFFLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFZ0JxSXBELHNCQUFzQixDQUFDLEtBQUssQ0FBQyxJQUFJLEFoQmpJNUIsTUFBTSxFQUpULElBQUksQUFBQSxJQUFLLENBQUEsZ0JBQWdCLEVBQUUsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTO0FnQnNJcEQsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQWhCbEk1QixNQUFNLEVBSlQsSUFBSSxBQUFBLElBQUssQ0FBQSxnQkFBZ0IsRUFBRSxTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVM7QWdCdUlwRCwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxBaEJuSWhDLE1BQU0sRUFKVCxJQUFJLEFBQUEsSUFBSyxDQUFBLGdCQUFnQixFQUFFLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUztBZ0J3SXBELDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLEFoQnBJaEMsTUFBTSxDQUFDO0VBQ04sTUFBTSxFQUFFLGVBQWU7Q0FDeEI7OztBZ0IrSEwsQUFTRSxzQkFUb0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxBQVM5QixPQUFPO0FBUlYsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQUFROUIsT0FBTztBQVBWLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLEFBT2xDLE9BQU87QUFOViwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxBQU1sQyxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxNQUFNO0VBQ2QsS0FBSyxFQUFFLE1BQU07RUFDYixZQUFZLEVBQUUsT0FBTztFQUNyQixVQUFVLEVBQUUsU0FBUztFQUNyQixZQUFZLEVBQUUsU0FBUztFQUN2QixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxhQUFhO0NBQ3pCOztBckJrWUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFcUJyWjdCLEFBc0JJLHNCQXRCa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxBQXNCNUIsTUFBTTtFQXJCWCxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxBQXFCNUIsTUFBTTtFQXBCWCwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxBQW9CaEMsTUFBTTtFQW5CWCwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxBQW1CaEMsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxHQUFHO0lBQ1gsZ0JBQWdCLEVBQUUsa0JBQWtCO0lBQ3BDLEtBQUssRUFBRSxJQUFJO0dBQ1o7Ozs7QUFJTCxBQUFBLDBCQUEwQixDQUFDO0VBQ3pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLGFBQWE7Q0FzQy9COzs7QUF4Q0QsQUFJRSwwQkFKd0IsQ0FJeEIsS0FBSztBQUpQLDBCQUEwQixDQUt4QixLQUFLLENBQUM7RUFDSixRQUFRLEVBQUUsUUFBUTtFQUNsQixXQUFXLEV6QjVLQyxNQUFNLEVBQUUsVUFBVTtFeUI2SzlCLFlBQVksRUFBRSxhQUFhO0VBQzNCLFNBQVMsRUFBRSxTQUFTO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixNQUFNLEVBQUUsT0FBTztFQUNmLEdBQUcsRUFBRSxNQUFNO0NBWVo7OztBQTNCSCxBQWlCSSwwQkFqQnNCLENBSXhCLEtBQUssQ0FhSCxJQUFJO0FBakJSLDBCQUEwQixDQUt4QixLQUFLLENBWUgsSUFBSSxDQUFDO0VBQ0gsYUFBYSxFQUFFLENBQUM7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtDQUNwQjs7O0FBdEJMLEFBd0JJLDBCQXhCc0IsQ0FJeEIsS0FBSyxDQW9CSCxDQUFDO0FBeEJMLDBCQUEwQixDQUt4QixLQUFLLENBbUJILENBQUMsQ0FBQztFQUNBLEtBQUssRUFBRSxPQUFPO0NBQ2Y7OztBQTFCTCxBQTZCRSwwQkE3QndCLENBNkJ4QixLQUFLLENBQUM7RUFDSixjQUFjLEVBQUUsV0FBVztDQUM1Qjs7O0FBL0JILEFBaUNFLDBCQWpDd0IsQ0FpQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUM7RUFDVCxTQUFTLEVBQUUsY0FBYztDQUMxQjs7QXJCaVZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RXFCcFg3QixBQUFBLDBCQUEwQixDQUFDO0lBc0N2QixPQUFPLEVBQUUsSUFBSTtHQUVoQjs7OztBQUVELEFBQUEsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQUFBQSxNQUFNLENBQUM7RUFDdEMsU0FBUyxFQUFFLGNBQWM7RUFDekIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixLQUFLLEVBQUUsTUFBTTtFQUNiLEdBQUcsRUFBRSxPQUFPO0VBQ1osVUFBVSxFQUFFLGtCQUFrQjtDQUMvQjs7O0FBRUQsQUFBQSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxBQUFBLE9BQU8sQ0FBQztFQUN2QyxTQUFTLEVBQUUsZUFBZTtFQUMxQixLQUFLLEVBQUUsTUFBTTtDQUNkOzs7QUFFRCxBQUNFLFlBRFUsQ0FDVixpQkFBaUIsQ0FBQztFQUNoQixNQUFNLEVBQUUsVUFBVTtDQUNuQjs7O0FBSEgsQUFLRSxZQUxVLENBS1YsZUFBZSxDQUFDLE1BQU0sQUFBQSxVQUFVLENBQUM7RUFDL0IsV0FBVyxFQUFFLE1BQU07Q0FDcEI7OztBQVBILEFBU0UsWUFUVSxDQVNWLGVBQWUsQ0FBQyxNQUFNLEFBQUEsV0FBVyxDQUFDO0VBQ2hDLFlBQVksRUFBRSxNQUFNO0NBQ3JCOzs7QUFYSCxBQWFFLFlBYlUsQ0FhVixzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQztFQUN0QyxPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztDQUNyQjs7O0FBR0gsQUFBQSxZQUFZLENBQUMsVUFBVSxDQUFDO0VBQ3RCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE9BQU8sRUFBRSxHQUFHO0VBQ1osVUFBVSxFQUFFLEtBQUs7Q0FDbEI7OztBQUVELEFBQUEsWUFBWSxDQUFDLGVBQWUsQ0FBQztFQUMzQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztDQUN0Qjs7O0FBRUQsQUFBQSxZQUFZLENBQUMsaUJBQWlCLENBQUMsVUFBVSxBQUFBLFlBQVksQ0FBQztFQUNwRCxXQUFXLEVBQUUsSUFBSTtDQVFsQjs7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixLQUFLLEVBQUUsSUFBSTtDQUNaOzs7QUNyVEQsQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0VBQ1osUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFVBQVUsRTFCeUJTLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztDMEJkeEM7OztBQVRDLEFBQUEsZ0JBQWdCLENBUmxCLE1BQU0sQUFBQSxPQUFPLENBUVE7RUFDakIsTUFBTSxFQUFFLElBQUk7Q0FDYjs7O0FBR0MsQUFBQSxnQkFBZ0IsQ0FicEIsTUFBTSxBQUFBLE9BQU8sQUFZVixTQUFTLENBQ1c7RUFDakIsTUFBTSxFQUFFLElBQUk7Q0FDYjs7O0FBSUwsQUFBQSxlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCLGdCQUFnQixDQUFDO0VBQ2YsY0FBYyxFQUFFLElBQUk7Q0FTckI7O0F0QnNpQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFc0JsakI3QixBQUFBLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZ0JBQWdCLENBQUM7SUFJYixjQUFjLEVBQUUsSUFBSTtHQU12Qjs7OztBQUhDLEFBQUEsZ0JBQWdCLENBVGxCLGVBQWUsRUFTYixnQkFBZ0I7QUFSbEIsZ0JBQWdCLEVBUWQsZ0JBQWdCO0FBUGxCLGdCQUFnQixDQU9LO0VBQ2pCLGNBQWMsRUFBRSxJQUFJO0NBQ3JCOzs7QUFHSCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLGVBQWUsRUFBRSxVQUFVLENBQUMsVUFBVTtFQUN0QyxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRTFCWlMsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0UwQmF2QyxjQUFjLEVBQUUsSUFBSTtDQUtyQjs7O0FBSEMsQUFBQSxnQkFBZ0IsQ0FibEIsc0JBQXNCLENBYUQ7RUFDakIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7O0FBR0gsQUFBQSxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0VBQ1AsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFdBQVcsRTFCZkcsTUFBTSxFQUFFLFVBQVU7RTBCZ0JoQyxVQUFVLEUxQjdCUyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RTBCOEJ2QyxjQUFjLEVBQUUsSUFBSTtDQW1EckI7O0F0QnFkRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VzQmxoQjdCLEFBQUEsWUFBWSxDQUFDO0lBYVQsY0FBYyxFQUFFLElBQUk7R0FnRHZCOzs7O0FBN0RELEFBb0JFLFlBcEJVLEFBb0JULE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsY0FBYyxFQUFFLElBQUk7RUFDcEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPLEVBQUUsRUFBRTtFQUNYLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLDZGQUE2RjtFQUN6RyxVQUFVLEUxQm5ETyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7QzBCaUV0Qzs7O0FBWkMsQUFBQSxTQUFTLENBakNiLFlBQVksQUFvQlQsTUFBTSxDQWFPO0VBQ1YsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QXRCK2VELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RXNCbGhCN0IsQUFvQkUsWUFwQlUsQUFvQlQsTUFBTSxDQUFDO0lBa0JKLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLElBQUk7R0FNZjs7OztBQUhDLEFBQUEsZ0JBQWdCLENBMUNwQixZQUFZLEFBb0JULE1BQU0sQ0FzQmM7RUFDakIsT0FBTyxFQUFFLElBQUk7Q0FDZDs7O0FBNUNMLEFBK0NFLFlBL0NVLEFBK0NULE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsY0FBYyxFQUFFLElBQUk7RUFDcEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxnQkFBZ0IsRUFBRSxrQkFBZTtFQUVqQyxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxFQUFFO0VBQ1gsVUFBVSxFMUIvRU8sR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0MwQmdGdEM7OztBQUdILEFBQ0UsU0FETyxDQUFDLFNBQVMsQ0FDakIsRUFBRSxBQUFBLFdBQVcsQ0FBQyxDQUFDO0FBRGpCLFNBQVMsQ0FBQyxTQUFTLENBRWpCLEVBQUUsQUFBQSxhQUFhLENBQUMsQ0FBQyxDQUFDO0VBQ2hCLFlBQVksRUFBRSxLQUFLO0NBS3BCOzs7QUFSSCxBQUtJLFNBTEssQ0FBQyxTQUFTLENBQ2pCLEVBQUUsQUFBQSxXQUFXLENBQUMsQ0FBQyxDQUliLENBQUM7QUFMTCxTQUFTLENBQUMsU0FBUyxDQUVqQixFQUFFLEFBQUEsYUFBYSxDQUFDLENBQUMsQ0FHZixDQUFDLENBQUM7RUFDQSxLQUFLLEVBQUUsS0FBSztDQUNiOzs7QUFQTCxBQVVFLFNBVk8sQ0FBQyxTQUFTLENBVWpCLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7RUFDL0IsS0FBSyxFQUFFLEtBQUs7Q0FnQmI7OztBQTNCSCxBQWFJLFNBYkssQ0FBQyxTQUFTLENBVWpCLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEFBRzdCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxFQUFFO0VBQ1gsS0FBSyxFQUFFLEVBQUU7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsQ0FBQztFQUNULE1BQU0sRUFBRSxHQUFHO0VBQ1gsZ0JBQWdCLEVBQUUsS0FBSztDQUN4Qjs7O0FBcEJMLEFBdUJNLFNBdkJHLENBQUMsU0FBUyxDQVVqQixtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxBQVk3QixNQUFNLEFBQ0osTUFBTSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7Q0FDWjs7O0FBekJQLEFBNkJFLFNBN0JPLENBQUMsU0FBUyxDQTZCakIsT0FBTyxDQUFDLEdBQUcsQ0FBQztFQUNWLFVBQVUsRUFBRSxLQUFLO0NBQ2xCOzs7QUFJSCxBQUFBLFNBQVMsQ0FBQyxZQUFZLENBQUM7RUFDckIsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsQ0FBQztDQW9CbEI7OztBQXRCRCxBQUlFLFNBSk8sQ0FBQyxZQUFZLEFBSW5CLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxDQUFDO0VBQ1YsZ0JBQWdCLEVBQUUsSUFBSTtDQUt2Qjs7O0FBSEMsQUFBQSxnQkFBZ0IsQ0FScEIsU0FBUyxDQUFDLFlBQVksQUFJbkIsTUFBTSxDQUljO0VBQ2pCLE9BQU8sRUFBRSxDQUFDO0NBQ1g7OztBQVZMLEFBYUUsU0FiTyxDQUFDLFlBQVksQUFhbkIsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLENBQUM7RUFDVixlQUFlLEVBQUUsVUFBVSxDQUFDLFVBQVU7RUFDdEMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtDQUsvQzs7O0FBSEMsQUFBQSxnQkFBZ0IsQ0FsQnBCLFNBQVMsQ0FBQyxZQUFZLEFBYW5CLE9BQU8sQ0FLYTtFQUNqQixPQUFPLEVBQUUsQ0FBQztDQUNYOzs7QUFRTCxBQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztFQUN0QixNQUFNLEVBQUUsTUFBTTtFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLENBQUM7RUFFUixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0NBTXBCOztBdEJ3WUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFc0JwWjdCLEFBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBU3BCLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUk7R0FFZDs7OztBQUVELEFBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDO0VBQ3pCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsY0FBYyxFQUFFLE1BQU07RUFDdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsSUFBSTtDQXlCZDs7QXRCeVdHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RXNCdFk3QixBQUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztJQU92QixPQUFPLEVBQUUsQ0FBQztJQUNWLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLElBQUk7R0FrQmhCOzs7O0FBZkMsQUFBQSxnQkFBZ0IsQ0FkbEIsTUFBTSxDQUFDLG1CQUFtQixDQWNMO0VBQ2pCLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7OztBQWhCSCxBQWtCRSxNQWxCSSxDQUFDLG1CQUFtQixDQWtCeEIsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLFNBQVM7Q0FTbkI7O0F0QjBXQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0VzQnRZN0IsQUFrQkUsTUFsQkksQ0FBQyxtQkFBbUIsQ0FrQnhCLFVBQVUsQ0FBQztJQUlQLE9BQU8sRUFBRSxLQUFLO0dBTWpCOzs7QXRCMFdDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RXNCdFk3QixBQWtCRSxNQWxCSSxDQUFDLG1CQUFtQixDQWtCeEIsVUFBVSxDQUFDO0lBUVAsT0FBTyxFQUFFLE9BQU87R0FFbkI7Ozs7QUFHSCxBQUNFLE1BREksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQ25DLENBQUMsQ0FBQztFQUNBLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLEdBQUc7RUFDWixVQUFVLEUxQnZNTyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7QzBCNE90Qzs7QXRCMFRDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RXNCdlc3QixBQUNFLE1BREksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQ25DLENBQUMsQ0FBQztJQVVFLFNBQVMsRUFBRSxNQUFNO0dBa0NwQjs7OztBQTdDSCxBQWNJLE1BZEUsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQ25DLENBQUMsQUFhRSxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLEtBQUssRUFBRSxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEdBQUc7RUFDVCxNQUFNLEVBQUUsT0FBTztFQUNmLE1BQU0sRUFBRSxHQUFHO0VBQ1gsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixVQUFVLEUxQnJOSyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RTBCc05uQyxTQUFTLEVBQUUsZ0JBQWdCO0NBSzVCOzs7QUFIQyxBQUFBLFNBQVMsQ0F6QmYsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FDbkMsQ0FBQyxBQWFFLE1BQU0sQ0FXTztFQUNWLGdCQUFnQixFQUFFLEtBQUs7Q0FDeEI7OztBQTNCUCxBQThCSSxNQTlCRSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FDbkMsQ0FBQyxBQTZCRSxNQUFNLEVBOUJYLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQ25DLENBQUMsQUE4QkUsT0FBTyxFQS9CWixNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUNuQyxDQUFDLEFBK0JFLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxDQUFDO0NBQ1g7OztBQWxDTCxBQW9DSSxNQXBDRSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FDbkMsQ0FBQyxBQW1DRSxNQUFNLEFBQUEsTUFBTSxFQXBDakIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FDbkMsQ0FBQyxBQW9DRSxPQUFPLEFBQUEsTUFBTSxFQXJDbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FDbkMsQ0FBQyxBQXFDRSxNQUFNLEFBQUEsTUFBTSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUk7Q0FDWjs7O0FBRUQsQUFBQSxTQUFTLENBMUNiLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQ25DLENBQUMsQ0F5Q2E7RUFDVixLQUFLLEVBQUUsS0FBSztDQUNiOzs7QUFPTCxBQUNFLE1BREksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FDM0MsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFMUI1UFMsT0FBTztDMEJpUXRCOzs7QUFQSCxBQUlJLE1BSkUsQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FDM0MsQ0FBQyxBQUdFLE1BQU0sQ0FBQztFQUNOLFVBQVUsRTFCL1BFLE9BQU87QzBCZ1FwQjs7O0FBSUwsQUFFSSxTQUZLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUNyRCxDQUFDLEFBQ0UsTUFBTSxDQUFDO0VBQ04sVUFBVSxFQUFFLEtBQUs7RUFDakIsS0FBSyxFQUFFLElBQUk7Q0FDWjs7O0FDaFNMLEFBQUEsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztFQUUvQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxNQUFNO0VBQ25CLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSTtDQWlCZDs7O0FBZkMsQUFBQSxnQkFBZ0IsQ0FUbEIsZ0JBQWdCLENBU0s7RUFDakIsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QXZCMGpCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0V1QnJrQjdCLEFBQUEsZ0JBQWdCLENBQUM7SUFjYixPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztHQVU1Qjs7O0F2QjZpQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFdUJya0I3QixBQUFBLGdCQUFnQixDQUFDO0lBa0JiLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLENBQUM7SUFDUixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsT0FBTyxFQUFFLENBQUM7R0FFYjs7OztBQUVELEFBQUEsS0FBSyxDQUFDO0VBQ0osTUFBTSxFQUFFLDZCQUE2QjtFQUNyQyxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRTNCQ1MsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0MyQmdDeEM7OztBQXJDRCxBQU1FLEtBTkcsQ0FNSCxTQUFTLENBQUM7RUFDUixNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRTNCSE8sR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0UyQklyQyxPQUFPLEVBQUUsQ0FBQztDQUtYOzs7QUFIQyxBQUFBLFNBQVMsQ0FYYixLQUFLLENBTUgsU0FBUyxDQUtLO0VBQ1YsT0FBTyxFQUFFLE9BQU87Q0FDakI7OztBQWJMLEFBZ0JFLEtBaEJHLENBZ0JILGFBQWEsQ0FBQztFQUNaLElBQUksRTNCckJRLE9BQU87QzJCc0JwQjs7O0FBbEJILEFBb0JFLEtBcEJHLENBb0JILGFBQWEsQ0FBQztFQUNaLElBQUksRUFBRSxLQUFLO0NBQ1o7OztBQUVELEFBQ0UsU0FETyxDQXhCWCxLQUFLLENBeUJELGFBQWEsQ0FBQztFQUNaLElBQUksRUFBRSxLQUFLO0NBQ1o7OztBQUdILEFBQUEsU0FBUyxDQTlCWCxLQUFLLENBOEJTO0VBQ1YsTUFBTSxFQUFFLGlCQUFpQjtDQUsxQjs7O0FBTkQsQUFHRSxTQUhPLENBOUJYLEtBQUssQ0FpQ0QsYUFBYSxDQUFDO0VBQ1osSUFBSSxFQUFFLEtBQUs7Q0FDWjs7O0FBSUwsQUFBQSxXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSTtDQUNkOzs7QUNuRUQsQUFBQSxFQUFFLEFBQUEsYUFBYSxDQUFDO0VBQ2QsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtDQWNwQjs7QXhCb2pCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0V3QnJrQjdCLEFBQUEsRUFBRSxBQUFBLGFBQWEsQ0FBQztJQU1aLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLE9BQU8sRUFBRSxDQUFDO0dBVWI7OztBeEJvakJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RXdCcmtCN0IsQUFBQSxFQUFFLEFBQUEsYUFBYSxDQUFDO0lBV1osT0FBTyxFQUFFLFdBQVc7R0FNdkI7Ozs7QUFqQkQsQUFjRSxFQWRBLEFBQUEsYUFBYSxDQWNiLEVBQUUsQ0FBQztFQUNELGFBQWEsRUFBRSxLQUFLO0NBQ3JCOzs7QUFHSCxBQUFBLEVBQUUsQUFBQSxhQUFhLENBQUMsQ0FBQyxDQUFDO0VuQlFoQixLQUFLLEVBQUUsZ0JBQWdCO0VBQ3ZCLE1BQU0sRUFBRSxnQkFBZ0I7RUFDeEIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ1RSTix3QkFBcUI7RVNTaEMsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLFFBQVE7Q21CSnJCOzs7QUFYRCxBbkJpQkUsRW1CakJBLEFBQUEsYUFBYSxDQUFDLENBQUMsQW5CaUJkLE1BQU0sRW1CakJULEVBQUUsQUFBQSxhQUFhLENBQUMsQ0FBQyxBbkJrQmQsT0FBTyxFbUJsQlYsRUFBRSxBQUFBLGFBQWEsQ0FBQyxDQUFDLEFuQm1CZCxNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsZUFBZTtFQUN2QixnQkFBZ0IsRUFBRSxrQkFBa0I7Q0FDckM7OztBQUVELEFBQUEsSUFBSSxBQUFBLElBQUssQ0FBQSxnQkFBZ0IsRUFBRSxTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRW1CeEJwRCxFQUFFLEFBQUEsYUFBYSxDQUFDLENBQUMsQ25Cd0J1QztFQUNwRCxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ1RuQlIsa0JBQWU7RVNvQnhCLFVBQVUsRUFBRSxRQUFRO0NBS3JCOzs7QUFQRCxBQUlFLElBSkUsQUFBQSxJQUFLLENBQUEsZ0JBQWdCLEVBQUUsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVtQnhCcEQsRUFBRSxBQUFBLGFBQWEsQ0FBQyxDQUFDLEFuQjRCWixNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsZUFBZTtDQUN4Qjs7O0FtQjlCTCxBQUdFLEVBSEEsQUFBQSxhQUFhLENBQUMsQ0FBQyxDQUdmLENBQUMsQ0FBQztFQUNBLEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFQUFFLE1BQU07Q0FLbEI7OztBQUhDLEFBQUEsSUFBSSxBQUFBLElBQUssQ0FBQSxnQkFBZ0IsRUFBRSxTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRUFQdEQsRUFBRSxBQUFBLGFBQWEsQ0FBQyxDQUFDLENBR2YsQ0FBQyxDQUl1RDtFQUNwRCxLQUFLLEVBQUUsS0FBSztDQUNiOzs7QUM1QkwsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsTUFBTTtFQUNuQixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxDQUFDO0VBQ1IsT0FBTyxFQUFFLG9CQUFvQixDQUFDLENBQUM7Q0FnQmhDOzs7QUFkQyxBQUFBLGdCQUFnQixDQVJsQixnQkFBZ0IsQ0FRSztFQUNqQixPQUFPLEVBQUUsSUFBSTtDQUNkOztBekIyakJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RXlCcmtCN0IsQUFBQSxnQkFBZ0IsQ0FBQztJQWFiLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0dBUzVCOzs7QXpCK2lCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0V5QnJrQjdCLEFBQUEsZ0JBQWdCLENBQUM7SUFpQmIsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLEtBQUssRUFBRSxDQUFDO0lBQ1IsT0FBTyxFQUFFLENBQUM7R0FFYjs7OztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLFNBQVM7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FnQlg7OztBQWRDLEFBQUEsZ0JBQWdCLENBSmxCLFdBQVcsQ0FJVTtFQUNqQixPQUFPLEVBQUUsQ0FBQztDQUNYOztBekJ1aUJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RXlCN2lCN0IsQUFBQSxXQUFXLENBQUM7SUFTUixHQUFHLEVBQUUsSUFBSTtJQUNULElBQUksRUFBRSxJQUFJO0lBQ1YsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtHQU1yQjs7O0F6QjJoQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFeUI3aUI3QixBQUFBLFdBQVcsQ0FBQztJQWdCUixPQUFPLEVBQUUsV0FBVztHQUV2Qjs7OztBQUVELEFBQUEsRUFBRSxBQUFBLFdBQVcsQ0FBQztFQUNaLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07Q0FhcEI7O0F6QndnQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFeUJ6aEI3QixBQUFBLEVBQUUsQUFBQSxXQUFXLENBQUM7SUFPVixPQUFPLEVBQUUsV0FBVztHQVV2Qjs7OztBQWpCRCxBQVVFLEVBVkEsQUFBQSxXQUFXLENBVVgsRUFBRSxDQUFDO0VBQ0QsT0FBTyxFQUFFLFdBQVc7Q0FLckI7O0F6QnlnQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFeUJ6aEI3QixBQVVFLEVBVkEsQUFBQSxXQUFXLENBVVgsRUFBRSxDQUFDO0lBSUMsT0FBTyxFQUFFLFdBQVc7R0FFdkI7Ozs7QUFHSCxBQUFBLEVBQUUsQUFBQSxXQUFXLENBQUMsQ0FBQyxDQUFDO0VwQnBDZCxLQUFLLEVBQUUsZ0JBQWdCO0VBQ3ZCLE1BQU0sRUFBRSxnQkFBZ0I7RUFDeEIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ1RSTix3QkFBcUI7RVNTaEMsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLFFBQVE7Q29Cd0NyQjs7O0FBWEQsQXBCM0JFLEVvQjJCQSxBQUFBLFdBQVcsQ0FBQyxDQUFDLEFwQjNCWixNQUFNLEVvQjJCVCxFQUFFLEFBQUEsV0FBVyxDQUFDLENBQUMsQXBCMUJaLE9BQU8sRW9CMEJWLEVBQUUsQUFBQSxXQUFXLENBQUMsQ0FBQyxBcEJ6QlosTUFBTSxDQUFDO0VBQ04sTUFBTSxFQUFFLGVBQWU7RUFDdkIsZ0JBQWdCLEVBQUUsa0JBQWtCO0NBQ3JDOzs7QUFFRCxBQUFBLElBQUksQUFBQSxJQUFLLENBQUEsZ0JBQWdCLEVBQUUsU0FBUyxBQUFBLElBQUssQ0FBQSxTQUFTLEVvQm9CcEQsRUFBRSxBQUFBLFdBQVcsQ0FBQyxDQUFDLENwQnBCeUM7RUFDcEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENUbkJSLGtCQUFlO0VTb0J4QixVQUFVLEVBQUUsUUFBUTtDQUtyQjs7O0FBUEQsQUFJRSxJQUpFLEFBQUEsSUFBSyxDQUFBLGdCQUFnQixFQUFFLFNBQVMsQUFBQSxJQUFLLENBQUEsU0FBUyxFb0JvQnBELEVBQUUsQUFBQSxXQUFXLENBQUMsQ0FBQyxBcEJoQlYsTUFBTSxDQUFDO0VBQ04sTUFBTSxFQUFFLGVBQWU7Q0FDeEI7OztBb0JjTCxBQUdFLEVBSEEsQUFBQSxXQUFXLENBQUMsQ0FBQyxDQUdiLENBQUMsQ0FBQztFQUNBLEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFQUFFLE1BQU07Q0FLbEI7OztBQUhDLEFBQUEsSUFBSSxBQUFBLElBQUssQ0FBQSxnQkFBZ0IsRUFBRSxTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRUFQdEQsRUFBRSxBQUFBLFdBQVcsQ0FBQyxDQUFDLENBR2IsQ0FBQyxDQUl1RDtFQUNwRCxLQUFLLEVBQUUsS0FBSztDQUNiOzs7QUFJTCxBQUFBLFdBQVcsQ0FBQyxZQUFZO0FBQ3hCLGtCQUFrQixDQUFDLFlBQVksQ0FBQztFQUM5QixPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLE1BQU07RUFDbkIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxTQUFTLEVBQUUsa0JBQWtCLENBQUMsZ0JBQWdCO0VBQzlDLFVBQVUsRTdCeERTLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFNkJ5RHZDLE9BQU8sRUFBRSxDQUFDO0NBa0JYOzs7QUE5QkQsQUFjRSxXQWRTLENBQUMsWUFBWSxDQWN0QixhQUFhO0FBYmYsa0JBQWtCLENBQUMsWUFBWSxDQWE3QixhQUFhLENBQUM7RUFDWixNQUFNLEVBQUUsQ0FBQztFQUNULE1BQU0sRUFBRSxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0I7Q0FDaEQ7OztBQW5CSCxBQXFCRSxXQXJCUyxDQUFDLFlBQVksQ0FxQnRCLGNBQWM7QUFwQmhCLGtCQUFrQixDQUFDLFlBQVksQ0FvQjdCLGNBQWMsQ0FBQztFcEIvRmYsUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFFLE9BQU87RUFDZCxTQUFTLEVBQUUsS0FBSztFQUNoQixjQUFjLEVBQUUsU0FBUztFQUN6QixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVUY0ksT0FBTztFU2JyQixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsZUFBZTtFQUN4QixPQUFPLEVBQUUsV0FBVztFQUNwQixXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVUcUJLLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtFU3BCL0MsV0FBVyxFVDhCRyxNQUFNLEVBQUUsVUFBVTtFUzdCaEMsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFVGVTLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFNkJvRXJDLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsS0FBSztFQUNqQixLQUFLLEVBQUUsS0FBSztFQUNaLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFNBQVMsRUFBRSxNQUFNO0NBQ2xCOzs7QUE3QkgsQXBCMURFLFdvQjBEUyxDQUFDLFlBQVksQ0FxQnRCLGNBQWMsQXBCL0ViLE1BQU0sRW9CMERULFdBQVcsQ0FBQyxZQUFZLENBcUJ0QixjQUFjLEFwQjlFYixPQUFPLEVvQnlEVixXQUFXLENBQUMsWUFBWSxDQXFCdEIsY0FBYyxBcEI3RWIsTUFBTTtBb0J5RFQsa0JBQWtCLENBQUMsWUFBWSxDQW9CN0IsY0FBYyxBcEIvRWIsTUFBTTtBb0IyRFQsa0JBQWtCLENBQUMsWUFBWSxDQW9CN0IsY0FBYyxBcEI5RWIsT0FBTztBb0IwRFYsa0JBQWtCLENBQUMsWUFBWSxDQW9CN0IsY0FBYyxBcEI3RWIsTUFBTSxDQUFDO0VBQ04sU0FBUyxFQUFFLFdBQVc7RUFDdEIsVUFBVSxFVGVTLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBZ0I7Q1NkckQ7OztBb0JxRkgsQUFBQSxZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztFQUNwQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCO0VBQzdDLE9BQU8sRUFBRSxDQUFDO0NBQ1g7OztBQUVELEFBQUEsa0JBQWtCLENBQUMsS0FBSztBQUN4QixlQUFlLENBQUMsS0FBSyxDQUFDO0VBQ3BCLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsY0FBYyxFQUFFLG9CQUFvQjtFQUNwQyxZQUFZLEU3QmxHTixJQUFJO0U2Qm1HVixhQUFhLEU3Qm5HUCxJQUFJO0U2Qm9HVixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLE1BQU07RUFDZCxjQUFjLEVBQUUsTUFBTTtDQW1CdkI7OztBQTVCRCxBQVdFLGtCQVhnQixDQUFDLEtBQUssQ0FXdEIsTUFBTTtBQVZSLGVBQWUsQ0FBQyxLQUFLLENBVW5CLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxJQUFJO0NBQ2I7OztBQWRILEFBZ0JFLGtCQWhCZ0IsQ0FBQyxLQUFLLENBZ0J0QixPQUFPO0FBZlQsZUFBZSxDQUFDLEtBQUssQ0FlbkIsT0FBTyxDQUFDO0VBQ04sVUFBVSxFQUFFLEdBQUc7Q0FDaEI7OztBQWxCSCxBQW9CRSxrQkFwQmdCLENBQUMsS0FBSyxDQW9CdEIsWUFBWTtBQW5CZCxlQUFlLENBQUMsS0FBSyxDQW1CbkIsWUFBWSxDQUFDO0VBQ1gsU0FBUyxFQUFFLEtBQUs7RUFDaEIsV0FBVyxFQUFFLEtBQUs7Q0FDbkI7O0F6QjZiQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0V5QnBkNUIsQUFBQSxrQkFBa0IsQ0FBQyxLQUFLO0VBQ3hCLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUF5QmxCLFNBQVMsRUFBRSxJQUFJO0dBRWxCOzs7O0FDN0lELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsS0FBSyxFQUFFLENBQUM7Q0FvQlQ7O0ExQjBpQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLOztFMEJya0I1QixBQUFBLGVBQWUsQ0FBQztJQVVaLE9BQU8sRUFBRSxDQUFDO0lBQ1YsS0FBSyxFQUFFLENBQUM7SUFDUixVQUFVLEVBQUUsQ0FBQztHQWVoQjs7OztBQVpDLEFBQUEsZ0JBQWdCLENBZmxCLGVBQWUsQ0FlTTtFQUNqQixPQUFPLEVBQUUsQ0FBQztDQUNYOztBMUJvakJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTs7RTBCcmtCN0IsQUFBQSxlQUFlLENBQUM7SUFvQlosV0FBVyxFQUFFLENBQUM7R0FPakI7Ozs7QUEzQkQsQUF1QkUsZUF2QmEsQ0F1QmIsV0FBVyxDQUFDLENBQUMsQ0FBQztFckJyQmQsUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFFLE9BQU87RUFDZCxTQUFTLEVBQUUsS0FBSztFQUNoQixjQUFjLEVBQUUsU0FBUztFQUN6QixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVUY0ksT0FBTztFU2JyQixhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsZUFBZTtFQUN4QixPQUFPLEVBQUUsV0FBVztFQUNwQixXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVUcUJLLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtFU3BCL0MsV0FBVyxFVDhCRyxNQUFNLEVBQUUsVUFBVTtFUzdCaEMsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFVGVTLEdBQUcsQ0FBQyxLQUFJLENBQUMsV0FBVztFOEJOckMsV0FBVyxFQUFFLElBQUk7Q0FDbEI7OztBQTFCSCxBckJrQkUsZXFCbEJhLENBdUJiLFdBQVcsQ0FBQyxDQUFDLEFyQkxaLE1BQU0sRXFCbEJULGVBQWUsQ0F1QmIsV0FBVyxDQUFDLENBQUMsQXJCSlosT0FBTyxFcUJuQlYsZUFBZSxDQXVCYixXQUFXLENBQUMsQ0FBQyxBckJIWixNQUFNLENBQUM7RUFDTixTQUFTLEVBQUUsV0FBVztFQUN0QixVQUFVLEVUZVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFnQjtDU2RyRDs7O0FzQnZCSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLElBQUk7RUFDaEIsZUFBZSxFQUFFLEtBQUs7RUFDdEIsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixlQUFlLEVBQUUsSUFBSTtFQUFFLGFBQWE7RUFFcEMsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRS9CVUosSUFBSTtFK0JUVixVQUFVLEUvQnFCUyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RStCcEJ2QyxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9CYVYsd0JBQXFCO0UrQlpoQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9CWWIsd0JBQXFCO0UrQlhoQyxrQkFBa0IsRUFBRSxzREFBc0Q7RUFDMUUsVUFBVSxFQUFFLHNEQUFzRDtDQWVuRTs7O0FBYkMsQUFBQSxTQUFTLENBaEJYLGlCQUFpQixDQWdCSDtFQUNWLFlBQVksRS9CUUgsa0JBQWU7QytCUHpCOzs7QUFFRCxBQUFBLGdCQUFnQixDQXBCbEIsaUJBQWlCO0FBcUJmLGdCQUFnQixDQUFDLFNBQVMsQ0FyQjVCLGlCQUFpQixDQXFCYztFQUMzQixPQUFPLEVBQUUsQ0FBQztDQUNYOzs7QUFFRCxBQUFBLFNBQVMsQ0F6QlgsaUJBQWlCLENBeUJIO0VBQ1YsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsR0FBRztDQUNiOzs7QUFHSCxBQUFBLGlCQUFpQixBQUFBLG1CQUFtQixDQUFDO0VBQ25DLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7OztBQUVELEFBQUEsZ0NBQWdDLENBQUM7RUFDL0IsZUFBZSxFQUFFLEtBQUs7RUFDdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRS9CUlMsR0FBRyxDQUFDLEtBQUksQ0FBQyxXQUFXO0MrQlN4Qzs7O0FBRUQsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsSUFBSTtDQUtkOzs7QUFORCxBQUdFLG9CQUhrQixDQUdsQixFQUFFLENBQUM7RUFDRCxLQUFLLEVBQUUsS0FBSztDQUNiOzs7QUFHSCxBQUFBLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7RXpCMUN4QixXQUFXLEVObUNELFFBQVEsRUFBRSxVQUFVO0VNbEM5QixTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHO0V5QnlDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsV0FBVztFQUNwQixPQUFPLEVBQUUsV0FBVztFQUNwQixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEUvQjFCUyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7QytCeUV4Qzs7O0FBdERELEF6QnJDRSxvQnlCcUNrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEN6QnJDdkIsU0FBUyxDQUFDO0VBQ1IsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7O0F5Qm1DSCxBQVNFLG9CQVRrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBU3RCLE1BQU0sRUFUVCxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxBQVV0QixPQUFPLEVBVlYsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQUFXdEIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLENBQUM7Q0FDWDs7O0FBYkgsQUFlRSxvQkFma0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxBQWV0QixNQUFNLEFBQUEsTUFBTSxFQWZmLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBZ0J0QixNQUFNLEFBQUEsTUFBTSxFQWhCZixvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxBQWlCdEIsT0FBTyxBQUFBLE1BQU0sRUFqQmhCLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBa0J0QixNQUFNLEFBQUEsT0FBTyxFQWxCaEIsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQUFtQnRCLE1BQU0sQUFBQSxPQUFPLEVBbkJoQixvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxBQW9CdEIsT0FBTyxBQUFBLE9BQU8sQ0FBQztFQUNkLE9BQU8sRUFBRSxDQUFDO0NBQ1g7OztBQXRCSCxBQXdCRSxvQkF4QmtCLENBQUMsRUFBRSxDQUFDLENBQUMsQUF3QnRCLE1BQU0sRUF4QlQsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQUF5QnRCLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLEdBQUc7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEUvQm5ETyxHQUFHLENBQUMsS0FBSSxDQUFDLFdBQVc7RStCb0RyQyxTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLFVBQVUsRUFDUiw2RkFLQztDQUNKOzs7QUF6Q0gsQUEyQ0Usb0JBM0NrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBMkN0QixPQUFPLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztDQUNQOzs7QUE3Q0gsQUErQ0Usb0JBL0NrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEFBK0N0QixNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztDQUNWOzs7QUFFRCxBQUFBLFNBQVMsQ0FuRFgsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FtRFg7RUFDVixLQUFLLEVBQUUsS0FBSztDQUNiOzs7QUFJSCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLE1BQU07RUFDZCxVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEVBQUUsR0FBRztFQUNkLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsVUFBVSxFQUFFLEdBQUc7RUFFZixLQUFLLEVBQUUsS0FBSztDQXNGYjs7O0FBcEZDLEFBQUEsU0FBUyxDQVpYLHFCQUFxQixDQVlQO0VBQ1YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7O0FBZEgsQUFnQkUscUJBaEJtQixDQWdCbkIsSUFBSSxDQUFDO0VBQ0gsZUFBZSxFQUFFLFNBQVM7RUFDMUIsU0FBUyxFQUFFLEtBQUs7Q0FDakI7OztBQW5CSCxBQXFCRSxxQkFyQm1CLENBcUJuQixXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLFdBQVcsRS9CdkZDLE1BQU0sRUFBRSxVQUFVO0UrQndGOUIsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsU0FBUztFQUMxQixZQUFZLEVBQUUsS0FBSztDQTZCcEI7OztBQXpESCxBQThCSSxxQkE5QmlCLENBcUJuQixXQUFXLEFBU1IsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEVBQUU7RUFDWCxNQUFNLEVBQUUsR0FBRztFQUNYLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVBQUUsR0FBRztDQUtqQjs7O0FBSEMsQUFBQSxTQUFTLENBckNmLHFCQUFxQixDQXFCbkIsV0FBVyxBQVNSLE1BQU0sQ0FPTztFQUNWLFVBQVUsRUFBRSxLQUFLO0NBQ2xCOzs7QUF2Q1AsQUEwQ0kscUJBMUNpQixDQXFCbkIsV0FBVyxBQXFCUixPQUFPLENBQUU7RUFDUixPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLEdBQUc7RUFDVixZQUFZLEVBQUUsT0FBTztFQUNyQixVQUFVLEVBQUUsU0FBUztFQUNyQixZQUFZLEVBQUUsU0FBUztFQUN2QixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsQ0FBQztFQUNSLFNBQVMsRUFBRSxhQUFhO0NBS3pCOzs7QUFIQyxBQUFBLFNBQVMsQ0FyRGYscUJBQXFCLENBcUJuQixXQUFXLEFBcUJSLE9BQU8sQ0FXTTtFQUNWLFlBQVksRUFBRSxLQUFLO0NBQ3BCOzs7QUF2RFAsQUEyREUscUJBM0RtQixDQTJEbkIsV0FBVyxDQUFBO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEUvQjdIQyxNQUFNLEVBQUUsVUFBVTtFK0I4SDlCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLFNBQVM7RUFDMUIsWUFBWSxFQUFFLEtBQUs7Q0E2QnBCOzs7QUEvRkgsQUFvRUkscUJBcEVpQixDQTJEbkIsV0FBVyxBQVNSLFFBQVEsQ0FBQztFQUNSLE9BQU8sRUFBRSxFQUFFO0VBQ1gsTUFBTSxFQUFFLEdBQUc7RUFDWCxnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLEtBQUssRUFBRSxLQUFLO0VBQ1osWUFBWSxFQUFFLEdBQUc7Q0FLbEI7OztBQUhDLEFBQUEsU0FBUyxDQTNFZixxQkFBcUIsQ0EyRG5CLFdBQVcsQUFTUixRQUFRLENBT0s7RUFDVixVQUFVLEVBQUUsS0FBSztDQUNsQjs7O0FBN0VQLEFBZ0ZJLHFCQWhGaUIsQ0EyRG5CLFdBQVcsQUFxQlIsTUFBTSxDQUFFO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxNQUFNLEVBQUUsR0FBRztFQUNYLEtBQUssRUFBRSxHQUFHO0VBQ1YsWUFBWSxFQUFFLE9BQU87RUFDckIsYUFBYSxFQUFFLFNBQVM7RUFDeEIsV0FBVyxFQUFFLFNBQVM7RUFDdEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxTQUFTLEVBQUUsYUFBYTtDQUt6Qjs7O0FBSEMsQUFBQSxTQUFTLENBM0ZmLHFCQUFxQixDQTJEbkIsV0FBVyxBQXFCUixNQUFNLENBV087RUFDVixZQUFZLEVBQUUsS0FBSztDQUNwQjs7O0FDeE1QLEFBQUEsTUFBTSxDQUFDO0VBQ0wsVUFBVSxFQUFFLGtCQUFrQjtFQUM5QixRQUFRLEVBQUUsTUFBTTtDQXdEakI7OztBQTFERCxBQUlFLE1BSkksQ0FJSixLQUFLLENBQUM7RUFDSixNQUFNLEVBQUUsMkJBQTJCO0VBQ25DLGFBQWEsRUFBRSxHQUFHO0NBTW5COzs7QUFaSCxBQVFJLE1BUkUsQ0FJSixLQUFLLENBSUgsYUFBYTtBQUNiLFNBQVMsQ0FUYixNQUFNLENBSUosS0FBSyxDQUtTLGFBQWEsQ0FBQztFQUN4QixJQUFJLEVBQUUsS0FBSztDQUNaOzs7QUFYTCxBQWNFLE1BZEksQ0FjSixVQUFVLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7OztBQXRCSCxBQXdCRSxNQXhCSSxDQXdCSixTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixXQUFXLEVoQ2tCQyxNQUFNLEVBQUUsVUFBVTtFZ0NqQjlCLEtBQUssRUFBRSx3QkFBd0I7RUFDL0IsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsSUFBSTtFQUNyQixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxXQUFXO0NBd0JwQjs7QTVCNGdCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0U0QnJrQjVCLEFBd0JFLE1BeEJJLENBd0JKLFNBQVMsQ0FBQztJQVlOLEtBQUssRUFBRSxDQUFDO0dBcUJYOzs7O0FBekRILEFBdUNJLE1BdkNFLENBd0JKLFNBQVMsQUFlTixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLGFBQWEsRUFBRSxHQUFHO0NBQ25COzs7QUE3Q0wsQUErQ0ksTUEvQ0UsQ0F3QkosU0FBUyxBQXVCTixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLEdBQUc7RUFDVixVQUFVLEVBQUUsZUFBZTtFQUMzQixZQUFZLEVBQUUsZUFBZTtFQUM3QixTQUFTLEVBQUUsY0FBYztFQUN6QixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztDQUNQOzs7QUFJTCxBQUNFLE1BREksQ0FDSixLQUFLLENBQUMsYUFBYSxDQUFDO0VBQ2xCLElBQUksRUFBRSx3QkFBd0I7Q0FDL0I7OztBQUhILEFBS0UsTUFMSSxDQUtKLEtBQUssQ0FBQyxhQUFhLENBQUM7RUFDbEIsSUFBSSxFQUFFLHdCQUF3QjtDQUMvQjs7O0FBR0gsQUFBQSxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLGFBQWE7RUFDOUIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLEdBQUc7Q0FDcEI7OztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixZQUFZLEVBQUUsR0FBRztDQUNsQjs7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixLQUFLLEVBQUUsSUFBSTtDQWtCWjs7QTVCNGRHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSzs7RTRCL2U1QixBQUFBLDBCQUEwQixDQUFDO0lBSXZCLEtBQUssRUFBRSxJQUFJO0dBZWQ7Ozs7QUFuQkQsQUFPRSwwQkFQd0IsQ0FPeEIsRUFBRSxDQUFDO0VBQ0QsT0FBTyxFQUFFLE9BQU87Q0FDakI7OztBQVRILEFBV0UsMEJBWHdCLENBV3hCLEVBQUUsQ0FBQyxDQUFDLENBQUM7RTFCekZMLFdBQVcsRU5tQ0QsUUFBUSxFQUFFLFVBQVU7RU1sQzlCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLEdBQUc7RTBCd0ZWLGVBQWUsRUFBRSxJQUFJO0NBS3RCOzs7QUFsQkgsQTFCekVFLDBCMEJ5RXdCLENBV3hCLEVBQUUsQ0FBQyxDQUFDLEMxQnBGSixTQUFTLENBQUM7RUFDUixLQUFLLEVBQUUsS0FBSztDQUNiOztBRnNqQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFNEIvZTdCLEFBV0UsMEJBWHdCLENBV3hCLEVBQUUsQ0FBQyxDQUFDLENBQUM7STFCOUVMLFdBQVcsRU53QkQsUUFBUSxFQUFFLFVBQVU7SU12QjlCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsS0FBSyxFQUFFLEtBQUs7SUFDWixPQUFPLEVBQUUsR0FBRztHMEJrRlg7O0UxQmhGRCxBQUFBLFNBQVMsQzBCOERYLDBCQUEwQixDQVd4QixFQUFFLENBQUMsQ0FBQyxDMUJ6RVE7SUFDVixLQUFLLEVBQUUsS0FBSztHQUNiOzs7O0EwQmlGSCxBQUFBLHdCQUF3QixDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsR0FBRztDQW9DaEI7O0E1Qm1iRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0U0QjFkNUIsQUFBQSx3QkFBd0IsQ0FBQztJQU1yQixVQUFVLEVBQUUsQ0FBQztHQWlDaEI7Ozs7QUF2Q0QsQUFTRSx3QkFUc0IsQ0FTdEIsRUFBRSxDQUFDO0VBQ0QsWUFBWSxFQUFFLEdBQUc7Q0FNbEI7O0E1QjBjQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7O0U0QjFkNUIsQUFTRSx3QkFUc0IsQ0FTdEIsRUFBRSxDQUFDO0lBSUMsWUFBWSxFQUFFLENBQUM7SUFDZixXQUFXLEVBQUUsR0FBRztHQUVuQjs7OztBQWhCSCxBQWtCRSx3QkFsQnNCLENBa0J0QixFQUFFLENBQUM7RUFDRCxPQUFPLEVBQUUsT0FBTztDQUNqQjs7O0FBcEJILEFBc0JFLHdCQXRCc0IsQ0FzQnRCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0UxQnpIUixXQUFXLEVObUNELFFBQVEsRUFBRSxVQUFVO0VNbEM5QixTQUFTLEVBQUUsTUFBTTtFQUNqQixLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxHQUFHO0UwQndIVixlQUFlLEVBQUUsSUFBSTtFQUNyQixLQUFLLEVBQUUsS0FBSztDQWFiOzs7QUF0Q0gsQTFCOUZFLHdCMEI4RnNCLENBc0J0QixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQzFCcEhQLFNBQVMsQ0FBQztFQUNSLEtBQUssRUFBRSxLQUFLO0NBQ2I7OztBMEJ1SEMsQUFBQSxTQUFTLENBM0JiLHdCQUF3QixDQXNCdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBS087RUFDVixLQUFLLEVBQUUsS0FBSztDQUNiOztBNUI2YkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOztFNEIxZDdCLEFBc0JFLHdCQXRCc0IsQ0FzQnRCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0kxQjlHUixXQUFXLEVOd0JELFFBQVEsRUFBRSxVQUFVO0lNdkI5QixTQUFTLEVBQUUsR0FBRztJQUNkLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLEdBQUc7RzBCMkhYOztFMUJ6SEQsQUFBQSxTQUFTLEMwQm1GWCx3QkFBd0IsQ0FzQnRCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDMUJ6R0s7SUFDVixLQUFLLEVBQUUsS0FBSztHQUNiOztFMEJtSEcsQUFBQSxTQUFTLENBbENmLHdCQUF3QixDQXNCdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBWVM7SUFDVixLQUFLLEVBQUUsS0FBSztHQUNiOzs7O0FBS1AsQUFBQSxZQUFZLENBQUM7RUFDWCxLQUFLLEVBQU8sd0JBQUs7RUFDakIsV0FBVyxFaEMxR0csTUFBTSxFQUFFLFVBQVU7RWdDMkdoQyxTQUFTLEVBQUUsS0FBSztDQUNqQjs7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFDVixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGNBQWMsRUFBRSxHQUFHO0NBQ3BCOzs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLGFBQWE7Q0FDL0I7OztBQUVELEFBQUEsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0VBQ3ZCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsTUFBTTtFQUNuQixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxDQUFDO0NBU1Q7O0E1QmlaRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0U0Qi9aN0IsQUFBQSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFRckIsS0FBSyxFQUFFLElBQUk7R0FNZDs7O0E1QmlaRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0U0Qi9aN0IsQUFBQSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFZckIsS0FBSyxFQUFFLENBQUM7R0FFWDs7OztBQUVELEFBQUEseUJBQXlCLENBQUM7RUFDeEIsT0FBTyxFQUFFLFNBQVM7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FnQlg7OztBQWRDLEFBQUEsZ0JBQWdCLENBSmxCLHlCQUF5QixDQUlKO0VBQ2pCLE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0E1QnlZQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0U0Qi9ZN0IsQUFBQSx5QkFBeUIsQ0FBQztJQVN0QixHQUFHLEVBQUUsSUFBSTtJQUNULElBQUksRUFBRSxJQUFJO0lBQ1YsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtHQU1yQjs7O0E1QjZYRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07O0U0Qi9ZN0IsQUFBQSx5QkFBeUIsQ0FBQztJQWdCdEIsT0FBTyxFQUFFLFdBQVc7R0FFdkI7Ozs7QUFFRCxBQUFBLEVBQUUsQUFBQSxvQkFBb0IsQ0FBQztFQUNyQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0NBS3BCOzs7QUFSRCxBQUtFLEVBTEEsQUFBQSxvQkFBb0IsQ0FLcEIsRUFBRSxDQUFDO0VBQ0QsWUFBWSxFQUFFLEtBQUs7Q0FDcEI7OztBQUdILEFBQUEsRUFBRSxBQUFBLG9CQUFvQixDQUFDLENBQUMsQ0FBQztFdkJ6THZCLEtBQUssRUFBRSxnQkFBZ0I7RUFDdkIsTUFBTSxFQUFFLGdCQUFnQjtFQUN4QixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDVFJOLHdCQUFxQjtFU1NoQyxhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsUUFBUTtDdUJ3THJCOzs7QUFORCxBdkJoTEUsRXVCZ0xBLEFBQUEsb0JBQW9CLENBQUMsQ0FBQyxBdkJoTHJCLE1BQU0sRXVCZ0xULEVBQUUsQUFBQSxvQkFBb0IsQ0FBQyxDQUFDLEF2Qi9LckIsT0FBTyxFdUIrS1YsRUFBRSxBQUFBLG9CQUFvQixDQUFDLENBQUMsQXZCOUtyQixNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsZUFBZTtFQUN2QixnQkFBZ0IsRUFBRSxrQkFBa0I7Q0FDckM7OztBQUVELEFBQUEsSUFBSSxBQUFBLElBQUssQ0FBQSxnQkFBZ0IsRUFBRSxTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRXVCeUtwRCxFQUFFLEFBQUEsb0JBQW9CLENBQUMsQ0FBQyxDdkJ6S2dDO0VBQ3BELE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDVG5CUixrQkFBZTtFU29CeEIsVUFBVSxFQUFFLFFBQVE7Q0FLckI7OztBQVBELEFBSUUsSUFKRSxBQUFBLElBQUssQ0FBQSxnQkFBZ0IsRUFBRSxTQUFTLEFBQUEsSUFBSyxDQUFBLFNBQVMsRXVCeUtwRCxFQUFFLEFBQUEsb0JBQW9CLENBQUMsQ0FBQyxBdkJyS25CLE1BQU0sQ0FBQztFQUNOLE1BQU0sRUFBRSxlQUFlO0NBQ3hCOzs7QXVCbUtMLEFBR0UsRUFIQSxBQUFBLG9CQUFvQixDQUFDLENBQUMsQ0FHdEIsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7QUN2TkgsZUFBZTs7QUFDZixBQUFBLEtBQUssQ0FBQztFQUNKLGlCQUFpQjtFQUNqQixzQkFBc0IsQ0FBQSwwSUFBQztFQUN2Qix3QkFBd0IsQ0FBQSxzSUFBQztFQUV6QixlQUFlO0VBQ2Ysd0JBQXdCLENBQUEsUUFBQztFQUN6QixzQkFBc0IsQ0FBQSxLQUFDO0VBQ3ZCLHNCQUFzQixDQUFBLFNBQUM7RUFDdkIsc0JBQXNCLENBQUEsUUFBQztFQUN2QixzQkFBc0IsQ0FBQSxPQUFDO0VBQ3ZCLHNCQUFzQixDQUFBLFFBQUM7RUFDdkIsdUJBQXVCLENBQUEsS0FBQztFQUN4Qix3QkFBd0IsQ0FBQSxLQUFDO0VBQ3pCLDhCQUE4QixDQUFBLDZCQUFDO0VBQy9CLHdCQUF3QixDQUFBLE9BQUM7RUFFekIsaUJBQWlCO0VBQ2pCLDBCQUEwQixDQUFBLElBQUM7RUFDM0IsNkJBQTZCLENBQUEsSUFBQztFQUM5QixnQ0FBZ0MsQ0FBQSxJQUFDO0VBRWpDLGNBQWM7RUFDZCxzQkFBc0IsQ0FBQSw0QkFBQztFQUN2Qix1QkFBdUIsQ0FBQSw0QkFBQztFQUN4Qix1QkFBdUIsQ0FBQSw0QkFBQztFQUN4Qix1QkFBdUIsQ0FBQSw0QkFBQztFQUN4Qix1QkFBdUIsQ0FBQSx5Q0FBQztFQUN4Qix1QkFBdUIsQ0FBQSw0QkFBQztFQUN4Qix1QkFBdUIsQ0FBQSxvQ0FBQztFQUN4Qiw0QkFBNEIsQ0FBQSxPQUFDO0VBQzdCLDRCQUE0QixDQUFBLE9BQUM7RUFDN0IsNEJBQTRCLENBQUEsOEJBQUM7RUFDN0IsNEJBQTRCLENBQUEsOEJBQUM7RUFDN0IsNEJBQTRCLENBQUEsOEJBQUM7RUFDN0IsNEJBQTRCLENBQUEsOEJBQUM7RUFDN0IseUJBQXlCLENBQUEsbUNBQUM7RUFDMUIseUJBQXlCLENBQUEsbUNBQUM7RUFDMUIseUJBQXlCLENBQUEsbUNBQUM7RUFDMUIseUJBQXlCLENBQUEsbUNBQUM7RUFDMUIseUJBQXlCLENBQUEsbUNBQUM7RUFDMUIseUJBQXlCLENBQUEsc0NBQUM7RUFDMUIsc0JBQXNCLENBQUEsT0FBQztFQUN2QixpQ0FBaUMsQ0FBQSxJQUFDO0VBQ2xDLDZCQUE2QixDQUFBLElBQUM7RUFFOUIseUJBQXlCO0VBQ3pCLGlDQUFpQyxDQUFBLDRCQUFDO0VBQ2xDLCtCQUErQixDQUFBLDZCQUFDO0VBQ2hDLHVDQUF1QyxDQUFBLDhCQUFDO0VBQ3hDLHFDQUFxQyxDQUFBLDRCQUFDO0VBQ3RDLG1CQUFtQixDQUFBLDhCQUFDO0VBQ3BCLDhCQUE4QixDQUFBLDRCQUFDO0VBRS9CLFlBQVk7RUFDWixxQkFBcUIsQ0FBQSxRQUFDO0VBQ3RCLHlCQUF5QixDQUFBLFFBQUM7RUFDMUIsb0JBQW9CLENBQUEsUUFBQztFQUNyQiwwQkFBMEIsQ0FBQSxRQUFDO0VBQzNCLHFCQUFxQixDQUFBLFFBQUM7RUFDdEIsb0JBQW9CLENBQUEsUUFBQztFQUNyQixzQkFBc0IsQ0FBQSxRQUFDO0VBQ3ZCLG1CQUFtQixDQUFBLFFBQUM7RUFDcEIsc0JBQXNCLENBQUEsUUFBQztFQUN2QixzQkFBc0IsQ0FBQSxRQUFDO0VBQ3ZCLHFCQUFxQixDQUFBLFFBQUM7RUFDdEIsd0JBQXdCLENBQUEseUJBQUM7RUFDekIsd0JBQXdCLENBQUEseUJBQUM7RUFDekIsdUJBQXVCLENBQUEsK0JBQUM7RUFFeEIscURBQXFEO0VBQ3JELHlCQUF5QixDQUFBLDBCQUFDO0VBRTFCLGNBQWM7RUFDZCw2QkFBNkIsQ0FBQSw2QkFBQztFQUM5QiwwQkFBMEIsQ0FBQSwyQkFBQztFQUUzQixtQ0FBbUM7RUFDbkMsc0JBQXNCLENBQUEsNkJBQUM7RUFFdkIsbUNBQW1DO0VBRW5DLGFBQWE7RUFDYixzQkFBc0IsQ0FBQSxLQUFDO0VBQ3ZCLHlCQUF5QixDQUFBLE1BQUM7RUFDMUIsNEJBQTRCLENBQUEsS0FBQztFQUM3QiwwQkFBMEIsQ0FBQSxLQUFDO0VBRTNCLGVBQWU7RUFDZixtQkFBbUIsQ0FBQSxpQ0FBQztFQUVwQixXQUFXO0VBQ1gsbUJBQW1CLENBQUEsOEJBQUM7RUFDcEIsaUJBQWlCLENBQUEsNEJBQUM7RUFDbEIsbUJBQW1CLENBQUEsZ0NBQUM7RUFDcEIsa0JBQWtCLENBQUEsK0JBQUM7RUFDbkIsb0JBQW9CLENBQUEsK0JBQUM7RUFDckIsb0JBQW9CLENBQUEsSUFBQztFQUNyQixvQkFBb0IsQ0FBQSwrQkFBQztFQUNyQixvQkFBb0IsQ0FBQSxJQUFDO0VBQ3JCLHFCQUFxQixDQUFBLEVBQUM7RUFDdEIsb0JBQW9CLENBQUEsd0NBQUM7RUFFckIsaUJBQWlCO0VBQ2pCLGVBQWUsQ0FBQSwyQ0FBQztFQUNoQix5QkFBeUIsQ0FBQSwyQkFBQztFQUMxQix5QkFBeUIsQ0FBQSwyQkFBQztFQUUxQixhQUFhO0VBQ2Isb0JBQW9CLENBQUEsZ0NBQUM7RUFDckIsMEJBQTBCLENBQUEsK0JBQUM7RUFDM0IsMkJBQTJCLENBQUEsK0JBQUM7RUFDNUIsMEJBQTBCLENBQUEsK0JBQUM7RUFDM0IsaUNBQWlDLENBQUEsZ0NBQUM7RUFDbEMscUJBQXFCLENBQUEsNEJBQUM7RUFDdEIsbUJBQW1CLENBQUEsOEJBQUM7RUFDcEIscUJBQXFCLENBQUEsSUFBQztFQUN0QixxQkFBcUIsQ0FBQSxJQUFDO0VBQ3RCLHNCQUFzQixDQUFBLElBQUM7RUFDdkIsdUJBQXVCLENBQUEsRUFBQztFQUN4QiwwQkFBMEIsQ0FBQSxLQUFDO0VBQzNCLDRCQUE0QixDQUFBLDBDQUFDO0VBRTdCLFdBQVc7RUFDWCxxQkFBcUIsQ0FBQSw2QkFBQztFQUN0QiwwQkFBMEIsQ0FBQSxhQUFDO0VBQzNCLDJCQUEyQixDQUFBLG1DQUFDO0VBQzVCLDJCQUEyQixDQUFBLCtCQUFDO0VBQzVCLHlCQUF5QixDQUFBLDZCQUFDO0VBQzFCLDRCQUE0QixDQUFBLDhCQUFDO0VBQzdCLCtCQUErQixDQUFBLDRCQUFDO0VBQ2hDLDZCQUE2QixDQUFBLDZCQUFDO0VBRTlCLFlBQVk7RUFDWixzQkFBc0IsQ0FBQSw2QkFBQztFQUN2QixzQkFBc0IsQ0FBQSw2QkFBQztFQUN2Qiw0QkFBNEIsQ0FBQSwrQkFBQztFQUM3Qiw4QkFBOEIsQ0FBQSw0QkFBQztFQUMvQiw0QkFBNEIsQ0FBQSw0QkFBQztFQUM3QixtQ0FBbUMsQ0FBQSw2QkFBQztFQUNwQyw4QkFBOEIsQ0FBQSxPQUFDO0VBQy9CLGlDQUFpQyxDQUFBLFVBQUM7RUFDbEMsb0NBQW9DLENBQUEsOEJBQUM7RUFDckMsa0NBQWtDLENBQUEsNEJBQUM7RUFDbkMsb0NBQW9DLENBQUEsOEJBQUM7RUFDckMsMkJBQTJCLENBQUEsTUFBQztFQUM1Qiw0QkFBNEIsQ0FBQSxNQUFDO0VBQzdCLGtDQUFrQyxDQUFBLEtBQUM7RUFDbkMsbUNBQW1DLENBQUEsS0FBQztFQUVwQyxxQkFBcUI7RUFDckIsMEJBQTBCLENBQUEsOEJBQUM7RUFDM0IsaUNBQWlDLENBQUEsNEJBQUM7RUFDbEMsd0JBQXdCLENBQUEsNEJBQUM7RUFDekIsaUNBQWlDLENBQUEsNEJBQUM7RUFDbEMsK0JBQStCLENBQUEsNEJBQUM7RUFDaEMsd0NBQXdDLENBQUEsNEJBQUM7RUFDekMsK0JBQStCLENBQUEsNEJBQUM7RUFDaEMseUJBQXlCLENBQUEsT0FBQztFQUMxQix5Q0FBeUMsQ0FBQSxPQUFDO0VBQzFDLDBCQUEwQixDQUFBLE9BQUM7RUFDM0IsaUNBQWlDLENBQUEsSUFBQztFQUNsQyx5QkFBeUIsQ0FBQSw2QkFBQztFQUMxQiwrQkFBK0IsQ0FBQSxtQ0FBQztFQUNoQyx5QkFBeUIsQ0FBQSw2QkFBQztFQUMxQixzQkFBc0IsQ0FBQSx5Q0FBQztFQUN2QiwyQkFBMkIsQ0FBQSw2QkFBQztFQUU1QixnQkFBZ0I7RUFDaEIsd0JBQXdCLENBQUEsNkJBQUM7RUFDekIsOEJBQThCLENBQUEsbUNBQUM7RUFDL0IseUJBQXlCLENBQUEsOEJBQUM7RUFDMUIsdUJBQXVCLENBQUEsNEJBQUM7RUFDeEIseUJBQXlCLENBQUEsT0FBQztFQUMxQixnQ0FBZ0MsQ0FBQSxJQUFDO0VBRWpDLFlBQVk7RUFDWixvQkFBb0IsQ0FBQSw2QkFBQztFQUNyQixvQkFBb0IsQ0FBQSw2QkFBQztFQUNyQiwwQkFBMEIsQ0FBQSxtQ0FBQztFQUMzQixxQkFBcUIsQ0FBQSw0QkFBQztFQUN0QixtQkFBbUIsQ0FBQSw0QkFBQztFQUVwQix1QkFBdUI7RUFDdkIsd0JBQXdCLENBQUEsNEJBQUM7RUFDekIsc0JBQXNCLENBQUEsNkJBQUM7RUFDdkIsdUJBQXVCLENBQUEsT0FBQztFQUN4QiwyQkFBMkIsQ0FBQSxrQ0FBQztFQUM1Qix3QkFBd0IsQ0FBQSxtQ0FBQztFQUN6Qix5QkFBeUIsQ0FBQSxJQUFDO0VBQzFCLHlCQUF5QixDQUFBLDZCQUFDO0VBQzFCLDZCQUE2QixDQUFBLDZCQUFDO0VBQzlCLDZCQUE2QixDQUFBLGdDQUFDO0VBQzlCLG9CQUFvQixDQUFBLDhCQUFDO0VBQ3JCLGtCQUFrQixDQUFBLDRCQUFDO0VBQ25CLHdCQUF3QixDQUFBLDRCQUFDO0VBQ3pCLG1CQUFtQixDQUFBLE9BQUM7RUFDcEIsb0JBQW9CLENBQUEsSUFBQztFQUNyQiwyQkFBMkIsQ0FBQSxPQUFDO0VBQzVCLHlCQUF5QixDQUFBLE9BQUM7RUFDMUIsd0JBQXdCLENBQUEsT0FBQztFQUN6QixvQkFBb0IsQ0FBQSxnQ0FBQztFQUNyQiwwQkFBMEIsQ0FBQSxLQUFDO0VBQzNCLHlCQUF5QixDQUFBLDRCQUFDO0VBQzFCLG1CQUFtQixDQUFBLElBQUM7RUFFcEIsa0JBQWtCO0VBQ2xCLDZCQUE2QixDQUFBLGdDQUFDO0VBQzlCLGlDQUFpQyxDQUFBLGdDQUFDO0VBQ2xDLGtDQUFrQyxDQUFBLCtCQUFDO0VBRW5DLGFBQWE7RUFDYiwwQkFBMEIsQ0FBQSxJQUFDO0VBQzNCLDJCQUEyQixDQUFBLElBQUM7RUFDNUIsMkJBQTJCLENBQUEsSUFBQztFQUM1QixzQkFBc0IsQ0FBQSx5Q0FBQztFQUV2QixzQkFBc0I7RUFDdEIsMkJBQTJCLENBQUEsRUFBQztDQUM3Qjs7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDVCwyQkFBMkIsQ0FBQSxLQUFDO0NBQzdCOztBQUVELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7O0VBQ3RDLEFBQUEsVUFBVSxDQUFDO0lBQ1QsMkJBQTJCLENBQUEsS0FBQztHQUM3Qjs7O0FBR0gsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSzs7RUFDdEMsQUFBQSxLQUFLLENBQUM7SUFDSixzQkFBc0IsQ0FBQSxPQUFDO0lBQ3ZCLHVCQUF1QixDQUFBLEtBQUM7SUFDeEIsd0JBQXdCLENBQUEsS0FBQztJQUN6Qix1QkFBdUIsQ0FBQSxLQUFDO0lBQ3hCLHVCQUF1QixDQUFBLEtBQUM7R0FDekI7OztBQUdILDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7OztHQUdHOztBQUNILEFBQUEsSUFBSSxDQUFDO0VBR0gsT0FBTztFQUNQLGdCQUFnQixFQUFFLElBQUk7RUFFdEIsT0FBTztDQUNSOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRzs7QUFDSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FBRUQ7O0dBRUc7O0FBQ0gsQUFBQSxJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsS0FBSztDQUNmOztBQUVEOzs7R0FHRzs7QUFDSCxBQUFBLEVBQUUsQ0FBQztFQUVELE1BQU0sRUFBRSxRQUFRO0NBQ2pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7O0FBQ0gsQUFBQSxFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsV0FBVztFQUV2QixPQUFPO0VBQ1AsTUFBTSxFQUFFLENBQUM7RUFFVCxPQUFPO0VBQ1AsUUFBUSxFQUFFLE9BQU87RUFFakIsT0FBTztDQUNSOztBQUVEOzs7R0FHRzs7QUFDSCxBQUFBLEdBQUcsQ0FBQztFQUdGLE9BQU87RUFHUCxPQUFPO0NBQ1I7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBTUg7OztHQUdHOztBQUNILEFBQUEsSUFBSSxDQUFBLEFBQUEsS0FBQyxBQUFBLEVBQU87RUFHVixPQUFPO0VBR1AsT0FBTztFQUdQLE9BQU87Q0FDUjs7QUFFRDs7R0FFRztBQU1IOzs7R0FHRzs7QUFDSCxBQUFBLElBQUk7QUFDSixHQUFHO0FBQ0gsSUFBSSxDQUFDO0VBR0gsT0FBTztFQUdQLE9BQU87Q0FDUjs7QUFFRDs7R0FFRztBQUtIOzs7R0FHRzs7QUFDSCxBQUFBLEdBQUc7QUFDSCxHQUFHLENBQUM7RUFHRixRQUFRLEVBQUUsUUFBUTtFQUNsQixjQUFjLEVBQUUsUUFBUTtDQUN6Qjs7O0FBRUQsQUFBQSxHQUFHLENBQUM7RUFDRixNQUFNLEVBQUUsT0FBTztDQUNoQjs7O0FBRUQsQUFBQSxHQUFHLENBQUM7RUFDRixHQUFHLEVBQUUsTUFBTTtDQUNaOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUtIO2dGQUNnRjtBQUVoRjs7O0dBR0c7O0FBQ0gsQUFBQSxNQUFNO0FBQ04sS0FBSztBQUNMLFFBQVE7QUFDUixNQUFNO0FBQ04sUUFBUSxDQUFDO0VBR1AsT0FBTztFQUdQLE9BQU87RUFHUCxPQUFPO0VBQ1AsTUFBTSxFQUFFLENBQUM7RUFFVCxPQUFPO0NBQ1I7O0FBRUQ7OztHQUdHOztBQUNILEFBQUEsTUFBTTtBQUNOLEtBQUssQ0FBQztFQUNKLE9BQU87RUFDUCxRQUFRLEVBQUUsT0FBTztDQUNsQjs7QUFFRDs7O0dBR0c7O0FBQ0gsQUFBQSxNQUFNO0FBQ04sTUFBTSxDQUFDO0VBQ0wsT0FBTztDQUVSOztBQUVEOztHQUVHOztBQUNILEFBQUEsTUFBTTtDQUNOLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQTtDQUNELEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQTtDQUNELEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxFQUFhO0VBQ1osVUFBVSxFQUFFLE1BQU07Q0FDbkI7O0FBRUQ7O0dBRUc7O0FBQ0gsQUFBQSxNQUFNLEFBQUEsa0JBQWtCO0NBQ3hCLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQUFZLGtCQUFrQjtDQUMvQixBQUFBLElBQUMsQ0FBRCxLQUFDLEFBQUEsQ0FBVyxrQkFBa0I7Q0FDOUIsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBLENBQVksa0JBQWtCLENBQUM7RUFFOUIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QUFFRDs7R0FFRzs7QUFDSCxBQUFBLE1BQU0sQUFBQSxlQUFlO0NBQ3JCLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQUFZLGVBQWU7Q0FDNUIsQUFBQSxJQUFDLENBQUQsS0FBQyxBQUFBLENBQVcsZUFBZTtDQUMzQixBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsQ0FBWSxlQUFlLENBQUM7RUFDM0IsT0FBTyxFQUFFLHFCQUFxQjtDQUMvQjs7QUFFRDs7R0FFRzs7QUFDSCxBQUFBLFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxxQkFBcUI7Q0FDL0I7O0FBRUQ7Ozs7O0dBS0c7O0FBQ0gsQUFBQSxNQUFNLENBQUM7RUFDTCxVQUFVLEVBQUUsVUFBVTtFQUV0QixPQUFPO0VBR1AsT0FBTztFQUNQLE9BQU8sRUFBRSxLQUFLO0VBRWQsT0FBTztFQUNQLFNBQVMsRUFBRSxJQUFJO0VBRWYsT0FBTztFQUNQLE9BQU8sRUFBRSxDQUFDO0VBRVYsT0FBTztFQUNQLFdBQVcsRUFBRSxNQUFNO0VBRW5CLE9BQU87Q0FDUjs7QUFFRDs7R0FFRzs7QUFDSCxBQUFBLFFBQVEsQ0FBQztFQUNQLGNBQWMsRUFBRSxRQUFRO0NBQ3pCOztBQUVEOztHQUVHOztBQUNILEFBQUEsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLElBQUk7Q0FDZjs7QUFFRDs7O0dBR0c7O0NBQ0gsQUFBQSxBQUFBLElBQUMsQ0FBRCxRQUFDLEFBQUE7Q0FDRCxBQUFBLElBQUMsQ0FBRCxLQUFDLEFBQUEsRUFBWTtFQUNYLFVBQVUsRUFBRSxVQUFVO0VBRXRCLE9BQU87RUFDUCxPQUFPLEVBQUUsQ0FBQztFQUVWLE9BQU87Q0FDUjs7QUFFRDs7R0FFRzs7Q0FDSCxBQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQUFZLDJCQUEyQjtDQUN4QyxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsQ0FBWSwyQkFBMkIsQ0FBQztFQUN2QyxNQUFNLEVBQUUsSUFBSTtDQUNiOztBQUVEOzs7R0FHRzs7Q0FDSCxBQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxFQUFhO0VBQ1osVUFBVSxFQUFFLFNBQVM7RUFFckIsT0FBTztFQUNQLGNBQWMsRUFBRSxJQUFJO0VBRXBCLE9BQU87Q0FDUjs7QUFFRDs7R0FFRzs7Q0FDSCxBQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQUFZLDJCQUEyQixDQUFDO0VBQ3ZDLFVBQVUsRUFBRSxJQUFJO0NBQ2pCOztBQUVEOzs7R0FHRzs7QUFDSCxBQUFBLDRCQUE0QixDQUFDO0VBQzNCLFVBQVUsRUFBRSxNQUFNO0VBRWxCLE9BQU87RUFHUCxPQUFPO0NBQ1I7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHOztBQUNILEFBQUEsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUFFRDs7R0FFRzs7QUFDSCxBQUFBLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxTQUFTO0NBQ25COztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRzs7QUFDSCxBQUFBLFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7O0FBRUQ7O0dBRUc7O0NBQ0gsQUFBQSxBQUFBLE1BQUMsQUFBQSxFQUFRO0VBQ1AsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QUFFRDs7R0FFRztBQUVIOztHQUVHO0FBRUg7O0dBRUc7O0FBQ0gsQUFBQSxLQUFLLENBQUM7RUFDSixnQ0FBZ0MsQ0FBQSxrREFBQztFQUNqQyxnQ0FBZ0MsQ0FBQSxvREFBQztFQUNqQyw2QkFBNkIsQ0FBQSxvREFBQztFQUM5Qiw2QkFBNkIsQ0FBQSxLQUFDO0VBQzlCLCtCQUErQixDQUFBLGtDQUFDO0VBQ2hDLDhCQUE4QixDQUFBLGtDQUFDO0NBQ2hDOztBQUVELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7O0VBQ3RDLEFBQUEsS0FBSyxDQUFDO0lBQ0osZ0NBQWdDLENBQUEsZ0VBQUM7SUFDakMsNkJBQTZCLENBQUEsb0RBQUM7SUFDOUIsK0JBQStCLENBQUEsNERBQUM7SUFDaEMsOEJBQThCLENBQUEsNERBQUM7R0FDaEM7OztBQUdILE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7O0VBQ3RDLEFBQUEsS0FBSyxDQUFDO0lBQ0osZ0NBQWdDLENBQUEsZ0VBQUM7SUFDakMsNkJBQTZCLENBQUEsaUVBQUM7R0FDL0I7OztBQUdIOztHQUVHOztBQVdILEFBQUEsWUFBWTtBQUNaLFdBQVc7QUFDWCxvQkFBb0I7QUFDcEIsZ0JBQWdCO0FBQ2hCLFlBQVk7QUFDWixZQUFZO0FBQ1osVUFBVTtBQUNWLGVBQWUsQ0FBQztFQUNkLFNBQVMsRUFBRSxrQ0FBa0M7RUFDN0MsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7Q0FDbkI7OztBQUVELEFBQUEsVUFBVTtBQUNWLGVBQWUsQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLEFBQUEsVUFBVTtBQUM5RCxlQUFlLENBQUM7RUFDZCxTQUFTLEVBQUUsa0NBQWtDO0VBQzdDLEtBQUssRUFBRSxrQ0FBa0M7RUFDekMsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7Q0FDbkI7O0FBRUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSzs7RUFDdEMsQUFBQSxVQUFVO0VBQ1YsZUFBZSxDQUFDO0lBQ2QsU0FBUyxFQUFFLGtDQUFrQztJQUM3QyxLQUFLLEVBQUUsSUFBSTtJQUNYLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0dBQ25COzs7O0FBR0gsQUFBQSxhQUFhLENBQUMsZUFBZTtBQUM3QixTQUFTLENBQUMsZUFBZTtBQUN6QixVQUFVLEVBQUMsQUFBQSxLQUFDLEVBQUQsZUFBQyxBQUFBLElBQTBCLFVBQVU7QUFDaEQsVUFBVSxFQUFDLEFBQUEsS0FBQyxFQUFELGVBQUMsQUFBQSxJQUEwQixVQUFVLENBQUM7RUFDL0MsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7RUFDbEIsS0FBSyxFQUFFLGtDQUFrQztFQUN6QyxTQUFTLEVBQUUsa0NBQWtDO0NBQzlDOztBQUVELE1BQU0sTUFBTSxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7O0VBQ3RDLEFBQUEsY0FBYyxHQUFHLFVBQVUsQ0FBQztJQUMxQixnQkFBZ0I7SUFDaEIsV0FBVyxFQUFFLG1DQUFtQztJQUVoRCxnQkFBZ0I7SUFDaEIsWUFBWSxFQUFFLGlDQUFpQztHQUNoRDs7O0FBR0gsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSzs7RUFDdEMsQUFBQSxjQUFjLEdBQUcsV0FBVyxDQUFDO0lBQzNCLGdCQUFnQjtJQUNoQixXQUFXLEVBQUUsaUNBQWlDO0lBRTlDLGdCQUFnQjtJQUNoQixZQUFZLEVBQUUsb0NBQW9DO0dBQ25EOzs7QUFHSDs7Ozs7OztHQU9HO0FBRUg7OztHQUdHOztBQUNILEFBQUEsWUFBWTtBQUNaLFVBQVU7QUFDVixZQUFZO0FBQ1osWUFBWSxDQUFDO0VBQ1gsV0FBVyxFQUFFLCtCQUErQjtFQUM1QyxjQUFjLEVBQUUsK0JBQStCO0VBQy9DLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0NBQ25COzs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNYLFdBQVcsRUFBRSw0Q0FBNEM7RUFDekQsY0FBYyxFQUFFLHlDQUF5QztDQUMxRDs7QUFFRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLOztFQUN0QyxBQUFBLFlBQVksQ0FBQztJQUNYLGNBQWMsRUFBRSx5Q0FBeUM7R0FDMUQ7OztBQUdIOzs7R0FHRzs7QUFDSCxBQUFBLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDYixVQUFVLEVBQUUseUNBQXlDO0VBQ3JELGFBQWEsRUFBRSx5Q0FBeUM7Q0FDekQ7OztBQUVELEFBQUEsVUFBVSxHQUFHLENBQUMsQUFBQSxZQUFZLENBQUM7RUFDekIsVUFBVSxFQUFFLENBQUM7Q0FDZDs7O0FBRUQsQUFBQSxVQUFVLEdBQUcsQ0FBQyxBQUFBLFdBQVcsQ0FBQztFQUN4QixhQUFhLEVBQUUsQ0FBQztDQUNqQjs7QUFFRDs7R0FFRztBQUVIOztHQUVHO0FBRUg7O0dBRUc7QUFFSDs7O0dBR0c7O0FBQ0gsQUFBQSxhQUFhO0FBQ2IsZUFBZTtBQUNmLGNBQWM7QUFDZCxhQUFhO0FBQ2IsV0FBVyxDQUFDO0VBQ1YsVUFBVSxFQUFFLCtCQUErQjtFQUMzQyxZQUFZLEVBQUUsSUFBSTtFQUNsQixhQUFhLEVBQUUsK0JBQStCO0VBQzlDLFdBQVcsRUFBRSxJQUFJO0NBQ2xCOztBQUVEOzs7R0FHRzs7QUFDSCxBQUFBLFVBQVUsR0FBRyxPQUFPLEdBQUcsQ0FBQztBQUN4QixVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUM7QUFDM0IsY0FBYyxHQUFHLENBQUM7Q0FDbEIsQUFBQSxLQUFDLEVBQUQsZUFBQyxBQUFBLElBQTBCLENBQUM7QUFDNUIsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0VBQzFCLFVBQVUsRUFBRSw2Q0FBNkM7RUFDekQsYUFBYSxFQUFFLDZDQUE2QztDQUM3RDs7QUFFRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLOztFQUN0QyxBQUFBLFVBQVUsR0FBRyxPQUFPLEdBQUcsQ0FBQztFQUN4QixVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUM7RUFDM0IsY0FBYyxHQUFHLENBQUM7R0FDbEIsQUFBQSxLQUFDLEVBQUQsZUFBQyxBQUFBLElBQTBCLENBQUM7RUFDNUIsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLFVBQVUsRUFBRSwrQkFBK0I7SUFDM0MsYUFBYSxFQUFFLCtCQUErQjtHQUMvQzs7OztBQUdILEFBQUEsVUFBVSxHQUFHLE9BQU8sR0FBRyxDQUFDLEFBQUEsWUFBWTtBQUNwQyxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsQUFBQSxZQUFZO0FBQ3ZDLGNBQWMsR0FBRyxDQUFDLEFBQUEsWUFBWTtDQUM5QixBQUFBLEtBQUMsRUFBRCxlQUFDLEFBQUEsSUFBMEIsQ0FBQyxBQUFBLFlBQVk7QUFDeEMsdUJBQXVCLEdBQUcsQ0FBQyxBQUFBLFlBQVksQ0FBQztFQUN0QyxVQUFVLEVBQUUsQ0FBQztDQUNkOzs7QUFFRCxBQUFBLFVBQVUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxBQUFBLFdBQVc7QUFDbkMsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLEFBQUEsV0FBVztBQUN0QyxjQUFjLEdBQUcsQ0FBQyxBQUFBLFdBQVc7Q0FDN0IsQUFBQSxLQUFDLEVBQUQsZUFBQyxBQUFBLElBQTBCLENBQUMsQUFBQSxXQUFXO0FBQ3ZDLHVCQUF1QixHQUFHLENBQUMsQUFBQSxXQUFXLENBQUM7RUFDckMsYUFBYSxFQUFFLENBQUM7Q0FDakI7OztBQUVELEFBQUEsWUFBWSxHQUFHLENBQUM7QUFDaEIsWUFBWSxHQUFHLENBQUMsQ0FBQztFQUNmLFVBQVUsRUFBRSw2Q0FBNkM7RUFDekQsYUFBYSxFQUFFLDZDQUE2QztDQUM3RDs7QUFFRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLOztFQUN0QyxBQUFBLFlBQVksR0FBRyxDQUFDO0VBQ2hCLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDZixVQUFVLEVBQUUsK0JBQStCO0lBQzNDLGFBQWEsRUFBRSwrQkFBK0I7R0FDL0M7OztBQUdIOzs7R0FHRzs7QUFDSCxBQUFBLGFBQWEsR0FBRyxDQUFDO0FBQ2pCLGVBQWUsR0FBRyxDQUFDO0FBQ25CLGFBQWEsR0FBRyxDQUFDO0FBQ2pCLGdCQUFnQixHQUFHLENBQUM7QUFDcEIsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUNWLFVBQVUsRUFBRSwyQkFBMkI7RUFDdkMsYUFBYSxFQUFFLDJCQUEyQjtDQUMzQzs7O0FBRUQsQUFBQSxhQUFhLEdBQUcsQ0FBQyxBQUFBLFlBQVk7QUFDN0IsZUFBZSxHQUFHLENBQUMsQUFBQSxZQUFZO0FBQy9CLGFBQWEsR0FBRyxDQUFDLEFBQUEsWUFBWTtBQUM3QixnQkFBZ0IsR0FBRyxDQUFDLEFBQUEsWUFBWTtBQUNoQyxPQUFPLEdBQUcsQ0FBQyxBQUFBLFlBQVksQ0FBQztFQUN0QixVQUFVLEVBQUUsQ0FBQztDQUNkOzs7QUFFRCxBQUFBLGFBQWEsR0FBRyxDQUFDLEFBQUEsV0FBVztBQUM1QixlQUFlLEdBQUcsQ0FBQyxBQUFBLFdBQVc7QUFDOUIsYUFBYSxHQUFHLENBQUMsQUFBQSxXQUFXO0FBQzVCLGdCQUFnQixHQUFHLENBQUMsQUFBQSxXQUFXO0FBQy9CLE9BQU8sR0FBRyxDQUFDLEFBQUEsV0FBVyxDQUFDO0VBQ3JCLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQUVEOzs7R0FHRzs7QUFDSCxBQUFBLGNBQWMsR0FBRyxDQUFDLENBQUM7RUFDakIsNERBQTREO0NBQzdEOzs7QUFFRCxBQUFBLGNBQWMsR0FBRyxDQUFDLEFBQUEsVUFBVTtBQUM1QixjQUFjLEdBQUcsQ0FBQyxBQUFBLFdBQVc7QUFDN0IsY0FBYyxHQUFHLENBQUMsQUFBQSxVQUFVLEFBQUEsWUFBWSxHQUFHLENBQUM7QUFDNUMsY0FBYyxHQUFHLENBQUMsQUFBQSxXQUFXLEFBQUEsWUFBWSxHQUFHLENBQUM7QUFDN0MsY0FBYyxHQUFHLENBQUMsQUFBQSxVQUFVLEFBQUEsZUFBZSxDQUFDO0VBQzFDLFVBQVUsRUFBRSxDQUFDO0NBQ2Q7OztBQUVELEFBQUEsY0FBYyxHQUFHLENBQUMsQUFBQSxXQUFXO0FBQzdCLGNBQWMsR0FBRyxDQUFDLEFBQUEsVUFBVSxBQUFBLGVBQWUsQ0FBQztFQUMxQyxhQUFhLEVBQUUsQ0FBQztDQUNqQjs7O0FBRUQsQUFBQSxjQUFjLEdBQUcsQ0FBQyxBQUFBLFVBQVUsR0FBRyxVQUFVO0FBQ3pDLGNBQWMsR0FBRyxDQUFDLEFBQUEsVUFBVSxHQUFHLFdBQVcsQ0FBQztFQUN6QyxVQUFVLEVBQUUsK0JBQStCO0NBQzVDOztBQUVEOztHQUVHOztBQUNILEFBQUEsSUFBSTtBQUNKLElBQUk7QUFDSixDQUFDO0FBQ0QsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsVUFBVTtBQUNWLE1BQU07QUFDTixRQUFRO0FBQ1IsSUFBSTtBQUNKLE1BQU07QUFDTixRQUFRO0FBQ1IsR0FBRztBQUNILE1BQU07QUFDTixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFLENBQUM7RUFDRCxPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsdUJBQXVCLEVBQUUsU0FBUztFQUNsQyxzQkFBc0IsRUFBRSxXQUFXO0NBQ3BDOztBQUVEOzs7O0dBSUc7O0FBQ0gsQUFBQSxJQUFJLENBQUM7RUFDSCw4Q0FBOEM7RUFDOUMsVUFBVSxFQUFFLFVBQVU7Q0FHdkI7O0FBRUQ7O0dBRUc7O0FBQ0gsQUFBQSxDQUFDO0FBQ0QsQ0FBQyxBQUFBLE9BQU87QUFDUixDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQ04sVUFBVSxFQUFFLE9BQU87Q0FDcEI7OztBQVVELEFBQUEsTUFBTSxDQUFDO0VBQ0wsTUFBTSxFQUFFLE9BQU87Q0FDaEI7OztBQUVELEFBQUEsTUFBTSxBQUFBLE9BQU87QUFDYixNQUFNLEFBQUEsTUFBTTtBQUNaLGNBQWMsQUFBQSxPQUFPO0FBQ3JCLGNBQWMsQUFBQSxNQUFNO0FBQ3BCLGdCQUFnQixBQUFBLE9BQU87QUFDdkIsZ0JBQWdCLEFBQUEsTUFBTTtBQUN0QixZQUFZLEFBQUEsT0FBTztBQUNuQixZQUFZLEFBQUEsTUFBTTtBQUNsQixhQUFhLEFBQUEsT0FBTztBQUNwQixhQUFhLEFBQUEsTUFBTTtBQUNuQixZQUFZLEFBQUEsT0FBTztBQUNuQixZQUFZLEFBQUEsTUFBTSxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxZQUFZLEVBQUUsS0FBSztDQUNwQjs7O0FBRUQsQUFBQSxNQUFNLEFBQUEsTUFBTTtBQUNaLGNBQWMsQUFBQSxNQUFNO0FBQ3BCLGdCQUFnQixBQUFBLE1BQU07QUFDdEIsWUFBWSxBQUFBLE1BQU07QUFDbEIsYUFBYSxBQUFBLE1BQU07QUFDbkIsWUFBWSxBQUFBLE1BQU0sQ0FBQztFQUNqQixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQUVELDBIQUEwSDs7QUFDMUgsQUFBQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUMsaUNBQWlDO0NBQzVHOzs7QUFFRCxBQUFBLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDYixVQUFVLEVBQUUsMkJBQTJCO0VBQ3ZDLGFBQWEsRUFBRSwyQkFBMkI7Q0FDM0M7OztBQUVELEFBQUEsVUFBVSxHQUFHLENBQUMsQUFBQSxZQUFZLENBQUM7RUFDekIsVUFBVSxFQUFFLENBQUM7Q0FDZDs7O0FBRUQsQUFBQSxVQUFVLEdBQUcsQ0FBQyxBQUFBLFdBQVcsQ0FBQztFQUN4QixhQUFhLEVBQUUsQ0FBQztDQUNqQjs7O0FBRUQsQUFBQSxVQUFVLENBQUMsQ0FBQyxDQUFDO0VBQ1gsY0FBYyxFQUFFLGlDQUFpQztDQU1sRDs7O0FBRUQsQUFBQSxVQUFVLENBQUMsSUFBSTtBQUNmLFVBQVUsQ0FBQyxNQUFNLENBQUM7RUFJaEIsY0FBYyxFQUFFLDZCQUE2QjtDQUM5Qzs7O0FBRUQsQUFBQSxVQUFVLEFBQUEsVUFBVTtBQUNwQixVQUFVLEFBQUEsV0FBVyxDQUFDO0VBQ3BCLFlBQVksRUFBRSxPQUFPO0NBQ3RCOzs7QUFFRCxBQUFBLFVBQVUsQUFBQSxVQUFVLENBQUMsQ0FBQztBQUN0QixVQUFVLEFBQUEsV0FBVyxDQUFDLENBQUMsQ0FBQztFQUV0QixTQUFTLEVBQUUsT0FBTztFQUNsQixLQUFLLEVBQUUsT0FBTztDQUNmOzs7QUFFRCxBQUFBLFVBQVUsQUFBQSxVQUFVLENBQUMsSUFBSTtBQUN6QixVQUFVLEFBQUEsVUFBVSxDQUFDLE1BQU07QUFDM0IsVUFBVSxBQUFBLFdBQVcsQ0FBQyxJQUFJO0FBQzFCLFVBQVUsQUFBQSxXQUFXLENBQUMsTUFBTSxDQUFDO0VBRTNCLGNBQWMsRUFBRSw2QkFBNkI7Q0FDOUM7OztBQU1ELEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQztFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUdiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSw4Q0FBOEM7Q0FDckQ7O0FBVUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSzs7RUFDdEMsQUFBQSxVQUFVLENBQUM7SUFDVCxZQUFZLEVBQUUsNkNBQTZDO0dBQzVEOztFQUVELEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQztJQUNoQixJQUFJLEVBQUUsQ0FBQztHQUNSOzs7O0FBR0gsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQTtBQUNOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxHQUFDLEFBQUE7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsUUFBQyxBQUFBO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQTtBQUNOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUE7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsR0FBQyxBQUFBO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQTtBQUNOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxLQUFDLEFBQUE7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQTtBQUNOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxRQUFDLEFBQUE7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsY0FBQyxBQUFBO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQTtBQUNOLEtBQUssQ0FBQyxRQUFRLENBQUM7RUFLYixPQUFPLEVBQUUseUJBQXlCO0VBQ2xDLE1BQU0sRUFBRSxLQUFLO0VBQ2IsU0FBUyxFQUFFLElBQUk7Q0FDaEI7OztBQUVELEFBQUEsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQSxDQUFVLE1BQU07QUFDdEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQSxDQUFXLE1BQU07QUFDdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEdBQUMsQUFBQSxDQUFTLE1BQU07QUFDckIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELFFBQUMsQUFBQSxDQUFjLE1BQU07QUFDMUIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQUFZLE1BQU07QUFDeEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxDQUFZLE1BQU07QUFDeEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEdBQUMsQUFBQSxDQUFTLE1BQU07QUFDckIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQSxDQUFVLE1BQU07QUFDdEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQSxDQUFXLE1BQU07QUFDdkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQSxDQUFVLE1BQU07QUFDdEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQSxDQUFVLE1BQU07QUFDdEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELFFBQUMsQUFBQSxDQUFjLE1BQU07QUFDMUIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELGNBQUMsQUFBQSxDQUFvQixNQUFNO0FBQ2hDLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBRCxLQUFDLEFBQUEsQ0FBVyxNQUFNO0FBQ3ZCLEtBQUssQ0FBQyxRQUFRLEFBQUEsTUFBTSxDQUFDO0VBRW5CLGNBQWMsRUFBRSxHQUFHO0VBQ25CLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLHlCQUF5QjtDQUM5Qzs7O0FBRUQsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBLENBQVUsU0FBUztBQUN6QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsS0FBQyxBQUFBLENBQVcsU0FBUztBQUMxQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsR0FBQyxBQUFBLENBQVMsU0FBUztBQUN4QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsUUFBQyxBQUFBLENBQWMsU0FBUztBQUM3QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBLENBQVksU0FBUztBQUMzQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsTUFBQyxBQUFBLENBQVksU0FBUztBQUMzQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsR0FBQyxBQUFBLENBQVMsU0FBUztBQUN4QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBLENBQVUsU0FBUztBQUN6QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsS0FBQyxBQUFBLENBQVcsU0FBUztBQUMxQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBLENBQVUsU0FBUztBQUN6QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBLENBQVUsU0FBUztBQUN6QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsUUFBQyxBQUFBLENBQWMsU0FBUztBQUM3QixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsY0FBQyxBQUFBLENBQW9CLFNBQVM7QUFDbkMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQSxDQUFXLFNBQVM7QUFDMUIsS0FBSyxDQUFDLFFBQVEsQUFBQSxTQUFTLENBQUM7RUFDdEIsT0FBTyxFQUFFLEdBQUc7Q0FDYjs7O0FBRUQsQUFBQSxjQUFjLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQTtBQUNyQixjQUFjLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEtBQUMsQUFBQTtBQUNyQixjQUFjLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELEdBQUMsQUFBQTtBQUNyQixjQUFjLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELFFBQUMsQUFBQTtBQUNyQixjQUFjLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQTtBQUNyQixjQUFjLENBQUMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1B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RUFBRSxBQUFBLGVBQWdCLENBQUEsSUFBSSxDQUFDLFVBQVcsQ0FBQSxJQUFJLElBQUksRUFBRTtBQUM5RSxhQUFhLEFBQUEsUUFBUSxBQUFBLFVBQVUsR0FBRyxFQUFFLEFBQUEsZUFBZ0IsQ0FBQSxJQUFJLENBQUMsVUFBVyxDQUFBLElBQUk7QUFDeEUsYUFBYSxBQUFBLFFBQVEsQUFBQSxVQUFVLEdBQUcsRUFBRSxBQUFBLGVBQWdCLENBQUEsSUFBSSxDQUFDLFVBQVcsQ0FBQSxJQUFJLElBQUksRUFBRTtBQUM5RSxhQUFhLEFBQUEsUUFBUSxBQUFBLFVBQVUsR0FBRyxFQUFFLEFBQUEsZUFBZ0IsQ0FBQSxJQUFJLENBQUMsVUFBVyxDQUFBLElBQUk7QUFDeEUsYUFBYSxBQUFBLFFBQVEsQUFBQSxVQUFVLEdBQUcsRUFBRSxBQUFBLGVBQWdCLENBQUEsSUFBSSxDQUFDLFVBQVcsQ0FBQSxJQUFJLElBQUksRUFBRTtBQUM5RSxhQUFhLEFBQUEsUUFBUSxBQUFBLFVBQVUsR0FBRyxFQUFFLEFBQUEsZUFBZ0IsQ0FBQSxJQUFJLENBQUMsVUFBVyxDQUFBLElBQUk7QUFDeEUsYUFBYSxBQUFBLFFBQVEsQUFBQSxVQUFVLEdBQUcsRUFBRSxBQUFBLGVBQWdCLENBQUEsSUFBSSxDQUFDLFVBQVcsQ0FBQSxJQUFJLElBQUksRUFBRTtBQUM5RSxhQUFhLEFBQUEsUUFBUSxBQUFBLFVBQVUsR0FBRyxFQUFFLEFBQUEsZUFBZ0IsQ0FBQSxJQUFJLENBQUMsVUFBVyxDQUFBLElBQUk7QUFDeEUsYUFBYSxBQUFBLFFBQVEsQUFBQSxVQUFVLEdBQUcsRUFBRSxBQUFBLGVBQWdCLENBQUEsSUFBSSxDQUFDLFVBQVcsQ0FBQSxJQUFJLElBQUksRUFBRSxDQUFDO0VBQzdFLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOzs7QUFFRCxBQUFBLGFBQWEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0VBQ3JCLFVBQVUsRUFBRSw2Q0FBNkM7RUFDekQsYUFBYSxFQUFFLDZDQUE2QztDQUM3RDs7O0FBRUQsQUFBQSxhQUFhLEdBQUcs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 */
