/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/plugins/ce_jfeeuropeers_usermap.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* aleo-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Aleo";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.6cdcaa41.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* rooney 600 - latin */
@font-face {
  font-display: swap;
  font-family: "Rooney";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.3ef60b2e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* calibri font family */
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: normal;
  src: url(/build/fonts/300.9baa67f0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: italic;
  src: url(/build/fonts/300i.cf87dc54.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: normal;
  src: url(/build/fonts/400.551fd9d5.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: italic;
  src: url(/build/fonts/400i.7fd7e2cf.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: normal;
  src: url(/build/fonts/700.4308169e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: italic;
  src: url(/build/fonts/700i.740267d0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/**
 * Font family definitions for consistent usage across the project
 * These variables can be used in any file that imports this module
 */
.font-primary {
  font-family: "Rooney", serif;
}
.font-secondary {
  font-family: "Calibri", sans-serif, sans-serif;
}
/**
 * Universal list styling mixin - DRY approach for ul and ol
 * Provides consistent list styling across RTE and typography contexts
 *
 * @param {string} $font-size - Font size (can use clamp() for responsive)
 * @param {string} $margin-bottom - Bottom margin for the list
 * @param {string} $max-width - Optional max-width constraint
 * @param {string} $list-item-margin - Margin between list items (default: 20px)
 * @param {string} $nested-list-margin - Margin for nested list items (default: 10px)
 * @param {string} $bullet-color - Color for bullets/numbers
 * @param {string} $exclude-class - Optional class to exclude from styling (e.g., contact cards)
 */
/**
 * Helper mixin for list item bullets
 * Creates the circular bullet point
 *
 * @param {string} $color - Bullet color
 */
/**
 * Accessibility support for lists
 * High contrast mode styling
 */
.text-serif {
  font-family: "Rooney", serif;
}
.ce__content h1,
.ce__content .h1 {
  font-family: "Rooney", serif, "Aleo", serif;
  font-size: clamp(32px, 2vw + 24px, 50px);
  line-height: 1.2;
  color: var(--color-primary);
  text-wrap: balance;
  margin-bottom: 35px;
}
@media (min-width: 1024px) {
  .ce__content h1,
  .ce__content .h1 {
    margin-bottom: 70px;
  }
}
.ce__content h2,
.ce__content .h2 {
  font-family: "Rooney", serif, "Aleo", serif;
  font-size: clamp(28px, 1.5vw + 22px, 38px);
  line-height: 1.2;
  color: var(--color-primary);
  text-wrap: balance;
  margin-bottom: 26px;
}
@media (min-width: 1024px) {
  .ce__content h2,
  .ce__content .h2 {
    margin-bottom: 40px;
  }
}
.ce__content h3,
.ce__content .h3 {
  font-family: "Rooney", serif, "Aleo", serif;
  font-size: clamp(24px, 0.5vw + 22px, 28px);
  line-height: 1.3;
  margin-bottom: 20px;
  color: var(--color-primary);
  text-wrap: balance;
}
.ce__content h4,
.ce__content .h4 {
  font-family: "Calibri", sans-serif, "Aleo", serif;
  font-weight: bold;
  font-size: clamp(22px, 0.25vw + 21px, 24px);
  line-height: 1.3;
  margin-bottom: 20px;
  color: var(--color-black);
  text-wrap: balance;
}
.ce__content h5,
.ce__content .h5 {
  font-family: "Calibri", sans-serif, "Aleo", serif;
  font-weight: bold;
  font-size: clamp(20px, 0.25vw + 19px, 22px);
  line-height: 1.3;
  margin-bottom: 15px;
  color: var(--color-black);
  text-wrap: balance;
}
.ce__content p {
  font-family: "Calibri", sans-serif, "Aleo", serif;
  font-size: clamp(16px, 0.5vw + 14px, 20px);
  line-height: 1.5;
  max-width: 80ch;
  font-weight: 500;
  color: var(--color-black);
  margin-bottom: 18px;
  text-wrap: pretty;
}
.ce__content p.font-bold {
  font-weight: 700;
}
.ce__content p.font-semibold {
  font-weight: 600;
}
.ce__content p:last-of-type {
  margin-bottom: 26px;
}
.ce__content.ce-textmedia p,
.ce__content.ce-textmedia .text, .ce__content.ce-igelb_box p,
.ce__content.ce-igelb_box .text, .ce__content.ce-jfeevents_eventbooking p,
.ce__content.ce-jfeevents_eventbooking .text {
  font-family: "Calibri", sans-serif, "Aleo", serif;
  font-size: clamp(16px, 0.5vw + 14px, 20px);
  line-height: 1.5;
  max-width: 80ch;
  font-weight: 500;
  color: var(--color-black);
  margin-bottom: 18px;
}
.ce__content.ce-textmedia p:last-of-type,
.ce__content.ce-textmedia .text:last-of-type, .ce__content.ce-igelb_box p:last-of-type,
.ce__content.ce-igelb_box .text:last-of-type, .ce__content.ce-jfeevents_eventbooking p:last-of-type,
.ce__content.ce-jfeevents_eventbooking .text:last-of-type {
  margin-bottom: 26px;
}
@media (min-width: 1024px) {
  .ce__content.ce-textmedia p,
  .ce__content.ce-textmedia .text, .ce__content.ce-igelb_box p,
  .ce__content.ce-igelb_box .text, .ce__content.ce-jfeevents_eventbooking p,
  .ce__content.ce-jfeevents_eventbooking .text {
    margin-bottom: 30px;
  }
  .ce__content.ce-textmedia p:last-of-type,
  .ce__content.ce-textmedia .text:last-of-type, .ce__content.ce-igelb_box p:last-of-type,
  .ce__content.ce-igelb_box .text:last-of-type, .ce__content.ce-jfeevents_eventbooking p:last-of-type,
  .ce__content.ce-jfeevents_eventbooking .text:last-of-type {
    margin-bottom: 60px;
  }
}
.ce__content.ce-textmedia figure.table, .ce__content.ce-igelb_box figure.table, .ce__content.ce-jfeevents_eventbooking figure.table {
  margin-bottom: clamp(18px, 1.5vw + 14px, 30px);
  overflow-x: auto;
  display: block;
}
.ce__content.ce-textmedia figure.table table.contenttable, .ce__content.ce-igelb_box figure.table table.contenttable, .ce__content.ce-jfeevents_eventbooking figure.table table.contenttable {
  width: 100%;
}
.ce__content.ce-textmedia figure.table table.contenttable th,
.ce__content.ce-textmedia figure.table table.contenttable td, .ce__content.ce-igelb_box figure.table table.contenttable th,
.ce__content.ce-igelb_box figure.table table.contenttable td, .ce__content.ce-jfeevents_eventbooking figure.table table.contenttable th,
.ce__content.ce-jfeevents_eventbooking figure.table table.contenttable td {
  text-align: left;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--color-gray, #f3f3f2);
  border-right: 1px solid var(--color-gray, #f3f3f2);
}
.ce__content.ce-textmedia figure.table table.contenttable th:last-of-type,
.ce__content.ce-textmedia figure.table table.contenttable td:last-of-type, .ce__content.ce-igelb_box figure.table table.contenttable th:last-of-type,
.ce__content.ce-igelb_box figure.table table.contenttable td:last-of-type, .ce__content.ce-jfeevents_eventbooking figure.table table.contenttable th:last-of-type,
.ce__content.ce-jfeevents_eventbooking figure.table table.contenttable td:last-of-type {
  border-right: none;
}
.ce__content.ce-textmedia blockquote, .ce__content.ce-igelb_box blockquote, .ce__content.ce-jfeevents_eventbooking blockquote {
  border-left: 4px solid var(--color-secondary, #ffcc00);
  padding-left: 1.5rem;
  margin: 1.5rem 0;
  font-style: italic;
}
.ce__content.ce-textmedia ul,
.ce__content.ce-textmedia ol, .ce__content.ce-igelb_box ul,
.ce__content.ce-igelb_box ol, .ce__content.ce-jfeevents_eventbooking ul,
.ce__content.ce-jfeevents_eventbooking ol {
  font-family: inherit;
  font-size: clamp(16px, 0.5vw + 14px, 20px);
  line-height: 1.5;
  margin-bottom: clamp(20px, 2vw + 15px, 40px);
  color: var(--color-black, #000000);
  list-style: none;
  max-width: 80ch;
}
.ce__content.ce-textmedia ul > li,
.ce__content.ce-textmedia ol > li, .ce__content.ce-igelb_box ul > li,
.ce__content.ce-igelb_box ol > li, .ce__content.ce-jfeevents_eventbooking ul > li,
.ce__content.ce-jfeevents_eventbooking ol > li {
  margin-bottom: 20px;
}
.ce__content.ce-textmedia ul > li:last-child,
.ce__content.ce-textmedia ol > li:last-child, .ce__content.ce-igelb_box ul > li:last-child,
.ce__content.ce-igelb_box ol > li:last-child, .ce__content.ce-jfeevents_eventbooking ul > li:last-child,
.ce__content.ce-jfeevents_eventbooking ol > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]), .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]), .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) {
  list-style: none;
  padding-left: 0;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card), .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card), .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card) {
  position: relative;
  padding-left: 1.5rem;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card)::before, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card)::before, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li:not(.ce-jfeevents_eventbooking__contact-card)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.875rem;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: var(--color-primary, #009ddf);
}
.ce__content.ce-textmedia ol, .ce__content.ce-igelb_box ol, .ce__content.ce-jfeevents_eventbooking ol {
  list-style-position: outside;
  counter-reset: item;
  padding-left: 0;
}
.ce__content.ce-textmedia ol li, .ce__content.ce-igelb_box ol li, .ce__content.ce-jfeevents_eventbooking ol li {
  position: relative;
  padding-left: 1.5rem;
  counter-increment: item;
}
.ce__content.ce-textmedia ol li::before, .ce__content.ce-igelb_box ol li::before, .ce__content.ce-jfeevents_eventbooking ol li::before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-black, #000000);
  font-weight: bold;
}
.ce__content.ce-textmedia ol li ol, .ce__content.ce-igelb_box ol li ol, .ce__content.ce-jfeevents_eventbooking ol li ol {
  margin-top: 10px;
  counter-reset: subitem;
}
.ce__content.ce-textmedia ol li ol > li, .ce__content.ce-igelb_box ol li ol > li, .ce__content.ce-jfeevents_eventbooking ol li ol > li {
  counter-increment: subitem;
  padding-left: 2rem;
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ol li ol > li:last-child, .ce__content.ce-igelb_box ol li ol > li:last-child, .ce__content.ce-jfeevents_eventbooking ol li ol > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ol li ol > li::before, .ce__content.ce-igelb_box ol li ol > li::before, .ce__content.ce-jfeevents_eventbooking ol li ol > li::before {
  content: counter(item) "." counter(subitem) " ";
}
.ce__content.ce-textmedia ol li ol > li ol, .ce__content.ce-igelb_box ol li ol > li ol, .ce__content.ce-jfeevents_eventbooking ol li ol > li ol {
  counter-reset: subsubitem;
}
.ce__content.ce-textmedia ol li ol > li ol > li, .ce__content.ce-igelb_box ol li ol > li ol > li, .ce__content.ce-jfeevents_eventbooking ol li ol > li ol > li {
  counter-increment: subsubitem;
  padding-left: 3rem;
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ol li ol > li ol > li:last-child, .ce__content.ce-igelb_box ol li ol > li ol > li:last-child, .ce__content.ce-jfeevents_eventbooking ol li ol > li ol > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ol li ol > li ol > li::before, .ce__content.ce-igelb_box ol li ol > li ol > li::before, .ce__content.ce-jfeevents_eventbooking ol li ol > li ol > li::before {
  content: counter(item) "." counter(subitem) "." counter(subsubitem) " ";
}
.ce__content.ce-textmedia ol li ul > li, .ce__content.ce-igelb_box ol li ul > li, .ce__content.ce-jfeevents_eventbooking ol li ul > li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ol li ul > li:last-child, .ce__content.ce-igelb_box ol li ul > li:last-child, .ce__content.ce-jfeevents_eventbooking ol li ul > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ol li ul > li::before, .ce__content.ce-igelb_box ol li ul > li::before, .ce__content.ce-jfeevents_eventbooking ol li ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.875rem;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: var(--color-primary, #009ddf);
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ul, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ul, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ul {
  margin-top: 10px;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ul > li, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ul > li, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ul > li {
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ul > li:last-child, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ul > li:last-child, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ul > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ol, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ol, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ol {
  list-style-position: outside;
  counter-reset: item;
  padding-left: 0;
  margin-top: 10px;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ol > li, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ol > li, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ol > li {
  position: relative;
  padding-left: 1.5rem;
  counter-increment: item;
  margin-bottom: 10px;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ol > li:last-child, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ol > li:last-child, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ol > li:last-child {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ul:not([class*=rte-list-icon-]) li ol > li::before, .ce__content.ce-igelb_box ul:not([class*=rte-list-icon-]) li ol > li::before, .ce__content.ce-jfeevents_eventbooking ul:not([class*=rte-list-icon-]) li ol > li::before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-black, #000000);
  font-weight: bold;
  background-color: transparent;
  border-radius: 0;
  width: auto;
  height: auto;
  transform: none;
}
@media (prefers-contrast: high) {
  .ce__content.ce-textmedia ul li::before, .ce__content.ce-igelb_box ul li::before, .ce__content.ce-jfeevents_eventbooking ul li::before {
    border: 2px solid currentColor;
  }
  .ce__content.ce-textmedia ol li::before, .ce__content.ce-igelb_box ol li::before, .ce__content.ce-jfeevents_eventbooking ol li::before {
    font-weight: 700;
  }
}
.ce__content.ce-textmedia a:not(.btn), .ce__content.ce-igelb_box a:not(.btn), .ce__content.ce-jfeevents_eventbooking a:not(.btn) {
  color: var(--color-black, #000000);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.25em;
  text-decoration-color: var(--color-primary, #009ddf);
  transition: text-decoration-color 0.2s ease;
}
.ce__content.ce-textmedia a:not(.btn):hover, .ce__content.ce-textmedia a:not(.btn):focus, .ce__content.ce-igelb_box a:not(.btn):hover, .ce__content.ce-igelb_box a:not(.btn):focus, .ce__content.ce-jfeevents_eventbooking a:not(.btn):hover, .ce__content.ce-jfeevents_eventbooking a:not(.btn):focus {
  text-decoration-color: var(--color-black, #000000);
}
.ce__content.ce-textmedia a:not(.btn):focus-visible, .ce__content.ce-igelb_box a:not(.btn):focus-visible, .ce__content.ce-jfeevents_eventbooking a:not(.btn):focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
.ce__content.ce-textmedia figcaption p, .ce__content.ce-igelb_box figcaption p, .ce__content.ce-jfeevents_eventbooking figcaption p {
  font-size: clamp(14px, 0.5vw + 12px, 16px);
}
.ce__content.ce-textmedia ul li p, .ce__content.ce-textmedia ol li p, .ce__content.ce-igelb_box ul li p, .ce__content.ce-igelb_box ol li p, .ce__content.ce-jfeevents_eventbooking ul li p, .ce__content.ce-jfeevents_eventbooking ol li p {
  margin-bottom: 0;
}
.ce__content.ce-textmedia ul li p:last-of-type, .ce__content.ce-textmedia ol li p:last-of-type, .ce__content.ce-igelb_box ul li p:last-of-type, .ce__content.ce-igelb_box ol li p:last-of-type, .ce__content.ce-jfeevents_eventbooking ul li p:last-of-type, .ce__content.ce-jfeevents_eventbooking ol li p:last-of-type {
  margin-bottom: 0;
}
a,
button {
  cursor: pointer;
  color: var(--color-black);
}
.bg-primary .ce__content h1,
.bg-primary .ce__content .h1,
.bg-primary .ce__content h2,
.bg-primary .ce__content .h2,
.bg-primary .ce__content h3,
.bg-primary .ce__content .h3,
.bg-primary .ce__content h4,
.bg-primary .ce__content .h4,
.bg-primary .ce__content h5,
.bg-primary .ce__content .h5,
.bg-primary .ce__content p,
.bg-primary .ce__content .text,
.bg-e-jugend-blue .ce__content h1,
.bg-e-jugend-blue .ce__content .h1,
.bg-e-jugend-blue .ce__content h2,
.bg-e-jugend-blue .ce__content .h2,
.bg-e-jugend-blue .ce__content h3,
.bg-e-jugend-blue .ce__content .h3,
.bg-e-jugend-blue .ce__content h4,
.bg-e-jugend-blue .ce__content .h4,
.bg-e-jugend-blue .ce__content h5,
.bg-e-jugend-blue .ce__content .h5,
.bg-e-jugend-blue .ce__content p,
.bg-e-jugend-blue .ce__content .text,
.bg-esk-magenta .ce__content h1,
.bg-esk-magenta .ce__content .h1,
.bg-esk-magenta .ce__content h2,
.bg-esk-magenta .ce__content .h2,
.bg-esk-magenta .ce__content h3,
.bg-esk-magenta .ce__content .h3,
.bg-esk-magenta .ce__content h4,
.bg-esk-magenta .ce__content .h4,
.bg-esk-magenta .ce__content h5,
.bg-esk-magenta .ce__content .h5,
.bg-esk-magenta .ce__content p,
.bg-esk-magenta .ce__content .text,
.bg-e-sport-orange .ce__content h1,
.bg-e-sport-orange .ce__content .h1,
.bg-e-sport-orange .ce__content h2,
.bg-e-sport-orange .ce__content .h2,
.bg-e-sport-orange .ce__content h3,
.bg-e-sport-orange .ce__content .h3,
.bg-e-sport-orange .ce__content h4,
.bg-e-sport-orange .ce__content .h4,
.bg-e-sport-orange .ce__content h5,
.bg-e-sport-orange .ce__content .h5,
.bg-e-sport-orange .ce__content p,
.bg-e-sport-orange .ce__content .text {
  color: var(--color-white, #ffffff);
}
.bg-primary .ce__content a:not(.btn),
.bg-e-jugend-blue .ce__content a:not(.btn),
.bg-esk-magenta .ce__content a:not(.btn),
.bg-e-sport-orange .ce__content a:not(.btn) {
  color: var(--color-white, #ffffff);
  text-decoration-color: var(--color-white, #ffffff);
}
.bg-primary .ce__content a:not(.btn):hover, .bg-primary .ce__content a:not(.btn):focus,
.bg-e-jugend-blue .ce__content a:not(.btn):hover,
.bg-e-jugend-blue .ce__content a:not(.btn):focus,
.bg-esk-magenta .ce__content a:not(.btn):hover,
.bg-esk-magenta .ce__content a:not(.btn):focus,
.bg-e-sport-orange .ce__content a:not(.btn):hover,
.bg-e-sport-orange .ce__content a:not(.btn):focus {
  text-decoration-color: var(--color-white, #ffffff);
}
.bg-primary .ce__content a:not(.btn):focus-visible,
.bg-e-jugend-blue .ce__content a:not(.btn):focus-visible,
.bg-esk-magenta .ce__content a:not(.btn):focus-visible,
.bg-e-sport-orange .ce__content a:not(.btn):focus-visible {
  outline-color: var(--color-white, #ffffff);
}
.bg-jfe-gray:not(.bg-primary) .ce__content h2,
.bg-jfe-gray:not(.bg-primary) .ce__content .h2 {
  color: var(--color-black, #000000);
}
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h1,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h1,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h2,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h2,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h3,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h3,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h4,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h4,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture h5,
.ce__content:not(.ce-igelb_breakerteaser) .bg-paper-texture .h5,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h1,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h1,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h2,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h2,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h3,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h3,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h4,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h4,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray h5,
.ce__content:not(.ce-igelb_breakerteaser) .bg-jfe-gray .h5 {
  color: var(--color-black, #000000);
}
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h1,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h1,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h2,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h2,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h3,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h3,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h4,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h4,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture h5,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-paper-texture .h5, .ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h1,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h1,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h2,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h2,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h3,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h3,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h4,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h4,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray h5,
.ce__content:not(.ce-igelb_breakerteaser).ce__content--bg-gray .h5 {
  color: var(--color-black, #000000);
}
/**
 * Universal form components styling - Modular approach
 * Backwards compatible with existing form-components() mixin
 */
/**
 * Form Labels Mixin
 */
/**
 * Form Controls Mixin (Input, Textarea, Select)
 */
/**
 * Form Checks Mixin (Radio & Checkbox)
 */
/**
 * Form Validation Mixin
 */
/**
 * Form Layout Mixin (Floating, Groups, Actions)
 */
/**
 * Form Accessibility Mixin
 */
/**
 * Main form-components mixin - BACKWARDS COMPATIBLE
 * Includes all form styling components
 */
.ce-jfeeuropeers_usermap {
  /* Filter Section */
  /* Form Styling - extending form-components */
  /* Radius Slider Styling */
  /* Custom Slider Components */
  /* Hide the hidden field */
  /* Map and Sidebar Layout */
  /* User Sidebar Styling */
  /* Custom Info Window */
  /* Responsive Design */
  /* Scrollbar Styling */
  /* Accessibility improvements */
}
.ce-jfeeuropeers_usermap .form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--color-black, #000000);
  font-size: 1rem;
  line-height: 1.4;
}
.ce-jfeeuropeers_usermap .form-label.required::after {
  content: " *";
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.ce-jfeeuropeers_usermap .form-label .required {
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.ce-jfeeuropeers_usermap .form-label.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ce-jfeeuropeers_usermap legend {
  font-size: 1.25rem;
  font-weight: 700;
}
.ce-jfeeuropeers_usermap .form-control {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.4;
  color: var(--color-black, #000000);
  background-color: var(--color-white, #ffffff);
  background-clip: padding-box;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ce-jfeeuropeers_usermap .form-control::-moz-placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.ce-jfeeuropeers_usermap .form-control::placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.ce-jfeeuropeers_usermap .form-control:hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_usermap .form-control:focus {
  border-bottom-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary, #009ddf) 25%, transparent);
}
.ce-jfeeuropeers_usermap .form-control:disabled, .ce-jfeeuropeers_usermap .form-control[readonly] {
  background-color: var(--color-jfe-gray, #f3f3f2);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  opacity: 1;
  cursor: not-allowed;
}
.ce-jfeeuropeers_usermap .form-control.is-invalid {
  border-bottom-color: var(--color-error, #df0000);
}
.ce-jfeeuropeers_usermap .form-control.is-invalid:focus {
  border-bottom-color: var(--color-error, #df0000);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-error, #df0000) 25%, transparent);
}
.ce-jfeeuropeers_usermap .form-control.is-valid {
  border-bottom-color: #95df00;
}
.ce-jfeeuropeers_usermap .form-control.is-valid:focus {
  border-bottom-color: #95df00;
  box-shadow: 0 0 0 2px color-mix(in srgb, #95df00 25%, transparent);
}
.ce-jfeeuropeers_usermap textarea.form-control {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
  border-top: 2px solid var(--color-black, #000000);
  border-left: 2px solid var(--color-black, #000000);
  border-right: 2px solid var(--color-black, #000000);
}
.ce-jfeeuropeers_usermap textarea.form-control:hover:not(:disabled):not([readonly]) {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_usermap textarea.form-control:focus {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_usermap select.form-control:not([multiple]) {
  background-image: url(/build/images/IconArrowAccordion--Down.8e468af5.svg);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  padding-right: 2.5rem;
  cursor: pointer;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
}
.ce-jfeeuropeers_usermap select.form-control:not([multiple])::-ms-expand {
  display: none;
}
.ce-jfeeuropeers_usermap select.form-control:not([multiple]):hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_usermap select.form-control:not([multiple]):focus {
  border-bottom-color: var(--color-primary, #009ddf);
  background-image: url(/build/images/IconArrowAccordion--Up.2d71fcd5.svg);
}
.ce-jfeeuropeers_usermap select.form-control:not([multiple]).is-invalid {
  border-bottom-color: var(--color-error, #df0000);
}
.ce-jfeeuropeers_usermap select.form-control:not([multiple]).is-invalid:focus {
  border-bottom-color: var(--color-error, #df0000);
}
.ce-jfeeuropeers_usermap select.form-control:not([multiple]).is-valid {
  border-bottom-color: #95df00;
}
.ce-jfeeuropeers_usermap select.form-control:not([multiple]).is-valid:focus {
  border-bottom-color: #95df00;
}
.ce-jfeeuropeers_usermap .form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 2rem;
  margin-bottom: 0.5rem;
  position: relative;
}
.ce-jfeeuropeers_usermap .form-check .form-check-input,
.ce-jfeeuropeers_usermap .form-check [type=checkbox],
.ce-jfeeuropeers_usermap .form-check [type=radio] {
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-black, #000000);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.ce-jfeeuropeers_usermap .form-check .form-check-input::before,
.ce-jfeeuropeers_usermap .form-check [type=checkbox]::before,
.ce-jfeeuropeers_usermap .form-check [type=radio]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}
.ce-jfeeuropeers_usermap .form-check .form-check-input:hover:not(:disabled),
.ce-jfeeuropeers_usermap .form-check [type=checkbox]:hover:not(:disabled),
.ce-jfeeuropeers_usermap .form-check [type=radio]:hover:not(:disabled) {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_usermap .form-check .form-check-input:focus,
.ce-jfeeuropeers_usermap .form-check [type=checkbox]:focus,
.ce-jfeeuropeers_usermap .form-check [type=radio]:focus {
  border-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary, #009ddf) 25%, transparent);
}
.ce-jfeeuropeers_usermap .form-check .form-check-input:checked,
.ce-jfeeuropeers_usermap .form-check [type=checkbox]:checked,
.ce-jfeeuropeers_usermap .form-check [type=radio]:checked {
  background-color: var(--color-white, #ffffff);
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_usermap .form-check .form-check-input:disabled,
.ce-jfeeuropeers_usermap .form-check [type=checkbox]:disabled,
.ce-jfeeuropeers_usermap .form-check [type=radio]:disabled {
  background-color: var(--color-jfe-gray, #f3f3f2);
  border-color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.ce-jfeeuropeers_usermap .form-check .form-check-input.is-invalid,
.ce-jfeeuropeers_usermap .form-check [type=checkbox].is-invalid,
.ce-jfeeuropeers_usermap .form-check [type=radio].is-invalid {
  border-color: var(--color-error, #df0000);
}
.ce-jfeeuropeers_usermap .form-check .form-check-input.is-invalid:focus,
.ce-jfeeuropeers_usermap .form-check [type=checkbox].is-invalid:focus,
.ce-jfeeuropeers_usermap .form-check [type=radio].is-invalid:focus {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-error, #df0000) 25%, transparent);
}
.ce-jfeeuropeers_usermap .form-check .form-check-input[type=checkbox],
.ce-jfeeuropeers_usermap .form-check [type=checkbox] {
  border-radius: 0px;
}
.ce-jfeeuropeers_usermap .form-check .form-check-input[type=checkbox]:checked,
.ce-jfeeuropeers_usermap .form-check [type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%230099CC%27 stroke-linecap=%27square%27 stroke-linejoin=%27miter%27 stroke-width=%272.5%27 d=%27M3 8l3 3 7-7%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.ce-jfeeuropeers_usermap .form-check .form-check-input[type=checkbox]:indeterminate,
.ce-jfeeuropeers_usermap .form-check [type=checkbox]:indeterminate {
  background-color: var(--color-primary, #009ddf);
  border-color: var(--color-primary, #009ddf);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.ce-jfeeuropeers_usermap .form-check .form-check-input[type=radio],
.ce-jfeeuropeers_usermap .form-check [type=radio] {
  border-radius: 50%;
}
.ce-jfeeuropeers_usermap .form-check .form-check-input[type=radio]:checked,
.ce-jfeeuropeers_usermap .form-check [type=radio]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%230099CC%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50% 50%;
}
.ce-jfeeuropeers_usermap .form-check .form-check-label {
  display: inline-block;
  color: var(--color-black, #000000);
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ce-jfeeuropeers_usermap .form-check .form-check-label.disabled {
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.ce-jfeeuropeers_usermap .form-check .form-check-label span a {
  color: var(--color-black, #000000);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.25em;
  text-decoration-color: var(--color-primary, var(--color-primary, #009ddf));
  transition: text-decoration-color 0.2s ease;
}
.ce-jfeeuropeers_usermap .form-check .form-check-label span a:hover, .ce-jfeeuropeers_usermap .form-check .form-check-label span a:focus {
  text-decoration-color: var(--color-black, #000000);
}
.ce-jfeeuropeers_usermap .form-check .form-check-label span a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
.ce-jfeeuropeers_usermap .form-check-inline {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_usermap .form-check-inline {
    margin-right: 1.5rem;
  }
}
.ce-jfeeuropeers_usermap .form-text {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  line-height: 1.4;
}
.ce-jfeeuropeers_usermap .form-text.text-danger, .ce-jfeeuropeers_usermap .form-text.invalid-feedback {
  color: var(--color-error, #df0000);
}
.ce-jfeeuropeers_usermap .form-text.text-success, .ce-jfeeuropeers_usermap .form-text.valid-feedback {
  color: #95df00;
}
.ce-jfeeuropeers_usermap .invalid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-black, #000000);
  line-height: 1.4;
  padding-left: 1.5rem;
  position: relative;
}
.ce-jfeeuropeers_usermap .invalid-feedback::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-black, #000000);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23000%27 d=%27M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 75% 75%;
  border-radius: 50%;
  border: 3px solid var(--color-error, #df0000);
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-control.is-invalid ~ .ce-jfeeuropeers_usermap .invalid-feedback, .form-check-input.is-invalid ~ .ce-jfeeuropeers_usermap .invalid-feedback {
  display: block;
}
.ce-jfeeuropeers_usermap .valid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #95df00;
  line-height: 1.4;
}
.form-control.is-valid ~ .ce-jfeeuropeers_usermap .valid-feedback, .form-check-input.is-valid ~ .ce-jfeeuropeers_usermap .valid-feedback {
  display: block;
}
.ce-jfeeuropeers_usermap .validation-summary {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border: 2px solid var(--color-error, #df0000);
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--color-error, #df0000) 5%, var(--color-white, #ffffff));
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_usermap .validation-summary {
    padding: 1.25rem 1.5rem;
  }
}
.ce-jfeeuropeers_usermap .validation-summary .alert-heading {
  margin: 0 0 0.75rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-error, #df0000);
  line-height: 1.3;
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_usermap .validation-summary .alert-heading {
    font-size: 1.25rem;
  }
}
.ce-jfeeuropeers_usermap .validation-summary .alert-message {
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--color-error, #df0000) 85%, black);
  line-height: 1.4;
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_usermap .validation-summary .alert-message {
    font-size: 1rem;
  }
}
.ce-jfeeuropeers_usermap .validation-summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ce-jfeeuropeers_usermap .validation-summary-list .validation-summary-item {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.4;
}
.ce-jfeeuropeers_usermap .validation-summary-list .validation-summary-item:last-child {
  margin-bottom: 0;
}
.ce-jfeeuropeers_usermap .validation-summary-list .validation-summary-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23dc3545%27 d=%27M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z%27/%3e%3cpath fill=%27%23dc3545%27 d=%27M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.ce-jfeeuropeers_usermap .validation-summary-list .validation-summary-item a {
  color: var(--color-error, #df0000);
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.ce-jfeeuropeers_usermap .validation-summary-list .validation-summary-item a:hover, .ce-jfeeuropeers_usermap .validation-summary-list .validation-summary-item a:focus {
  color: color-mix(in srgb, var(--color-error, #df0000) 85%, black);
  text-decoration: none;
}
.ce-jfeeuropeers_usermap .validation-summary-list .validation-summary-item a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
  border-radius: 2px;
}
.ce-jfeeuropeers_usermap .validation-summary {
  animation: slideInFromTop 0.3s ease-out;
}
@keyframes slideInFromTop {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ce-jfeeuropeers_usermap .form-floating {
  position: relative;
}
.ce-jfeeuropeers_usermap .form-floating .form-control {
  padding: 1rem 0.75rem 0.5rem;
}
.ce-jfeeuropeers_usermap .form-floating .form-control::-moz-placeholder {
  color: transparent;
}
.ce-jfeeuropeers_usermap .form-floating .form-control::placeholder {
  color: transparent;
}
.ce-jfeeuropeers_usermap .form-floating .form-control:not(:-moz-placeholder) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.ce-jfeeuropeers_usermap .form-floating .form-control:focus ~ label, .ce-jfeeuropeers_usermap .form-floating .form-control:not(:placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.ce-jfeeuropeers_usermap .form-floating label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.ce-jfeeuropeers_usermap .form-group {
  margin-bottom: 3rem;
}
.ce-jfeeuropeers_usermap .form-group:last-child {
  margin-bottom: 0;
}
.ce-jfeeuropeers_usermap .form-section {
  margin-bottom: 2rem;
}
.ce-jfeeuropeers_usermap .form-section:last-child {
  margin-bottom: 0;
}
.ce-jfeeuropeers_usermap .form-section h2,
.ce-jfeeuropeers_usermap .form-section h3,
.ce-jfeeuropeers_usermap .form-section h4 {
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}
.ce-jfeeuropeers_usermap .form-section .required {
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.ce-jfeeuropeers_usermap .form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_usermap .form-actions {
    flex-wrap: nowrap;
  }
}
.ce-jfeeuropeers_usermap .form-actions .btn {
  flex: 1;
  min-width: 120px;
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_usermap .form-actions .btn {
    flex: 0 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ce-jfeeuropeers_usermap .form-control,
  .ce-jfeeuropeers_usermap .form-check-input,
  .ce-jfeeuropeers_usermap .form-floating label {
    transition: none;
  }
}
@media (forced-colors: active) {
  .ce-jfeeuropeers_usermap .form-control,
  .ce-jfeeuropeers_usermap .form-check-input {
    border-width: 2px;
  }
  .ce-jfeeuropeers_usermap .validation-summary {
    border: 2px solid ButtonText;
    background-color: ButtonFace;
  }
  .ce-jfeeuropeers_usermap .validation-summary .validation-summary-item::before {
    background-image: none;
    border: 1px solid ButtonText;
    border-radius: 50%;
  }
}
@media print {
  .ce-jfeeuropeers_usermap .form-control,
  .ce-jfeeuropeers_usermap .form-check-input {
    border: 1px solid black !important;
    box-shadow: none !important;
  }
  .ce-jfeeuropeers_usermap .validation-summary {
    border: 2px solid black !important;
    background-color: white !important;
  }
  .ce-jfeeuropeers_usermap .validation-summary .alert-heading,
  .ce-jfeeuropeers_usermap .validation-summary .alert-message,
  .ce-jfeeuropeers_usermap .validation-summary .validation-summary-item a {
    color: black !important;
  }
  .ce-jfeeuropeers_usermap .validation-summary .validation-summary-item::before {
    display: none !important;
  }
}
.ce-jfeeuropeers_usermap__map-section {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .ce-jfeeuropeers_usermap__map-section {
    flex-direction: row;
  }
}
.ce-jfeeuropeers_usermap__filter-section {
  background-color: var(--color-jfe-gray, #f3f3f2);
  padding: 1.5rem;
  border: 1px solid var(--color-jfe-gray-dark, rgb(189, 189, 189));
  border-bottom: none;
  display: flex;
  flex-direction: column;
  max-height: 1000px;
  overflow: visible;
  transition: max-height 0.2s ease-out, padding 0.2s ease-out, border 0.2s ease-out;
}
.ce-jfeeuropeers_usermap__filter-section.hidden {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  border: none;
  transition: max-height 0.3s ease-in, padding 0.3s ease-in, border 0.3s ease-in;
}
@media (min-width: 1024px) {
  .ce-jfeeuropeers_usermap__filter-section {
    border-right: none;
    border-bottom: 1px solid var(--color-jfe-gray-dark, rgb(189, 189, 189));
    width: 280px;
    min-width: 280px;
    max-height: none;
    overflow-y: visible;
    flex-shrink: 0;
    transition: min-width 0.2s ease-out, width 0.2s ease-out, padding 0.2s ease-out, border 0.2s ease-out;
  }
  .ce-jfeeuropeers_usermap__filter-section.hidden {
    width: 0;
    min-width: 0;
    max-height: none;
    padding: 0;
    overflow: hidden;
    border: none;
    transition: min-width 0.3s ease-in, width 0.3s ease-in, padding 0.3s ease-in, border 0.3s ease-in;
  }
}
@media (min-width: 1280px) {
  .ce-jfeeuropeers_usermap__filter-section {
    width: 320px;
    min-width: 320px;
  }
}
@media (min-width: 1664px) {
  .ce-jfeeuropeers_usermap__filter-section {
    width: 380px;
    min-width: 380px;
  }
}
.ce-jfeeuropeers_usermap__filter-section h3 {
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}
.ce-jfeeuropeers_usermap .user-search-form {
  display: flex;
  gap: 1rem;
  flex-direction: column;
  align-items: stretch;
}
@media (min-width: 1024px) {
  .ce-jfeeuropeers_usermap .user-search-form {
    width: 100%;
  }
}
.ce-jfeeuropeers_usermap .user-search-form > div:first-child {
  display: contents;
}
.ce-jfeeuropeers_usermap .user-search-form > div:not(:first-child) {
  display: flex;
  flex-direction: column;
}
.ce-jfeeuropeers_usermap .user-search-form label {
  display: block;
  margin-bottom: 0.25rem;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--color-black, #000000);
}
.ce-jfeeuropeers_usermap .user-search-form .form-control {
  width: 100%;
}
.ce-jfeeuropeers_usermap .radius-slider-container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 200px;
  position: relative;
}
.ce-jfeeuropeers_usermap .radius-slider-container label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-black, #000000);
  margin-bottom: 0;
}
.ce-jfeeuropeers_usermap .radius-slider-container #radius-value {
  color: var(--color-primary, #009ddf);
  font-weight: 700;
}
.ce-jfeeuropeers_usermap .custom-slider-track {
  position: relative;
  height: 6px;
  background-color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  border-radius: 3px;
  margin: 0.625rem 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ce-jfeeuropeers_usermap .custom-slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--color-primary, #009ddf) 0%, color-mix(in srgb, var(--color-primary, #009ddf) 85%, black) 100%);
  border-radius: 3px;
  transition: width 0.1s ease;
  pointer-events: none;
}
.ce-jfeeuropeers_usermap .custom-slider-thumb {
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  background: linear-gradient(135deg, var(--color-primary, #009ddf) 0%, color-mix(in srgb, var(--color-primary, #009ddf) 85%, black) 100%);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  cursor: grab;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  border: 2px solid var(--color-white, #ffffff);
  z-index: 10;
}
.ce-jfeeuropeers_usermap .custom-slider-thumb:hover {
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
}
.ce-jfeeuropeers_usermap .custom-slider-thumb.dragging {
  cursor: grabbing;
  transform: translate(-50%, -50%) scale(1.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.ce-jfeeuropeers_usermap .custom-slider-thumb:focus {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
.ce-jfeeuropeers_usermap .slider-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.6875rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  margin-top: 0.25rem;
  pointer-events: none;
}
.ce-jfeeuropeers_usermap .slider-labels span {
  font-weight: 500;
}
.ce-jfeeuropeers_usermap #radius-hidden-field {
  display: none;
}
.ce-jfeeuropeers_usermap__map-sidebar-container {
  display: flex;
  gap: 0;
  height: 700px;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-jfe-gray-dark, rgb(189, 189, 189));
}
.ce-jfeeuropeers_usermap__map-container {
  flex: 1;
  position: relative;
  min-width: 400px;
}
.ce-jfeeuropeers_usermap #map {
  height: 100%;
  width: 100%;
}
.ce-jfeeuropeers_usermap__map-controls {
  position: absolute;
  bottom: 10px;
  left: 10px;
  display: flex;
  gap: 0.5rem;
  z-index: 10;
}
.ce-jfeeuropeers_usermap__map-controls button {
  background: rgba(255, 255, 255, 0.95);
  color: var(--color-black, #000000);
  border: 1px solid var(--color-jfe-gray-dark, rgb(189, 189, 189));
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 500;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  transition: all 0.2s ease;
  min-height: 36px;
}
.ce-jfeeuropeers_usermap__map-controls button:hover {
  background: var(--color-white, #ffffff);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.ce-jfeeuropeers_usermap__map-controls button:focus {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
.ce-jfeeuropeers_usermap__map-controls button:active {
  transform: translateY(0);
}
.ce-jfeeuropeers_usermap__user-sidebar {
  width: 320px;
  min-width: 320px;
  background-color: var(--color-white, #ffffff);
  border-left: 1px solid var(--color-jfe-gray-dark, rgb(189, 189, 189));
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  transition: min-width 0.2s ease-out, width 0.2s ease-out, padding 0.2s ease-out, border 0.2s ease-out;
}
.ce-jfeeuropeers_usermap__user-sidebar.hidden {
  width: 0;
  min-width: 0;
  overflow: hidden;
  border-left: none;
  transition: min-width 0.3s ease-in, width 0.3s ease-in, padding 0.3s ease-in, border 0.3s ease-in;
}
@media (min-width: 1280px) {
  .ce-jfeeuropeers_usermap__user-sidebar {
    width: 380px;
    min-width: 380px;
  }
}
@media (min-width: 1664px) {
  .ce-jfeeuropeers_usermap__user-sidebar {
    width: 420px;
    min-width: 420px;
  }
}
.ce-jfeeuropeers_usermap__sidebar-header {
  padding: 1rem;
  background-color: var(--color-white, #ffffff);
  color: var(--color-primary, #009ddf);
  font-weight: 700;
  font-size: 1.25rem;
  font-family: "Rooney", serif;
  text-align: center;
  border-bottom: 1px solid var(--color-jfe-gray-dark, rgb(189, 189, 189));
}
.ce-jfeeuropeers_usermap__sidebar-content {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}
.ce-jfeeuropeers_usermap__user-card {
  background-color: var(--color-white, #ffffff);
  border-top: 1px solid var(--color-jfe-gray-dark, rgb(189, 189, 189));
  padding: 1rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}
@media (min-width: 1280px) {
  .ce-jfeeuropeers_usermap__user-card {
    flex-direction: row;
    gap: 1.5rem;
  }
}
.ce-jfeeuropeers_usermap__user-card:hover {
  border-color: var(--color-primary, #009ddf);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.ce-jfeeuropeers_usermap__user-card.active {
  border-color: var(--color-primary, #009ddf);
  background-color: color-mix(in srgb, var(--color-primary, #009ddf) 5%, white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.ce-jfeeuropeers_usermap__user-card-image {
  flex-shrink: 0;
  width: auto;
  align-self: flex-start;
}
@media (min-width: 1280px) {
  .ce-jfeeuropeers_usermap__user-card-image {
    width: auto;
  }
}
@media (min-width: 768px) {
  .ce-jfeeuropeers_usermap__user-card-image {
    display: block;
  }
}
@media (max-width: 767px) {
  .ce-jfeeuropeers_usermap__user-card-image {
    display: none;
  }
}
.ce-jfeeuropeers_usermap__user-card-image-wrapper {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0;
}
.ce-jfeeuropeers_usermap__user-card-profile-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.ce-jfeeuropeers_usermap__user-card-profile-image--fallback {
  background-color: var(--color-primary, #009ddf);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}
.ce-jfeeuropeers_usermap__user-card-profile-image--fallback i {
  font-size: 1.5rem;
}
.ce-jfeeuropeers_usermap__user-card-content {
  flex: 1;
  min-width: 0;
  width: 100%;
}
@media (min-width: 1280px) {
  .ce-jfeeuropeers_usermap__user-card-content {
    width: auto;
  }
}
.ce-jfeeuropeers_usermap__user-card h4.ce-jfeeuropeers_usermap__user-card-headline {
  margin: 0 0 0.5rem 0;
  font-family: "Rooney", serif;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ce-jfeeuropeers_usermap__user-card p {
  margin: 0 0 0.5rem 0;
  font-size: 0.875rem;
}
.ce-jfeeuropeers_usermap__user-card p.city-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 430px) {
  .ce-jfeeuropeers_usermap__user-card p.city-info {
    display: none;
  }
}
.ce-jfeeuropeers_usermap__user-card-location-text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}
.ce-jfeeuropeers_usermap__user-card .ce-jfeeuropeers_usermap__user-card-interests,
.ce-jfeeuropeers_usermap__user-card .ce-jfeeuropeers_usermap__user-card-details {
  margin: 0 0 0.5rem 0;
  font-size: 0.875rem;
  color: var(--color-black, #000000);
  line-height: 1.75;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
@media (min-width: 768px) {
  .ce-jfeeuropeers_usermap__user-card .ce-jfeeuropeers_usermap__user-card-interests,
  .ce-jfeeuropeers_usermap__user-card .ce-jfeeuropeers_usermap__user-card-details {
    max-width: 35ch;
  }
}
@media (min-width: 1280px) {
  .ce-jfeeuropeers_usermap__user-card .ce-jfeeuropeers_usermap__user-card-interests,
  .ce-jfeeuropeers_usermap__user-card .ce-jfeeuropeers_usermap__user-card-details {
    max-width: 40ch;
  }
}
.ce-jfeeuropeers_usermap__user-card .ce-jfeeuropeers_usermap__user-card-interests strong,
.ce-jfeeuropeers_usermap__user-card .ce-jfeeuropeers_usermap__user-card-details strong {
  color: var(--color-black, #000000);
  font-weight: 600;
}
.ce-jfeeuropeers_usermap__user-card a, .ce-jfeeuropeers_usermap__user-card button {
  color: var(--color-black, #000000);
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  transition: all 0.2s ease;
  font-size: 0.875rem;
}
.ce-jfeeuropeers_usermap__user-card a:hover, .ce-jfeeuropeers_usermap__user-card button:hover {
  transform: translateY(-1px);
}
.ce-jfeeuropeers_usermap__user-card a:focus, .ce-jfeeuropeers_usermap__user-card button:focus {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
@media (max-width: 430px) {
  .ce-jfeeuropeers_usermap__user-card a .ce-jfeeuropeers_usermap__user-card-linklabel, .ce-jfeeuropeers_usermap__user-card button .ce-jfeeuropeers_usermap__user-card-linklabel {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
.ce-jfeeuropeers_usermap__user-card-actions {
  display: flex;
  gap: 0.75rem;
  flex-direction: row;
  margin-top: 1rem;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .ce-jfeeuropeers_usermap__user-card-actions {
    gap: 1rem;
  }
}
.ce-jfeeuropeers_usermap__request-button {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--color-black, #000000);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.875rem;
  transition: all 0.2s ease;
}
.ce-jfeeuropeers_usermap__request-button:hover {
  transform: translateY(-1px);
}
.ce-jfeeuropeers_usermap__request-button:focus {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
@media (max-width: 430px) {
  .ce-jfeeuropeers_usermap__request-button .ce-jfeeuropeers_usermap__user-card-linklabel {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
.ce-jfeeuropeers_usermap__no-users {
  text-align: center;
  padding: 2rem 1rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  font-style: italic;
}
.ce-jfeeuropeers_usermap .gm-ui-hover-effect {
  position: absolute !important;
  top: 0;
  right: 0;
}
.ce-jfeeuropeers_usermap .custom-info-window {
  max-width: 280px;
  font-family: inherit;
  padding: 0.5rem;
}
.ce-jfeeuropeers_usermap .custom-info-window h3 {
  margin: 0 0 0.625rem 0;
  color: var(--color-black, #000000);
  font-size: 1.125rem;
  font-weight: 600;
}
.ce-jfeeuropeers_usermap .custom-info-window p {
  margin: 0.5rem 0;
  font-size: 0.875rem;
  color: var(--color-black, #000000);
}
.ce-jfeeuropeers_usermap .custom-info-window a, .ce-jfeeuropeers_usermap .custom-info-window button {
  margin-top: 0.5rem;
  padding: 0;
  transition: all 0.2s ease;
}
.ce-jfeeuropeers_usermap .custom-info-window a > span, .ce-jfeeuropeers_usermap .custom-info-window button > span {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--color-secondary, #ffcc00);
  font-weight: 600;
}
.ce-jfeeuropeers_usermap .custom-info-window a:hover, .ce-jfeeuropeers_usermap .custom-info-window button:hover {
  transform: translateY(-1px);
}
.ce-jfeeuropeers_usermap .custom-info-window a:hover > span, .ce-jfeeuropeers_usermap .custom-info-window button:hover > span {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--color-black, #000000);
  font-weight: 600;
}
.ce-jfeeuropeers_usermap .custom-info-window .city-info {
  display: flex;
  align-items: center;
  gap: 0.3125rem;
}
@media (max-width: 767px) {
  .ce-jfeeuropeers_usermap__map-sidebar-container {
    flex-direction: column;
  }
  .ce-jfeeuropeers_usermap__user-sidebar {
    width: 100%;
    max-height: 400px;
    border-left: none;
    border-top: 1px solid var(--color-jfe-gray-dark, rgb(189, 189, 189));
  }
  .ce-jfeeuropeers_usermap__user-sidebar.hidden {
    max-height: 0;
    border-top: none;
  }
  .ce-jfeeuropeers_usermap__map-container {
    height: 400px;
    min-width: auto;
  }
  .ce-jfeeuropeers_usermap .user-search-form {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .ce-jfeeuropeers_usermap .radius-slider-container {
    min-width: auto;
    width: 100%;
  }
}
.ce-jfeeuropeers_usermap__sidebar-content::-webkit-scrollbar {
  width: 6px;
}
.ce-jfeeuropeers_usermap__sidebar-content::-webkit-scrollbar-track {
  background-color: var(--color-jfe-gray, #f3f3f2);
}
.ce-jfeeuropeers_usermap__sidebar-content::-webkit-scrollbar-thumb {
  background-color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  border-radius: 3px;
}
.ce-jfeeuropeers_usermap__sidebar-content::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
}
@media (prefers-reduced-motion: reduce) {
  .ce-jfeeuropeers_usermap .custom-slider-thumb, .ce-jfeeuropeers_usermap__user-card, .ce-jfeeuropeers_usermap__map-controls button,
  .ce-jfeeuropeers_usermap .user-search-form input[type=submit] {
    transition: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNJO0VBMC9CVjtFQXYvQk07SUFDSTtJQUNBO0lBQ0E7SUFDQTtFQXkvQlY7RUF2L0JVO0lBQ0k7SUFDQTtFQXkvQmQ7RUFyL0JNO0lBQ0k7SUFDQTtFQXUvQlY7RUFwL0JNO0lBQ0k7SUFDQTtFQXMvQlY7RUFuL0JNO0lBQ0k7SUFDQTtFQXEvQlY7QUFDRjtBQS8rQlE7RUFDSTtBQWkvQlo7QUE5K0JRO0VBQ0k7QUFnL0JaO0FBNytCUTtFQUNJO0VBQ0E7QUErK0JaO0FBNytCWTtFQUNJO0FBKytCaEI7QUF6K0JJO0VBRUk7O0lBSUk7RUF3K0JWO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9wbHVnaW5zL2NlX2pmZWV1cm9wZWVyc191c2VybWFwLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9nbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9nbG9iYWwvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZm9ybS1jb21wb25lbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYXNzZXRzL3Njc3MvZ2xvYmFsL19mb250cy5zY3NzXG5cbi8qIGFsZW8tNjAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0FsZW8nO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9hbGVvLzYwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbi8qIHJvb25leSA2MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnUm9vbmV5JztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvcm9vbmV5LzYwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbi8qIGNhbGlicmkgZm9udCBmYW1pbHkgKi9cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyaSc7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2NhbGlicmkvMzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyaSc7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2NhbGlicmkvMzAwaS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmknO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9jYWxpYnJpLzQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmknO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9jYWxpYnJpLzQwMGkud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJpJztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvY2FsaWJyaS83MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJpJztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvY2FsaWJyaS83MDBpLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuXG4vKipcbiAqIEZvbnQgZmFtaWx5IGRlZmluaXRpb25zIGZvciBjb25zaXN0ZW50IHVzYWdlIGFjcm9zcyB0aGUgcHJvamVjdFxuICogVGhlc2UgdmFyaWFibGVzIGNhbiBiZSB1c2VkIGluIGFueSBmaWxlIHRoYXQgaW1wb3J0cyB0aGlzIG1vZHVsZVxuICovXG5cblxuLy8gRm9udCBmYW1pbGllc1xuJGZvbnQtZmFtaWx5LXByaW1hcnk6ICdSb29uZXknLCBzZXJpZiAhZGVmYXVsdDsgLy8gRGVmYXVsdCBoZWFkbGluZVxuJGZvbnQtZmFtaWx5LXNlY29uZGFyeTogJ0NhbGlicmknLCBzYW5zLXNlcmlmICFkZWZhdWx0OyAvLyBCb2R5dGV4dFxuJGZvbnQtZmFtaWx5LWZhbGxiYWNrOiAnQWxlbycsIHNlcmlmICFkZWZhdWx0OyAvLyBGYWxsYmFjayBoZWFkbGluZVxuXG4vLyBTZW1hbnRpYyBmb250IGZhbWlsaWVzXG4kZm9udC1mYW1pbHktc2VyaWY6ICRmb250LWZhbWlseS1wcmltYXJ5ICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICRmb250LWZhbWlseS1zZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vIE5hdmlnYXRpb24gc3BlY2lmaWMgZm9udHMgKGlmIG5lZWRlZClcbiRmb250LWZhbWlseS1uYXZpZ2F0aW9uOiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLyBCdXR0b24gc3BlY2lmaWMgZm9udHMgKGlmIG5lZWRlZClcbiRmb250LWZhbWlseS1idXR0b25zOiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4uZm9udC1wcmltYXJ5IHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG59XG4uZm9udC1zZWNvbmRhcnkge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5LCBzYW5zLXNlcmlmO1xufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGx1Z2lucy9jZV9qZmVldXJvcGVlcnNfdXNlcm1hcC5zY3NzXG5AdXNlICcuLi9jb21wb25lbnRzL2Zvcm0tY29tcG9uZW50cycgYXMgZm9ybS1jb21wb25lbnRzO1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuQHVzZSAnLi4vZ2xvYmFsL2ZvbnRzJyBhcyBmb250cztcbkB1c2UgJy4uL2dsb2JhbC9icmVha3BvaW50cycgYXMgYnA7XG5cbi8vIEJsb2NrIGZvciBCRU0tTWV0aG9kb2xvZ3lcbiRibG9jazogJ2NlLWpmZWV1cm9wZWVyc191c2VybWFwJztcblxuLiN7JGJsb2NrfSB7XG4gICAgLy8gSW5jbHVkZSBzaGFyZWQgZm9ybSBzdHlsZXNcbiAgICBAaW5jbHVkZSBmb3JtLWNvbXBvbmVudHMuZm9ybS1jb21wb25lbnRzKCk7XG5cbiAgICAmX19tYXAtc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbGcnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRmlsdGVyIFNlY3Rpb24gKi9cbiAgICAmX19maWx0ZXItc2VjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1qZmUtZ3JheS1kYXJrLCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcmspO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC8vIE1vYmlsZS9UYWJsZXQgZGVmYXVsdDogdmVydGljYWwgY29sbGFwc2Ugd2l0aCBtYXgtaGVpZ2h0XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlLW91dCwgcGFkZGluZyAwLjJzIGVhc2Utb3V0LCBib3JkZXIgMC4ycyBlYXNlLW91dDtcblxuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1pbiwgcGFkZGluZyAwLjNzIGVhc2UtaW4sIGJvcmRlciAwLjNzIGVhc2UtaW47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXNrdG9wIChsZyBhbmQgdXApOiBob3Jpem9udGFsIGNvbGxhcHNlIHdpdGggd2lkdGhcbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbGcnKSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItamZlLWdyYXktZGFyaywgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrKTtcbiAgICAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjgwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWluLXdpZHRoIDAuMnMgZWFzZS1vdXQsIHdpZHRoIDAuMnMgZWFzZS1vdXQsIHBhZGRpbmcgMC4ycyBlYXNlLW91dCwgYm9yZGVyIDAuMnMgZWFzZS1vdXQ7XG5cbiAgICAgICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1pbi13aWR0aCAwLjNzIGVhc2UtaW4sIHdpZHRoIDAuM3MgZWFzZS1pbiwgcGFkZGluZyAwLjNzIGVhc2UtaW4sIGJvcmRlciAwLjNzIGVhc2UtaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCd4bCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCcyeGwnKSB7XG4gICAgICAgICAgICB3aWR0aDogMzgwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDM4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBGb3JtIFN0eWxpbmcgLSBleHRlbmRpbmcgZm9ybS1jb21wb25lbnRzICovXG4gICAgLnVzZXItc2VhcmNoLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUWVBPMyBGbHVpZCB3cmFwcyBoaWRkZW4gZmllbGRzIGluIGZpcnN0IGRpdlxuICAgICAgICAvLyBSZW1vdmUgdGhpcyB3cmFwcGVyIGZyb20gZ3JpZCBmbG93IHRvIHByZXZlbnQgZW1wdHkgZ3JpZCBjZWxsXG4gICAgICAgID5kaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbnN1cmUgYWxsIHZpc2libGUgZm9ybSBmaWVsZHMgYXJlIHByb3Blcmx5IHN0eWxlZFxuICAgICAgICA+ZGl2Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLyogUmFkaXVzIFNsaWRlciBTdHlsaW5nICovXG4gICAgLnJhZGl1cy1zbGlkZXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3JhZGl1cy12YWx1ZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBDdXN0b20gU2xpZGVyIENvbXBvbmVudHMgKi9cbiAgICAuY3VzdG9tLXNsaWRlci10cmFjayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyayk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5jdXN0b20tc2xpZGVyLWZpbGwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsXG4gICAgICAgICAgICAgICAgdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKSAwJSxcbiAgICAgICAgICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKSA4NSUsIGJsYWNrKSAxMDAlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGVhc2U7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5jdXN0b20tc2xpZGVyLXRodW1iIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxcbiAgICAgICAgICAgICAgICB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpIDAlLFxuICAgICAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpIDg1JSwgYmxhY2spIDEwMCUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBjdXJzb3I6IGdyYWI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXdoaXRlLCBjb2xvcnMuJGNvbG9yLXdoaXRlKTtcbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZHJhZ2dpbmcge1xuICAgICAgICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMTUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZXItbGFiZWxzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmtlciwgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrZXIpO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBIaWRlIHRoZSBoaWRkZW4gZmllbGQgKi9cbiAgICAjcmFkaXVzLWhpZGRlbi1maWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogTWFwIGFuZCBTaWRlYmFyIExheW91dCAqL1xuICAgICZfX21hcC1zaWRlYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyayk7XG4gICAgfVxuXG4gICAgJl9fbWFwLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLXdpZHRoOiA0MDBweDtcbiAgICB9XG5cbiAgICAjbWFwIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19tYXAtY29udHJvbHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyayk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlLCBjb2xvcnMuJGNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBVc2VyIFNpZGViYXIgU3R5bGluZyAqL1xuICAgICZfX3VzZXItc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUsIGNvbG9ycy4kY29sb3Itd2hpdGUpO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyayk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBtaW4td2lkdGggMC4ycyBlYXNlLW91dCwgd2lkdGggMC4ycyBlYXNlLW91dCwgcGFkZGluZyAwLjJzIGVhc2Utb3V0LCBib3JkZXIgMC4ycyBlYXNlLW91dDtcblxuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1pbi13aWR0aCAwLjNzIGVhc2UtaW4sIHdpZHRoIDAuM3MgZWFzZS1pbiwgcGFkZGluZyAwLjNzIGVhc2UtaW4sIGJvcmRlciAwLjNzIGVhc2UtaW47XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCd4bCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzODBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCcyeGwnKSB7XG4gICAgICAgICAgICB3aWR0aDogNDIwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhci1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSwgY29sb3JzLiRjb2xvci13aGl0ZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItamZlLWdyYXktZGFyaywgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrKTtcbiAgICB9XG5cbiAgICAmX19zaWRlYmFyLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cblxuICAgICZfX3VzZXItY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLCBjb2xvcnMuJGNvbG9yLXdoaXRlKTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyayk7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAvLyBEZXNrdG9wICgxMjgwcHggYW5kIHVwKTogSG9yaXpvbnRhbCBsYXlvdXQgKEJpbGQgbGlua3MsIENvbnRlbnQgcmVjaHRzKVxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCd4bCcpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpIDUlLCB3aGl0ZSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXNlciBjYXJkIGltYWdlXG4gICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgIC8vIERlc2t0b3AgKDEyODBweCBhbmQgdXApOiBGaXhlZCBzaXplIGZvciBob3Jpem9udGFsIGxheW91dFxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgneGwnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRhYmxldCAoNzY4LTEwMjNweCk6IFNob3cgaW1hZ2UsIGFsaWduZWQgdG8gc3RhcnQgKGxlZnQpXG4gICAgICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSGlkZSBwcm9maWxlIGltYWdlcyBvbiBtb2JpbGUgKGJlbG93IDc2OHB4KVxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcHJvZmlsZS1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIC8vIEZhbGxiYWNrIHN0eWxpbmcgZm9yIHVzZXJzIHdpdGhvdXQgaW1hZ2VcbiAgICAgICAgICAgICYtLWZhbGxiYWNrIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2VyIGNhcmQgY29udGVudFxuICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDsgLy8gQWxsb3cgdGV4dCB0cnVuY2F0aW9uXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLy8gRGVza3RvcCAoMTI4MHB4IGFuZCB1cCk6IE1haW50YWluIHByb3BlciB3aWR0aCBpbiBob3Jpem9udGFsIGxheW91dFxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgneGwnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoNC4jeyRibG9ja31fX3VzZXItY2FyZC1oZWFkbGluZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1mYW1pbHktcHJpbWFyeTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIC41cmVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuXG4gICAgICAgICAgICAmLmNpdHktaW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgLy8gSGlkZSBlbnRpcmUgY2l0eSBpbmZvIChpY29uIGFuZCB0ZXh0KSBvbiBtb2JpbGUgKDQzMHB4IGFuZCBiZWxvdylcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDMwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb2NhdGlvbiB0ZXh0IHN0eWxpbmdcbiAgICAgICAgJi1sb2NhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRibG9ja31fX3VzZXItY2FyZC1pbnRlcmVzdHMsXG4gICAgICAgIC4jeyRibG9ja31fX3VzZXItY2FyZC1kZXRhaWxzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIC41cmVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgICAgICAgLy8gUmVzcG9uc2l2ZSBtYXgtd2lkdGggZm9yIGJldHRlciB0ZXh0IHdyYXBwaW5nXG4gICAgICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM1Y2g7IC8vIFRhYmxldC1mcmllbmRseSB3aWR0aFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCd4bCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwY2g7IC8vIExhcmdlciBzY3JlZW5zIGNhbiBoYW5kbGUgbW9yZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEsIGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnksIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSk7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSGlkZSBsaW5rIHRleHQgdmlzdWFsbHkgb24gbW9iaWxlICg0MzBweCBhbmQgYmVsb3cpLCBidXQga2VlcCBhY2Nlc3NpYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQzMHB4KSB7XG4gICAgICAgICAgICAgICAgLiN7JGJsb2NrfV9fdXNlci1jYXJkLWxpbmtsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VzZXItY2FyZC1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAuNzVyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlcXVlc3QgYnV0dG9uIHN0eWxpbmdcbiAgICAmX19yZXF1ZXN0LWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIaWRlIGJ1dHRvbiB0ZXh0IHZpc3VhbGx5IG9uIG1vYmlsZSAoNDMwcHggYW5kIGJlbG93KSwgYnV0IGtlZXAgYWNjZXNzaWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQzMHB4KSB7XG4gICAgICAgICAgICAuI3skYmxvY2t9X191c2VyLWNhcmQtbGlua2xhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9maWxlIGxpbmsgaW5oZXJpdHMgc3R5bGluZyBmcm9tIGNhcmQgYWN0aW9ucyBjb250ZXh0IChhLCBidXR0b24gcnVsZXMgYWJvdmUpXG5cbiAgICAmX19uby11c2VycyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxcmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXktZGFya2VyLCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcmtlcik7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAuZ20tdWktaG92ZXItZWZmZWN0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyogQ3VzdG9tIEluZm8gV2luZG93ICovXG4gICAgLmN1c3RvbS1pbmZvLXdpbmRvdyB7XG4gICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spO1xuICAgICAgICB9XG5cbiAgICAgICAgYSwgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDRweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuY2l0eS1pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAwLjMxMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBSZXNwb25zaXZlIERlc2lnbiAqL1xuICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICAgICZfX21hcC1zaWRlYmFyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdXNlci1zaWRlYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1qZmUtZ3JheS1kYXJrLCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcmspO1xuXG4gICAgICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWFwLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVzZXItc2VhcmNoLWZvcm0ge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucmFkaXVzLXNsaWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qIFNjcm9sbGJhciBTdHlsaW5nICovXG4gICAgJl9fc2lkZWJhci1jb250ZW50IHtcbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyayk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmtlciwgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogQWNjZXNzaWJpbGl0eSBpbXByb3ZlbWVudHMgKi9cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXG4gICAgICAgIC5jdXN0b20tc2xpZGVyLXRodW1iLFxuICAgICAgICAmX191c2VyLWNhcmQsXG4gICAgICAgICZfX21hcC1jb250cm9scyBidXR0b24sXG4gICAgICAgIC51c2VyLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2xpc3RzLnNjc3NcbkB1c2UgJy4uL2dsb2JhbC9jb2xvcnMnIGFzIGNvbG9ycztcblxuLyoqXG4gKiBVbml2ZXJzYWwgbGlzdCBzdHlsaW5nIG1peGluIC0gRFJZIGFwcHJvYWNoIGZvciB1bCBhbmQgb2xcbiAqIFByb3ZpZGVzIGNvbnNpc3RlbnQgbGlzdCBzdHlsaW5nIGFjcm9zcyBSVEUgYW5kIHR5cG9ncmFwaHkgY29udGV4dHNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSAoY2FuIHVzZSBjbGFtcCgpIGZvciByZXNwb25zaXZlKVxuICogQHBhcmFtIHtzdHJpbmd9ICRtYXJnaW4tYm90dG9tIC0gQm90dG9tIG1hcmdpbiBmb3IgdGhlIGxpc3RcbiAqIEBwYXJhbSB7c3RyaW5nfSAkbWF4LXdpZHRoIC0gT3B0aW9uYWwgbWF4LXdpZHRoIGNvbnN0cmFpbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSAkbGlzdC1pdGVtLW1hcmdpbiAtIE1hcmdpbiBiZXR3ZWVuIGxpc3QgaXRlbXMgKGRlZmF1bHQ6IDIwcHgpXG4gKiBAcGFyYW0ge3N0cmluZ30gJG5lc3RlZC1saXN0LW1hcmdpbiAtIE1hcmdpbiBmb3IgbmVzdGVkIGxpc3QgaXRlbXMgKGRlZmF1bHQ6IDEwcHgpXG4gKiBAcGFyYW0ge3N0cmluZ30gJGJ1bGxldC1jb2xvciAtIENvbG9yIGZvciBidWxsZXRzL251bWJlcnNcbiAqIEBwYXJhbSB7c3RyaW5nfSAkZXhjbHVkZS1jbGFzcyAtIE9wdGlvbmFsIGNsYXNzIHRvIGV4Y2x1ZGUgZnJvbSBzdHlsaW5nIChlLmcuLCBjb250YWN0IGNhcmRzKVxuICovXG5AbWl4aW4gbGlzdC1zdHlsZXMoXG4gICRmb250LXNpemU6IDE2cHgsXG4gICRtYXJnaW4tYm90dG9tOiAxLjVyZW0sXG4gICRtYXgtd2lkdGg6IG51bGwsXG4gICRsaXN0LWl0ZW0tbWFyZ2luOiAyMHB4LFxuICAkbmVzdGVkLWxpc3QtbWFyZ2luOiAxMHB4LFxuICAkYnVsbGV0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpLFxuICAkZXhjbHVkZS1jbGFzczogbnVsbFxuKSB7XG4gIC8vIFNoYXJlZCBsaXN0IHByb3BlcnRpZXNcbiAgdWwsXG4gIG9sIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmICRtYXgtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBsaXN0IGl0ZW1zXG4gICAgPiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1pdGVtLW1hcmdpbjtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHMgKHdpdGggY3VzdG9tIGJ1bGxldHMpXG4gIHVsOm5vdChbY2xhc3MqPVwicnRlLWxpc3QtaWNvbi1cIl0pIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIEBpZiAkZXhjbHVkZS1jbGFzcyB7XG4gICAgICBsaTpub3QoLiN7JGV4Y2x1ZGUtY2xhc3N9KSB7XG4gICAgICAgIEBpbmNsdWRlIGxpc3QtaXRlbS1idWxsZXQoJGJ1bGxldC1jb2xvcik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGxpc3QtaXRlbS1idWxsZXQoJGJ1bGxldC1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0cyAod2l0aCBjdXN0b20gbnVtYmVyaW5nKVxuICBvbCB7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSkgXCIuXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgLy8gTmVzdGVkIG9yZGVyZWQgbGlzdHNcbiAgICAgIG9sIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJG5lc3RlZC1saXN0LW1hcmdpbjtcbiAgICAgICAgY291bnRlci1yZXNldDogc3ViaXRlbTtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc3ViaXRlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG5lc3RlZC1saXN0LW1hcmdpbjtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGl0ZW0pIFwiLlwiIGNvdW50ZXIoc3ViaXRlbSkgXCIgXCI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gVGhpcmQgbGV2ZWwgbmVzdGluZ1xuICAgICAgICAgIG9sIHtcbiAgICAgICAgICAgIGNvdW50ZXItcmVzZXQ6IHN1YnN1Yml0ZW07XG5cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogc3Vic3ViaXRlbTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbmVzdGVkLWxpc3QtbWFyZ2luO1xuXG4gICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcihpdGVtKSBcIi5cIiBjb3VudGVyKHN1Yml0ZW0pIFwiLlwiIGNvdW50ZXIoc3Vic3ViaXRlbSkgXCIgXCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTmVzdGVkIHVub3JkZXJlZCBsaXN0cyB3aXRoaW4gb3JkZXJlZCBsaXN0c1xuICAgICAgdWwgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRuZXN0ZWQtbGlzdC1tYXJnaW47XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDAuODc1cmVtO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICB3aWR0aDogMC43NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidWxsZXQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdCBuZXN0aW5nICh1bCA+IGxpID4gb2wpXG4gIHVsOm5vdChbY2xhc3MqPVwicnRlLWxpc3QtaWNvbi1cIl0pIHtcbiAgICBsaSB7XG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRuZXN0ZWQtbGlzdC1tYXJnaW47XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG5lc3RlZC1saXN0LW1hcmdpbjtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogJG5lc3RlZC1saXN0LW1hcmdpbjtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG5lc3RlZC1saXN0LW1hcmdpbjtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGl0ZW0pIFwiLlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEhlbHBlciBtaXhpbiBmb3IgbGlzdCBpdGVtIGJ1bGxldHNcbiAqIENyZWF0ZXMgdGhlIGNpcmN1bGFyIGJ1bGxldCBwb2ludFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSAkY29sb3IgLSBCdWxsZXQgY29sb3JcbiAqL1xuQG1peGluIGxpc3QtaXRlbS1idWxsZXQoJGNvbG9yKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuODc1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMC43NXJlbTtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vKipcbiAqIEFjY2Vzc2liaWxpdHkgc3VwcG9ydCBmb3IgbGlzdHNcbiAqIEhpZ2ggY29udHJhc3QgbW9kZSBzdHlsaW5nXG4gKi9cbkBtaXhpbiBsaXN0LWFjY2Vzc2liaWxpdHkoKSB7XG4gIEBtZWRpYSAocHJlZmVycy1jb250cmFzdDogaGlnaCkge1xuICAgIHVsIGxpOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIG9sIGxpOjpiZWZvcmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzXG5AdXNlICdjb2xvcnMnIGFzIGNvbG9ycztcbkB1c2UgJ2JyZWFrcG9pbnRzJyBhcyBicDtcbkB1c2UgJ2ZvbnRzJyBhcyAqOyAvLyBJbXBvcnQgYWxsIGZvbnQgZGVmaW5pdGlvbnMgYW5kIHZhcmlhYmxlc1xuQHVzZSAnLi4vY29tcG9uZW50cy9saXN0cycgYXMgbGlzdHM7XG5cbi8vIExpbmsgc3R5bGluZ1xuJGxpbmstdW5kZXJsaW5lLXRoaWNrbmVzczogMnB4O1xuJGxpbmstdW5kZXJsaW5lLW9mZnNldDogMC4yNWVtO1xuJGxpbmstZm9jdXMtb3V0bGluZS13aWR0aDogMnB4O1xuJGxpbmstZm9jdXMtb3V0bGluZS1vZmZzZXQ6IDJweDtcblxuLy8gR2xvYmFsIGZvbnQgc2V0dGluZ3NcbiRtYXgtdGV4dC13aWR0aDogODBjaDtcblxuLnRleHQtc2VyaWYge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XG59XG5cbi8vIFN0eWxlcyBvbmx5IGZvciBDb250ZW50IEVsZW1lbnRzXG4uY2VfX2NvbnRlbnQge1xuXG4gICAgLy8gSGVhZGxpbmVzXG4gICAgaDEsXG4gICAgLmgxIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5LCAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMzJweCwgMnZ3ICsgMjRweCwgNTBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdsZycpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMixcbiAgICAuaDIge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnksICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAxLjV2dyArIDIycHgsIDM4cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbGcnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMsXG4gICAgLmgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5LCAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjRweCwgMC41dncgKyAyMnB4LCAyOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgfVxuXG4gICAgaDQsXG4gICAgLmg0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnksICRmb250LWZhbWlseS1mYWxsYmFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjJweCwgMC4yNXZ3ICsgMjFweCwgMjRweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICBoNSxcbiAgICAuaDUge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSwgJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAwLjI1dncgKyAxOXB4LCAyMnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSwgJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDE2cHgsIDAuNXZ3ICsgMTRweCwgMjBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1heC13aWR0aDogJG1heC10ZXh0LXdpZHRoO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgICAgICAgJi5mb250LWJvbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgICAmLmZvbnQtc2VtaWJvbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmLmNlLXRleHRtZWRpYSxcbiAgICAmLmNlLWlnZWxiX2JveCxcbiAgICAmLmNlLWpmZWV2ZW50c19ldmVudGJvb2tpbmcge1xuXG4gICAgICAgIC8vIEJvZHl0ZXh0XG4gICAgICAgIHAsXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5LCAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE2cHgsIDAuNXZ3ICsgMTRweCwgMjBweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXRleHQtd2lkdGg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQmFzaWMgdGFibGUgc3R5bGVzXG4gICAgICAgIGZpZ3VyZS50YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxOHB4LCAxLjV2dyArIDE0cHgsIDMwcHgpO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICB0YWJsZS5jb250ZW50dGFibGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgdGgsXG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXksICN7Y29sb3JzLiRjb2xvci1qZmUtZ3JheX0pO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5LCAje2NvbG9ycy4kY29sb3ItamZlLWdyYXl9KTtcblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBRdW90ZVxuICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LCAje2NvbG9ycy4kY29sb3ItamZlLXllbGxvd30pO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGlzdHMgdXNpbmcgdGhlIHVuaWZpZWQgbWl4aW4gd2l0aCByZXNwb25zaXZlIHZhbHVlc1xuICAgICAgICBAaW5jbHVkZSBsaXN0cy5saXN0LXN0eWxlcyhcbiAgICAgICAgICAgICRmb250LXNpemU6IGNsYW1wKDE2cHgsIDAuNXZ3ICsgMTRweCwgMjBweCksXG4gICAgICAgICAgICAkbWFyZ2luLWJvdHRvbTogY2xhbXAoMjBweCwgMnZ3ICsgMTVweCwgNDBweCksXG4gICAgICAgICAgICAkbWF4LXdpZHRoOiAkbWF4LXRleHQtd2lkdGgsXG4gICAgICAgICAgICAkbGlzdC1pdGVtLW1hcmdpbjogMjBweCxcbiAgICAgICAgICAgICRuZXN0ZWQtbGlzdC1tYXJnaW46IDEwcHgsXG4gICAgICAgICAgICAkYnVsbGV0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCAje2NvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZX0pLFxuICAgICAgICAgICAgJGV4Y2x1ZGUtY2xhc3M6ICdjZS1qZmVldmVudHNfZXZlbnRib29raW5nX19jb250YWN0LWNhcmQnXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQWNjZXNzaWJpbGl0eSBzdXBwb3J0IGZvciBsaXN0c1xuICAgICAgICBAaW5jbHVkZSBsaXN0cy5saXN0LWFjY2Vzc2liaWxpdHkoKTtcblxuICAgICAgICAvLyBMaW5rcyBpbnNpZGUgQ29udGVudCBFbGVtZW50XG4gICAgICAgIC8vIChub3QgaW4gbmF2aWdhdGlvbiBvciBVSSBjb21wb25lbnRzKVxuICAgICAgICBhOm5vdCguYnRuKSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssICN7Y29sb3JzLiRjb2xvci1ibGFja30pO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAkbGluay11bmRlcmxpbmUtdGhpY2tuZXNzO1xuICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCAje2NvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZX0pO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLWNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssICN7Y29sb3JzLiRjb2xvci1ibGFja30pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6ICRsaW5rLWZvY3VzLW91dGxpbmUtd2lkdGggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSwgI3tjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWV9KTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJGxpbmstZm9jdXMtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMC41dncgKyAxMnB4LCAxNnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsLCBvbCB7XG4gICAgICAgICAgICBsaSBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmEsXG5idXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4vLyBCYWNrZ3JvdW5kIHNwZWNpZmljIGNvbG9yIGNoYW5nZXNcbi5iZy1wcmltYXJ5LFxuLmJnLWUtanVnZW5kLWJsdWUsXG4uYmctZXNrLW1hZ2VudGEsXG4uYmctZS1zcG9ydC1vcmFuZ2Uge1xuICAgIC5jZV9fY29udGVudCB7XG5cbiAgICAgICAgaDEsXG4gICAgICAgIC5oMSxcbiAgICAgICAgaDIsXG4gICAgICAgIC5oMixcbiAgICAgICAgaDMsXG4gICAgICAgIC5oMyxcbiAgICAgICAgaDQsXG4gICAgICAgIC5oNCxcbiAgICAgICAgaDUsXG4gICAgICAgIC5oNSxcbiAgICAgICAgcCxcbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9ycy4kY29sb3Itd2hpdGV9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6bm90KC5idG4pIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSwgI3tjb2xvcnMuJGNvbG9yLXdoaXRlfSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9ycy4kY29sb3Itd2hpdGV9KTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUsICN7Y29sb3JzLiRjb2xvci13aGl0ZX0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9ycy4kY29sb3Itd2hpdGV9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gR3JheSBiYWNrZ3JvdW5kIHNwZWNpZmljIGNvbG9yIGNoYW5nZXNcbi5iZy1qZmUtZ3JheTpub3QoLmJnLXByaW1hcnkpIHtcbiAgICAuY2VfX2NvbnRlbnQge1xuXG4gICAgICAgIGgyLFxuICAgICAgICAuaDIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCAje2NvbG9ycy4kY29sb3ItYmxhY2t9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUGFwZXIgdGV4dHVyZSBiYWNrZ3JvdW5kIHNwZWNpZmljIGNvbG9yIGNoYW5nZXNcbi5jZV9fY29udGVudDpub3QoLmNlLWlnZWxiX2JyZWFrZXJ0ZWFzZXIpIHtcbiAgICAuYmctcGFwZXItdGV4dHVyZSxcbiAgICAuYmctamZlLWdyYXkge1xuXG4gICAgICAgIGgxLFxuICAgICAgICAuaDEsXG4gICAgICAgIGgyLFxuICAgICAgICAuaDIsXG4gICAgICAgIGgzLFxuICAgICAgICAuaDMsXG4gICAgICAgIGg0LFxuICAgICAgICAuaDQsXG4gICAgICAgIGg1LFxuICAgICAgICAuaDUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCAje2NvbG9ycy4kY29sb3ItYmxhY2t9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNlX19jb250ZW50Om5vdCguY2UtaWdlbGJfYnJlYWtlcnRlYXNlcikge1xuXG4gICAgJi5jZV9fY29udGVudC0tYmctcGFwZXItdGV4dHVyZSxcbiAgICAmLmNlX19jb250ZW50LS1iZy1ncmF5IHtcblxuICAgICAgICBoMSxcbiAgICAgICAgLmgxLFxuICAgICAgICBoMixcbiAgICAgICAgLmgyLFxuICAgICAgICBoMyxcbiAgICAgICAgLmgzLFxuICAgICAgICBoNCxcbiAgICAgICAgLmg0LFxuICAgICAgICBoNSxcbiAgICAgICAgLmg1IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgI3tjb2xvcnMuJGNvbG9yLWJsYWNrfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBBVVRPLUdFTkVSQVRFRCBGSUxFIGZyb20gYnVpbGQtYnJlYWtwb2ludHMuanNcbi8vIERPIE5PVCBFRElUIERJUkVDVExZXG5cbi8vIEltcG9ydCBTYXNzIG1hcCBtb2R1bGVcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vLyBCcmVha3BvaW50IHZhbHVlc1xuJGJyZWFrcG9pbnQtc206IDY0MHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDc2OHB4O1xuJGJyZWFrcG9pbnQtbGc6IDEwMjRweDtcbiRicmVha3BvaW50LXhsOiAxMjgwcHg7XG4kYnJlYWtwb2ludC0yeGw6IDE2NjRweDtcblxuLy8gTWFwIGZvciBwcm9ncmFtbWF0aWMgYWNjZXNzXG4kYnJlYWtwb2ludHM6IChcbiAgJ3NtJzogJGJyZWFrcG9pbnQtc20sXG4gICdtZCc6ICRicmVha3BvaW50LW1kLFxuICAnbGcnOiAkYnJlYWtwb2ludC1sZyxcbiAgJ3hsJzogJGJyZWFrcG9pbnQteGwsXG4gICcyeGwnOiAkYnJlYWtwb2ludC0yeGxcbik7XG5cbi8vIE1peGluIGZvciBlYXN5IG1lZGlhIHF1ZXJpZXMgYmFzZWQgb24gZGVmaW5lZCBicmVha3BvaW50c1xuQG1peGluIGJyZWFrcG9pbnQoJHBvaW50KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRwb2ludCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHBvaW50KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JHBvaW50fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuXG4vLyBNaXhpbiBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXMgKHNtYWxsZXIgdGhhbiBhIGJyZWFrcG9pbnQpXG5AbWl4aW4gYnJlYWtwb2ludC1kb3duKCRwb2ludCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRwb2ludCkgLSAxcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRwb2ludH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIGNyZWF0aW5nIHN0eWxlcyBiZXR3ZWVuIHR3byBicmVha3BvaW50c1xuQG1peGluIGJyZWFrcG9pbnQtYmV0d2VlbigkbWluLCAkbWF4KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRtaW4pIGFuZCBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRtYXgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRtaW4pKSBhbmQgKG1heC13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRtYXgpIC0gMXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skbWlufScgb3IgJyN7JG1heH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Zvcm0tY29tcG9uZW50cy5zY3NzXG5AdXNlIFwiLi4vZ2xvYmFsL2NvbG9yc1wiIGFzIGNvbG9ycztcbkB1c2UgXCIuLi9nbG9iYWwvYnJlYWtwb2ludHNcIiBhcyBicDtcbkB1c2UgXCIuLi9nbG9iYWwvZm9udHNcIiBhcyAqO1xuQHVzZSBcIi4uL2dsb2JhbC90eXBvZ3JhcGh5XCIgYXMgdHlwbztcblxuLyoqXG4gKiBVbml2ZXJzYWwgZm9ybSBjb21wb25lbnRzIHN0eWxpbmcgLSBNb2R1bGFyIGFwcHJvYWNoXG4gKiBCYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIGV4aXN0aW5nIGZvcm0tY29tcG9uZW50cygpIG1peGluXG4gKi9cblxuLy8gVmlzdWFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIChzaGFyZWQgYWNyb3NzIGFsbCBtaXhpbnMpXG4kb3V0bGluZS13aWR0aDogMnB4ICFkZWZhdWx0O1xuJG91dGxpbmUtb2Zmc2V0OiAycHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWVhc2luZzogZWFzZSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGZvY3VzLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJG1pbi10b3VjaC1zaXplOiA0NHB4ICFkZWZhdWx0O1xuXG4vLyBDb2xvcnMgLSB1c2luZyBDU1MgdmFyaWFibGVzIGZvciB0aGVtZSBmbGV4aWJpbGl0eVxuJGZvcm0tcHJpbWFyeS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKSAhZGVmYXVsdDtcbiRmb3JtLXNlY29uZGFyeS1jb2xvcjogdmFyKFxuICAgIC0tY29sb3Itc2Vjb25kYXJ5LFxuICAgIGNvbG9ycy4kY29sb3ItamZlLXllbGxvd1xuKSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKSAhZGVmYXVsdDtcbiRmb3JtLWJnLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSwgY29sb3JzLiRjb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKSAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjogdmFyKFxuICAgIC0tY29sb3ItcHJpbWFyeSxcbiAgICBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWVcbikgIWRlZmF1bHQ7XG4kZm9ybS1lcnJvci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IsIGNvbG9ycy4kY29sb3ItZXJyb3IpICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogIzk1ZGYwMCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1qZmUtZ3JheSwgY29sb3JzLiRjb2xvci1qZmUtZ3JheSkgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yOiB2YXIoXG4gICAgLS1jb2xvci1qZmUtZ3JheS1kYXJrLFxuICAgIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFya1xuKSAhZGVmYXVsdDtcbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoXG4gICAgLS1jb2xvci1qZmUtZ3JheS1kYXJrZXIsXG4gICAgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrZXJcbikgIWRlZmF1bHQ7XG5cbiRyYWRpby1jaGVja2VkLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPScyJyBmaWxsPSclMjMwMDk5Q0MnLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbi8qKlxuICogRm9ybSBMYWJlbHMgTWl4aW5cbiAqL1xuQG1peGluIGZvcm0tbGFiZWxzKCkge1xuICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBSZXF1aXJlZCBmaWVsZCBpbmRpY2F0b3JcbiAgICAgICAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIgKlwiO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGFiZWwgZm9yIHNjcmVlbiByZWFkZXJzIG9ubHlcbiAgICAgICAgJi5zci1vbmx5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsZWdlbmQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQ29udHJvbHMgTWl4aW4gKElucHV0LCBUZXh0YXJlYSwgU2VsZWN0KVxuICovXG5AbWl4aW4gZm9ybS1jb250cm9scygpIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iZy1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAvLyBQbGFjZWhvbGRlciBzdHlsaW5nXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aFxuICAgICAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3IgMjUlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW3JlYWRvbmx5XSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggY29sb3ItbWl4KGluIHNyZ2IsICRmb3JtLWVycm9yLWNvbG9yIDI1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy12YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoIGNvbG9yLW1peChpbiBzcmdiLCAkZm9ybS1zdWNjZXNzLWNvbG9yIDI1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGV4dGFyZWEgc3BlY2lmaWMgc3R5bGluZ1xuICAgIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlbGVjdCBzcGVjaWZpYyBzdHlsaW5nIChleGNsdWRpbmcgbXVsdGlzZWxlY3QpXG4gICAgc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW211bHRpcGxlXSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvU1ZHL1VJL0ljb25BcnJvd0FjY29yZGlvbi0tRG93bi5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcblxuICAgICAgICAvLyBSZW1vdmUgZGVmYXVsdCBhcnJvdyBpbiBJRVxuICAgICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc2VsZWN0XG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlIGZvciBzZWxlY3RcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvU1ZHL1VJL0ljb25BcnJvd0FjY29yZGlvbi0tVXAuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy12YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQ2hlY2tzIE1peGluIChSYWRpbyAmIENoZWNrYm94KVxuICovXG5AbWl4aW4gZm9ybS1jaGVja3MoKSB7XG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC8vIEZvcm0gY2hlY2sgaW5wdXQgKHJhZGlvICYgY2hlY2tib3gpXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0LFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDAuMjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWJnLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdyAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgICAgIC8vIEVuc3VyZSBtaW5pbXVtIHRvdWNoIHRhcmdldCBzaXplXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRtaW4tdG91Y2gtc2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aFxuICAgICAgICAgICAgICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yIDI1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGVja2VkIHN0YXRlXG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYmctY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJbnZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCAkZm9ybS1lcnJvci1jb2xvciAyNSUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2JveCBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG5cbiAgICAgICAgICAgIC8vIENoZWNrbWFya1xuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDk5Q0MnIHN0cm9rZS1saW5lY2FwPSdzcXVhcmUnIHN0cm9rZS1saW5lam9pbj0nbWl0ZXInIHN0cm9rZS13aWR0aD0nMi41JyBkPSdNMyA4bDMgMyA3LTcnLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEluZGV0ZXJtaW5hdGUgc3RhdGVcbiAgICAgICAgICAgICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSYWRpbyBidXR0b24gc3BlY2lmaWMgc3R5bGluZ1xuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAvLyBSYWRpbyBkb3RcbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJHJhZGlvLWNoZWNrZWQtaW1hZ2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9ybSBjaGVjayBsYWJlbFxuICAgICAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCAje2NvbG9ycy4kY29sb3ItYmxhY2t9KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB0eXBvLiRsaW5rLXVuZGVybGluZS10aGlja25lc3M7XG4gICAgICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiB0eXBvLiRsaW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAgICAgICAgIC0tY29sb3ItcHJpbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAtLWNvbG9yLWJsYWNrLFxuICAgICAgICAgICAgICAgICAgICAgICAgI3tjb2xvcnMuJGNvbG9yLWJsYWNrfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IHR5cG8uJGxpbmstZm9jdXMtb3V0bGluZS13aWR0aCBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tY29sb3ItcHJpbWFyeSwgI3tjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWV9KTtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IHR5cG8uJGxpbmstZm9jdXMtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5saW5lIGZvcm0gY2hlY2tzXG4gICAgLmZvcm0tY2hlY2staW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludChcInNtXCIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gVmFsaWRhdGlvbiBNaXhpblxuICovXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uKCkge1xuICAgIC8vIEZvcm0gdGV4dCAoaGVscCB0ZXh0LCBlcnJvciBtZXNzYWdlcylcbiAgICAuZm9ybS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBFcnJvciB0ZXh0XG4gICAgICAgICYudGV4dC1kYW5nZXIsXG4gICAgICAgICYuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdWNjZXNzIHRleHRcbiAgICAgICAgJi50ZXh0LXN1Y2Nlc3MsXG4gICAgICAgICYudmFsaWQtZmVlZGJhY2sge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnZhbGlkIGZlZWRiYWNrIChlcnJvciBtZXNzYWdlcylcbiAgICAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIEluaXRpYWxseSBoaWRkZW5cbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nTTIuMTQ2IDIuODU0YS41LjUgMCAxIDEgLjcwOC0uNzA4TDggNy4yOTNsNS4xNDYtNS4xNDdhLjUuNSAwIDAgMSAuNzA4LjcwOEw4LjcwNyA4bDUuMTQ3IDUuMTQ2YS41LjUgMCAwIDEtLjcwOC43MDhMOCA4LjcwN2wtNS4xNDYgNS4xNDdhLjUuNSAwIDAgMS0uNzA4LS43MDhMNy4yOTMgOCAyLjE0NiAyLjg1NFonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlIDc1JTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgc2hvdyB3aGVuIHBhcmVudCBoYXMgaW52YWxpZCBmaWVsZFxuICAgICAgICAuZm9ybS1jb250cm9sLmlzLWludmFsaWQgfiAmLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkIGZlZWRiYWNrIChzdWNjZXNzIG1lc3NhZ2VzKVxuICAgIC52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIEluaXRpYWxseSBoaWRkZW5cbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgLy8gT25seSBzaG93IHdoZW4gcGFyZW50IGhhcyB2YWxpZCBmaWVsZFxuICAgICAgICAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gJixcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBTdW1tYXJ5IFN0eWxlc1xuICAgIC52YWxpZGF0aW9uLXN1bW1hcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KFxuICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgIHZhcigtLWNvbG9yLWVycm9yLCAje2NvbG9ycy4kY29sb3ItZXJyb3J9KSA1JSxcbiAgICAgICAgICAgIHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9ycy4kY29sb3Itd2hpdGV9KVxuICAgICAgICApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoXCJzbVwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGVydC1oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludChcInNtXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWxlcnQtbWVzc2FnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci1taXgoXG4gICAgICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgICAgICB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgODUlLFxuICAgICAgICAgICAgICAgIGJsYWNrXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludChcInNtXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0aW9uIFN1bW1hcnkgTGlzdFxuICAgIC52YWxpZGF0aW9uLXN1bW1hcnktbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEVycm9yIGljb25cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDAuMnJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9JyUyM2RjMzU0NScgZD0nTTggMTVBNyA3IDAgMSAxIDggMWE3IDcgMCAwIDEgMCAxNHptMCAxQTggOCAwIDEgMCA4IDBhOCA4IDAgMCAwIDAgMTZ6Jy8lM2UlM2NwYXRoIGZpbGw9JyUyM2RjMzU0NScgZD0nTTcuMDAyIDExYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHpNNy4xIDQuOTk1YS45MDUuOTA1IDAgMSAxIDEuOCAwbC0uMzUgMy41MDdhLjU1Mi41NTIgMCAwIDEtMS4xIDBMNy4xIDQuOTk1eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLW1peChcbiAgICAgICAgICAgICAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgODUlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2tcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbmltYXRpb24gZm9yIHZhbGlkYXRpb24gc3VtbWFyeVxuICAgIC52YWxpZGF0aW9uLXN1bW1hcnkge1xuICAgICAgICBhbmltYXRpb246IHNsaWRlSW5Gcm9tVG9wIDAuM3MgZWFzZS1vdXQ7XG5cbiAgICAgICAgQGtleWZyYW1lcyBzbGlkZUluRnJvbVRvcCB7XG4gICAgICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0byB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBMYXlvdXQgTWl4aW4gKEZsb2F0aW5nLCBHcm91cHMsIEFjdGlvbnMpXG4gKi9cbkBtaXhpbiBmb3JtLWxheW91dCgpIHtcbiAgICAvLyBGb3JtIGZsb2F0aW5nIGxhYmVscyAoaWYgbmVlZGVkKVxuICAgIC5mb3JtLWZsb2F0aW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwLjc1cmVtIDAuNXJlbTtcblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgICAgICAgICAgIH4gbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpIHRyYW5zbGF0ZVkoLTAuNXJlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVgoMC4xNXJlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwLjc1cmVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIG9wYWNpdHkgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIGdyb3VwcyBmb3Igc3BhY2luZ1xuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gc2VjdGlvbnNcbiAgICAuZm9ybS1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyLFxuICAgICAgICBoMyxcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIGFjdGlvbnMgKGJ1dHRvbnMpXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoXCJzbVwiKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoXCJzbVwiKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBBY2Nlc3NpYmlsaXR5IE1peGluXG4gKi9cbkBtaXhpbiBmb3JtLWFjY2Vzc2liaWxpdHkoKSB7XG4gICAgLy8gUmVkdWNlZCBtb3Rpb24gc3VwcG9ydFxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0LFxuICAgICAgICAuZm9ybS1mbG9hdGluZyBsYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlnaCBjb250cmFzdCBtb2RlIHN1cHBvcnRcbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgQnV0dG9uVGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvbkZhY2U7XG5cbiAgICAgICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEJ1dHRvblRleHQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJpbnQgc3R5bGVzXG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5hbGVydC1oZWFkaW5nLFxuICAgICAgICAgICAgLmFsZXJ0LW1lc3NhZ2UsXG4gICAgICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW0gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogTWFpbiBmb3JtLWNvbXBvbmVudHMgbWl4aW4gLSBCQUNLV0FSRFMgQ09NUEFUSUJMRVxuICogSW5jbHVkZXMgYWxsIGZvcm0gc3R5bGluZyBjb21wb25lbnRzXG4gKi9cbkBtaXhpbiBmb3JtLWNvbXBvbmVudHMoKSB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbHMoKTtcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2xzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1jaGVja3MoKTtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24oKTtcbiAgICBAaW5jbHVkZSBmb3JtLWxheW91dCgpO1xuICAgIEBpbmNsdWRlIGZvcm0tYWNjZXNzaWJpbGl0eSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/