/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

body {
  margin: 0; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Icons
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Icons
 * @define icon
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
@font-face {
  font-family: 'EuropaIcons';
  src: url("../fonts/europa-icons/europa-icons.eot");
  src: url("../fonts/europa-icons/europa-icons.eot?#iefix") format("embedded-opentype"), url("../fonts/europa-icons/europa-icons.woff") format("woff"), url("../fonts/europa-icons/europa-icons.ttf") format("truetype"), url("../fonts/europa-icons/europa-icons.svg#europa-icons") format("svg"); }

.ecl-icon::before {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-right: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none; }

.ecl-icon--after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none; }

.ecl-icon--arrow-down {
  /* stylelint-disable-next-line */ }
  .ecl-icon--arrow-down::before {
    content: '\e822'; }

.ecl-icon--arrow-up {
  /* stylelint-disable-next-line */ }
  .ecl-icon--arrow-up::before {
    content: '\e821'; }

.ecl-icon--audio {
  /* stylelint-disable-next-line */ }
  .ecl-icon--audio::before {
    content: '\e801'; }

.ecl-icon--book {
  /* stylelint-disable-next-line */ }
  .ecl-icon--book::before {
    content: '\0022'; }

.ecl-icon--breadcrumb {
  /* stylelint-disable-next-line */ }
  .ecl-icon--breadcrumb::before {
    content: '\e828'; }

.ecl-icon--brochure {
  /* stylelint-disable-next-line */ }
  .ecl-icon--brochure::before {
    content: '\e802'; }

.ecl-icon--budget {
  /* stylelint-disable-next-line */ }
  .ecl-icon--budget::before {
    content: '\e81a'; }

.ecl-icon--calendar {
  /* stylelint-disable-next-line */ }
  .ecl-icon--calendar::before {
    content: '\e81d'; }

.ecl-icon--camera {
  /* stylelint-disable-next-line */ }
  .ecl-icon--camera::before {
    content: '\e800'; }

.ecl-icon--check {
  /* stylelint-disable-next-line */ }
  .ecl-icon--check::before {
    content: '\e816'; }

.ecl-icon--close-dark {
  /* stylelint-disable-next-line */ }
  .ecl-icon--close-dark::before {
    content: '\e82d'; }

.ecl-icon--close {
  /* stylelint-disable-next-line */ }
  .ecl-icon--close::before {
    content: '\e82c'; }

.ecl-icon--copy {
  /* stylelint-disable-next-line */ }
  .ecl-icon--copy::before {
    content: '\29'; }

.ecl-icon--data {
  /* stylelint-disable-next-line */ }
  .ecl-icon--data::before {
    content: '\24'; }

.ecl-icon--digital {
  /* stylelint-disable-next-line */ }
  .ecl-icon--digital::before {
    content: '\e80b'; }

.ecl-icon--down {
  /* stylelint-disable-next-line */ }
  .ecl-icon--down::before {
    content: '\e81f'; }

.ecl-icon--download {
  /* stylelint-disable-next-line */ }
  .ecl-icon--download::before {
    content: '\e806'; }

.ecl-icon--edit {
  /* stylelint-disable-next-line */ }
  .ecl-icon--edit::before {
    content: '\e807'; }

.ecl-icon--energy {
  /* stylelint-disable-next-line */ }
  .ecl-icon--energy::before {
    content: '\e818'; }

.ecl-icon--error {
  /* stylelint-disable-next-line */ }
  .ecl-icon--error::before {
    content: '\e82f'; }

.ecl-icon--euro {
  /* stylelint-disable-next-line */ }
  .ecl-icon--euro::before {
    content: '\e803'; }

.ecl-icon--external {
  /* stylelint-disable-next-line */ }
  .ecl-icon--external::before {
    content: '\e825'; }

.ecl-icon--facebook {
  /* stylelint-disable-next-line */ }
  .ecl-icon--facebook::before {
    content: '\e809'; }

.ecl-icon--faq {
  /* stylelint-disable-next-line */ }
  .ecl-icon--faq::before {
    content: '\21'; }

.ecl-icon--feedback {
  /* stylelint-disable-next-line */ }
  .ecl-icon--feedback::before {
    content: '\e82e'; }

.ecl-icon--file {
  /* stylelint-disable-next-line */ }
  .ecl-icon--file::before {
    content: '\26'; }

.ecl-icon--gear {
  /* stylelint-disable-next-line */ }
  .ecl-icon--gear::before {
    content: '\e900'; }

.ecl-icon--generic-lang {
  /* stylelint-disable-next-line */ }
  .ecl-icon--generic-lang::before {
    content: '\e81e'; }

.ecl-icon--global {
  /* stylelint-disable-next-line */ }
  .ecl-icon--global::before {
    content: '\e829'; }

.ecl-icon--growth {
  /* stylelint-disable-next-line */ }
  .ecl-icon--growth::before {
    content: '\e82a'; }

.ecl-icon--image {
  /* stylelint-disable-next-line */ }
  .ecl-icon--image::before {
    content: '\e80d'; }

.ecl-icon--in {
  /* stylelint-disable-next-line */ }
  .ecl-icon--in::before {
    content: '\e806'; }

.ecl-icon--info {
  /* stylelint-disable-next-line */ }
  .ecl-icon--info::before {
    content: '\e815'; }

.ecl-icon--infographic {
  /* stylelint-disable-next-line */ }
  .ecl-icon--infographic::before {
    content: '\e80f'; }

.ecl-icon--instagram {
  /* stylelint-disable-next-line */ }
  .ecl-icon--instagram::before {
    content: '\e902'; }

.ecl-icon--language {
  /* stylelint-disable-next-line */ }
  .ecl-icon--language::before {
    content: '\e824'; }

.ecl-icon--left {
  /* stylelint-disable-next-line */ }
  .ecl-icon--left::before {
    content: '\e826'; }

.ecl-icon--linkedin {
  /* stylelint-disable-next-line */ }
  .ecl-icon--linkedin::before {
    content: '\e810'; }

.ecl-icon--livestreaming {
  /* stylelint-disable-next-line */ }
  .ecl-icon--livestreaming::before {
    content: '\e81c'; }

.ecl-icon--location {
  /* stylelint-disable-next-line */ }
  .ecl-icon--location::before {
    content: '\e81b'; }

.ecl-icon--multiple-files {
  /* stylelint-disable-next-line */ }
  .ecl-icon--multiple-files::before {
    content: '\e820'; }

.ecl-icon--organigram {
  /* stylelint-disable-next-line */ }
  .ecl-icon--organigram::before {
    content: '\e811'; }

.ecl-icon--package {
  /* stylelint-disable-next-line */ }
  .ecl-icon--package::before {
    content: '\e812'; }

.ecl-icon--presentation {
  /* stylelint-disable-next-line */ }
  .ecl-icon--presentation::before {
    content: '\e80e'; }

.ecl-icon--regulation {
  /* stylelint-disable-next-line */ }
  .ecl-icon--regulation::before {
    content: '\e82b'; }

.ecl-icon--right {
  /* stylelint-disable-next-line */ }
  .ecl-icon--right::before {
    content: '\e828'; }

.ecl-icon--rss {
  /* stylelint-disable-next-line */ }
  .ecl-icon--rss::before {
    content: '\e813'; }

.ecl-icon--search {
  /* stylelint-disable-next-line */ }
  .ecl-icon--search::before {
    content: '\e823'; }

.ecl-icon--share {
  /* stylelint-disable-next-line */ }
  .ecl-icon--share::before {
    content: '\e808'; }

.ecl-icon--slides {
  /* stylelint-disable-next-line */ }
  .ecl-icon--slides::before {
    content: '\e80e'; }

.ecl-icon--spinner {
  /* stylelint-disable-next-line */ }
  .ecl-icon--spinner::before {
    content: '\e805'; }

.ecl-icon--spreadsheet {
  /* stylelint-disable-next-line */ }
  .ecl-icon--spreadsheet::before {
    content: '\2d'; }

.ecl-icon--success {
  /* stylelint-disable-next-line */ }
  .ecl-icon--success::before {
    content: '\e814'; }

.ecl-icon--tag-close {
  /* stylelint-disable-next-line */ }
  .ecl-icon--tag-close::before {
    content: '\e82c'; }

.ecl-icon--twitter {
  /* stylelint-disable-next-line */ }
  .ecl-icon--twitter::before {
    content: '\e817'; }

.ecl-icon--up {
  /* stylelint-disable-next-line */ }
  .ecl-icon--up::before {
    content: '\e827'; }

.ecl-icon--video {
  /* stylelint-disable-next-line */ }
  .ecl-icon--video::before {
    content: '\e800'; }

.ecl-icon--warning {
  /* stylelint-disable-next-line */ }
  .ecl-icon--warning::before {
    content: '\e804'; }

.ecl-icon--rounded {
  border-radius: 50%;
  display: inline-block;
  font-size: 0.875rem;
  height: 2.22rem;
  line-height: 2.22rem;
  text-align: center;
  width: 2.22rem; }

.ecl-icon--rounded::before {
  line-height: inherit;
  margin-right: 0; }

/**
 * Image
 * @define image
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Image
 * @define image
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-image {
  border-style: none;
  vertical-align: baseline; }

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

.ecl-image--align-middle {
  vertical-align: middle; }

/**
 * Typography rules
 * @define typography
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Typography rules
 * @define typography
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-typography {
  font-family: Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility; }

/**
 * Headings
 * @define heading
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Headings
 * @define heading
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-heading {
  margin: 0 0 1.66rem;
  padding: 0; }

.ecl-heading--h1 {
  color: #000;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.1; }

.ecl-heading--h2 {
  color: #000;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.1; }

.ecl-heading--h3 {
  color: #404040;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 32em; }

.ecl-heading--h4 {
  color: #404040;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 32em; }

.ecl-heading--h5 {
  color: #404040;
  font-size: 1rem;
  line-height: 1.1;
  max-width: 32em;
  text-transform: uppercase; }

.ecl-heading--headline {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 2.2; }

/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-heading--h1 {
  margin-top: 4.44rem; }

/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-heading--h2 {
  margin-top: 3.33rem; }

/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-heading--h3 {
  margin-top: 2.22rem; }

/**
 * List
 * @define list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * List
 * @define list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-list {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em; }

.ecl-list--alpha {
  list-style-type: lower-latin; }

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

.ecl-list--inline {
  list-style: none;
  padding-left: 0;
  /* stylelint-disable-next-line */ }
  .ecl-list--inline li {
    display: inline-block;
    margin-left: 0.66rem;
    /* stylelint-disable-next-line */ }
    .ecl-list--inline li:first-child {
      margin-left: 0; }

/**
 * Typography: paragraphs
 * @define paragraph
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Typography: paragraphs
 * @define paragraph
 */
.ecl-paragraph {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em; }

.ecl-paragraph--l {
  font-size: 1.375rem; }

.ecl-paragraph--m {
  font-size: 1.125rem; }

.ecl-paragraph--s {
  font-size: 1rem; }

.ecl-paragraph--xs {
  font-size: 0.875rem; }

.ecl-paragraph--xxs {
  font-size: 0.75rem; }

/**
 * Image
 * @define image
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Editor - Image
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor img {
  border-style: none;
  height: auto;
  max-width: 100%;
  vertical-align: baseline; }

.ecl-editor * + img {
  margin-top: 0.66rem; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor h1 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #000;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.1; }

.ecl-editor h2 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #000;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.1; }

.ecl-editor h3 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #404040;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 32em; }

.ecl-editor h4 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #404040;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.1;
  max-width: 32em; }

.ecl-editor h5 {
  margin: 0 0 1.66rem;
  padding: 0;
  color: #404040;
  font-size: 1rem;
  line-height: 1.1;
  max-width: 32em;
  text-transform: uppercase; }

.ecl-editor * + h1 {
  margin-top: 4.44rem; }

.ecl-editor * + h2 {
  margin-top: 3.33rem; }

.ecl-editor * + h3 {
  margin-top: 2.22rem; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor ul,
.ecl-editor ol {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor * {
  box-sizing: border-box;
  color: #404040;
  font-size: 1.125rem;
  margin: 0; }

.ecl-editor p {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em;
  margin: 0; }

.ecl-editor * + p {
  margin-top: 0.66rem; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable max-nesting-depth */
.ecl-container {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 480px) {
    .ecl-container {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 768px) {
    .ecl-container {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 992px) {
    .ecl-container {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 1200px) {
    .ecl-container {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 480px) {
    .ecl-container {
      max-width: 100%;
      width: 440px; } }
  @media (min-width: 768px) {
    .ecl-container {
      max-width: 100%;
      width: 720px; } }
  @media (min-width: 992px) {
    .ecl-container {
      max-width: 100%;
      width: 960px; } }
  @media (min-width: 1200px) {
    .ecl-container {
      max-width: 100%;
      width: 1170px; } }

.ecl-container-fluid {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (min-width: 480px) {
    .ecl-container-fluid {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 768px) {
    .ecl-container-fluid {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 992px) {
    .ecl-container-fluid {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 1200px) {
    .ecl-container-fluid {
      padding-left: 1rem;
      padding-right: 1rem; } }

.ecl-row {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  margin-left: -1rem;
  margin-right: -1rem; }
  @media (min-width: 480px) {
    .ecl-row {
      margin-left: -1rem;
      margin-right: -1rem; } }
  @media (min-width: 768px) {
    .ecl-row {
      margin-left: -1rem;
      margin-right: -1rem; } }
  @media (min-width: 992px) {
    .ecl-row {
      margin-left: -1rem;
      margin-right: -1rem; } }
  @media (min-width: 1200px) {
    .ecl-row {
      margin-left: -1rem;
      margin-right: -1rem; } }

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

.ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
  min-height: 1px;
  position: relative;
  width: 100%; }
  @media (min-width: 480px) {
    .ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 768px) {
    .ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 992px) {
    .ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media (min-width: 1200px) {
    .ecl-col-1, .ecl-col-2, .ecl-col-3, .ecl-col-4, .ecl-col-5, .ecl-col-6, .ecl-col-7, .ecl-col-8, .ecl-col-9, .ecl-col-10, .ecl-col-11, .ecl-col-12, .ecl-col, .ecl-col-sm-1, .ecl-col-sm-2, .ecl-col-sm-3, .ecl-col-sm-4, .ecl-col-sm-5, .ecl-col-sm-6, .ecl-col-sm-7, .ecl-col-sm-8, .ecl-col-sm-9, .ecl-col-sm-10, .ecl-col-sm-11, .ecl-col-sm-12, .ecl-col-sm, .ecl-col-md-1, .ecl-col-md-2, .ecl-col-md-3, .ecl-col-md-4, .ecl-col-md-5, .ecl-col-md-6, .ecl-col-md-7, .ecl-col-md-8, .ecl-col-md-9, .ecl-col-md-10, .ecl-col-md-11, .ecl-col-md-12, .ecl-col-md, .ecl-col-lg-1, .ecl-col-lg-2, .ecl-col-lg-3, .ecl-col-lg-4, .ecl-col-lg-5, .ecl-col-lg-6, .ecl-col-lg-7, .ecl-col-lg-8, .ecl-col-lg-9, .ecl-col-lg-10, .ecl-col-lg-11, .ecl-col-lg-12, .ecl-col-lg, .ecl-col-xl-1, .ecl-col-xl-2, .ecl-col-xl-3, .ecl-col-xl-4, .ecl-col-xl-5, .ecl-col-xl-6, .ecl-col-xl-7, .ecl-col-xl-8, .ecl-col-xl-9, .ecl-col-xl-10, .ecl-col-xl-11, .ecl-col-xl-12, .ecl-col-xl {
      padding-left: 1rem;
      padding-right: 1rem; } }

/* stylelint-disable-next-line order/order */
.ecl-col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.ecl-col-auto {
  flex: 0 0 auto;
  width: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

.ecl-pull-0 {
  right: auto; }

.ecl-pull-1 {
  right: 8.33333%; }

.ecl-pull-2 {
  right: 16.66667%; }

.ecl-pull-3 {
  right: 25%; }

.ecl-pull-4 {
  right: 33.33333%; }

.ecl-pull-5 {
  right: 41.66667%; }

.ecl-pull-6 {
  right: 50%; }

.ecl-pull-7 {
  right: 58.33333%; }

.ecl-pull-8 {
  right: 66.66667%; }

.ecl-pull-9 {
  right: 75%; }

.ecl-pull-10 {
  right: 83.33333%; }

.ecl-pull-11 {
  right: 91.66667%; }

.ecl-pull-12 {
  right: 100%; }

.ecl-push-0 {
  left: auto; }

.ecl-push-1 {
  left: 8.33333%; }

.ecl-push-2 {
  left: 16.66667%; }

.ecl-push-3 {
  left: 25%; }

.ecl-push-4 {
  left: 33.33333%; }

.ecl-push-5 {
  left: 41.66667%; }

.ecl-push-6 {
  left: 50%; }

.ecl-push-7 {
  left: 58.33333%; }

.ecl-push-8 {
  left: 66.66667%; }

.ecl-push-9 {
  left: 75%; }

.ecl-push-10 {
  left: 83.33333%; }

.ecl-push-11 {
  left: 91.66667%; }

.ecl-push-12 {
  left: 100%; }

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

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

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

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

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

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

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

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

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

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

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

/* stylelint-disable-next-line order/order */
@media (min-width: 480px) {
  .ecl-col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .ecl-col-sm-auto {
    flex: 0 0 auto;
    width: auto; }
  .ecl-col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .ecl-col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .ecl-col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .ecl-col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .ecl-col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .ecl-col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .ecl-col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .ecl-col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .ecl-col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .ecl-col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .ecl-col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .ecl-col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .ecl-pull-sm-0 {
    right: auto; }
  .ecl-pull-sm-1 {
    right: 8.33333%; }
  .ecl-pull-sm-2 {
    right: 16.66667%; }
  .ecl-pull-sm-3 {
    right: 25%; }
  .ecl-pull-sm-4 {
    right: 33.33333%; }
  .ecl-pull-sm-5 {
    right: 41.66667%; }
  .ecl-pull-sm-6 {
    right: 50%; }
  .ecl-pull-sm-7 {
    right: 58.33333%; }
  .ecl-pull-sm-8 {
    right: 66.66667%; }
  .ecl-pull-sm-9 {
    right: 75%; }
  .ecl-pull-sm-10 {
    right: 83.33333%; }
  .ecl-pull-sm-11 {
    right: 91.66667%; }
  .ecl-pull-sm-12 {
    right: 100%; }
  .ecl-push-sm-0 {
    left: auto; }
  .ecl-push-sm-1 {
    left: 8.33333%; }
  .ecl-push-sm-2 {
    left: 16.66667%; }
  .ecl-push-sm-3 {
    left: 25%; }
  .ecl-push-sm-4 {
    left: 33.33333%; }
  .ecl-push-sm-5 {
    left: 41.66667%; }
  .ecl-push-sm-6 {
    left: 50%; }
  .ecl-push-sm-7 {
    left: 58.33333%; }
  .ecl-push-sm-8 {
    left: 66.66667%; }
  .ecl-push-sm-9 {
    left: 75%; }
  .ecl-push-sm-10 {
    left: 83.33333%; }
  .ecl-push-sm-11 {
    left: 91.66667%; }
  .ecl-push-sm-12 {
    left: 100%; }
  .ecl-offset-sm-0 {
    margin-left: 0%; }
  .ecl-offset-sm-1 {
    margin-left: 8.33333%; }
  .ecl-offset-sm-2 {
    margin-left: 16.66667%; }
  .ecl-offset-sm-3 {
    margin-left: 25%; }
  .ecl-offset-sm-4 {
    margin-left: 33.33333%; }
  .ecl-offset-sm-5 {
    margin-left: 41.66667%; }
  .ecl-offset-sm-6 {
    margin-left: 50%; }
  .ecl-offset-sm-7 {
    margin-left: 58.33333%; }
  .ecl-offset-sm-8 {
    margin-left: 66.66667%; }
  .ecl-offset-sm-9 {
    margin-left: 75%; }
  .ecl-offset-sm-10 {
    margin-left: 83.33333%; }
  .ecl-offset-sm-11 {
    margin-left: 91.66667%; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .ecl-col-md-auto {
    flex: 0 0 auto;
    width: auto; }
  .ecl-col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .ecl-col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .ecl-col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .ecl-col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .ecl-col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .ecl-col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .ecl-col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .ecl-col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .ecl-col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .ecl-col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .ecl-col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .ecl-col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .ecl-pull-md-0 {
    right: auto; }
  .ecl-pull-md-1 {
    right: 8.33333%; }
  .ecl-pull-md-2 {
    right: 16.66667%; }
  .ecl-pull-md-3 {
    right: 25%; }
  .ecl-pull-md-4 {
    right: 33.33333%; }
  .ecl-pull-md-5 {
    right: 41.66667%; }
  .ecl-pull-md-6 {
    right: 50%; }
  .ecl-pull-md-7 {
    right: 58.33333%; }
  .ecl-pull-md-8 {
    right: 66.66667%; }
  .ecl-pull-md-9 {
    right: 75%; }
  .ecl-pull-md-10 {
    right: 83.33333%; }
  .ecl-pull-md-11 {
    right: 91.66667%; }
  .ecl-pull-md-12 {
    right: 100%; }
  .ecl-push-md-0 {
    left: auto; }
  .ecl-push-md-1 {
    left: 8.33333%; }
  .ecl-push-md-2 {
    left: 16.66667%; }
  .ecl-push-md-3 {
    left: 25%; }
  .ecl-push-md-4 {
    left: 33.33333%; }
  .ecl-push-md-5 {
    left: 41.66667%; }
  .ecl-push-md-6 {
    left: 50%; }
  .ecl-push-md-7 {
    left: 58.33333%; }
  .ecl-push-md-8 {
    left: 66.66667%; }
  .ecl-push-md-9 {
    left: 75%; }
  .ecl-push-md-10 {
    left: 83.33333%; }
  .ecl-push-md-11 {
    left: 91.66667%; }
  .ecl-push-md-12 {
    left: 100%; }
  .ecl-offset-md-0 {
    margin-left: 0%; }
  .ecl-offset-md-1 {
    margin-left: 8.33333%; }
  .ecl-offset-md-2 {
    margin-left: 16.66667%; }
  .ecl-offset-md-3 {
    margin-left: 25%; }
  .ecl-offset-md-4 {
    margin-left: 33.33333%; }
  .ecl-offset-md-5 {
    margin-left: 41.66667%; }
  .ecl-offset-md-6 {
    margin-left: 50%; }
  .ecl-offset-md-7 {
    margin-left: 58.33333%; }
  .ecl-offset-md-8 {
    margin-left: 66.66667%; }
  .ecl-offset-md-9 {
    margin-left: 75%; }
  .ecl-offset-md-10 {
    margin-left: 83.33333%; }
  .ecl-offset-md-11 {
    margin-left: 91.66667%; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .ecl-col-lg-auto {
    flex: 0 0 auto;
    width: auto; }
  .ecl-col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .ecl-col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .ecl-col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .ecl-col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .ecl-col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .ecl-col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .ecl-col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .ecl-col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .ecl-col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .ecl-col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .ecl-col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .ecl-col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .ecl-pull-lg-0 {
    right: auto; }
  .ecl-pull-lg-1 {
    right: 8.33333%; }
  .ecl-pull-lg-2 {
    right: 16.66667%; }
  .ecl-pull-lg-3 {
    right: 25%; }
  .ecl-pull-lg-4 {
    right: 33.33333%; }
  .ecl-pull-lg-5 {
    right: 41.66667%; }
  .ecl-pull-lg-6 {
    right: 50%; }
  .ecl-pull-lg-7 {
    right: 58.33333%; }
  .ecl-pull-lg-8 {
    right: 66.66667%; }
  .ecl-pull-lg-9 {
    right: 75%; }
  .ecl-pull-lg-10 {
    right: 83.33333%; }
  .ecl-pull-lg-11 {
    right: 91.66667%; }
  .ecl-pull-lg-12 {
    right: 100%; }
  .ecl-push-lg-0 {
    left: auto; }
  .ecl-push-lg-1 {
    left: 8.33333%; }
  .ecl-push-lg-2 {
    left: 16.66667%; }
  .ecl-push-lg-3 {
    left: 25%; }
  .ecl-push-lg-4 {
    left: 33.33333%; }
  .ecl-push-lg-5 {
    left: 41.66667%; }
  .ecl-push-lg-6 {
    left: 50%; }
  .ecl-push-lg-7 {
    left: 58.33333%; }
  .ecl-push-lg-8 {
    left: 66.66667%; }
  .ecl-push-lg-9 {
    left: 75%; }
  .ecl-push-lg-10 {
    left: 83.33333%; }
  .ecl-push-lg-11 {
    left: 91.66667%; }
  .ecl-push-lg-12 {
    left: 100%; }
  .ecl-offset-lg-0 {
    margin-left: 0%; }
  .ecl-offset-lg-1 {
    margin-left: 8.33333%; }
  .ecl-offset-lg-2 {
    margin-left: 16.66667%; }
  .ecl-offset-lg-3 {
    margin-left: 25%; }
  .ecl-offset-lg-4 {
    margin-left: 33.33333%; }
  .ecl-offset-lg-5 {
    margin-left: 41.66667%; }
  .ecl-offset-lg-6 {
    margin-left: 50%; }
  .ecl-offset-lg-7 {
    margin-left: 58.33333%; }
  .ecl-offset-lg-8 {
    margin-left: 66.66667%; }
  .ecl-offset-lg-9 {
    margin-left: 75%; }
  .ecl-offset-lg-10 {
    margin-left: 83.33333%; }
  .ecl-offset-lg-11 {
    margin-left: 91.66667%; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 1200px) {
  .ecl-col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .ecl-col-xl-auto {
    flex: 0 0 auto;
    width: auto; }
  .ecl-col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .ecl-col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .ecl-col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .ecl-col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .ecl-col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .ecl-col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .ecl-col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .ecl-col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .ecl-col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .ecl-col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .ecl-col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .ecl-col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .ecl-pull-xl-0 {
    right: auto; }
  .ecl-pull-xl-1 {
    right: 8.33333%; }
  .ecl-pull-xl-2 {
    right: 16.66667%; }
  .ecl-pull-xl-3 {
    right: 25%; }
  .ecl-pull-xl-4 {
    right: 33.33333%; }
  .ecl-pull-xl-5 {
    right: 41.66667%; }
  .ecl-pull-xl-6 {
    right: 50%; }
  .ecl-pull-xl-7 {
    right: 58.33333%; }
  .ecl-pull-xl-8 {
    right: 66.66667%; }
  .ecl-pull-xl-9 {
    right: 75%; }
  .ecl-pull-xl-10 {
    right: 83.33333%; }
  .ecl-pull-xl-11 {
    right: 91.66667%; }
  .ecl-pull-xl-12 {
    right: 100%; }
  .ecl-push-xl-0 {
    left: auto; }
  .ecl-push-xl-1 {
    left: 8.33333%; }
  .ecl-push-xl-2 {
    left: 16.66667%; }
  .ecl-push-xl-3 {
    left: 25%; }
  .ecl-push-xl-4 {
    left: 33.33333%; }
  .ecl-push-xl-5 {
    left: 41.66667%; }
  .ecl-push-xl-6 {
    left: 50%; }
  .ecl-push-xl-7 {
    left: 58.33333%; }
  .ecl-push-xl-8 {
    left: 66.66667%; }
  .ecl-push-xl-9 {
    left: 75%; }
  .ecl-push-xl-10 {
    left: 83.33333%; }
  .ecl-push-xl-11 {
    left: 91.66667%; }
  .ecl-push-xl-12 {
    left: 100%; }
  .ecl-offset-xl-0 {
    margin-left: 0%; }
  .ecl-offset-xl-1 {
    margin-left: 8.33333%; }
  .ecl-offset-xl-2 {
    margin-left: 16.66667%; }
  .ecl-offset-xl-3 {
    margin-left: 25%; }
  .ecl-offset-xl-4 {
    margin-left: 33.33333%; }
  .ecl-offset-xl-5 {
    margin-left: 41.66667%; }
  .ecl-offset-xl-6 {
    margin-left: 50%; }
  .ecl-offset-xl-7 {
    margin-left: 58.33333%; }
  .ecl-offset-xl-8 {
    margin-left: 66.66667%; }
  .ecl-offset-xl-9 {
    margin-left: 75%; }
  .ecl-offset-xl-10 {
    margin-left: 83.33333%; }
  .ecl-offset-xl-11 {
    margin-left: 91.66667%; } }

/**
 * Form
 * @define form
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Form
 * @define form
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-form {
  margin: 0;
  padding: 0; }

/**
 * Form Fieldset
 * @define fieldset
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Form Fieldset
 * @define fieldset
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-fieldset {
  margin-top: 1.66rem; }

/* Top-level fieldsets */
.ecl-fieldset + .ecl-fieldset {
  margin-top: 3.33rem; }

/* Nested fieldsets */
.ecl-fieldset .ecl-fieldset + .ecl-fieldset {
  margin-top: 2.22rem; }

/**
 * Legend component
 * @define form-legend
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Legend component
 * @define form-legend
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-form-legend {
  font-weight: 600;
  line-height: 1.66;
  margin: 0; }

/* Variants */
.ecl-form-legend--level-1 {
  border-bottom: 1px solid #9f9f9f;
  color: #404040;
  display: block;
  font-size: 1.375rem;
  width: 100%; }

.ecl-form-legend--level-2 {
  color: #000;
  font-size: 1.125rem; }

/**
 * Form Group
 * @define form-group
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Form Group
 * @define form-group
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-form-group {
  margin: 0; }
  @media print {
    .ecl-form-group {
      display: none !important; } }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-form-group {
  margin-top: 1.66rem; }

/**
 * Buttons component
 * @define form-label
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Buttons component
 * @define form-label
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-form-label {
  color: #404040;
  display: block;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0;
  padding: 0;
  text-align: left; }

/**
 * Checkbox component
 * @define checkbox
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Checkbox component
 * @define checkbox
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-checkbox {
  display: block;
  font-size: 1.125rem;
  margin: 0;
  padding: 0; }

.ecl-checkbox--is-disabled {
  color: #707070;
  cursor: not-allowed; }

.ecl-checkbox__label {
  align-items: center;
  display: inline-flex; }
  .ecl-checkbox__label::before {
    background: #fff url("../images/checkbox-unchecked.svg") no-repeat;
    border: 3px solid transparent;
    border-radius: 25%;
    box-sizing: border-box;
    content: '';
    display: block;
    flex-shrink: 0;
    height: 1.5em;
    margin-right: 0.66rem;
    width: 1.5em; }

.ecl-checkbox--has-error .ecl-checkbox__label::before {
  border-color: #da2130; }

.ecl-checkbox--is-disabled .ecl-checkbox__label::before {
  box-shadow: 0 0 1.5em #e3e3e3 inset; }

.ecl-checkbox__input:checked + .ecl-checkbox__label::before {
  background-image: url("../images/checkbox-checked--blue.svg"); }

.ecl-checkbox__input:focus + .ecl-checkbox__label::before {
  border-color: #ffd617; }

/*
 * Feedback message
 * @define feedback-message
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Feedback message
 * @define feedback-message
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Typography: paragraphs
 * @define paragraph
 */
.ecl-feedback-message {
  background: transparent url("../images/messages-info.svg") no-repeat 1.2rem 1.2rem;
  color: #404040;
  font-size: 1rem;
  margin: 0;
  min-height: 2.22rem;
  padding: 0.89rem 2.22rem 0.89rem 4.44rem; }
  @media print {
    .ecl-feedback-message {
      display: none !important; } }

.ecl-feedback-message--error {
  background-color: #f5f5f5;
  background-image: url("../images/messages-error.svg"); }

.ecl-feedback-message__title {
  font-weight: bold;
  margin-bottom: 0.89rem; }

.ecl-feedback-message__body {
  color: #404040;
  font-size: 1.125rem;
  line-height: 1.66;
  max-width: 32em;
  font-size: 1rem;
  margin: 0; }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-feedback-message {
  margin-top: 0.89rem; }

/*
 * File upload
 * @define file-upload
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * File upload
 * @define file-upload
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-file-upload {
  display: inline-flex;
  margin: 0;
  width: 100%; }

.ecl-file-upload__value {
  background-color: #fff;
  background-image: none;
  border: 1px solid #404040;
  color: #404040;
  display: block;
  flex-grow: 1;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  overflow: hidden;
  padding: 0.33rem 0.66rem;
  text-overflow: ellipsis;
  white-space: nowrap; }
  .ecl-file-upload__value:focus {
    border-color: #fbc11d;
    outline: 3px solid #fbc11d;
    outline-offset: 0;
    text-decoration: none; }

.ecl-file-upload__browse {
  background-color: #404040;
  border: 2px solid transparent;
  color: #fff;
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  margin: 0;
  padding: 0.33rem 0.89rem; }
  .ecl-file-upload__browse:hover, .ecl-file-upload__browse:focus, .ecl-file-upload__browse:active {
    background-color: #004494;
    outline: 3px solid #fbc11d;
    outline-offset: -3px; }

.ecl-file-upload__upload {
  background-color: #004494;
  border: 2px solid transparent;
  color: #fff;
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  margin-left: 0.33rem;
  padding: 0.33rem 0.89rem; }
  .ecl-file-upload__upload:hover, .ecl-file-upload__upload:focus, .ecl-file-upload__upload:active {
    background-color: #fff;
    border-color: #004494;
    color: #004494;
    text-decoration: underline; }
  .ecl-file-upload__upload:focus {
    outline: 3px solid #fbc11d;
    outline-offset: -3px; }

.ecl-file-upload__input {
  display: none; }

.ecl-file-upload--is-disabled .ecl-file-upload__value {
  background-color: #eee;
  cursor: not-allowed; }

.ecl-file-upload--is-disabled .ecl-file-upload__browse {
  cursor: not-allowed; }

.ecl-file-upload--has-error .ecl-file-upload__value {
  border-color: #da2130;
  border-width: 2px; }

.ecl-file-upload--has-error .ecl-file-upload__browse {
  background-color: #da2130; }

/*
 * Help Block
 * @define help-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Help Block
 * @define help-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-help-block, .main-content .password-strength .password-strength__title,
.main-content .password-suggestions.description,
.main-content .password-confirm,
.main-content .filter-help {
  color: #404040;
  font-size: 0.875rem;
  line-height: 1.66;
  margin: 0; }
  @media print {
    .ecl-help-block, .main-content .password-strength .password-strength__title,
    .main-content .password-suggestions.description,
    .main-content .password-confirm,
    .main-content .filter-help {
      display: none !important; } }

.ecl-help-block--disabled {
  color: #707070; }

.ecl-help-block--has-error {
  color: #404040; }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-help-block, .main-content .password-strength * + .password-strength__title,
.main-content * + .password-suggestions.description,
.main-content * + .password-confirm,
.main-content * + .filter-help {
  margin-top: 0.89rem; }

/*
 * Radio
 * @define radio
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Radio
 * @define radio
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-radio {
  display: block;
  font-size: 1.125rem;
  margin: 0;
  padding: 0.33rem 0; }

.ecl-radio--is-disabled {
  color: #707070;
  cursor: not-allowed; }

.ecl-radio__label {
  align-items: center;
  display: inline-flex; }
  .ecl-radio__label::before {
    background: #fff url("../images/radio-unchecked.svg") no-repeat;
    border: 3px solid transparent;
    border-radius: 50%;
    box-sizing: border-box;
    content: '';
    display: block;
    flex-shrink: 0;
    height: 1.5rem;
    margin-right: 0.66rem;
    width: 1.5rem; }

.ecl-radio--has-error .ecl-radio__label::before {
  border-color: #da2130; }

.ecl-radio__input:checked + .ecl-radio__label::before {
  background-image: url("../images/radio-checked--blue.svg"); }

.ecl-radio__input:focus + .ecl-radio__label::before {
  border-color: #ffd617; }

/*
 * Radio group
 * @define radio-group
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Radio group
 * @define radio-group
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-radio-group {
  margin: 0;
  padding: 0; }

/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-select {
  background: url("../images/arrow-down--white.svg"), linear-gradient(to bottom, #404040, #404040);
  background-position: right 0.66rem center, right;
  background-repeat: no-repeat;
  background-size: 1rem auto, 2.32rem 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #404040;
  border-radius: 0;
  color: #404040;
  display: block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  margin: 0;
  padding: 0.66rem 2.65rem 0.66rem 0.66rem;
  width: 100%;
  /* Spacing */
  /* stylelint-disable-next-line plugin/selector-bem-pattern */ }
  * + .ecl-select {
    margin-top: 0.89rem; }
  .ecl-select::-ms-expand {
    display: none; }
  .ecl-select:focus {
    border-color: #fbc11d;
    outline: 3px solid #fbc11d;
    outline-offset: 0;
    text-decoration: none; }
  .ecl-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000; }
  .ecl-select[disabled], .ecl-select[readonly] {
    background-color: #eee;
    cursor: not-allowed;
    opacity: 1; }
  .ecl-select:not([disabled]):not([readonly]):hover {
    background: url("../images/arrow-down--white.svg"), linear-gradient(to bottom, #004494, #004494);
    background-position: right 0.66rem center, right;
    background-repeat: no-repeat;
    background-size: 1rem auto, 2.32rem 100%;
    border-color: #004494; }

.ecl-select--has-error {
  background: url("../images/arrow-down--white.svg"), linear-gradient(to bottom, #da2130, #da2130);
  background-position: right 0.66rem center, right;
  background-repeat: no-repeat;
  background-size: 1rem auto, 2.32rem 100%;
  border-color: #da2130;
  border-width: 2px; }

/**
 * Text input component
 * @define text-input
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Text input component
 * @define text-input
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-text-input {
  background-color: #fff;
  background-image: none;
  border: 1px solid #404040;
  box-sizing: border-box;
  color: #404040;
  display: block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  padding: 0.33rem 0.66rem;
  width: 100%;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */ }
  * + .ecl-text-input {
    margin-top: 0.89rem; }
  .ecl-text-input:focus {
    border-color: #fbc11d;
    outline: 3px solid #fbc11d;
    outline-offset: 0;
    text-decoration: none; }
  .ecl-text-input[disabled], .ecl-text-input[readonly] {
    background-color: #eee;
    cursor: not-allowed;
    opacity: 1; }

.ecl-text-input--has-error {
  border-color: #da2130;
  border-width: 2px; }

/**
 * Textarea component
 * @define textarea
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Textarea component
 * @define textarea
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-textarea {
  background-color: #fff;
  background-image: none;
  border: 1px solid #404040;
  box-sizing: border-box;
  color: #404040;
  display: block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  padding: 0.33rem 0.66rem;
  width: 100%;
  /* stylelint-disable-next-line plugin/selector-bem-pattern */ }
  * + .ecl-textarea {
    margin-top: 0.89rem; }
  .ecl-textarea:focus {
    border-color: #fbc11d;
    outline: 3px solid #fbc11d;
    outline-offset: 0;
    text-decoration: none; }
  .ecl-textarea[disabled], .ecl-textarea--is-disabled, .ecl-textarea[readonly], .ecl-textarea--is-readonly {
    background-color: #eee;
    cursor: not-allowed;
    opacity: 1; }

.ecl-textarea--has-error {
  border-color: #da2130; }
  .ecl-textarea--has-error:focus {
    border-color: #ae1a26;
    outline-color: #ae1a26; }

/**
 * Blockquotes
 * @define blockquote
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Blockquotes
 * @define blockquote
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-blockquote {
  border-left: 8px solid #ffd617;
  margin: 0;
  padding: 0.66rem 0 0.66rem 1.66rem; }

.ecl-blockquote__body {
  color: #404040;
  font-size: 1.375rem;
  font-style: italic;
  line-height: 1.5;
  margin: 0; }
  .ecl-blockquote__body::before {
    content: open-quote; }
  .ecl-blockquote__body::after {
    content: close-quote; }

.ecl-blockquote__author {
  color: #404040;
  font-size: 1rem;
  font-style: italic;
  font-weight: 600;
  margin-top: 0.66rem; }

.ecl-blockquote--small {
  border-left-width: 6px; }
  .ecl-blockquote--small .ecl-blockquote__body {
    font-size: 1.125rem; }
  .ecl-blockquote--small .ecl-blockquote__author {
    font-size: 0.875rem; }

/**
 * Button component
 * @define button
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Buttons component
 * @define button
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 2px solid transparent;
  box-sizing: border-box;
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  margin: 0;
  padding: 0.89rem 1rem;
  text-decoration: none; }
  .ecl-button:hover, .ecl-button:focus, .ecl-button:active {
    text-decoration: underline; }
  .ecl-button:focus {
    outline: 3px solid #ffd617;
    outline-offset: -3px; }

.ecl-button:link {
  text-decoration: none; }
  .ecl-button:link:hover {
    text-decoration: underline; }

.ecl-button--default {
  border-color: #004494;
  color: #004494; }
  .ecl-button--default:hover, .ecl-button--default:focus, .ecl-button--default:active {
    background-color: #004494;
    color: #fff; }
  .ecl-button--default[disabled] {
    background-color: transparent;
    border-color: #bfd0e4;
    color: #bfd0e4;
    text-decoration: none; }

.ecl-button--primary {
  background-color: #004494;
  border-color: #004494;
  color: #fff; }
  .ecl-button--primary:hover, .ecl-button--primary:focus, .ecl-button--primary:active {
    background-color: transparent;
    color: #004494; }
  .ecl-button--primary[disabled] {
    background-color: #bfd0e4;
    border-color: #bfd0e4;
    color: #fff;
    text-decoration: none; }

.ecl-button--secondary {
  color: #004494; }
  .ecl-button--secondary:hover, .ecl-button--secondary:focus, .ecl-button--secondary:active {
    color: #404040; }
  .ecl-button--secondary[disabled] {
    background-color: transparent;
    color: #bfd0e4;
    text-decoration: none; }

.ecl-button--call {
  background-color: #ffd617;
  border-color: #ffd617;
  color: #000; }
  .ecl-button--call:focus {
    border-color: #000;
    outline-color: #000; }
  .ecl-button--call[disabled] {
    background-color: #fff4bb;
    border-color: #fff4bb;
    color: #9f9f9f;
    text-decoration: none; }

.ecl-button--form {
  background-color: #e3e3e3;
  border-color: #e3e3e3;
  color: #004494; }
  .ecl-button--form:hover {
    color: #404040; }
  .ecl-button--form:focus, .ecl-button--form:active {
    background-color: #004494;
    color: #fff; }

.ecl-button--form-primary {
  background-color: #004494;
  border-color: #004494;
  color: #fff; }
  .ecl-button--form-primary:hover {
    background-color: #e3e3e3;
    border-color: #e3e3e3;
    color: #404040; }
  .ecl-button--form-primary:focus, .ecl-button--form-primary:active {
    background-color: #004494;
    color: #fff; }

.ecl-button--block {
  display: block;
  width: 100%; }

.ecl-button--caret-up::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e827';
  font-size: 0.875rem;
  margin-left: 0.66rem; }

.ecl-button--caret-right::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e828';
  font-size: 0.875rem;
  margin-left: 0.66rem; }

.ecl-button--caret-down::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e81f';
  font-size: 0.875rem;
  margin-left: 0.66rem; }

/*
 * Date block
 * @define date-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Date block
 * @define date-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-date-block {
  background-color: #f5f5f5;
  border-bottom: 0.2em solid #ffd617;
  display: inline-flex;
  margin: 0;
  position: relative; }
  .ecl-date-block::before {
    border-left: 1.2em solid transparent;
    border-top: 1.2em solid #fff;
    content: '';
    position: absolute;
    right: 0;
    top: 0; }

.ecl-date-block__body {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  min-height: 5.55rem;
  min-width: 5.55rem; }

.ecl-date-block__week-day {
  font-size: 0.875rem;
  line-height: 1.2; }

.ecl-date-block__day {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2; }

.ecl-date-block__month {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1; }

.ecl-date-block__year {
  font-size: 1rem;
  line-height: 1.2; }

.ecl-date-block--ongoing {
  background-color: #ffd617; }

.ecl-date-block--cancelled {
  border-bottom-color: #ebebeb;
  text-decoration: line-through; }

.ecl-date-block--past {
  background-color: #fff;
  border: 0.2em solid #9f9f9f; }
  .ecl-date-block--past::before {
    border-left-width: 1.35em;
    border-top-width: 1.35em;
    right: -0.2em;
    top: -0.2em; }
  .ecl-date-block--past::after {
    border-right: 0.2em solid #9f9f9f;
    content: '';
    height: 1.85em;
    position: absolute;
    right: 0.45em;
    top: -0.4em;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }

/**
 * Fields component
 * @define field
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Fields component
 * @define field
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-field {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  margin: 0;
  width: 100%; }

.ecl-field__label {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0.33rem; }

.ecl-field + .ecl-field {
  margin-top: 0.66rem; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-field {
    align-items: center;
    flex-direction: row; }
  .ecl-field__label {
    margin-bottom: 0;
    width: 20%; }
  .ecl-field--aligned .ecl-field__body {
    margin-left: 20%; } }

/**
 * Labels component
 * @define label
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Labels component
 * @define label
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-label {
  color: #404040;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0;
  padding: 0.33rem 0.66rem;
  text-transform: uppercase; }

.ecl-label--upcoming {
  background-color: #fff4bb; }

.ecl-label--open {
  background-color: #ffd617; }

.ecl-label--close {
  background-color: #e3e3e3; }

/**
* Link component
* @define link
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
* Link component
* @define link
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-link {
  box-sizing: border-box;
  color: #004494;
  margin: 0;
  text-decoration: underline; }
  .ecl-link:hover, .ecl-link:focus {
    color: #000; }
  .ecl-link:focus {
    outline: 3px solid #ffd617;
    outline-offset: 2px; }
  .ecl-link:visited {
    color: #550745; }

.ecl-link--external::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e825';
  font-size: 75%;
  margin-left: 0.4em;
  margin-right: 0.2em; }

.ecl-link--standalone {
  text-decoration: none; }
  .ecl-link--standalone:hover, .ecl-link--standalone:focus {
    text-decoration: underline; }

.ecl-link--inverted {
  color: #fff; }
  .ecl-link--inverted:hover, .ecl-link--inverted:focus, .ecl-link--inverted:visited {
    color: #fff; }

.ecl-link--all {
  clear: right;
  float: right;
  text-transform: uppercase; }

.ecl-link--more {
  text-transform: uppercase; }
  .ecl-link--more::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e828';
    font-size: 75%;
    margin-left: 0.4em;
    margin-right: 0.2em; }

/**
* Login bar component
* @define login-bar
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-login-bar {
  background-color: #f5f5f5;
  display: block;
  font-size: 1rem;
  margin: 0;
  padding: 0.66rem 0; }
  @media print {
    .ecl-login-bar {
      display: none !important; } }

.ecl-login-bar__container {
  display: flex;
  justify-content: flex-end; }

.ecl-login-bar__message {
  color: #404040;
  margin-right: 2.22rem; }

.ecl-login-bar__link {
  flex-shrink: 0; }

/**
 * Logos
 * @define logo
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * EC logo
 */
.ecl-logo {
  background: url("../images/logo.svg") no-repeat;
  display: block;
  height: 72px;
  width: 140px; }

.ecl-logo--big {
  height: 153px;
  width: 290px; }

/* stylelint-disable-next-line order/order */
/* stylelint-disable */
.language-bg .ecl-logo--logotype {
  background-image: url("../images/logo/logo--bg.svg"); }

@media print {
  .language-bg .ecl-logo--logotype::before {
    content: url("../images/logo/logo--bg.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-cs .ecl-logo--logotype {
  background-image: url("../images/logo/logo--cs.svg"); }

@media print {
  .language-cs .ecl-logo--logotype::before {
    content: url("../images/logo/logo--cs.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-da .ecl-logo--logotype {
  background-image: url("../images/logo/logo--da.svg"); }

@media print {
  .language-da .ecl-logo--logotype::before {
    content: url("../images/logo/logo--da.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-de .ecl-logo--logotype {
  background-image: url("../images/logo/logo--de.svg"); }

@media print {
  .language-de .ecl-logo--logotype::before {
    content: url("../images/logo/logo--de.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-el .ecl-logo--logotype {
  background-image: url("../images/logo/logo--el.svg"); }

@media print {
  .language-el .ecl-logo--logotype::before {
    content: url("../images/logo/logo--el.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-en .ecl-logo--logotype {
  background-image: url("../images/logo/logo--en.svg"); }

@media print {
  .language-en .ecl-logo--logotype::before {
    content: url("../images/logo/logo--en.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-es .ecl-logo--logotype {
  background-image: url("../images/logo/logo--es.svg"); }

@media print {
  .language-es .ecl-logo--logotype::before {
    content: url("../images/logo/logo--es.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-et .ecl-logo--logotype {
  background-image: url("../images/logo/logo--et.svg"); }

@media print {
  .language-et .ecl-logo--logotype::before {
    content: url("../images/logo/logo--et.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-fi .ecl-logo--logotype {
  background-image: url("../images/logo/logo--fi.svg"); }

@media print {
  .language-fi .ecl-logo--logotype::before {
    content: url("../images/logo/logo--fi.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-fr .ecl-logo--logotype {
  background-image: url("../images/logo/logo--fr.svg"); }

@media print {
  .language-fr .ecl-logo--logotype::before {
    content: url("../images/logo/logo--fr.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-ga .ecl-logo--logotype {
  background-image: url("../images/logo/logo--ga.svg"); }

@media print {
  .language-ga .ecl-logo--logotype::before {
    content: url("../images/logo/logo--ga.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-hr .ecl-logo--logotype {
  background-image: url("../images/logo/logo--hr.svg"); }

@media print {
  .language-hr .ecl-logo--logotype::before {
    content: url("../images/logo/logo--hr.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-hu .ecl-logo--logotype {
  background-image: url("../images/logo/logo--hu.svg"); }

@media print {
  .language-hu .ecl-logo--logotype::before {
    content: url("../images/logo/logo--hu.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-it .ecl-logo--logotype {
  background-image: url("../images/logo/logo--it.svg"); }

@media print {
  .language-it .ecl-logo--logotype::before {
    content: url("../images/logo/logo--it.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-lt .ecl-logo--logotype {
  background-image: url("../images/logo/logo--lt.svg"); }

@media print {
  .language-lt .ecl-logo--logotype::before {
    content: url("../images/logo/logo--lt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-lv .ecl-logo--logotype {
  background-image: url("../images/logo/logo--lv.svg"); }

@media print {
  .language-lv .ecl-logo--logotype::before {
    content: url("../images/logo/logo--lv.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-mt .ecl-logo--logotype {
  background-image: url("../images/logo/logo--mt.svg"); }

@media print {
  .language-mt .ecl-logo--logotype::before {
    content: url("../images/logo/logo--mt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-nl .ecl-logo--logotype {
  background-image: url("../images/logo/logo--nl.svg"); }

@media print {
  .language-nl .ecl-logo--logotype::before {
    content: url("../images/logo/logo--nl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-pl .ecl-logo--logotype {
  background-image: url("../images/logo/logo--pl.svg"); }

@media print {
  .language-pl .ecl-logo--logotype::before {
    content: url("../images/logo/logo--pl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-pt .ecl-logo--logotype {
  background-image: url("../images/logo/logo--pt.svg"); }

@media print {
  .language-pt .ecl-logo--logotype::before {
    content: url("../images/logo/logo--pt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-ro .ecl-logo--logotype {
  background-image: url("../images/logo/logo--ro.svg"); }

@media print {
  .language-ro .ecl-logo--logotype::before {
    content: url("../images/logo/logo--ro.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sk .ecl-logo--logotype {
  background-image: url("../images/logo/logo--sk.svg"); }

@media print {
  .language-sk .ecl-logo--logotype::before {
    content: url("../images/logo/logo--sk.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sl .ecl-logo--logotype {
  background-image: url("../images/logo/logo--sl.svg"); }

@media print {
  .language-sl .ecl-logo--logotype::before {
    content: url("../images/logo/logo--sl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sv .ecl-logo--logotype {
  background-image: url("../images/logo/logo--sv.svg"); }

@media print {
  .language-sv .ecl-logo--logotype::before {
    content: url("../images/logo/logo--sv.svg"); } }

/* stylelint-enable */
.ecl-logo--logotype {
  width: 190px; }

/* stylelint-disable-next-line order/order */
/* stylelint-disable */
.language-bg .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--bg.svg"); }

@media print {
  .language-bg .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--bg.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-cs .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--cs.svg"); }

@media print {
  .language-cs .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--cs.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-da .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--da.svg"); }

@media print {
  .language-da .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--da.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-de .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--de.svg"); }

@media print {
  .language-de .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--de.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-el .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--el.svg"); }

@media print {
  .language-el .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--el.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-en .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--en.svg"); }

@media print {
  .language-en .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--en.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-es .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--es.svg"); }

@media print {
  .language-es .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--es.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-et .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--et.svg"); }

@media print {
  .language-et .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--et.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-fi .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--fi.svg"); }

@media print {
  .language-fi .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--fi.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-fr .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--fr.svg"); }

@media print {
  .language-fr .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--fr.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-ga .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--ga.svg"); }

@media print {
  .language-ga .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--ga.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-hr .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--hr.svg"); }

@media print {
  .language-hr .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--hr.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-hu .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--hu.svg"); }

@media print {
  .language-hu .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--hu.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-it .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--it.svg"); }

@media print {
  .language-it .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--it.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-lt .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--lt.svg"); }

@media print {
  .language-lt .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--lt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-lv .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--lv.svg"); }

@media print {
  .language-lv .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--lv.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-mt .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--mt.svg"); }

@media print {
  .language-mt .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--mt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-nl .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--nl.svg"); }

@media print {
  .language-nl .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--nl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-pl .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--pl.svg"); }

@media print {
  .language-pl .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--pl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-pt .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--pt.svg"); }

@media print {
  .language-pt .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--pt.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-ro .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--ro.svg"); }

@media print {
  .language-ro .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--ro.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sk .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--sk.svg"); }

@media print {
  .language-sk .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--sk.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sl .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--sl.svg"); }

@media print {
  .language-sl .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--sl.svg"); } }

/* stylelint-enable */
/* stylelint-disable */
.language-sv .ecl-logo--logotypebelow {
  background-image: url("../images/logo/logotypebelow--sv.svg"); }

@media print {
  .language-sv .ecl-logo--logotypebelow::before {
    content: url("../images/logo/logotypebelow--sv.svg"); } }

/* stylelint-enable */
.ecl-logo--logotypebelow {
  height: 72px;
  width: 198px; }

/* stylelint-disable-next-line order/order */
@media (min-width: 480px) {
  .ecl-logo--logotype {
    width: 290px; }
  .ecl-logo--logotypebelow {
    height: 118px;
    width: 324px; } }

/**
 * Messages
 * @define message
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Messages
 * @define message
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-message {
  background: transparent url("../images/messages-info.svg") no-repeat 1.2rem 1.2rem;
  border: 2px solid #4073af;
  color: #404040;
  font-size: 1rem;
  margin: 0;
  min-height: 2.22rem;
  padding: 0.89rem 5.1rem 0.89rem 4.44rem;
  position: relative; }
  @supports (display: grid) {
    .ecl-message {
      display: grid;
      grid-template-columns: auto -webkit-max-content;
      grid-template-columns: auto max-content;
      padding: 0.89rem 0.89rem 0.89rem 4.44rem; } }
  .ecl-message--success {
    background-image: url("../images/messages-success.svg");
    border-color: #467a39; }
  .ecl-message--warning {
    background-image: url("../images/messages-warning.svg");
    border-color: #fbc11d; }
  .ecl-message--error {
    background-image: url("../images/messages-error.svg");
    border-color: #da2130; }
  .ecl-message--live {
    background-image: url("../images/live_streaming.svg");
    border-color: #fbc11d; }

.ecl-message__title {
  font-weight: bold;
  margin-bottom: 0.89rem; }
  @supports (display: grid) {
    .ecl-message__title {
      grid-column-start: 1; } }

.ecl-message__body {
  margin: 0;
  padding-left: 0.89rem; }
  @supports (display: grid) {
    .ecl-message__body {
      grid-column-start: 1; } }

.ecl-message__dismiss {
  align-items: center;
  background-color: transparent;
  border-width: 0;
  color: #000;
  display: flex;
  font-size: 0.875rem;
  height: 1.5rem;
  line-height: 1.15;
  padding: 0;
  position: absolute;
  right: 0.66rem;
  text-decoration: none;
  text-shadow: none;
  top: 0.66rem; }
  .ecl-message__dismiss:focus {
    outline: 3px solid #ffd617;
    outline-offset: 3px;
    text-decoration: underline; }
  @supports (display: grid) {
    .ecl-message__dismiss {
      align-self: self-start;
      grid-column-start: 2;
      grid-row-end: span 2;
      grid-row-start: 1;
      position: relative;
      right: auto;
      top: auto; } }
  .ecl-message__dismiss:hover {
    text-decoration: underline; }
  .ecl-message__dismiss::after {
    background-color: transparent;
    content: url("../images/close.svg");
    display: block;
    line-height: 0;
    margin: 0 0 0 0.66rem;
    overflow: hidden;
    width: 1.5rem; }

.ecl-message__dismiss--inverted {
  background-image: none;
  color: #fff;
  cursor: pointer;
  font-size: 0.889em;
  text-decoration: underline; }
  .ecl-message__dismiss--inverted::after {
    align-items: center;
    border: 1px solid #fff;
    border-radius: 50%;
    box-sizing: border-box;
    content: '\00D7';
    display: flex;
    float: right;
    height: 1.5rem;
    justify-content: center;
    margin-left: 0.5em;
    width: 1.5rem; }
  .ecl-message__dismiss--inverted:hover {
    background-image: none; }

/* stylelint-disable-next-line order/order */
@media (max-width: 479px) {
  .ecl-message {
    padding-bottom: 3.71rem; }
    @supports (display: grid) {
      .ecl-message {
        grid-template-rows: auto auto 2.22rem;
        padding-bottom: 0.89rem; } }
  .ecl-message__dismiss {
    bottom: 0.66rem;
    top: auto; }
    @supports (display: grid) {
      .ecl-message__dismiss {
        align-self: self-end;
        bottom: auto;
        grid-column-start: 1;
        grid-row-end: 4;
        grid-row-start: 3;
        justify-self: end;
        top: auto; } } }

/*
 * ECL meta
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * ECL meta
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-meta {
  font-size: 0.875rem;
  letter-spacing: 0.03rem;
  line-height: 1.3;
  margin: 0;
  text-transform: uppercase; }

.ecl-meta__item {
  white-space: nowrap; }
  .ecl-meta__item::after {
    color: #9f9f9f;
    content: '|';
    margin: 0 0.66rem 0 0.89rem;
    position: relative;
    top: -1px; }
  .ecl-meta__item:last-child::after {
    display: none; }

.ecl-meta--header {
  font-size: 1rem; }

/**
* Site switcher component
* @define site-switcher
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
* Site switcher component
* @define site-switcher
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-site-switcher {
  background-color: #f5f5f5;
  display: block;
  font-size: 1rem;
  margin: 0; }
  @media print {
    .ecl-site-switcher {
      display: none !important; } }
  .ecl-site-switcher::after {
    clear: both;
    content: '';
    display: block; }

.ecl-site-switcher__link {
  display: block;
  font-weight: bold;
  line-height: 1.3;
  padding: 0.66rem 1.66rem;
  text-decoration: none;
  width: 100%; }
  .ecl-site-switcher__link::after, .ecl-site-switcher__link--is-external::after {
    content: none !important; }
  .ecl-site-switcher__link:hover, .ecl-site-switcher__link:focus {
    text-decoration: underline; }

.ecl-site-switcher__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.ecl-site-switcher__option {
  display: inline-block;
  float: left;
  text-align: center;
  vertical-align: middle;
  width: 50%; }

.ecl-site-switcher__option--is-selected {
  background-color: #004494; }
  .ecl-site-switcher__option--is-selected .ecl-site-switcher__link {
    color: #fff; }

.ecl-site-switcher--header,
.ecl-site-switcher--footer {
  border-bottom: 1px solid #f5f5f5; }

.ecl-site-switcher--footer .ecl-site-switcher__option,
.ecl-site-switcher--header .ecl-site-switcher__option {
  position: relative; }
  .ecl-site-switcher--footer .ecl-site-switcher__option--is-selected::after,
  .ecl-site-switcher--header .ecl-site-switcher__option--is-selected::after {
    border: 10px solid rgba(0, 68, 148, 0);
    content: ' ' !important;
    height: 0;
    left: 50%;
    margin-left: -10px;
    pointer-events: none;
    position: absolute;
    width: 0; }

.ecl-site-switcher--header .ecl-site-switcher__option--is-selected::after {
  border-top-color: #004494;
  top: 95%; }

.ecl-site-switcher--footer .ecl-site-switcher__option--is-selected::after {
  border-bottom-color: #004494;
  bottom: 95%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-site-switcher__option {
    width: auto; }
  .ecl-site-switcher--footer .ecl-site-switcher__list {
    float: right; } }

/**
 * Social icons
 * @define social-icon
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Social icons
 * @define social-icon
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-social-icon {
  align-items: center;
  display: flex;
  margin: 0; }

.ecl-social-icon::before {
  content: '';
  display: block;
  height: 2rem;
  margin-right: 1rem;
  width: 2rem; }

.ecl-social-icon--smaller {
  min-height: 1.5rem; }
  .ecl-social-icon--smaller::before {
    height: 1.5rem;
    width: 1.5rem; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--arto::before {
  background: url("../images/social/arto.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--arto:hover::before {
  background-image: url("../images/social/arto_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--bebo::before {
  background: url("../images/social/bebo.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--bebo:hover::before {
  background-image: url("../images/social/bebo_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--bitly::before {
  background: url("../images/social/bitly.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--bitly:hover::before {
  background-image: url("../images/social/bitly_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blinklist::before {
  background: url("../images/social/blinklist.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blinklist:hover::before {
  background-image: url("../images/social/blinklist_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blog::before {
  background: url("../images/social/blog.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blog:hover::before {
  background-image: url("../images/social/blog_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blogger::before {
  background: url("../images/social/blogger.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--blogger:hover::before {
  background-image: url("../images/social/blogger_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--delicious::before {
  background: url("../images/social/delicious.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--delicious:hover::before {
  background-image: url("../images/social/delicious_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--digg::before {
  background: url("../images/social/digg.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--digg:hover::before {
  background-image: url("../images/social/digg_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--diigo::before {
  background: url("../images/social/diigo.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--diigo:hover::before {
  background-image: url("../images/social/diigo_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--dzone::before {
  background: url("../images/social/dzone.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--dzone:hover::before {
  background-image: url("../images/social/dzone_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--email::before {
  background: url("../images/social/email.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--email:hover::before {
  background-image: url("../images/social/email_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--facebook::before {
  background: url("../images/social/facebook.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--facebook:hover::before {
  background-image: url("../images/social/facebook_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--flickr::before {
  background: url("../images/social/flickr.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--flickr:hover::before {
  background-image: url("../images/social/flickr_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--foursquare::before {
  background: url("../images/social/foursquare.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--foursquare:hover::before {
  background-image: url("../images/social/foursquare_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--generic::before {
  background: url("../images/social/generic.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--generic:hover::before {
  background-image: url("../images/social/generic_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--google::before {
  background: url("../images/social/google.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--google:hover::before {
  background-image: url("../images/social/google_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--instagram::before {
  background: url("../images/social/instagram.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--instagram:hover::before {
  background-image: url("../images/social/instagram_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--linkarena::before {
  background: url("../images/social/linkarena.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--linkarena:hover::before {
  background-image: url("../images/social/linkarena_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--linkedin::before {
  background: url("../images/social/linkedin.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--linkedin:hover::before {
  background-image: url("../images/social/linkedin_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--live::before {
  background: url("../images/social/live.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--live:hover::before {
  background-image: url("../images/social/live_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--meneame::before {
  background: url("../images/social/meneame.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--meneame:hover::before {
  background-image: url("../images/social/meneame_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--misterwong::before {
  background: url("../images/social/misterwong.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--misterwong:hover::before {
  background-image: url("../images/social/misterwong_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--myspace::before {
  background: url("../images/social/myspace.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--myspace:hover::before {
  background-image: url("../images/social/myspace_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--netlog::before {
  background: url("../images/social/netlog.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--netlog:hover::before {
  background-image: url("../images/social/netlog_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--netvibes::before {
  background: url("../images/social/netvibes.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--netvibes:hover::before {
  background-image: url("../images/social/netvibes_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--newsvine::before {
  background: url("../images/social/newsvine.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--newsvine:hover::before {
  background-image: url("../images/social/newsvine_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--nujij::before {
  background: url("../images/social/nujij.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--nujij:hover::before {
  background-image: url("../images/social/nujij_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--pinterest::before {
  background: url("../images/social/pinterest.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--pinterest:hover::before {
  background-image: url("../images/social/pinterest_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--pocket::before {
  background: url("../images/social/pocket.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--pocket:hover::before {
  background-image: url("../images/social/pocket_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--reddit::before {
  background: url("../images/social/reddit.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--reddit:hover::before {
  background-image: url("../images/social/reddit_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--rss::before {
  background: url("../images/social/rss.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--rss:hover::before {
  background-image: url("../images/social/rss_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--share::before {
  background: url("../images/social/share.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--share:hover::before {
  background-image: url("../images/social/share_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--skype::before {
  background: url("../images/social/skype.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--skype:hover::before {
  background-image: url("../images/social/skype_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--slashdot::before {
  background: url("../images/social/slashdot.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--slashdot:hover::before {
  background-image: url("../images/social/slashdot_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--sonico::before {
  background: url("../images/social/sonico.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--sonico:hover::before {
  background-image: url("../images/social/sonico_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--spotify::before {
  background: url("../images/social/spotify.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--spotify:hover::before {
  background-image: url("../images/social/spotify_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--storify::before {
  background: url("../images/social/storify.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--storify:hover::before {
  background-image: url("../images/social/storify_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--studivz::before {
  background: url("../images/social/studivz.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--studivz:hover::before {
  background-image: url("../images/social/studivz_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--stumbleupon::before {
  background: url("../images/social/stumbleupon.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--stumbleupon:hover::before {
  background-image: url("../images/social/stumbleupon_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--technorati::before {
  background: url("../images/social/technorati.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--technorati:hover::before {
  background-image: url("../images/social/technorati_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--tuenti::before {
  background: url("../images/social/tuenti.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--tuenti:hover::before {
  background-image: url("../images/social/tuenti_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--tumblr::before {
  background: url("../images/social/tumblr.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--tumblr:hover::before {
  background-image: url("../images/social/tumblr_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--twitter::before {
  background: url("../images/social/twitter.svg") no-repeat #ffffff; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--twitter:hover::before {
  background-image: url("../images/social/twitter_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--viadeo::before {
  background: url("../images/social/viadeo.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--viadeo:hover::before {
  background-image: url("../images/social/viadeo_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--vine::before {
  background: url("../images/social/vine.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--vine:hover::before {
  background-image: url("../images/social/vine_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--wordpress::before {
  background: url("../images/social/wordpress.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--wordpress:hover::before {
  background-image: url("../images/social/wordpress_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--wykop::before {
  background: url("../images/social/wykop.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--wykop:hover::before {
  background-image: url("../images/social/wykop_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--xerpi::before {
  background: url("../images/social/xerpi.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--xerpi:hover::before {
  background-image: url("../images/social/xerpi_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--yammer::before {
  background: url("../images/social/yammer.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--yammer:hover::before {
  background-image: url("../images/social/yammer_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--youtube::before {
  background: url("../images/social/youtube.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--youtube:hover::before {
  background-image: url("../images/social/youtube_hover.svg"); }

/* postcss-bem-linter: ignore */
.ecl-social-icon--print::before {
  background: url("../images/social/print.svg") no-repeat ; }

/* postcss-bem-linter: ignore */
.ecl-social-icon--print:hover::before {
  background-image: url("../images/social/print_hover.svg"); }

/*
 *ECL tables
 * @define table ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 *ECL tables
 * @define table ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-table {
  border-collapse: collapse;
  border-width: 0;
  color: #404040;
  font-size: 1rem;
  margin: 0;
  table-layout: auto;
  width: 100%; }
  .ecl-table th {
    background-color: transparent;
    font-weight: bold;
    text-align: left; }
  .ecl-table td,
  .ecl-table th {
    display: table-cell;
    padding: 0.89rem;
    vertical-align: middle; }

@media (max-width: 768px) {
  .ecl-table {
    /* stylelint-disable-next-line selector-no-qualifying-type */ }
    .ecl-table thead {
      display: none; }
    .ecl-table tr {
      border-bottom: 1px solid #9f9f9f; }
    .ecl-table tr:nth-of-type(2n) {
      background-color: inherit; }
    .ecl-table td {
      display: block;
      padding: 0.66rem;
      position: relative; }
    .ecl-table td[data-th-group] {
      margin-top: 2.22rem;
      padding-left: 1.66rem; }
    .ecl-table td::before {
      content: attr(data-th);
      display: block;
      font-weight: bold; }
  .ecl-table__heading {
    background-color: #404040;
    color: #fff;
    font-weight: bold; }
  .ecl-table__group-label::after {
    content: attr(data-th-group);
    display: block;
    font-weight: bold;
    left: 0.66rem;
    position: absolute;
    top: -1.66rem; }
  .ecl-table__group-label ~ .ecl-table__group_element {
    margin: 0;
    padding-left: 1.66rem; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-table {
    /* Zebra striping */ }
    .ecl-table tr:nth-of-type(even) {
      background-color: #f5f5f5; }
    .ecl-table tbody {
      /* Hover */
      /* stylelint-disable-next-line max-nesting-depth */ }
      .ecl-table tbody tr:hover {
        background-color: #ebebeb; }
    .ecl-table thead {
      display: table-header-group;
      /* stylelint-disable-next-line max-nesting-depth, selector-max-compound-selectors */
      /* stylelint-disable-next-line max-nesting-depth */ }
      .ecl-table thead tr:first-child th {
        border-bottom: 1px solid #404040;
        vertical-align: top; }
      .ecl-table thead tr:last-child:not(:first-child) {
        border-bottom: 3px solid #404040; } }

/**
 * Tags
 * @define tag
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Tags
 * @define tag
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-tag {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin: 0; }

.ecl-tag__label {
  font-size: 0.875rem;
  margin-bottom: 0.33rem;
  margin-right: 0.89rem;
  text-transform: uppercase; }

.ecl-tag__item {
  background-color: #e3e3e3;
  border-radius: 5px;
  border-width: 0;
  color: #404040;
  font-family: Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1;
  margin-bottom: 0.33rem;
  margin-right: 1rem;
  padding: 0.33rem;
  white-space: nowrap; }
  .ecl-tag__item:hover, .ecl-tag__item:active, .ecl-tag__item:focus {
    text-decoration: none; }
  .ecl-tag__item:focus {
    box-shadow: 0 0 0 3px #ffd617;
    outline: none; }

.ecl-tag--facet-close .ecl-tag__item:hover {
  background-color: #404040;
  color: #fff; }

.ecl-tag--facet-close .ecl-tag__item::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e82c';
  margin-left: 0.6em; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor blockquote {
  border-left: 8px solid #ffd617;
  margin: 0;
  padding: 0.66rem 0 0.66rem 1.66rem; }
  .ecl-editor blockquote p {
    color: #404040;
    font-size: 1.375rem;
    font-style: italic;
    line-height: 1.5;
    margin: 0; }
    .ecl-editor blockquote p::before {
      content: open-quote; }
    .ecl-editor blockquote p::after {
      content: close-quote; }

.ecl-editor * + blockquote {
  margin-top: 0.89rem; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor a {
  box-sizing: border-box;
  color: #004494;
  margin: 0;
  text-decoration: underline; }
  .ecl-editor a:hover, .ecl-editor a:focus {
    color: #000; }
  .ecl-editor a:focus {
    outline: 3px solid #ffd617;
    outline-offset: 2px; }
  .ecl-editor a:visited {
    color: #550745; }

/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-editor table {
  border-collapse: collapse;
  border-width: 0;
  color: #404040;
  font-size: 1rem;
  margin: 0;
  table-layout: auto;
  width: 100%; }
  .ecl-editor table th {
    background-color: transparent;
    font-weight: bold;
    text-align: left; }
  .ecl-editor table td,
  .ecl-editor table th {
    display: table-cell;
    padding: 0.89rem;
    vertical-align: middle; }

.ecl-editor * + table {
  margin-top: 0.89rem; }

@media (max-width: 768px) {
  .ecl-editor table {
    /* stylelint-disable-next-line selector-no-qualifying-type */ }
    .ecl-editor table thead {
      display: none; }
    .ecl-editor table tr {
      border-bottom: 1px solid #9f9f9f; }
    .ecl-editor table tr:nth-of-type(2n) {
      background-color: inherit; }
    .ecl-editor table td {
      display: block;
      padding: 0.66rem;
      position: relative; }
    .ecl-editor table td[data-th-group] {
      margin-top: 2.22rem;
      padding-left: 1.66rem; }
    .ecl-editor table td::before {
      content: attr(data-th);
      display: block;
      font-weight: bold; } }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-editor table {
    /* Zebra striping */ }
    .ecl-editor table tr:nth-of-type(even) {
      background-color: #f5f5f5; }
    .ecl-editor table tbody {
      /* Hover */
      /* stylelint-disable-next-line max-nesting-depth */ }
      .ecl-editor table tbody tr:hover {
        background-color: #ebebeb; }
    .ecl-editor table thead {
      display: table-header-group;
      /* stylelint-disable-next-line max-nesting-depth, selector-max-compound-selectors */
      /* stylelint-disable-next-line max-nesting-depth */ }
      .ecl-editor table thead tr:first-child th {
        border-bottom: 1px solid #404040;
        vertical-align: top; }
      .ecl-editor table thead tr:last-child:not(:first-child) {
        border-bottom: 3px solid #404040; } }

/**
 * Banners component
 * @define banner
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Banners component
 * @define banner
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-banner {
  margin: 0;
  max-width: 100%;
  overflow: hidden; }

.ecl-banner__content {
  background-color: #fff;
  border-top: 3px solid #004494;
  box-sizing: border-box;
  padding: 2.22rem 1.66rem; }

.ecl-banner__title {
  color: #004494;
  margin: 0; }

.ecl-banner__description {
  font-size: 1.125rem;
  margin: 1rem 0 0; }

.ecl-banner__image {
  display: block; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-banner--hero {
    min-height: 23rem;
    overflow: hidden;
    position: relative; }
  .ecl-banner__image {
    left: 50%;
    max-width: none;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .ecl-banner__content {
    float: right;
    margin: 3.33rem 3.33rem 3.33rem 0;
    position: relative;
    width: 50%; } }

/*
 * Breadcrumbs
 * @define breadcrumbs
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Breadcrumbs
 * @define breadcrumb
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-breadcrumb {
  font-size: 1rem; }
  @media print {
    .ecl-breadcrumb {
      display: none !important; } }

.ecl-breadcrumb__segments-wrapper {
  border-bottom: 1px solid #fff;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 1rem 0; }

.ecl-breadcrumb__segment {
  display: block;
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1.875;
  /* stylelint-disable-next-line order/order */ }
  .ecl-breadcrumb__segment[aria-hidden='true'] {
    display: none; }
  @media (min-width: 480px) {
    .ecl-breadcrumb__segment {
      font-size: 0.875rem;
      line-height: 1.375; } }

.ecl-breadcrumb__link {
  margin-right: 0.33rem; }
  .ecl-breadcrumb__link::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e828';
    width: 1rem; }
  .ecl-breadcrumb__link:hover, .ecl-breadcrumb__link:active, .ecl-breadcrumb__link:focus {
    color: #fff;
    text-decoration: underline; }

.ecl-breadcrumb__segment--last {
  color: #bfd0e4; }

/**
 * Carousel
 * @define carousel
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Carousel
 * @define carousel ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-carousel {
  align-items: stretch;
  background-color: #000;
  display: flex;
  flex-direction: column;
  margin: 0;
  max-width: 100%;
  overflow: hidden; }
  @media (min-width: 1200px) {
    .ecl-carousel {
      flex-direction: row;
      max-height: 100vh; } }

.ecl-carousel[aria-hidden='true'] {
  display: none; }

.ecl-carousel[aria-hidden='false'] {
  display: flex;
  height: 90vh;
  left: 3%;
  position: absolute;
  top: 3%;
  width: 90%;
  z-index: 20; }

.ecl-carousel__list-wrapper {
  display: flex;
  max-height: 70vh;
  overflow: hidden;
  position: relative; }

/* stylelint-disable-next-line order/order */
@media (min-width: 1200px) {
  .ecl-carousel__list-wrapper {
    flex: 1;
    max-height: 100%; } }

.ecl-carousel__controls {
  margin: 0; }

.ecl-carousel__list {
  display: flex;
  margin: 0;
  white-space: nowrap;
  width: 100%; }

.ecl-carousel__item {
  flex: 1 0 100%;
  position: relative; }

.ecl-carousel__image {
  display: block;
  margin: auto;
  max-height: 100%;
  max-width: 100%; }

.ecl-carousel__button {
  background-color: #000;
  border: 0;
  color: #fff;
  font-size: 2.5rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10; }
  .ecl-carousel__button:focus {
    outline: 3px solid #ffd617;
    outline-offset: 0;
    text-decoration: underline; }

.ecl-carousel__button--previous {
  left: 0; }

.ecl-carousel__button--next {
  right: 0; }

.ecl-carousel__image-information {
  display: none;
  text-align: left; }

.ecl-carousel__live-region {
  background-color: #404040;
  box-sizing: border-box;
  color: #fff;
  min-width: 30%;
  padding: 2.22rem; }
  .ecl-carousel__live-region a {
    color: #fff; }

/* stylelint-disable-next-line order/order */
@media (min-width: 1200px) {
  .ecl-carousel__live-region {
    flex: 0;
    max-height: 100%; } }

.ecl-carousel__meta {
  margin-bottom: 2.22rem; }

.ecl-carousel__meta-link {
  padding-right: 1.66rem;
  position: relative; }
  .ecl-carousel__meta-link::before {
    position: absolute;
    right: 0; }

.ecl-carousel__meta-item {
  display: inline-block;
  margin-right: 0.89rem;
  padding-bottom: 0.33rem; }

.ecl-carousel__meta-slide {
  order: -1;
  padding-top: 1rem; }

.ecl-carousel__image-copyright {
  font-size: 0.75rem; }

/* Show information in a similar flow as if there were js. */
.no-js .ecl-carousel__list-wrapper {
  overflow-x: initial; }

.no-js .ecl-carousel__list {
  align-items: center;
  height: 100%;
  justify-content: flex-start; }

.no-js .ecl-carousel__item {
  opacity: 1; }

.no-js .ecl-carousel__image-information {
  border-bottom: 1px solid #fff;
  display: block;
  margin-bottom: 1rem;
  padding-bottom: 1rem; }

.no-js .ecl-carousel__live-region {
  overflow-y: auto; }

/**
 * Comments component
 * @define comment
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Comments component
 * @define comment
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-comment {
  display: flex;
  flex-wrap: nowrap;
  margin: 0; }

.ecl-comment__image-wrapper {
  box-sizing: border-box;
  display: none;
  flex-shrink: 0; }
  @media (min-width: 768px) {
    .ecl-comment__image-wrapper {
      display: block;
      padding-right: 1.66rem;
      width: 20%; } }

.ecl-comment__image {
  border: 1px solid #ffd617;
  box-sizing: border-box;
  padding: 1px; }

.ecl-comment__body {
  background-color: #fff;
  flex-grow: 1;
  flex-shrink: 1;
  font-size: 1rem;
  padding: 1.66rem 2.22rem;
  position: relative; }

@media (min-width: 768px) {
  .ecl-comment__body::before {
    border: 0.89rem solid rgba(255, 255, 255, 0);
    border-right-color: #fff;
    content: ' ';
    height: 0;
    margin-top: -0.89rem;
    pointer-events: none;
    position: absolute;
    right: 100%;
    top: 1.66rem;
    width: 0; } }

.ecl-comment__meta {
  border-bottom: 1px solid #ffd617;
  color: #404040;
  margin-bottom: 0.89rem;
  padding-bottom: 0.33rem; }

.ecl-comment__title {
  color: #404040;
  display: block;
  padding: 1rem 0; }

.ecl-comment__text {
  font-size: 1rem; }

/*
 * Contextual navigation
 * @define context-nav
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Contextual navigation
 * @define context-nav
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-context-nav {
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  margin: 0; }

.ecl-context-nav__label {
  margin-bottom: 0.33rem; }

.ecl-context-nav__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.ecl-context-nav__item {
  display: inline-block; }
  .ecl-context-nav__item::after {
    color: #9f9f9f;
    content: '|';
    margin-left: 0.33rem;
    margin-right: 0.33rem; }

.ecl-context-nav__item:last-child::after {
  display: none;
  margin-left: 0;
  margin-right: 0; }

.ecl-context-nav__button {
  border-width: 0;
  font-size: 0.875rem;
  font-weight: normal;
  padding: 0; }
  .ecl-context-nav__button:focus {
    outline-offset: 0; }

.ecl-context-nav__item--over-limit {
  display: none; }

.no-js .ecl-context-nav__item--over-limit {
  display: inline-block; }

.no-js .ecl-context-nav__more {
  display: none; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-context-nav {
    flex-direction: row; }
  .ecl-context-nav__label {
    flex: 0 0 25%;
    margin-bottom: 0; } }

/*
* Datepicker styles based on Pikaday.
* @define datepicker
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
* Datepicker styles based on Pikaday.
* @define datepicker
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * @define pika-theme ; weak
 */
/* stylelint-disable-next-line */
.ecl-datepicker {
  margin: 0;
  position: relative; }
  .ecl-datepicker__icon {
    color: #9f9f9f;
    pointer-events: none;
    position: absolute;
    right: 0.7em;
    top: 0.6em; }

/* Spacing */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
* + .ecl-datepicker {
  margin-top: 0.89rem; }

/* stylelint-disable-next-line order/order */
/* stylelint-disable max-nesting-depth */
.ecl-pika-theme {
  background: #eaeaea;
  color: #333;
  display: block;
  position: relative;
  z-index: 20;
  zoom: 1;
  /* postcss-bem-linter: ignore */
  /* postcss-bem-linter: ignore */ }
  .ecl-pika-theme.is-hidden {
    display: none; }
  .ecl-pika-theme.is-bound {
    position: absolute; }
  .ecl-pika-theme::before, .ecl-pika-theme::after {
    content: ' ';
    display: table; }
  .ecl-pika-theme::after {
    clear: both; }
  .ecl-pika-theme .pika-title {
    background-color: #404040;
    display: flex;
    height: 2.5rem;
    line-height: 2.5rem;
    position: relative;
    text-align: center; }
  .ecl-pika-theme .pika-label {
    background-color: #404040;
    color: #404040;
    display: inline-block;
    flex-grow: 1;
    position: relative; }
  .ecl-pika-theme .pika-label select {
    background-color: #fff;
    border: 1px solid #404040;
    border-radius: 0;
    box-shadow: none;
    color: #404040;
    font-size: 1rem;
    margin-bottom: 1.1em;
    min-height: 2.75rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #4f4f4f;
    border: 0;
    color: #fff;
    cursor: pointer;
    float: none;
    height: 100%;
    margin: 0;
    min-height: auto;
    padding: 0 1em;
    position: absolute;
    text-indent: 0.01px;
    text-overflow: '';
    width: 100%;
    z-index: 19; }
    @media print {
      .ecl-pika-theme .pika-label select {
        display: none !important; } }
    .ecl-pika-theme .pika-label select:focus {
      outline: 3px solid #ffd617;
      outline-offset: 0;
      text-decoration: none; }
    .ecl-pika-theme .pika-label select.has-error {
      border-width: 2px;
      padding: 5px 11px; }
    .ecl-pika-theme .pika-label select:focus, .ecl-pika-theme .pika-label select.is-focused,
    .has-error .ecl-pika-theme .pika-label select:focus {
      box-shadow: none;
      color: #000; }
    .ecl-pika-theme .pika-label select.is-disabled {
      background-color: #e3e3e3;
      color: #9f9f9f; }
    .ecl-pika-theme .pika-label select.select {
      border-width: 1px; }
    .ecl-pika-theme .pika-label select:focus {
      outline: 3px solid #ffd617;
      outline-offset: -3px;
      text-decoration: none; }
    .ecl-pika-theme .pika-label select::-ms-expand {
      display: none; }
    .ecl-pika-theme .pika-label select:focus {
      z-index: 1; }
    .ecl-pika-theme .pika-label select:hover, .ecl-pika-theme .pika-label select:active, .ecl-pika-theme .pika-label select:focus {
      border-color: #004494;
      color: #fff; }
  .ecl-pika-theme .pika-label:nth-child(1) select {
    border-right: 2px solid #9f9f9f;
    left: 0; }
  .ecl-pika-theme .pika-label:nth-child(2) select {
    right: 0; }
  .ecl-pika-theme .pika-prev,
  .ecl-pika-theme .pika-next {
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 75% 75%;
    border: 0;
    color: #404040;
    cursor: pointer;
    display: block;
    height: 100%;
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    top: 0;
    white-space: nowrap;
    width: 50px; }
  .ecl-pika-theme .pika-prev {
    float: left;
    left: 0;
    order: -1; }
    .ecl-pika-theme .pika-prev::after {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-left: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none;
      content: '\e828';
      color: #fff;
      left: 15px;
      position: absolute;
      top: 15px;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
  .ecl-pika-theme .pika-next {
    float: right;
    right: 0; }
    .ecl-pika-theme .pika-next::after {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-left: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none;
      content: '\e828';
      color: #fff;
      position: absolute;
      right: 15px;
      top: 15px; }
  .ecl-pika-theme .pika-prev:hover,
  .ecl-pika-theme .pika-next:hover {
    opacity: 1; }
  .ecl-pika-theme .pika-prev.is-disabled,
  .ecl-pika-theme .pika-next.is-disabled {
    cursor: default; }
  .ecl-pika-theme .is-rtl .pika-prev {
    float: right;
    right: 0; }
    .ecl-pika-theme .is-rtl .pika-prev::after {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-left: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none;
      content: '\e828';
      color: #fff;
      position: absolute;
      right: 15px;
      top: 15px; }
  .ecl-pika-theme .is-rtl .pika-next {
    float: left;
    left: 0;
    order: -1; }
    .ecl-pika-theme .is-rtl .pika-next::after {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-left: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none;
      content: '\e828';
      color: #fff;
      left: 15px;
      position: absolute;
      top: 15px;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
  .ecl-pika-theme .pika-select {
    display: inline-block; }
  .ecl-pika-theme .pika-table {
    background-color: #e3e3e3;
    border-bottom: 0.66rem solid transparent;
    border-collapse: collapse;
    border-left: 0.66rem solid transparent;
    border-right: 0.66rem solid transparent;
    border-spacing: 0;
    width: 100%; }
    .ecl-pika-theme .pika-table th,
    .ecl-pika-theme .pika-table td {
      padding: 1px; }
    .ecl-pika-theme .pika-table th {
      padding: 0.66rem 0.33rem;
      text-align: center; }
    .ecl-pika-theme .pika-table abbr {
      border-bottom: 0;
      cursor: help;
      font-weight: normal;
      text-decoration: none; }
  .ecl-pika-theme .pika-button {
    background: #f5f5f5;
    border: 0;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    font-size: 1.125rem;
    margin: 1px;
    outline: none;
    padding: 0.33rem 0.66rem;
    text-align: center;
    width: 100%; }
    .ecl-pika-theme .pika-button .is-selection-disabled {
      cursor: default;
      pointer-events: none; }
  .ecl-pika-theme .is-today .pika-button {
    background: #ffd617; }
  .ecl-pika-theme .is-selected .pika-button {
    background: #ffd617; }
  .ecl-pika-theme .is-disabled .pika-button,
  .ecl-pika-theme .is-outside-current-month .pika-button {
    color: #999;
    opacity: 0.3; }
  .ecl-pika-theme .is-disabled .pika-button {
    cursor: default;
    pointer-events: none; }
  .ecl-pika-theme .pika-week {
    color: #999; }
  .ecl-pika-theme .is-inrange .pika-button {
    background: #fff; }

/* stylelint-disable-next-line order/order */
.ecl-pika-theme .pika-lendar,
.ecl-pika-theme .pika-single,
.ecl-pika-theme .pika-table {
  width: auto; }

/**
 * Dialog
 * @define dialog
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Dialog
 * @define dialog
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-dialog {
  background-color: #fff;
  box-sizing: border-box;
  display: flex;
  height: 100%;
  left: 0;
  margin: 0;
  padding: 2.22rem;
  position: fixed;
  top: 0%;
  width: 100%;
  z-index: 20; }

.ecl-dialog--transparent {
  background-color: transparent; }

.ecl-dialog[aria-hidden='true'] {
  display: none; }

.ecl-dialog__body {
  max-height: 100%;
  overflow: auto; }

.ecl-dialog__overlay {
  background-color: rgba(0, 0, 0, 0.7);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 19; }

.ecl-dialog__overlay[aria-hidden='true'] {
  display: none; }

.ecl-dialog__overlay--blue {
  background-color: rgba(0, 68, 148, 0.95); }

.ecl-dialog--wide {
  overflow: auto; }

.ecl-dialog--wide .ecl-dialog__body {
  overflow: visible;
  width: 100%; }

.ecl-dialog__dismiss {
  background: transparent url("../images/close.svg") no-repeat center center;
  border-width: 0;
  color: transparent;
  display: block;
  font-size: 2.5rem;
  line-height: 1.375rem;
  padding: 0;
  position: absolute;
  right: 0.66rem;
  text-decoration: none;
  text-shadow: none;
  top: 0.66rem; }
  .ecl-dialog__dismiss:focus {
    outline: 3px solid #ffd617;
    outline-offset: 3px;
    text-decoration: underline; }
  .ecl-dialog__dismiss:hover {
    background-image: url("../images/close_hover.svg"); }

.ecl-dialog__dismiss--inverted {
  background-image: none;
  color: #fff;
  cursor: pointer;
  font-size: 0.889em;
  text-decoration: underline; }
  .ecl-dialog__dismiss--inverted::after {
    align-items: center;
    border: 1px solid #fff;
    border-radius: 50%;
    box-sizing: border-box;
    content: '\00D7';
    display: flex;
    float: right;
    height: 1.5em;
    justify-content: center;
    margin-left: 0.5em;
    width: 1.5em; }
  .ecl-dialog__dismiss--inverted:hover {
    background-image: none; }

.ecl-dialog__title {
  clear: both;
  color: #fff;
  font-size: 1.375rem;
  margin: 0;
  padding: 2.22rem 0; }

/* stylelint-disable-next-line order/order */
@media (min-width: 480px) {
  .ecl-dialog {
    height: auto;
    left: 50%;
    max-height: 100%;
    max-width: 100%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: auto; }
  .ecl-dialog--wide {
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    -webkit-transform: none;
            transform: none; } }

/**
 * ECL Link blocks
 * @define link-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Link blocks
 * @define link-block
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-link-block {
  background-color: #f5f5f5;
  margin: 0;
  padding: 0.33rem 0; }

.ecl-link-block__title {
  color: #003776;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.66rem 1rem 0.66rem; }

.ecl-link-block__list {
  font-size: 1rem;
  list-style: none;
  margin: 0;
  padding-left: 0; }

.ecl-link-block__item {
  white-space: nowrap; }

.ecl-link-block__link {
  display: block;
  line-height: 2;
  padding: 0 1rem; }

/**
 * ECL Dropdowns
 * @define dropdown
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Dropdowns
 * @define dropdown
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-dropdown {
  margin: 0;
  position: relative; }

.ecl-dropdown__body {
  background-color: #f5f5f5;
  border: 1px solid #ccc rgba(0, 0, 0, 0.15);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  list-style: none;
  position: absolute;
  z-index: 15; }

.ecl-dropdown__body[aria-hidden='true'] {
  display: none; }

/**
 * ECL Expandable
 * @define expandable
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Expandable
 * @define expandable
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-expandable {
  margin: 0; }

.ecl-expandable__button::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  font-size: 0.875rem;
  margin-left: 0.66rem; }

.ecl-expandable__button[aria-expanded='false']::after {
  content: '\e81f'; }

.ecl-expandable__button[aria-expanded='true']::after {
  content: '\e827'; }

/**
 * Featured item component
 * @define featured-item
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Featured item component
 * @define featured-item
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-featured-item {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin: 0;
  width: 100%; }

.ecl-featured-item__image {
  box-sizing: border-box;
  margin-bottom: 1rem; }

.ecl-featured-item__title {
  color: #404040;
  display: block;
  font-size: 1.375rem;
  font-weight: bold;
  margin-top: 1rem; }

.ecl-featured-item--extended {
  background-color: #ebebeb;
  border-left: 0.66rem solid #ffd617;
  padding: 0.89rem; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-featured-item {
    flex-direction: row; }
  .ecl-featured-item__image {
    margin-bottom: 0;
    padding-right: 1.66rem;
    width: 40%; } }

/**
 * File
 * @define file
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * File
 * @define file
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-file {
  color: #404040;
  margin: 0; }
  @media print {
    .ecl-file {
      display: none !important; } }

.ecl-file__body {
  background-color: #ebebeb;
  padding: 1.66rem; }

.ecl-file__icon {
  float: left;
  padding-bottom: 0.1rem;
  padding-top: 0.2rem; }
  .ecl-file__icon::before {
    color: #9f9f9f;
    font-size: 2.63rem;
    line-height: 1;
    margin-right: 0.33rem; }

.ecl-file__title {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.3; }

.ecl-file__info {
  font-size: 0.875rem;
  line-height: 1.3;
  margin-top: 0.33rem; }

.ecl-file__language {
  display: inline-block;
  font-weight: bold; }

.ecl-file__properties {
  display: inline-block; }

.ecl-file__download {
  margin: 0.875rem auto 0;
  text-align: center; }
  .ecl-file__download::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e806';
    margin-left: 0.8em; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-file__download {
    margin-top: 0; } }

.ecl-file__translations {
  text-align: right; }

.ecl-file__translations-toggle {
  font-weight: normal; }

.ecl-file__translations-toggle[aria-expanded='false']::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e81f';
  margin-left: 0.8em; }

.ecl-file__translations-toggle[aria-expanded='true']::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e827';
  margin-left: 0.8em; }

.ecl-file__translations-list {
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  text-align: left; }

.ecl-file__translations-item {
  border-top: 1px solid #9f9f9f;
  display: flex;
  flex-direction: column;
  padding-bottom: 0.66rem;
  padding-top: 0.66rem; }
  .ecl-file__translations-item:last-child {
    border-bottom: 1px solid #9f9f9f; }

.ecl-file__translations-metadata {
  flex-grow: 1; }

.ecl-file__translations-title {
  font-size: 1rem;
  font-weight: bold; }

.ecl-file__translations-info {
  font-size: 0.875rem;
  margin-top: 0.66rem; }

.ecl-file__translations-download {
  align-self: flex-start;
  font-weight: normal;
  margin-left: -1rem; }
  .ecl-file__translations-download::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e806';
    margin-left: 0.8em; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-file__translations-item {
    flex-direction: row; }
  .ecl-file__translations-download {
    align-self: flex-end;
    margin-left: 0; } }

.ecl-file__link-container {
  border-top: 1px solid #e3e3e3;
  padding: 1rem 0; }
  .ecl-file__link-container:last-child {
    border-bottom: 1px solid #e3e3e3; }

.ecl-file__link {
  align-items: center;
  display: inline-flex;
  flex-direction: row;
  text-decoration: none; }
  .ecl-file__link .ecl-file__icon {
    padding: 0;
    /*
      Ugly hacks: set icons' size manually
     */
    /* stylelint-disable-next-line */
    /* stylelint-disable-next-line */
    /* stylelint-disable-next-line */ }
    .ecl-file__link .ecl-file__icon::before {
      font-size: 2.7rem; }
    .ecl-file__link .ecl-file__icon.ecl-icon--slides::before {
      font-size: 2.1rem; }
    .ecl-file__link .ecl-file__icon.ecl-icon--image::before {
      font-size: 1.8rem; }
  .ecl-file__link .ecl-file__title {
    margin-left: 0.33rem;
    text-decoration: underline; }

/* stylelint-disable-next-line */
.ecl-file__link.ecl-link--external::after,
.ecl-file__type {
  border-left: 2px solid #9f9f9f;
  color: #404040;
  font-weight: bold;
  margin-left: 0.33rem;
  padding-left: 0.33rem;
  text-transform: uppercase; }

.ecl-file__image,
.ecl-file__video {
  border: 0;
  box-sizing: border-box;
  display: block;
  height: auto;
  width: 100%; }

.ecl-file__caption {
  background-color: #ebebeb;
  display: block;
  font-size: 0.875rem;
  line-height: 1.3;
  padding: 0.66rem 0.89rem; }

/* stylelint-disable */
[class^='ecl-u-ratio'] iframe.ecl-file__video,
[class*=' ecl-u-ratio'] iframe.ecl-file__video {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

/**
 * Footers component
 * @define footer
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Footers component
 * @define footer
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-footer {
  margin: 0;
  padding: 0; }
  @media print {
    .ecl-footer {
      display: none !important; } }

/* List hacks */
.ecl-footer__list {
  margin: 0;
  max-width: none; }

.ecl-footer__list--inline {
  max-width: none; }
  .ecl-footer__list--inline .ecl-footer__list-item {
    margin-left: 0;
    margin-right: 0.89rem; }
  .ecl-footer__list--inline .ecl-footer__list-item:last-child {
    margin-right: 0; }

/* End of: List hacks */
/* stylelint-disable-next-line */
.ecl-footer__list-item {
  font-size: 1rem;
  line-height: 2rem; }

.ecl-footer__column {
  padding-top: 1.66rem; }

.ecl-footer__column:last-child {
  padding-bottom: 1.66rem; }

.ecl-footer__spaced-column {
  padding-top: 3.33rem; }

.ecl-footer__spaced-column:last-child {
  padding-bottom: 3.33rem; }

.ecl-footer__custom-label {
  display: inline;
  font-weight: bold; }

.ecl-footer__column-title {
  max-width: none; }

.ecl-footer__custom {
  background-color: #bfd0e4;
  color: #012b58; }
  .ecl-footer__custom .ecl-footer__link {
    color: #012b58; }
  .ecl-footer__custom .ecl-footer__link:hover,
  .ecl-footer__custom .ecl-footer__link:active,
  .ecl-footer__custom .ecl-footer__link:focus {
    color: #012b58; }
  .ecl-footer__custom .ecl-footer__column {
    padding-bottom: 0;
    padding-top: 1rem; }
  .ecl-footer__custom .ecl-footer__column:last-child {
    padding-bottom: 1rem;
    padding-top: 0; }

.ecl-footer__corporate {
  color: #fff; }

.ecl-footer__corporate-top {
  background-color: #4073af; }

.ecl-footer__corporate-bottom {
  background-color: #004494;
  padding: 1rem 0; }

.ecl-footer__column-title {
  border-bottom: 2px solid #7fa1c9;
  color: #fff;
  margin-bottom: 0.33rem;
  padding-bottom: 0.33rem; }

@media (min-width: 768px) and (max-width: 1199px) {
  .ecl-footer__column-title {
    min-height: 3.33rem;
    padding-bottom: 0; } }
  @media (min-width: 1200px) {
    .ecl-footer__column-title {
      margin-bottom: 1rem;
      min-height: auto; } }

.ecl-footer__custom-title-identity {
  border-bottom: 0;
  color: #012b58; }

/* stylelint-disable-next-line order/order */
@media (min-width: 480px) {
  .ecl-footer__column {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-footer__custom .ecl-footer__column {
    padding-bottom: 1rem; }
  .ecl-footer__custom .ecl-footer__column:last-child {
    padding-top: 1rem; }
  .ecl-footer__link {
    padding: 0; } }

/*
 * Language selector (page level)
 * @define lang-select-page
 *
 * Note: `.ecl-lang-select-page--dropdown` is automatically added/removed (JS)
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/*
 * Language selector (page level)
 * @define lang-select-page
 *
 * Note: `.ecl-lang-select-page--dropdown` is automatically added/removed (JS)
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Select
 * @define select
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-lang-select-page {
  align-items: center;
  background-color: #f5f5f5;
  border-bottom: 1px solid #9f9f9f;
  color: #404040;
  display: flex;
  flex-wrap: nowrap;
  font-size: 0.875rem;
  margin: 0;
  min-height: 3rem;
  overflow: hidden; }
  @media print {
    .ecl-lang-select-page {
      display: none !important; } }
  .no-js .ecl-lang-select-page {
    flex-wrap: wrap; }

.ecl-lang-select-page__icon {
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 1.875rem; }
  @media print {
    .ecl-lang-select-page__icon {
      display: none !important; } }

.ecl-lang-select-page__unavailable {
  padding: 1rem 0.89rem;
  text-decoration: line-through; }
  @media (min-width: 480px) {
    .ecl-lang-select-page__unavailable {
      margin-right: 2.22rem; } }

.ecl-lang-select-page__list {
  align-items: stretch;
  align-self: stretch;
  display: flex;
  flex-wrap: no-wrap;
  margin: 0;
  padding: 0; }
  .ecl-lang-select-page--dropdown .ecl-lang-select-page__list {
    position: absolute;
    visibility: hidden; }
  .no-js .ecl-lang-select-page__list {
    flex-grow: 1;
    flex-wrap: wrap; }

.ecl-lang-select-page__option {
  align-items: center;
  display: flex;
  list-style: none;
  padding: 1rem 0.89rem; }

.ecl-lang-select-page__option--is-selected {
  background-color: #ffd617;
  color: #000;
  font-weight: bold; }

.ecl-lang-select-page__dropdown {
  background: url("../images/arrow-down.svg"), linear-gradient(to bottom, transparent, transparent);
  background-position: right 0.66rem center, right;
  background-repeat: no-repeat;
  background-size: 1rem auto, 2.32rem 100%;
  align-self: stretch;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  color: #404040;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 1rem 2.22rem 1rem 1rem;
  position: absolute;
  visibility: hidden; }
  @media print {
    .ecl-lang-select-page__dropdown {
      display: none !important; } }
  .ecl-lang-select-page__dropdown::-ms-expand {
    display: none; }
  .ecl-lang-select-page--dropdown .ecl-lang-select-page__dropdown {
    position: static;
    visibility: visible; }

.ecl-lang-select-page__dropdown-option {
  padding: 0.66rem; }

/* Variant */
.ecl-lang-select-page--primary {
  background-color: #004494;
  border-bottom: 1px solid #fff;
  color: #fff; }
  .ecl-lang-select-page--primary .ecl-lang-select-page__dropdown {
    background: url("../images/arrow-down--white.svg"), linear-gradient(to bottom, #003776, #003776);
    background-position: right 0.66rem center, right;
    background-repeat: no-repeat;
    background-size: 1rem auto, 2.32rem 100%;
    background-color: #003776;
    color: #fff; }

/**
 * Language select (Site)
 * @define lang-select-sites
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Language select (Site)
 * @define lang-select-sites
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-lang-select-sites {
  margin: 0;
  text-align: center; }
  @media print {
    .ecl-lang-select-sites {
      display: none !important; } }

.ecl-lang-select-sites__link {
  border: 3px solid transparent;
  color: #004494;
  display: inline-block;
  font-size: 1rem;
  font-weight: bold;
  padding: 0.66rem 0.89rem;
  text-align: center;
  text-decoration: none; }

.ecl-lang-select-sites__link:focus {
  border-color: #ffd617;
  outline: none; }

.ecl-lang-select-sites__label {
  margin-right: 0.66rem; }

.ecl-lang-select-sites__label:hover {
  text-decoration: underline; }

.ecl-lang-select-sites__code {
  display: inline-block;
  position: relative;
  text-transform: uppercase;
  width: 1.4rem; }

.ecl-lang-select-sites__code-text {
  background-color: #004494;
  color: #fff;
  font-size: 0.75rem;
  position: relative; }

.ecl-lang-select-sites__icon {
  color: #004494;
  font-size: 1.4rem;
  left: 0;
  position: absolute;
  top: -2px; }

.ecl-lang-select-sites__icon::before {
  font-weight: inherit; }

/**
 * Language list component
 * @define language-list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Language list component
 * @define language-list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-language-list {
  margin: 0; }

.ecl-language-list__wrapper {
  background-color: #004494;
  padding-bottom: 3.33rem;
  padding-top: 3.33rem; }

.ecl-language-list__button {
  background-color: #fff;
  color: #004494; }
  .ecl-language-list__button:focus, .ecl-language-list__button:active, .ecl-language-list__button:hover {
    border-color: #ffd617;
    color: #000; }
  .ecl-language-list__button:focus, .ecl-language-list__button:active {
    background-color: #fff;
    text-decoration: underline; }
  .ecl-language-list__button:hover {
    background-color: #ffd617; }

.ecl-language-list__button--active {
  background-color: #ffd617;
  box-shadow: none;
  color: #000; }

/**
 * list-items
 * @define list-item
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * list-items
 * @define list-item; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-list-item {
  border-bottom: 1px solid #ebebeb;
  list-style-type: none;
  margin: 0; }

.ecl-list-item:first-child {
  border-top: 1px solid #ebebeb; }

.ecl-list-item__body {
  flex-grow: 1; }

.ecl-list-item__link {
  color: #404040;
  display: flex;
  flex-direction: row;
  padding-bottom: 1rem;
  padding-top: 1rem;
  text-decoration: none; }

.ecl-list-item__meta {
  color: #707070;
  margin-bottom: 1rem; }

.ecl-list-item__detail {
  font-size: 1rem; }

.ecl-list-item__title {
  color: #004494;
  font-size: 1.125rem;
  margin-bottom: 1rem;
  margin-top: 1rem; }

.ecl-list-item--highlight .ecl-list-item__title {
  font-size: 1.375rem;
  height: 2.2em;
  overflow: hidden;
  text-overflow: ellipsis; }

.ecl-list-item__link:hover .ecl-list-item__title,
.ecl-list-item__link:focus .ecl-list-item__title {
  color: #404040;
  text-decoration: underline; }

.ecl-list-item__primary {
  flex-shrink: 0;
  height: auto;
  margin-right: 1.66rem;
  max-height: 5.55rem;
  max-width: 5.55rem;
  width: auto; }

.ecl-list-item--highlight .ecl-list-item__link {
  flex-direction: column;
  padding-top: 0; }

.ecl-list-item--highlight .ecl-list-item__primary {
  margin-right: 0;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%; }
  .ecl-list-item--highlight .ecl-list-item__primary img {
    display: block;
    width: 100%; }

.ecl-list-item--highlight .ecl-list-item__body {
  background-color: #ebebeb;
  padding-left: 1rem;
  padding-right: 1rem; }

.ecl-list-item--block {
  color: #fff;
  display: flex;
  flex-direction: column;
  margin: 0 0 1rem 0;
  padding: 0;
  /* stylelint-disable-next-line no-descending-specificity */ }
  .ecl-list-item--block .ecl-list-item__detail {
    color: inherit; }
  .ecl-list-item--block .ecl-list-item__link {
    background-color: #004494;
    color: inherit;
    padding: 1rem;
    text-decoration: none; }
  .ecl-list-item--block .ecl-list-item__link:hover {
    color: #fff; }
  .ecl-list-item--block .ecl-list-item__link:hover .ecl-list-item__title {
    color: #fff; }
  .ecl-list-item--block .ecl-list-item__title {
    color: inherit;
    font-size: 1.125rem;
    margin: 0.33rem 0 0.66rem; }

.ecl-list-item--block .ecl-list-item__title::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e828';
  width: 1rem; }

.ecl-list-item--navigation {
  margin-bottom: 1rem; }

/* stylelint-disable-next-line no-descending-specificity */
.ecl-list-item--navigation .ecl-list-item__link {
  border-top: 3px solid #ffd617;
  padding: 0; }

/* stylelint-disable-next-line no-descending-specificity */
.ecl-list-item--navigation .ecl-list-item__title {
  font-size: 1rem;
  margin: 0;
  padding: 0.89rem 0; }

.ecl-list-item--navigation .ecl-list-item__detail {
  margin: 0 0 0.89rem; }

.ecl-list-item--navigation .ecl-list-item__link:hover {
  border-top-color: #004494; }
  .ecl-list-item--navigation .ecl-list-item__link:hover .ecl-list-item__title {
    color: #004494;
    text-decoration: none; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-list-item--navigation .ecl-list-item__title {
    font-size: 1.125rem;
    padding: 0.89rem 0 1.66rem; } }

/**
 * ECL Navigation inpage
 * @define inpage-navigation
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Navigation inpage
 * @define inpage-navigation
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-inpage-navigation {
  margin: 0; }

.ecl-inpage-navigation__trigger {
  background-color: #004494;
  border: 0;
  color: #fff;
  display: none;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 4.125rem;
  padding-top: 1rem;
  position: relative;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%; }
  .ecl-inpage-navigation__trigger::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e822';
    align-items: center;
    background-color: #003776;
    display: flex;
    font-size: 0.5rem;
    height: 100%;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 3.125rem; }

.ecl-inpage-navigation__title {
  color: #404040;
  display: none;
  padding-bottom: 0.89rem;
  padding-left: 0.5rem;
  padding-top: 0.66rem;
  text-transform: uppercase; }

.ecl-inpage-navigation__list {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.ecl-inpage-navigation__list[aria-hidden='true'] {
  display: none; }

.ecl-inpage-navigation__link {
  font-size: 1rem;
  line-height: 1.625;
  padding: 0.4375rem 0; }

.ecl-inpage-navigation--visible .ecl-inpage-navigation__trigger {
  display: block; }

/* stylelint-disable-next-line order/order */
@media (max-width: 767px) {
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__body {
    background-color: #004494;
    left: 0;
    position: fixed;
    right: 0;
    top: 0; }
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__link {
    border-top: 1px solid #003776;
    color: #fff;
    display: block;
    padding: 0.66rem 0.89rem;
    text-decoration: underline; }
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__link:visited {
    color: #fff; } }

@media (min-width: 768px) {
  .ecl-inpage-navigation {
    position: -webkit-sticky;
    position: sticky;
    top: 0; }
  .ecl-inpage-navigation__title {
    display: block; }
  .ecl-inpage-navigation__list[aria-hidden] {
    display: block; }
  .ecl-inpage-navigation__link {
    border-left: 3px solid transparent;
    color: #000;
    display: block;
    font-weight: 700;
    padding-left: 0.33rem; }
    .ecl-inpage-navigation__link:hover {
      text-decoration: underline; }
    .ecl-inpage-navigation__link:focus {
      background-color: #ffd617;
      outline: none;
      text-decoration: underline; }
  .ecl-inpage-navigation__link--is-active {
    background-color: #ebebeb;
    border-left-color: #004494; }
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__trigger {
    display: none; } }

/**
 * ECL Pager
 * @define pager
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Pager
 * @define pager
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-pager {
  border-top: 2px solid #000;
  margin: 0;
  text-align: center; }

.ecl-pager__list {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  margin: 1rem 0;
  padding-left: 0;
  width: 100%; }

.ecl-pager__item {
  border: 2px solid transparent;
  box-sizing: content-box;
  color: #000;
  display: none;
  list-style: none;
  margin: 0 0.33rem; }

.ecl-pager__link {
  color: #004494;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  min-width: 1rem;
  padding: 0.33rem;
  text-decoration: none; }
  .ecl-pager__link:hover {
    color: #000;
    text-decoration: underline; }

.ecl-pager__item--previous,
.ecl-pager__item--next {
  display: block; }
  .ecl-pager__item--previous .ecl-pager__link,
  .ecl-pager__item--next .ecl-pager__link {
    font-weight: 600; }

.ecl-pager__item--ellipsis {
  font-size: 1rem;
  font-weight: 400;
  min-width: 1rem;
  padding: 0.33rem; }

.ecl-pager__item--current {
  border-radius: 50%;
  display: block;
  flex-grow: 1;
  font-size: 1rem;
  font-weight: 600;
  min-width: 1rem;
  padding: 0.33rem; }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-pager {
    width: auto; }
  .ecl-pager__item {
    display: block; }
  .ecl-pager__item--current {
    border: 2px solid #000;
    flex-grow: 0; }
  .ecl-pager__item-text {
    display: none; } }

/**
 * Blockquotes
 * @define rss-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * RSS links
 * @define rss-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-rss-link {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0; }

.ecl-rss-link__label {
  color: #404040;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: bold;
  margin: 0.5rem 0.75rem 0.5rem 0; }

.ecl-rss-link__link {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  font-size: 1rem;
  justify-content: center; }
  .ecl-rss-link__link::before {
    flex-shrink: 0; }

/**
 * Search form
 * @define search-form
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Search form
 * @define search-form
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-search-form {
  border: 1px solid #9f9f9f;
  display: flex;
  margin: 0; }
  @media print {
    .ecl-search-form {
      display: none !important; } }

.ecl-search-form__textfield-wrapper {
  border: 3px solid transparent;
  flex-grow: 1; }

.ecl-search-form__textfield {
  border: 0;
  margin-top: 0;
  padding: 0.66rem 0.89rem; }

.ecl-search-form__button {
  flex-shrink: 0;
  padding: 0 1.66rem;
  position: relative;
  text-indent: -999em; }
  .ecl-search-form__button::before {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-right: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none; }
  .ecl-search-form__button::before {
    content: '\e823';
    font-size: 1.375rem;
    left: 50%;
    position: absolute;
    text-indent: 0;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-search-form__button {
    padding: 0 1rem;
    text-indent: 0; }
    .ecl-search-form__button::before {
      display: none !important; } }

.ecl-search-form--internal {
  display: flex; }
  .ecl-search-form--internal .ecl-search-form__textfield-wrapper {
    border-color: #fff;
    flex-grow: 1;
    position: relative;
    /* stylelint-disable-next-line */ }
    .ecl-search-form--internal .ecl-search-form__textfield-wrapper::before {
      display: inline-block;
      font-family: 'EuropaIcons';
      /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      line-height: 1;
      margin-right: 4px;
      speak: none;
      text-decoration: none;
      text-transform: none; }
    .ecl-search-form--internal .ecl-search-form__textfield-wrapper::before {
      content: '\e823';
      color: #cfcfcf;
      font-size: 1.125rem;
      left: 0.66rem;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
  .ecl-search-form--internal .ecl-search-form__textfield {
    padding-left: 2.445rem; }

/**
 * Skip link component
 * @define skip-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Skip link component
 * @define skip-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-skip-link__wrapper {
  left: 2.22rem;
  margin: 0;
  position: fixed;
  top: 2.22rem;
  z-index: 9999; }

.ecl-skip-link {
  border: 0;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  background-color: #4073af;
  color: #fff;
  outline: 4px solid #ffd617;
  outline-offset: 0;
  padding: 0.66rem; }
  .ecl-skip-link:active, .ecl-skip-link:focus {
    clip: auto;
    -webkit-clip-path: none;
            clip-path: none;
    height: auto;
    overflow: visible;
    position: static;
    white-space: normal;
    width: auto; }
  .ecl-skip-link:focus, .ecl-skip-link:active {
    white-space: nowrap; }

/**
 * Social media
 * @define social-media-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Social media
 * @define social-media-link
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-social-media-link {
  background-color: #ebebeb;
  box-sizing: border-box;
  display: block;
  margin: 0;
  padding: 1.66rem;
  width: 100%; }
  @media print {
    .ecl-social-media-link {
      display: none !important; } }

.ecl-social-media-link__item {
  margin-bottom: 0.66rem;
  vertical-align: top; }
  .ecl-social-media-link__item:last-child {
    margin-bottom: 0; }

.ecl-social-media-link__link {
  align-items: center;
  display: flex;
  min-height: 2rem; }

.ecl-social-media-link--horizontal .ecl-social-media-link__list {
  max-width: 100%; }

.ecl-social-media-link--horizontal .ecl-social-media-link__item {
  margin-left: 0;
  margin-right: 1.66rem; }

.ecl-social-media-link--horizontal .ecl-social-media-link__item:last-child {
  margin-right: 0; }

/**
 * Timeline
 * @define timeline
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Timeline
 * @define timeline
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-timeline {
  border-left: 4px solid #ffd617;
  margin: 0;
  padding: 0; }

.ecl-timeline__list {
  list-style: none;
  margin: 0;
  padding: 1.66rem 0 0; }

.ecl-timeline__item {
  margin-bottom: 2.22rem; }

.ecl-timeline__item:last-child {
  margin-bottom: 0; }

.ecl-timeline__item--over-limit {
  display: none; }
  .no-js .ecl-timeline__item--over-limit {
    display: list-item; }

.ecl-timeline__button {
  margin-left: 2.22rem; }
  .no-js .ecl-timeline__button {
    display: none; }

.ecl-timeline__title {
  font-weight: bold;
  margin-bottom: 0.89rem;
  padding-left: 2.22rem;
  position: relative; }
  .ecl-timeline__title::before {
    background-color: #fff;
    border: 3px solid #404040;
    border-radius: 50%;
    box-sizing: border-box;
    content: '';
    height: 14px;
    left: -9px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 14px; }

.ecl-timeline__body {
  color: #404040;
  padding-left: 2.22rem; }

/**
 * Accordions
 * @define accordion
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Accordions
 * @define accordion
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-accordion {
  margin: 0; }

.ecl-accordion__header {
  align-items: center;
  background-color: transparent;
  border-width: 0;
  color: #404040;
  display: flex;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
  padding: 0.89rem;
  text-align: left;
  width: 100%; }
  @media (min-width: 768px) {
    .ecl-accordion__header {
      font-size: 1.375rem; } }

.ecl-accordion__header-icon {
  flex-grow: 0;
  flex-shrink: 0;
  margin-right: 0.89rem; }

.ecl-accordion__header:active,
.ecl-accordion__header:focus,
.ecl-accordion__header:hover,
.ecl-accordion__header[aria-expanded='true'] {
  background-color: #ffd617; }

.ecl-accordion__panel {
  background-color: #f5f5f5;
  font-size: 1rem;
  margin: 0;
  padding: 1rem; }
  @media (min-width: 768px) {
    .ecl-accordion__panel {
      padding-left: 4.44rem; } }

.ecl-accordion__panel[aria-hidden='true'] {
  display: none; }

/**
* Gallery
* @define gallery ; weak
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
* Gallery
* @define gallery ; weak
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-gallery {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  width: 100%; }

.ecl-gallery__item {
  overflow: hidden; }

.ecl-gallery .ecl-gallery__item {
  padding: 0.165rem; }

.ecl-gallery__item-container {
  box-sizing: border-box;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%; }

.ecl-gallery__image {
  display: block;
  left: 50%;
  max-height: none;
  max-width: none;
  min-height: 100%;
  min-width: 100%;
  position: relative;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: auto; }

.ecl-gallery__caption {
  background-color: #404040;
  bottom: 0;
  color: #fff;
  display: none;
  font-size: 0.75rem;
  height: 4em;
  left: 0;
  overflow: hidden;
  /* stylelint-disable-next-line */
  padding: 0.33rem 0.66rem 0.33rem 0.33rem;
  position: absolute;
  right: 0;
  text-overflow: ellipsis; }

.ecl-gallery__icon-wrapper {
  background-color: #404040;
  bottom: 0;
  color: #fff;
  height: 2.667em;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  text-align: center;
  width: 2.667em; }
  .ecl-gallery__icon-wrapper .ecl-icon--camera {
    font-size: 0.75rem;
    line-height: 4em; }

.ecl-gallery__icon {
  font-size: 1.125rem;
  line-height: 2.667em; }
  .ecl-gallery__icon::before {
    margin-right: 0; }

.ecl-gallery__item:hover .ecl-gallery__caption {
  display: block; }

/**
 * Listings
 * @define listing; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Listings
 * @define listing; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-listing {
  margin: 0;
  padding-left: 0; }

.ecl-listing--two-columns {
  display: flex;
  flex-wrap: wrap; }
  .ecl-listing--two-columns .ecl-list-item {
    border-width: 0;
    flex-grow: 1;
    width: 100%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-listing--two-columns .ecl-list-item {
    width: 50%; }
  .ecl-listing--two-columns .ecl-list-item:nth-child(odd) .ecl-list-item__link {
    padding-left: 0;
    padding-right: 1rem; }
  .ecl-listing--two-columns .ecl-list-item:nth-child(even) .ecl-list-item__link {
    padding-left: 1rem;
    padding-right: 0; }
  .ecl-listing--two-columns .ecl-list-item--navigation:nth-child(odd) .ecl-list-item__link {
    margin: 0 1rem 0 0;
    padding: 0; }
  .ecl-listing--two-columns .ecl-list-item--navigation:nth-child(even) .ecl-list-item__link {
    margin: 0 0 0 1rem;
    padding: 0; }
  .ecl-listing--two-columns .ecl-list-item--block:nth-child(odd) .ecl-list-item__link {
    margin: 0 1rem 0 0;
    padding: 1rem; }
  .ecl-listing--two-columns .ecl-list-item--block:nth-child(even) .ecl-list-item__link {
    margin: 0 0 0 1rem;
    padding: 1rem; } }

.ecl-listing--three-columns {
  display: flex;
  flex-wrap: wrap; }
  .ecl-listing--three-columns .ecl-list-item {
    border-width: 0;
    flex-grow: 1;
    width: 100%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-listing--three-columns .ecl-list-item {
    width: 33%; }
  .ecl-listing--three-columns .ecl-list-item:nth-child(3n + 1) .ecl-list-item__link {
    padding-left: 0;
    padding-right: 1rem; }
  .ecl-listing--three-columns .ecl-list-item:nth-child(3n + 2) .ecl-list-item__link {
    padding-left: 0.5rem;
    padding-right: 0.5rem; }
  .ecl-listing--three-columns .ecl-list-item:nth-child(3n) .ecl-list-item__link {
    padding-left: 1rem;
    padding-right: 0; }
  .ecl-listing--three-columns .ecl-list-item--navigation:nth-child(3n + 1) .ecl-list-item__link {
    margin: 0 1rem 0 0;
    padding: 0; }
  .ecl-listing--three-columns .ecl-list-item--navigation:nth-child(3n + 2) .ecl-list-item__link {
    margin: 0 0.5rem;
    padding: 0; }
  .ecl-listing--three-columns .ecl-list-item--navigation:nth-child(3n) .ecl-list-item__link {
    margin: 0 0 0 1rem;
    padding: 0; }
  .ecl-listing--three-columns .ecl-list-item--block:nth-child(3n + 1) .ecl-list-item__link {
    margin: 0 1rem 0 0;
    padding: 1rem; }
  .ecl-listing--three-columns .ecl-list-item--block:nth-child(3n + 2) .ecl-list-item__link {
    margin: 0 0.5rem;
    padding: 1rem; }
  .ecl-listing--three-columns .ecl-list-item--block:nth-child(3n) .ecl-list-item__link {
    margin: 0 0 0 1rem;
    padding: 1rem; } }

/**
 * ECL Navigation
 * @define navigation-list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Navigation
 * @define navigation-list
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-navigation-list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  list-style-type: none;
  margin: 0;
  padding: 0; }

.ecl-navigation-list__item {
  flex-shrink: 0; }

.ecl-navigation-list__link {
  border-bottom: 2px solid transparent;
  display: block;
  font-weight: bold;
  padding: 0.89rem 1rem;
  text-decoration: none; }
  .ecl-navigation-list__link:hover {
    text-decoration: underline; }
  .ecl-navigation-list__link:focus {
    background-color: #ffd617;
    border-bottom-color: #ffd617; }

.ecl-navigation-list__link--active,
.ecl-navigation-list__link[aria-selected='true'] {
  color: #404040; }
  .ecl-navigation-list__link--active:hover,
  .ecl-navigation-list__link[aria-selected='true']:hover {
    text-decoration: none; }

/**
   * Variants
   */
.ecl-navigation-list--tabs {
  border-bottom: 2px solid #9f9f9f; }

.ecl-navigation-list--tabs .ecl-navigation-list__item {
  margin-bottom: -2px; }

.ecl-navigation-list--tabs .ecl-navigation-list__link--active,
.ecl-navigation-list--tabs .ecl-navigation-list__link[aria-selected='true'] {
  border: 2px solid #9f9f9f;
  border-bottom-color: #fff;
  text-decoration: none; }
  .ecl-navigation-list--tabs .ecl-navigation-list__link--active:focus,
  .ecl-navigation-list--tabs .ecl-navigation-list__link[aria-selected='true']:focus {
    border-bottom-color: transparent; }

.ecl-navigation-list--small .ecl-navigation-list__link {
  border-bottom-width: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.3;
  padding: 0.66rem; }

/**
 * EC navigation menus
 * @define navigation-menu
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Horizontal menus
 * @define navigation-menu
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-navigation-menu {
  background-color: #4073af;
  margin: 0; }

.ecl-navigation-menu__root {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative; }

.ecl-navigation-menu__root[aria-hidden='true'] {
  display: none; }
  .no-js .ecl-navigation-menu__root[aria-hidden='true'] {
    display: flex; }

.ecl-navigation-menu__root::before {
  background-color: #bfd0e4;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw; }

.ecl-navigation-menu__toggle {
  background-color: #4073af;
  border-width: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 1.66rem 0;
  position: relative;
  text-align: left;
  text-decoration: none;
  width: 100%; }

.ecl-navigation-menu__group {
  display: none;
  list-style: none;
  padding: 1rem 0 1rem;
  position: relative; }

.ecl-navigation-menu__group::before {
  background-color: #f5f5f5;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100vw; }

.ecl-navigation-menu__title {
  color: #404040;
  font-size: 1.125rem;
  padding-bottom: 0.89rem;
  padding-top: 0.89rem; }

.ecl-navigation-menu__links {
  line-height: 1.25rem; }

.ecl-navigation-menu__link {
  align-items: center;
  background-color: transparent;
  border-bottom: 1px solid #7fa1c9;
  border-left-width: 0;
  border-right-width: 0;
  border-top: 0;
  box-sizing: border-box;
  color: #012b58;
  display: flex;
  font-size: 1rem;
  font-weight: bold;
  justify-content: space-between;
  padding: 1rem 0;
  position: relative;
  text-decoration: none;
  width: 100%; }

.ecl-navigation-menu__root > .ecl-navigation-menu__item {
  background-color: #bfd0e4; }

.ecl-navigation-menu__item--active {
  background-color: #4073af;
  position: relative; }
  .ecl-navigation-menu__item--active > .ecl-navigation-menu__link {
    color: #fff; }
  .ecl-navigation-menu__item--active::before {
    background-color: #4073af;
    content: '';
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100vw; }

.ecl-navigation-menu__root > .ecl-navigation-menu__item--active {
  background-color: #4073af; }

.ecl-navigation-menu__group .ecl-navigation-menu__link:hover, .ecl-navigation-menu__group .ecl-navigation-menu__link:focus {
  text-decoration: underline; }

.ecl-navigation-menu__item:last-child .ecl-navigation-menu__link {
  border-bottom-width: 0; }

/* Icon display */
.ecl-navigation-menu__link[aria-expanded]::after {
  padding-left: 0.33rem; }
  .no-js .ecl-navigation-menu__link[aria-expanded]::after {
    display: none; }

.ecl-navigation-menu__link[aria-expanded='false']::after {
  display: inline-block;
  font-family: 'EuropaIcons';
  /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-left: 4px;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: '\e81f'; }

.ecl-navigation-menu__link[aria-expanded='true'] {
  border-bottom-width: 0; }
  .ecl-navigation-menu__link[aria-expanded='true']::after {
    display: inline-block;
    font-family: 'EuropaIcons';
    /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    margin-left: 4px;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: '\e827'; }

.ecl-navigation-menu__link ~ .ecl-navigation-menu__group .ecl-navigation-menu__link {
  border-bottom-width: 0;
  font-weight: normal; }
  .ecl-navigation-menu__link ~ .ecl-navigation-menu__group .ecl-navigation-menu__link::after {
    display: none; }
  .ecl-navigation-menu__link ~ .ecl-navigation-menu__group .ecl-navigation-menu__link--active {
    font-weight: bold; }

/* Collapsible block display */
.ecl-navigation-menu__link[aria-expanded='true'] ~ .ecl-navigation-menu__group {
  display: block; }

/* Hamburger button */
.ecl-navigation-menu__hamburger-box {
  left: 0;
  position: absolute;
  top: 50%; }

.ecl-navigation-menu__hamburger-label {
  padding-left: 2.66rem; }

.ecl-navigation-menu__hamburger-inner {
  display: block;
  margin-top: -0.1em; }

.ecl-navigation-menu__hamburger-inner,
.ecl-navigation-menu__hamburger-inner::before,
.ecl-navigation-menu__hamburger-inner::after {
  background-color: #fff;
  border-radius: 0.1em;
  height: 0.2em;
  position: absolute;
  width: 1.66rem; }

.ecl-navigation-menu__hamburger-inner::before,
.ecl-navigation-menu__hamburger-inner::after {
  content: '';
  display: block; }

.ecl-navigation-menu__hamburger-inner::before {
  top: -0.5em; }

.ecl-navigation-menu__hamburger-inner::after {
  bottom: -0.5em; }

.ecl-navigation-menu__hamburger--squeeze .ecl-navigation-menu__hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ecl-navigation-menu__hamburger--squeeze .ecl-navigation-menu__hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease; }

.ecl-navigation-menu__hamburger--squeeze .ecl-navigation-menu__hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ecl-navigation-menu__hamburger--squeeze[aria-expanded='true'] .ecl-navigation-menu__hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

.ecl-navigation-menu__hamburger--squeeze[aria-expanded='true'] .ecl-navigation-menu__hamburger-inner::before {
  opacity: 0;
  top: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease; }

.ecl-navigation-menu__hamburger--squeeze[aria-expanded='true'] .ecl-navigation-menu__hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-navigation-menu {
    background-color: #bfd0e4; }
  .ecl-navigation-menu__root {
    background-color: transparent;
    flex-direction: row; }
  .ecl-navigation-menu__root[aria-hidden='true'] {
    display: flex; }
  .ecl-navigation-menu__root::before {
    display: none; }
  .ecl-navigation-menu__toggle {
    display: none; }
  .ecl-navigation-menu__group {
    flex-wrap: wrap;
    left: 0;
    margin: 0;
    position: absolute;
    top: 100%;
    width: 100%; }
  .ecl-navigation-menu__link {
    border-bottom-width: 0;
    margin: 0;
    padding: 1rem; }
  .ecl-navigation-menu__group .ecl-navigation-menu__link {
    padding: 0.66rem 0; }
  .ecl-navigation-menu__link[aria-expanded]::after {
    position: relative; }
  .ecl-navigation-menu__link[aria-expanded='true'] {
    background-color: #f5f5f5;
    color: #012b58; }
  .ecl-navigation-menu__link[aria-expanded='true'] ~ .ecl-navigation-menu__group {
    align-items: baseline;
    display: flex;
    z-index: 1; }
  .ecl-navigation-menu__item {
    display: flex; }
  .ecl-navigation-menu__group .ecl-navigation-menu__item {
    flex-basis: 25%; }
  .ecl-navigation-menu__item--active {
    position: static; }
  .ecl-navigation-menu__item--active::before {
    display: none; } }

/**
 * ECL Side menus
 * @define side-navigation
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Side menus
 * @define side-navigation
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-side-navigation {
  background-color: #ebebeb;
  height: 100%;
  margin: 0;
  padding: 0; }

.ecl-side-navigation__root {
  list-style: none;
  margin: 0;
  min-width: 13rem;
  padding: 0 1rem;
  position: relative; }

.ecl-side-navigation__root::before {
  background-color: #ebebeb;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw; }

.ecl-side-navigation__root[aria-hidden='true'] {
  display: none; }
  .no-js .ecl-side-navigation__root[aria-hidden='true'] {
    display: flex; }

.ecl-side-navigation__toggle {
  border-width: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 1.66rem 1rem;
  position: relative;
  text-align: left;
  text-decoration: none;
  width: 100%;
  z-index: 1; }

.ecl-side-navigation__toggle::before {
  background-color: #4073af;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw; }

.ecl-side-navigation__group {
  display: none;
  list-style: none;
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 0 1rem;
  position: relative; }

.ecl-side-navigation__group::before {
  background-color: #f5f5f5;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw; }

.ecl-side-navigation__link {
  border-bottom: 1px solid #9f9f9f;
  color: #404040;
  display: flex;
  font-size: 1.125rem;
  padding: 1rem 0;
  position: relative;
  text-decoration: none; }
  .ecl-side-navigation__link:hover, .ecl-side-navigation__link:focus {
    text-decoration: underline; }
  .ecl-side-navigation__link::after {
    position: absolute;
    right: 0;
    text-decoration: none; }
  .ecl-side-navigation__link[aria-expanded='true'] {
    border-bottom-width: 0; }
  .ecl-side-navigation__link--active {
    color: #404040;
    text-decoration: underline; }

.ecl-side-navigation__group .ecl-side-navigation__item {
  padding-left: 1rem; }

.ecl-side-navigation--depth-2 .ecl-side-navigation__link {
  border-bottom-color: #cfcfcf;
  font-weight: normal; }
  .ecl-side-navigation--depth-2 .ecl-side-navigation__link[aria-expanded='true'], .ecl-side-navigation--depth-2 .ecl-side-navigation__link[aria-expanded='false'] {
    font-weight: bold; }
  .ecl-side-navigation--depth-2 .ecl-side-navigation__link[aria-expanded='true'] {
    border-bottom-width: 1px; }

.ecl-side-navigation--depth-3 .ecl-side-navigation__link {
  border-bottom-width: 0;
  margin-left: -1rem;
  padding-left: 1rem; }

.ecl-side-navigation--depth-2 .ecl-side-navigation__item:last-child .ecl-side-navigation__link {
  border-bottom-width: 0; }

.ecl-side-navigation--depth-3 .ecl-side-navigation__item:last-child .ecl-side-navigation__link {
  border-bottom-width: 1px; }

/* Collapsible block display */
.ecl-side-navigation__link[aria-expanded='true'] ~ .ecl-side-navigation__group {
  display: block; }

/* Hamburger button */
.ecl-side-navigation__hamburger-box {
  left: 1rem;
  position: absolute;
  top: 50%; }

.ecl-side-navigation__hamburger-label {
  padding-left: 2.66rem;
  position: relative; }

.ecl-side-navigation__hamburger-inner {
  display: block;
  margin-top: -0.1em; }

.ecl-side-navigation__hamburger-inner,
.ecl-side-navigation__hamburger-inner::before,
.ecl-side-navigation__hamburger-inner::after {
  background-color: #fff;
  border-radius: 0.1em;
  height: 0.2em;
  position: absolute;
  width: 1.66rem; }

.ecl-side-navigation__hamburger-inner::before,
.ecl-side-navigation__hamburger-inner::after {
  content: '';
  display: block; }

.ecl-side-navigation__hamburger-inner::before {
  top: -0.5em; }

.ecl-side-navigation__hamburger-inner::after {
  bottom: -0.5em; }

.ecl-side-navigation__hamburger--squeeze .ecl-side-navigation__hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ecl-side-navigation__hamburger--squeeze .ecl-side-navigation__hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease; }

.ecl-side-navigation__hamburger--squeeze .ecl-side-navigation__hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.ecl-side-navigation__hamburger--squeeze[aria-expanded='true'] .ecl-side-navigation__hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

.ecl-side-navigation__hamburger--squeeze[aria-expanded='true'] .ecl-side-navigation__hamburger-inner::before {
  opacity: 0;
  top: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease; }

.ecl-side-navigation__hamburger--squeeze[aria-expanded='true'] .ecl-side-navigation__hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-side-navigation__toggle {
    display: none; }
  .ecl-side-navigation__root,
  .ecl-side-navigation__root[aria-hidden='true'] {
    background-color: #ebebeb;
    display: block; }
  .ecl-side-navigation__root::before {
    display: none; }
  .ecl-side-navigation__group {
    background-color: #f5f5f5; }
  .ecl-side-navigation__group::before {
    display: none; } }

/**
 * Page header
 * @define page-header
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Page header
 * @define page-header
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-page-header {
  background-color: #004494;
  color: #fff;
  margin: 0; }
  .ecl-page-header__body {
    padding: 0.66rem 0; }
  .ecl-page-header__meta {
    margin-top: 1.66rem; }
  .ecl-page-header__title {
    margin-top: 1.66rem; }
  .ecl-page-header__identity {
    color: #bfd0e4;
    font-size: 1.375rem;
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-page-header__intro {
    color: #fff;
    font-size: 1.375rem;
    line-height: 1.45;
    max-width: 40em; }
  .ecl-page-header__label {
    font-size: 0.875rem;
    text-transform: uppercase; }

.ecl-page-header--image {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  /* stylelint-disable-next-line */ }
  .ecl-page-header--image .ecl-container {
    z-index: 2; }

/* Blue gradient */
.ecl-page-header--image::after {
  clear: both;
  content: '';
  height: 100%;
  left: 0%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
  /* stylelint-disable */
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#004494+0,004494+100&1+0,0.75+80,0.5+100 */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #004494 0%, rgba(0, 68, 148, 0.75) 80%, rgba(0, 68, 148, 0.5) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#004494', endColorstr='#80004494',GradientType=1 );
  /* IE6-9 */
  /* stylelint-enable */ }

@media (max-width: 768px) {
  .ecl-page-header--image::after {
    /* stylelint-disable */
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#004494+0,004494+100&1+0,0.9+80,0.8+100 */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #004494 0%, rgba(0, 68, 148, 0.9) 80%, rgba(0, 68, 148, 0.8) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#004494', endColorstr='#cc004494',GradientType=1 );
    /* IE6-9 */
    /* stylelint-enable */ } }

/* End Blue gradient */
.ecl-page-header--highlight {
  padding-bottom: 1.66rem; }
  .ecl-page-header--highlight .ecl-page-header__body {
    background-color: #012b58;
    padding-bottom: 0.89rem; }

@media (min-width: 480px) {
  .ecl-page-header--highlight {
    padding-bottom: 0; }
    .ecl-page-header--highlight .ecl-page-header__body {
      background-color: #004494;
      padding-bottom: 4.44rem;
      padding-top: 4.44rem; }
  .ecl-page-header__label {
    background-color: #012b58;
    display: inline-block;
    line-height: 2.4;
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-page-header__highlight {
    background-color: #fff;
    color: #004494;
    font-size: 1.375rem;
    max-width: 22em;
    padding: 1rem 1.66rem; } }

/**
 * ECL Profile Topbar
 * @define profile-topbar
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * ECL Profile Topbar
 * @define profile-topbar
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-profile-topbar {
  margin: 0;
  padding-bottom: 1.66rem;
  padding-top: 1.66rem; }

.ecl-profile-topbar__pane {
  height: 100%;
  min-height: 160px;
  position: relative; }

.ecl-profile-topbar__pane-button {
  bottom: 0;
  position: absolute; }

.ecl-profile-topbar__collapsible-area {
  background-color: #ebebeb;
  overflow: hidden; }

.ecl-profile-topbar__collapsible-area[aria-hidden='true'] {
  display: none; }

/**
 * Site header
 * @define site-header ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Site header
 * @define site-header ; weak
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
/* stylelint-disable-next-line */
.ecl-site-header {
  background-color: #fff;
  margin: 0;
  width: 100%; }

.ecl-site-header__banner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-bottom: 1rem;
  padding-top: 1rem; }

.ecl-site-header__banner > * {
  margin-top: 1rem; }

.ecl-site-header__logo {
  flex-grow: 0;
  flex-shrink: 0; }

.ecl-site-header__language-list {
  display: flex;
  flex-grow: 1;
  flex-shrink: 0;
  justify-content: flex-end; }

.ecl-site-header__search {
  flex-grow: 1; }

.ecl-site-header__user-menu {
  display: flex;
  justify-content: flex-end;
  width: 100%; }

/* stylelint-disable-next-line order/order */
@media (min-width: 992px) {
  .ecl-site-header__user-menu {
    display: block;
    width: auto; } }

/**
 * Tabs
 * @define tabs
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Tabs
 * @define tabs
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line */
.ecl-tabs__tabpanel[aria-hidden='true'] {
  display: none; }

/**
 * Aria utilities
 * Automatically apply certain styles depending on the aria attributes
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Aria utilities
 * Automatically apply certain styles depending on the aria attributes
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable-next-line plugin/selector-bem-pattern */
.ecl-u-aria[aria-hidden='true'] {
  display: none; }

/**
 * Clearfix utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Clearfix utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-clearfix::after {
  clear: both;
  content: '';
  display: block; }

/**
 * Flex utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Flex utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-order-first {
  order: -1; }

.ecl-u-order-last {
  order: 1; }

.ecl-u-order-0 {
  order: 0; }

.ecl-u-flex-row {
  flex-direction: row; }

.ecl-u-flex-column {
  flex-direction: column; }

.ecl-u-flex-row-reverse {
  flex-direction: row-reverse; }

.ecl-u-flex-column-reverse {
  flex-direction: column-reverse; }

.ecl-u-flex-wrap {
  flex-wrap: wrap; }

.ecl-u-flex-nowrap {
  flex-wrap: nowrap; }

.ecl-u-flex-wrap-reverse {
  flex-wrap: wrap-reverse; }

.ecl-u-justify-content-start {
  justify-content: flex-start; }

.ecl-u-justify-content-end {
  justify-content: flex-end; }

.ecl-u-justify-content-center {
  justify-content: center; }

.ecl-u-justify-content-between {
  justify-content: space-between; }

.ecl-u-justify-content-around {
  justify-content: space-around; }

.ecl-u-align-items-start {
  align-items: flex-start; }

.ecl-u-align-items-end {
  align-items: flex-end; }

.ecl-u-align-items-center {
  align-items: center; }

.ecl-u-align-items-baseline {
  align-items: baseline; }

.ecl-u-align-items-stretch {
  align-items: stretch; }

.ecl-u-align-content-start {
  align-content: flex-start; }

.ecl-u-align-content-end {
  align-content: flex-end; }

.ecl-u-align-content-center {
  align-content: center; }

.ecl-u-align-content-between {
  align-content: space-between; }

.ecl-u-align-content-around {
  align-content: space-around; }

.ecl-u-align-content-stretch {
  align-content: stretch; }

.ecl-u-align-self-auto {
  align-self: auto; }

.ecl-u-align-self-start {
  align-self: flex-start; }

.ecl-u-align-self-end {
  align-self: flex-end; }

.ecl-u-align-self-center {
  align-self: center; }

.ecl-u-align-self-baseline {
  align-self: baseline; }

.ecl-u-align-self-stretch {
  align-self: stretch; }

.ecl-u-flex-grow-0 {
  flex-grow: 0; }

.ecl-u-flex-grow-1 {
  flex-grow: 1; }

@media (min-width: 480px) {
  .ecl-u-order-sm-first {
    order: -1; }
  .ecl-u-order-sm-last {
    order: 1; }
  .ecl-u-order-sm-0 {
    order: 0; }
  .ecl-u-flex-sm-row {
    flex-direction: row; }
  .ecl-u-flex-sm-column {
    flex-direction: column; }
  .ecl-u-flex-sm-row-reverse {
    flex-direction: row-reverse; }
  .ecl-u-flex-sm-column-reverse {
    flex-direction: column-reverse; }
  .ecl-u-flex-sm-wrap {
    flex-wrap: wrap; }
  .ecl-u-flex-sm-nowrap {
    flex-wrap: nowrap; }
  .ecl-u-flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .ecl-u-justify-content-sm-start {
    justify-content: flex-start; }
  .ecl-u-justify-content-sm-end {
    justify-content: flex-end; }
  .ecl-u-justify-content-sm-center {
    justify-content: center; }
  .ecl-u-justify-content-sm-between {
    justify-content: space-between; }
  .ecl-u-justify-content-sm-around {
    justify-content: space-around; }
  .ecl-u-align-items-sm-start {
    align-items: flex-start; }
  .ecl-u-align-items-sm-end {
    align-items: flex-end; }
  .ecl-u-align-items-sm-center {
    align-items: center; }
  .ecl-u-align-items-sm-baseline {
    align-items: baseline; }
  .ecl-u-align-items-sm-stretch {
    align-items: stretch; }
  .ecl-u-align-content-sm-start {
    align-content: flex-start; }
  .ecl-u-align-content-sm-end {
    align-content: flex-end; }
  .ecl-u-align-content-sm-center {
    align-content: center; }
  .ecl-u-align-content-sm-between {
    align-content: space-between; }
  .ecl-u-align-content-sm-around {
    align-content: space-around; }
  .ecl-u-align-content-sm-stretch {
    align-content: stretch; }
  .ecl-u-align-self-sm-auto {
    align-self: auto; }
  .ecl-u-align-self-sm-start {
    align-self: flex-start; }
  .ecl-u-align-self-sm-end {
    align-self: flex-end; }
  .ecl-u-align-self-sm-center {
    align-self: center; }
  .ecl-u-align-self-sm-baseline {
    align-self: baseline; }
  .ecl-u-align-self-sm-stretch {
    align-self: stretch; }
  .ecl-u-flex-grow-sm-0 {
    flex-grow: 0; }
  .ecl-u-flex-grow-sm-1 {
    flex-grow: 1; } }

@media (min-width: 768px) {
  .ecl-u-order-md-first {
    order: -1; }
  .ecl-u-order-md-last {
    order: 1; }
  .ecl-u-order-md-0 {
    order: 0; }
  .ecl-u-flex-md-row {
    flex-direction: row; }
  .ecl-u-flex-md-column {
    flex-direction: column; }
  .ecl-u-flex-md-row-reverse {
    flex-direction: row-reverse; }
  .ecl-u-flex-md-column-reverse {
    flex-direction: column-reverse; }
  .ecl-u-flex-md-wrap {
    flex-wrap: wrap; }
  .ecl-u-flex-md-nowrap {
    flex-wrap: nowrap; }
  .ecl-u-flex-md-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .ecl-u-justify-content-md-start {
    justify-content: flex-start; }
  .ecl-u-justify-content-md-end {
    justify-content: flex-end; }
  .ecl-u-justify-content-md-center {
    justify-content: center; }
  .ecl-u-justify-content-md-between {
    justify-content: space-between; }
  .ecl-u-justify-content-md-around {
    justify-content: space-around; }
  .ecl-u-align-items-md-start {
    align-items: flex-start; }
  .ecl-u-align-items-md-end {
    align-items: flex-end; }
  .ecl-u-align-items-md-center {
    align-items: center; }
  .ecl-u-align-items-md-baseline {
    align-items: baseline; }
  .ecl-u-align-items-md-stretch {
    align-items: stretch; }
  .ecl-u-align-content-md-start {
    align-content: flex-start; }
  .ecl-u-align-content-md-end {
    align-content: flex-end; }
  .ecl-u-align-content-md-center {
    align-content: center; }
  .ecl-u-align-content-md-between {
    align-content: space-between; }
  .ecl-u-align-content-md-around {
    align-content: space-around; }
  .ecl-u-align-content-md-stretch {
    align-content: stretch; }
  .ecl-u-align-self-md-auto {
    align-self: auto; }
  .ecl-u-align-self-md-start {
    align-self: flex-start; }
  .ecl-u-align-self-md-end {
    align-self: flex-end; }
  .ecl-u-align-self-md-center {
    align-self: center; }
  .ecl-u-align-self-md-baseline {
    align-self: baseline; }
  .ecl-u-align-self-md-stretch {
    align-self: stretch; }
  .ecl-u-flex-grow-md-0 {
    flex-grow: 0; }
  .ecl-u-flex-grow-md-1 {
    flex-grow: 1; } }

@media (min-width: 992px) {
  .ecl-u-order-lg-first {
    order: -1; }
  .ecl-u-order-lg-last {
    order: 1; }
  .ecl-u-order-lg-0 {
    order: 0; }
  .ecl-u-flex-lg-row {
    flex-direction: row; }
  .ecl-u-flex-lg-column {
    flex-direction: column; }
  .ecl-u-flex-lg-row-reverse {
    flex-direction: row-reverse; }
  .ecl-u-flex-lg-column-reverse {
    flex-direction: column-reverse; }
  .ecl-u-flex-lg-wrap {
    flex-wrap: wrap; }
  .ecl-u-flex-lg-nowrap {
    flex-wrap: nowrap; }
  .ecl-u-flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .ecl-u-justify-content-lg-start {
    justify-content: flex-start; }
  .ecl-u-justify-content-lg-end {
    justify-content: flex-end; }
  .ecl-u-justify-content-lg-center {
    justify-content: center; }
  .ecl-u-justify-content-lg-between {
    justify-content: space-between; }
  .ecl-u-justify-content-lg-around {
    justify-content: space-around; }
  .ecl-u-align-items-lg-start {
    align-items: flex-start; }
  .ecl-u-align-items-lg-end {
    align-items: flex-end; }
  .ecl-u-align-items-lg-center {
    align-items: center; }
  .ecl-u-align-items-lg-baseline {
    align-items: baseline; }
  .ecl-u-align-items-lg-stretch {
    align-items: stretch; }
  .ecl-u-align-content-lg-start {
    align-content: flex-start; }
  .ecl-u-align-content-lg-end {
    align-content: flex-end; }
  .ecl-u-align-content-lg-center {
    align-content: center; }
  .ecl-u-align-content-lg-between {
    align-content: space-between; }
  .ecl-u-align-content-lg-around {
    align-content: space-around; }
  .ecl-u-align-content-lg-stretch {
    align-content: stretch; }
  .ecl-u-align-self-lg-auto {
    align-self: auto; }
  .ecl-u-align-self-lg-start {
    align-self: flex-start; }
  .ecl-u-align-self-lg-end {
    align-self: flex-end; }
  .ecl-u-align-self-lg-center {
    align-self: center; }
  .ecl-u-align-self-lg-baseline {
    align-self: baseline; }
  .ecl-u-align-self-lg-stretch {
    align-self: stretch; }
  .ecl-u-flex-grow-lg-0 {
    flex-grow: 0; }
  .ecl-u-flex-grow-lg-1 {
    flex-grow: 1; } }

@media (min-width: 1200px) {
  .ecl-u-order-xl-first {
    order: -1; }
  .ecl-u-order-xl-last {
    order: 1; }
  .ecl-u-order-xl-0 {
    order: 0; }
  .ecl-u-flex-xl-row {
    flex-direction: row; }
  .ecl-u-flex-xl-column {
    flex-direction: column; }
  .ecl-u-flex-xl-row-reverse {
    flex-direction: row-reverse; }
  .ecl-u-flex-xl-column-reverse {
    flex-direction: column-reverse; }
  .ecl-u-flex-xl-wrap {
    flex-wrap: wrap; }
  .ecl-u-flex-xl-nowrap {
    flex-wrap: nowrap; }
  .ecl-u-flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse; }
  .ecl-u-justify-content-xl-start {
    justify-content: flex-start; }
  .ecl-u-justify-content-xl-end {
    justify-content: flex-end; }
  .ecl-u-justify-content-xl-center {
    justify-content: center; }
  .ecl-u-justify-content-xl-between {
    justify-content: space-between; }
  .ecl-u-justify-content-xl-around {
    justify-content: space-around; }
  .ecl-u-align-items-xl-start {
    align-items: flex-start; }
  .ecl-u-align-items-xl-end {
    align-items: flex-end; }
  .ecl-u-align-items-xl-center {
    align-items: center; }
  .ecl-u-align-items-xl-baseline {
    align-items: baseline; }
  .ecl-u-align-items-xl-stretch {
    align-items: stretch; }
  .ecl-u-align-content-xl-start {
    align-content: flex-start; }
  .ecl-u-align-content-xl-end {
    align-content: flex-end; }
  .ecl-u-align-content-xl-center {
    align-content: center; }
  .ecl-u-align-content-xl-between {
    align-content: space-between; }
  .ecl-u-align-content-xl-around {
    align-content: space-around; }
  .ecl-u-align-content-xl-stretch {
    align-content: stretch; }
  .ecl-u-align-self-xl-auto {
    align-self: auto; }
  .ecl-u-align-self-xl-start {
    align-self: flex-start; }
  .ecl-u-align-self-xl-end {
    align-self: flex-end; }
  .ecl-u-align-self-xl-center {
    align-self: center; }
  .ecl-u-align-self-xl-baseline {
    align-self: baseline; }
  .ecl-u-align-self-xl-stretch {
    align-self: stretch; }
  .ecl-u-flex-grow-xl-0 {
    flex-grow: 0; }
  .ecl-u-flex-grow-xl-1 {
    flex-grow: 1; } }

/**
 * Float utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Float utilities 
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-f-l {
  float: left; }

.ecl-u-f-r {
  float: right; }

.ecl-u-f-none {
  float: none; }

/**
 * Colorize utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Colorize utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable */
.ecl-u-color-blue-120 {
  color: #012b58; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-110 {
  color: #003776; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-100 {
  color: #004494; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-75 {
  color: #4073af; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-50 {
  color: #7fa1c9; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-25 {
  color: #bfd0e4; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-blue-5 {
  color: #f2f5f9; }

/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-100 {
  color: #404040; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-75 {
  color: #707070; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-50 {
  color: #9f9f9f; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-25 {
  color: #cfcfcf; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-20 {
  color: #d9d9d9; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-15 {
  color: #e3e3e3; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-10 {
  color: #ebebeb; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-grey-5 {
  color: #f5f5f5; }

/* stylelint-enable */
/* stylelint-disable */
.ecl-u-color-purple-100 {
  color: #550745; }

/* stylelint-enable */
.ecl-u-bg-default {
  background-color: #fff; }

.ecl-u-bg-primary {
  background-color: #004494; }

.ecl-u-bg-secondary {
  background-color: #ffd617; }

.ecl-u-bg-shade {
  background-color: #404040; }

.ecl-u-bg-blue-5 {
  background-color: #f2f5f9; }

.ecl-u-color-primary {
  color: #004494; }

.ecl-u-color-secondary {
  color: #ffd617; }

.ecl-u-color-shade {
  color: #404040; }

.ecl-u-color-info {
  color: #006fb4; }

.ecl-u-color-warning {
  color: #f29527; }

.ecl-u-color-success {
  color: #467a39; }

.ecl-u-color-error {
  color: #da2130; }

.ecl-u-color-white {
  color: #fff; }

/**
 * Disable scroll utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Disablescroll utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-disablescroll {
  overflow: hidden; }

/**
 * Font size utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Font size utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-fs-none {
  font-size: 0; }

.ecl-u-fs-xxxs {
  font-size: 0.5rem; }

.ecl-u-fs-xxs {
  font-size: 0.75rem; }

.ecl-u-fs-xs {
  font-size: 0.875rem; }

.ecl-u-fs-s {
  font-size: 1rem; }

.ecl-u-fs-m {
  font-size: 1.125rem; }

.ecl-u-fs-l {
  font-size: 1.375rem; }

.ecl-u-fs-xl {
  font-size: 1.875rem; }

.ecl-u-fs-xxl {
  font-size: 2.5rem; }

/**
 * Margin utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Margin utilities
 */
/*
   Base:
    m = margin
  Modifiers:
    a = all
    h = horizontal
    v = vertical
    t = top
    r = right
    b = bottom
    l = left
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable max-nesting-depth */
.ecl-u-ma-none {
  margin: 0; }

.ecl-u-mh-none {
  margin-left: 0;
  margin-right: 0; }

.ecl-u-mv-none {
  margin-bottom: 0;
  margin-top: 0; }

.ecl-u-mt-none {
  margin-top: 0; }

.ecl-u-mr-none {
  margin-right: 0; }

.ecl-u-mb-none {
  margin-bottom: 0; }

.ecl-u-ml-none {
  margin-left: 0; }

.ecl-u-ma-xxxs {
  margin: 0.33rem; }

.ecl-u-mh-xxxs {
  margin-left: 0.33rem;
  margin-right: 0.33rem; }

.ecl-u-mv-xxxs {
  margin-bottom: 0.33rem;
  margin-top: 0.33rem; }

.ecl-u-mt-xxxs {
  margin-top: 0.33rem; }

.ecl-u-mr-xxxs {
  margin-right: 0.33rem; }

.ecl-u-mb-xxxs {
  margin-bottom: 0.33rem; }

.ecl-u-ml-xxxs {
  margin-left: 0.33rem; }

.ecl-u-ma-xxs {
  margin: 0.66rem; }

.ecl-u-mh-xxs {
  margin-left: 0.66rem;
  margin-right: 0.66rem; }

.ecl-u-mv-xxs {
  margin-bottom: 0.66rem;
  margin-top: 0.66rem; }

.ecl-u-mt-xxs {
  margin-top: 0.66rem; }

.ecl-u-mr-xxs {
  margin-right: 0.66rem; }

.ecl-u-mb-xxs {
  margin-bottom: 0.66rem; }

.ecl-u-ml-xxs {
  margin-left: 0.66rem; }

.ecl-u-ma-xs {
  margin: 0.89rem; }

.ecl-u-mh-xs {
  margin-left: 0.89rem;
  margin-right: 0.89rem; }

.ecl-u-mv-xs {
  margin-bottom: 0.89rem;
  margin-top: 0.89rem; }

.ecl-u-mt-xs {
  margin-top: 0.89rem; }

.ecl-u-mr-xs {
  margin-right: 0.89rem; }

.ecl-u-mb-xs {
  margin-bottom: 0.89rem; }

.ecl-u-ml-xs {
  margin-left: 0.89rem; }

.ecl-u-ma-s {
  margin: 1rem; }

.ecl-u-mh-s {
  margin-left: 1rem;
  margin-right: 1rem; }

.ecl-u-mv-s {
  margin-bottom: 1rem;
  margin-top: 1rem; }

.ecl-u-mt-s {
  margin-top: 1rem; }

.ecl-u-mr-s {
  margin-right: 1rem; }

.ecl-u-mb-s {
  margin-bottom: 1rem; }

.ecl-u-ml-s {
  margin-left: 1rem; }

.ecl-u-ma-m {
  margin: 1.66rem; }

.ecl-u-mh-m {
  margin-left: 1.66rem;
  margin-right: 1.66rem; }

.ecl-u-mv-m {
  margin-bottom: 1.66rem;
  margin-top: 1.66rem; }

.ecl-u-mt-m {
  margin-top: 1.66rem; }

.ecl-u-mr-m {
  margin-right: 1.66rem; }

.ecl-u-mb-m {
  margin-bottom: 1.66rem; }

.ecl-u-ml-m {
  margin-left: 1.66rem; }

.ecl-u-ma-l {
  margin: 2.22rem; }

.ecl-u-mh-l {
  margin-left: 2.22rem;
  margin-right: 2.22rem; }

.ecl-u-mv-l {
  margin-bottom: 2.22rem;
  margin-top: 2.22rem; }

.ecl-u-mt-l {
  margin-top: 2.22rem; }

.ecl-u-mr-l {
  margin-right: 2.22rem; }

.ecl-u-mb-l {
  margin-bottom: 2.22rem; }

.ecl-u-ml-l {
  margin-left: 2.22rem; }

.ecl-u-ma-xl {
  margin: 3.33rem; }

.ecl-u-mh-xl {
  margin-left: 3.33rem;
  margin-right: 3.33rem; }

.ecl-u-mv-xl {
  margin-bottom: 3.33rem;
  margin-top: 3.33rem; }

.ecl-u-mt-xl {
  margin-top: 3.33rem; }

.ecl-u-mr-xl {
  margin-right: 3.33rem; }

.ecl-u-mb-xl {
  margin-bottom: 3.33rem; }

.ecl-u-ml-xl {
  margin-left: 3.33rem; }

.ecl-u-ma-xxl {
  margin: 4.44rem; }

.ecl-u-mh-xxl {
  margin-left: 4.44rem;
  margin-right: 4.44rem; }

.ecl-u-mv-xxl {
  margin-bottom: 4.44rem;
  margin-top: 4.44rem; }

.ecl-u-mt-xxl {
  margin-top: 4.44rem; }

.ecl-u-mr-xxl {
  margin-right: 4.44rem; }

.ecl-u-mb-xxl {
  margin-bottom: 4.44rem; }

.ecl-u-ml-xxl {
  margin-left: 4.44rem; }

/*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
.ecl-u-ma-auto {
  margin: auto; }

.ecl-u-mh-auto {
  margin-left: auto;
  margin-right: auto; }

.ecl-u-mr-auto {
  margin-right: auto; }

.ecl-u-ml-auto {
  margin-left: auto; }

@media (min-width: 480px) {
  .ecl-u-ma-sm-none {
    margin: 0; }
  .ecl-u-mh-sm-none {
    margin-left: 0;
    margin-right: 0; }
  .ecl-u-mv-sm-none {
    margin-bottom: 0;
    margin-top: 0; }
  .ecl-u-mt-sm-none {
    margin-top: 0; }
  .ecl-u-mr-sm-none {
    margin-right: 0; }
  .ecl-u-mb-sm-none {
    margin-bottom: 0; }
  .ecl-u-ml-sm-none {
    margin-left: 0; }
  .ecl-u-ma-sm-xxxs {
    margin: 0.33rem; }
  .ecl-u-mh-sm-xxxs {
    margin-left: 0.33rem;
    margin-right: 0.33rem; }
  .ecl-u-mv-sm-xxxs {
    margin-bottom: 0.33rem;
    margin-top: 0.33rem; }
  .ecl-u-mt-sm-xxxs {
    margin-top: 0.33rem; }
  .ecl-u-mr-sm-xxxs {
    margin-right: 0.33rem; }
  .ecl-u-mb-sm-xxxs {
    margin-bottom: 0.33rem; }
  .ecl-u-ml-sm-xxxs {
    margin-left: 0.33rem; }
  .ecl-u-ma-sm-xxs {
    margin: 0.66rem; }
  .ecl-u-mh-sm-xxs {
    margin-left: 0.66rem;
    margin-right: 0.66rem; }
  .ecl-u-mv-sm-xxs {
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-u-mt-sm-xxs {
    margin-top: 0.66rem; }
  .ecl-u-mr-sm-xxs {
    margin-right: 0.66rem; }
  .ecl-u-mb-sm-xxs {
    margin-bottom: 0.66rem; }
  .ecl-u-ml-sm-xxs {
    margin-left: 0.66rem; }
  .ecl-u-ma-sm-xs {
    margin: 0.89rem; }
  .ecl-u-mh-sm-xs {
    margin-left: 0.89rem;
    margin-right: 0.89rem; }
  .ecl-u-mv-sm-xs {
    margin-bottom: 0.89rem;
    margin-top: 0.89rem; }
  .ecl-u-mt-sm-xs {
    margin-top: 0.89rem; }
  .ecl-u-mr-sm-xs {
    margin-right: 0.89rem; }
  .ecl-u-mb-sm-xs {
    margin-bottom: 0.89rem; }
  .ecl-u-ml-sm-xs {
    margin-left: 0.89rem; }
  .ecl-u-ma-sm-s {
    margin: 1rem; }
  .ecl-u-mh-sm-s {
    margin-left: 1rem;
    margin-right: 1rem; }
  .ecl-u-mv-sm-s {
    margin-bottom: 1rem;
    margin-top: 1rem; }
  .ecl-u-mt-sm-s {
    margin-top: 1rem; }
  .ecl-u-mr-sm-s {
    margin-right: 1rem; }
  .ecl-u-mb-sm-s {
    margin-bottom: 1rem; }
  .ecl-u-ml-sm-s {
    margin-left: 1rem; }
  .ecl-u-ma-sm-m {
    margin: 1.66rem; }
  .ecl-u-mh-sm-m {
    margin-left: 1.66rem;
    margin-right: 1.66rem; }
  .ecl-u-mv-sm-m {
    margin-bottom: 1.66rem;
    margin-top: 1.66rem; }
  .ecl-u-mt-sm-m {
    margin-top: 1.66rem; }
  .ecl-u-mr-sm-m {
    margin-right: 1.66rem; }
  .ecl-u-mb-sm-m {
    margin-bottom: 1.66rem; }
  .ecl-u-ml-sm-m {
    margin-left: 1.66rem; }
  .ecl-u-ma-sm-l {
    margin: 2.22rem; }
  .ecl-u-mh-sm-l {
    margin-left: 2.22rem;
    margin-right: 2.22rem; }
  .ecl-u-mv-sm-l {
    margin-bottom: 2.22rem;
    margin-top: 2.22rem; }
  .ecl-u-mt-sm-l {
    margin-top: 2.22rem; }
  .ecl-u-mr-sm-l {
    margin-right: 2.22rem; }
  .ecl-u-mb-sm-l {
    margin-bottom: 2.22rem; }
  .ecl-u-ml-sm-l {
    margin-left: 2.22rem; }
  .ecl-u-ma-sm-xl {
    margin: 3.33rem; }
  .ecl-u-mh-sm-xl {
    margin-left: 3.33rem;
    margin-right: 3.33rem; }
  .ecl-u-mv-sm-xl {
    margin-bottom: 3.33rem;
    margin-top: 3.33rem; }
  .ecl-u-mt-sm-xl {
    margin-top: 3.33rem; }
  .ecl-u-mr-sm-xl {
    margin-right: 3.33rem; }
  .ecl-u-mb-sm-xl {
    margin-bottom: 3.33rem; }
  .ecl-u-ml-sm-xl {
    margin-left: 3.33rem; }
  .ecl-u-ma-sm-xxl {
    margin: 4.44rem; }
  .ecl-u-mh-sm-xxl {
    margin-left: 4.44rem;
    margin-right: 4.44rem; }
  .ecl-u-mv-sm-xxl {
    margin-bottom: 4.44rem;
    margin-top: 4.44rem; }
  .ecl-u-mt-sm-xxl {
    margin-top: 4.44rem; }
  .ecl-u-mr-sm-xxl {
    margin-right: 4.44rem; }
  .ecl-u-mb-sm-xxl {
    margin-bottom: 4.44rem; }
  .ecl-u-ml-sm-xxl {
    margin-left: 4.44rem; }
  /*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
  .ecl-u-ma-sm-auto {
    margin: auto; }
  .ecl-u-mh-sm-auto {
    margin-left: auto;
    margin-right: auto; }
  .ecl-u-mr-sm-auto {
    margin-right: auto; }
  .ecl-u-ml-sm-auto {
    margin-left: auto; } }

@media (min-width: 768px) {
  .ecl-u-ma-md-none {
    margin: 0; }
  .ecl-u-mh-md-none {
    margin-left: 0;
    margin-right: 0; }
  .ecl-u-mv-md-none {
    margin-bottom: 0;
    margin-top: 0; }
  .ecl-u-mt-md-none {
    margin-top: 0; }
  .ecl-u-mr-md-none {
    margin-right: 0; }
  .ecl-u-mb-md-none {
    margin-bottom: 0; }
  .ecl-u-ml-md-none {
    margin-left: 0; }
  .ecl-u-ma-md-xxxs {
    margin: 0.33rem; }
  .ecl-u-mh-md-xxxs {
    margin-left: 0.33rem;
    margin-right: 0.33rem; }
  .ecl-u-mv-md-xxxs {
    margin-bottom: 0.33rem;
    margin-top: 0.33rem; }
  .ecl-u-mt-md-xxxs {
    margin-top: 0.33rem; }
  .ecl-u-mr-md-xxxs {
    margin-right: 0.33rem; }
  .ecl-u-mb-md-xxxs {
    margin-bottom: 0.33rem; }
  .ecl-u-ml-md-xxxs {
    margin-left: 0.33rem; }
  .ecl-u-ma-md-xxs {
    margin: 0.66rem; }
  .ecl-u-mh-md-xxs {
    margin-left: 0.66rem;
    margin-right: 0.66rem; }
  .ecl-u-mv-md-xxs {
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-u-mt-md-xxs {
    margin-top: 0.66rem; }
  .ecl-u-mr-md-xxs {
    margin-right: 0.66rem; }
  .ecl-u-mb-md-xxs {
    margin-bottom: 0.66rem; }
  .ecl-u-ml-md-xxs {
    margin-left: 0.66rem; }
  .ecl-u-ma-md-xs {
    margin: 0.89rem; }
  .ecl-u-mh-md-xs {
    margin-left: 0.89rem;
    margin-right: 0.89rem; }
  .ecl-u-mv-md-xs {
    margin-bottom: 0.89rem;
    margin-top: 0.89rem; }
  .ecl-u-mt-md-xs {
    margin-top: 0.89rem; }
  .ecl-u-mr-md-xs {
    margin-right: 0.89rem; }
  .ecl-u-mb-md-xs {
    margin-bottom: 0.89rem; }
  .ecl-u-ml-md-xs {
    margin-left: 0.89rem; }
  .ecl-u-ma-md-s {
    margin: 1rem; }
  .ecl-u-mh-md-s {
    margin-left: 1rem;
    margin-right: 1rem; }
  .ecl-u-mv-md-s {
    margin-bottom: 1rem;
    margin-top: 1rem; }
  .ecl-u-mt-md-s {
    margin-top: 1rem; }
  .ecl-u-mr-md-s {
    margin-right: 1rem; }
  .ecl-u-mb-md-s {
    margin-bottom: 1rem; }
  .ecl-u-ml-md-s {
    margin-left: 1rem; }
  .ecl-u-ma-md-m {
    margin: 1.66rem; }
  .ecl-u-mh-md-m {
    margin-left: 1.66rem;
    margin-right: 1.66rem; }
  .ecl-u-mv-md-m {
    margin-bottom: 1.66rem;
    margin-top: 1.66rem; }
  .ecl-u-mt-md-m {
    margin-top: 1.66rem; }
  .ecl-u-mr-md-m {
    margin-right: 1.66rem; }
  .ecl-u-mb-md-m {
    margin-bottom: 1.66rem; }
  .ecl-u-ml-md-m {
    margin-left: 1.66rem; }
  .ecl-u-ma-md-l {
    margin: 2.22rem; }
  .ecl-u-mh-md-l {
    margin-left: 2.22rem;
    margin-right: 2.22rem; }
  .ecl-u-mv-md-l {
    margin-bottom: 2.22rem;
    margin-top: 2.22rem; }
  .ecl-u-mt-md-l {
    margin-top: 2.22rem; }
  .ecl-u-mr-md-l {
    margin-right: 2.22rem; }
  .ecl-u-mb-md-l {
    margin-bottom: 2.22rem; }
  .ecl-u-ml-md-l {
    margin-left: 2.22rem; }
  .ecl-u-ma-md-xl {
    margin: 3.33rem; }
  .ecl-u-mh-md-xl {
    margin-left: 3.33rem;
    margin-right: 3.33rem; }
  .ecl-u-mv-md-xl {
    margin-bottom: 3.33rem;
    margin-top: 3.33rem; }
  .ecl-u-mt-md-xl {
    margin-top: 3.33rem; }
  .ecl-u-mr-md-xl {
    margin-right: 3.33rem; }
  .ecl-u-mb-md-xl {
    margin-bottom: 3.33rem; }
  .ecl-u-ml-md-xl {
    margin-left: 3.33rem; }
  .ecl-u-ma-md-xxl {
    margin: 4.44rem; }
  .ecl-u-mh-md-xxl {
    margin-left: 4.44rem;
    margin-right: 4.44rem; }
  .ecl-u-mv-md-xxl {
    margin-bottom: 4.44rem;
    margin-top: 4.44rem; }
  .ecl-u-mt-md-xxl {
    margin-top: 4.44rem; }
  .ecl-u-mr-md-xxl {
    margin-right: 4.44rem; }
  .ecl-u-mb-md-xxl {
    margin-bottom: 4.44rem; }
  .ecl-u-ml-md-xxl {
    margin-left: 4.44rem; }
  /*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
  .ecl-u-ma-md-auto {
    margin: auto; }
  .ecl-u-mh-md-auto {
    margin-left: auto;
    margin-right: auto; }
  .ecl-u-mr-md-auto {
    margin-right: auto; }
  .ecl-u-ml-md-auto {
    margin-left: auto; } }

@media (min-width: 992px) {
  .ecl-u-ma-lg-none {
    margin: 0; }
  .ecl-u-mh-lg-none {
    margin-left: 0;
    margin-right: 0; }
  .ecl-u-mv-lg-none {
    margin-bottom: 0;
    margin-top: 0; }
  .ecl-u-mt-lg-none {
    margin-top: 0; }
  .ecl-u-mr-lg-none {
    margin-right: 0; }
  .ecl-u-mb-lg-none {
    margin-bottom: 0; }
  .ecl-u-ml-lg-none {
    margin-left: 0; }
  .ecl-u-ma-lg-xxxs {
    margin: 0.33rem; }
  .ecl-u-mh-lg-xxxs {
    margin-left: 0.33rem;
    margin-right: 0.33rem; }
  .ecl-u-mv-lg-xxxs {
    margin-bottom: 0.33rem;
    margin-top: 0.33rem; }
  .ecl-u-mt-lg-xxxs {
    margin-top: 0.33rem; }
  .ecl-u-mr-lg-xxxs {
    margin-right: 0.33rem; }
  .ecl-u-mb-lg-xxxs {
    margin-bottom: 0.33rem; }
  .ecl-u-ml-lg-xxxs {
    margin-left: 0.33rem; }
  .ecl-u-ma-lg-xxs {
    margin: 0.66rem; }
  .ecl-u-mh-lg-xxs {
    margin-left: 0.66rem;
    margin-right: 0.66rem; }
  .ecl-u-mv-lg-xxs {
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-u-mt-lg-xxs {
    margin-top: 0.66rem; }
  .ecl-u-mr-lg-xxs {
    margin-right: 0.66rem; }
  .ecl-u-mb-lg-xxs {
    margin-bottom: 0.66rem; }
  .ecl-u-ml-lg-xxs {
    margin-left: 0.66rem; }
  .ecl-u-ma-lg-xs {
    margin: 0.89rem; }
  .ecl-u-mh-lg-xs {
    margin-left: 0.89rem;
    margin-right: 0.89rem; }
  .ecl-u-mv-lg-xs {
    margin-bottom: 0.89rem;
    margin-top: 0.89rem; }
  .ecl-u-mt-lg-xs {
    margin-top: 0.89rem; }
  .ecl-u-mr-lg-xs {
    margin-right: 0.89rem; }
  .ecl-u-mb-lg-xs {
    margin-bottom: 0.89rem; }
  .ecl-u-ml-lg-xs {
    margin-left: 0.89rem; }
  .ecl-u-ma-lg-s {
    margin: 1rem; }
  .ecl-u-mh-lg-s {
    margin-left: 1rem;
    margin-right: 1rem; }
  .ecl-u-mv-lg-s {
    margin-bottom: 1rem;
    margin-top: 1rem; }
  .ecl-u-mt-lg-s {
    margin-top: 1rem; }
  .ecl-u-mr-lg-s {
    margin-right: 1rem; }
  .ecl-u-mb-lg-s {
    margin-bottom: 1rem; }
  .ecl-u-ml-lg-s {
    margin-left: 1rem; }
  .ecl-u-ma-lg-m {
    margin: 1.66rem; }
  .ecl-u-mh-lg-m {
    margin-left: 1.66rem;
    margin-right: 1.66rem; }
  .ecl-u-mv-lg-m {
    margin-bottom: 1.66rem;
    margin-top: 1.66rem; }
  .ecl-u-mt-lg-m {
    margin-top: 1.66rem; }
  .ecl-u-mr-lg-m {
    margin-right: 1.66rem; }
  .ecl-u-mb-lg-m {
    margin-bottom: 1.66rem; }
  .ecl-u-ml-lg-m {
    margin-left: 1.66rem; }
  .ecl-u-ma-lg-l {
    margin: 2.22rem; }
  .ecl-u-mh-lg-l {
    margin-left: 2.22rem;
    margin-right: 2.22rem; }
  .ecl-u-mv-lg-l {
    margin-bottom: 2.22rem;
    margin-top: 2.22rem; }
  .ecl-u-mt-lg-l {
    margin-top: 2.22rem; }
  .ecl-u-mr-lg-l {
    margin-right: 2.22rem; }
  .ecl-u-mb-lg-l {
    margin-bottom: 2.22rem; }
  .ecl-u-ml-lg-l {
    margin-left: 2.22rem; }
  .ecl-u-ma-lg-xl {
    margin: 3.33rem; }
  .ecl-u-mh-lg-xl {
    margin-left: 3.33rem;
    margin-right: 3.33rem; }
  .ecl-u-mv-lg-xl {
    margin-bottom: 3.33rem;
    margin-top: 3.33rem; }
  .ecl-u-mt-lg-xl {
    margin-top: 3.33rem; }
  .ecl-u-mr-lg-xl {
    margin-right: 3.33rem; }
  .ecl-u-mb-lg-xl {
    margin-bottom: 3.33rem; }
  .ecl-u-ml-lg-xl {
    margin-left: 3.33rem; }
  .ecl-u-ma-lg-xxl {
    margin: 4.44rem; }
  .ecl-u-mh-lg-xxl {
    margin-left: 4.44rem;
    margin-right: 4.44rem; }
  .ecl-u-mv-lg-xxl {
    margin-bottom: 4.44rem;
    margin-top: 4.44rem; }
  .ecl-u-mt-lg-xxl {
    margin-top: 4.44rem; }
  .ecl-u-mr-lg-xxl {
    margin-right: 4.44rem; }
  .ecl-u-mb-lg-xxl {
    margin-bottom: 4.44rem; }
  .ecl-u-ml-lg-xxl {
    margin-left: 4.44rem; }
  /*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
  .ecl-u-ma-lg-auto {
    margin: auto; }
  .ecl-u-mh-lg-auto {
    margin-left: auto;
    margin-right: auto; }
  .ecl-u-mr-lg-auto {
    margin-right: auto; }
  .ecl-u-ml-lg-auto {
    margin-left: auto; } }

@media (min-width: 1200px) {
  .ecl-u-ma-xl-none {
    margin: 0; }
  .ecl-u-mh-xl-none {
    margin-left: 0;
    margin-right: 0; }
  .ecl-u-mv-xl-none {
    margin-bottom: 0;
    margin-top: 0; }
  .ecl-u-mt-xl-none {
    margin-top: 0; }
  .ecl-u-mr-xl-none {
    margin-right: 0; }
  .ecl-u-mb-xl-none {
    margin-bottom: 0; }
  .ecl-u-ml-xl-none {
    margin-left: 0; }
  .ecl-u-ma-xl-xxxs {
    margin: 0.33rem; }
  .ecl-u-mh-xl-xxxs {
    margin-left: 0.33rem;
    margin-right: 0.33rem; }
  .ecl-u-mv-xl-xxxs {
    margin-bottom: 0.33rem;
    margin-top: 0.33rem; }
  .ecl-u-mt-xl-xxxs {
    margin-top: 0.33rem; }
  .ecl-u-mr-xl-xxxs {
    margin-right: 0.33rem; }
  .ecl-u-mb-xl-xxxs {
    margin-bottom: 0.33rem; }
  .ecl-u-ml-xl-xxxs {
    margin-left: 0.33rem; }
  .ecl-u-ma-xl-xxs {
    margin: 0.66rem; }
  .ecl-u-mh-xl-xxs {
    margin-left: 0.66rem;
    margin-right: 0.66rem; }
  .ecl-u-mv-xl-xxs {
    margin-bottom: 0.66rem;
    margin-top: 0.66rem; }
  .ecl-u-mt-xl-xxs {
    margin-top: 0.66rem; }
  .ecl-u-mr-xl-xxs {
    margin-right: 0.66rem; }
  .ecl-u-mb-xl-xxs {
    margin-bottom: 0.66rem; }
  .ecl-u-ml-xl-xxs {
    margin-left: 0.66rem; }
  .ecl-u-ma-xl-xs {
    margin: 0.89rem; }
  .ecl-u-mh-xl-xs {
    margin-left: 0.89rem;
    margin-right: 0.89rem; }
  .ecl-u-mv-xl-xs {
    margin-bottom: 0.89rem;
    margin-top: 0.89rem; }
  .ecl-u-mt-xl-xs {
    margin-top: 0.89rem; }
  .ecl-u-mr-xl-xs {
    margin-right: 0.89rem; }
  .ecl-u-mb-xl-xs {
    margin-bottom: 0.89rem; }
  .ecl-u-ml-xl-xs {
    margin-left: 0.89rem; }
  .ecl-u-ma-xl-s {
    margin: 1rem; }
  .ecl-u-mh-xl-s {
    margin-left: 1rem;
    margin-right: 1rem; }
  .ecl-u-mv-xl-s {
    margin-bottom: 1rem;
    margin-top: 1rem; }
  .ecl-u-mt-xl-s {
    margin-top: 1rem; }
  .ecl-u-mr-xl-s {
    margin-right: 1rem; }
  .ecl-u-mb-xl-s {
    margin-bottom: 1rem; }
  .ecl-u-ml-xl-s {
    margin-left: 1rem; }
  .ecl-u-ma-xl-m {
    margin: 1.66rem; }
  .ecl-u-mh-xl-m {
    margin-left: 1.66rem;
    margin-right: 1.66rem; }
  .ecl-u-mv-xl-m {
    margin-bottom: 1.66rem;
    margin-top: 1.66rem; }
  .ecl-u-mt-xl-m {
    margin-top: 1.66rem; }
  .ecl-u-mr-xl-m {
    margin-right: 1.66rem; }
  .ecl-u-mb-xl-m {
    margin-bottom: 1.66rem; }
  .ecl-u-ml-xl-m {
    margin-left: 1.66rem; }
  .ecl-u-ma-xl-l {
    margin: 2.22rem; }
  .ecl-u-mh-xl-l {
    margin-left: 2.22rem;
    margin-right: 2.22rem; }
  .ecl-u-mv-xl-l {
    margin-bottom: 2.22rem;
    margin-top: 2.22rem; }
  .ecl-u-mt-xl-l {
    margin-top: 2.22rem; }
  .ecl-u-mr-xl-l {
    margin-right: 2.22rem; }
  .ecl-u-mb-xl-l {
    margin-bottom: 2.22rem; }
  .ecl-u-ml-xl-l {
    margin-left: 2.22rem; }
  .ecl-u-ma-xl-xl {
    margin: 3.33rem; }
  .ecl-u-mh-xl-xl {
    margin-left: 3.33rem;
    margin-right: 3.33rem; }
  .ecl-u-mv-xl-xl {
    margin-bottom: 3.33rem;
    margin-top: 3.33rem; }
  .ecl-u-mt-xl-xl {
    margin-top: 3.33rem; }
  .ecl-u-mr-xl-xl {
    margin-right: 3.33rem; }
  .ecl-u-mb-xl-xl {
    margin-bottom: 3.33rem; }
  .ecl-u-ml-xl-xl {
    margin-left: 3.33rem; }
  .ecl-u-ma-xl-xxl {
    margin: 4.44rem; }
  .ecl-u-mh-xl-xxl {
    margin-left: 4.44rem;
    margin-right: 4.44rem; }
  .ecl-u-mv-xl-xxl {
    margin-bottom: 4.44rem;
    margin-top: 4.44rem; }
  .ecl-u-mt-xl-xxl {
    margin-top: 4.44rem; }
  .ecl-u-mr-xl-xxl {
    margin-right: 4.44rem; }
  .ecl-u-mb-xl-xxl {
    margin-bottom: 4.44rem; }
  .ecl-u-ml-xl-xxl {
    margin-left: 4.44rem; }
  /*
        ECL Margin auto
        ===============
        Base:
          m = margin
        Modifiers:
          a = all
          h = horizontal
          r = right
          l = left
      */
  .ecl-u-ma-xl-auto {
    margin: auto; }
  .ecl-u-mh-xl-auto {
    margin-left: auto;
    margin-right: auto; }
  .ecl-u-mr-xl-auto {
    margin-right: auto; }
  .ecl-u-ml-xl-auto {
    margin-left: auto; } }

/**
 * Padding utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Padding utilities
 */
/* 
  Base:
    p = padding
  Modifiers:
    a = all
    h = horizontal
    v = vertical
    t = top
    r = right
    b = bottom
    l = left
*/
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/* stylelint-disable max-nesting-depth */
.ecl-u-pa-none {
  padding: 0; }

.ecl-u-ph-none {
  padding-left: 0;
  padding-right: 0; }

.ecl-u-pv-none {
  padding-bottom: 0;
  padding-top: 0; }

.ecl-u-pt-none {
  padding-top: 0; }

.ecl-u-pr-none {
  padding-right: 0; }

.ecl-u-pb-none {
  padding-bottom: 0; }

.ecl-u-pl-none {
  padding-left: 0; }

.ecl-u-pa-xxxs {
  padding: 0.33rem; }

.ecl-u-ph-xxxs {
  padding-left: 0.33rem;
  padding-right: 0.33rem; }

.ecl-u-pv-xxxs {
  padding-bottom: 0.33rem;
  padding-top: 0.33rem; }

.ecl-u-pt-xxxs {
  padding-top: 0.33rem; }

.ecl-u-pr-xxxs {
  padding-right: 0.33rem; }

.ecl-u-pb-xxxs {
  padding-bottom: 0.33rem; }

.ecl-u-pl-xxxs {
  padding-left: 0.33rem; }

.ecl-u-pa-xxs {
  padding: 0.66rem; }

.ecl-u-ph-xxs {
  padding-left: 0.66rem;
  padding-right: 0.66rem; }

.ecl-u-pv-xxs {
  padding-bottom: 0.66rem;
  padding-top: 0.66rem; }

.ecl-u-pt-xxs {
  padding-top: 0.66rem; }

.ecl-u-pr-xxs {
  padding-right: 0.66rem; }

.ecl-u-pb-xxs {
  padding-bottom: 0.66rem; }

.ecl-u-pl-xxs {
  padding-left: 0.66rem; }

.ecl-u-pa-xs {
  padding: 0.89rem; }

.ecl-u-ph-xs {
  padding-left: 0.89rem;
  padding-right: 0.89rem; }

.ecl-u-pv-xs {
  padding-bottom: 0.89rem;
  padding-top: 0.89rem; }

.ecl-u-pt-xs {
  padding-top: 0.89rem; }

.ecl-u-pr-xs {
  padding-right: 0.89rem; }

.ecl-u-pb-xs {
  padding-bottom: 0.89rem; }

.ecl-u-pl-xs {
  padding-left: 0.89rem; }

.ecl-u-pa-s {
  padding: 1rem; }

.ecl-u-ph-s {
  padding-left: 1rem;
  padding-right: 1rem; }

.ecl-u-pv-s {
  padding-bottom: 1rem;
  padding-top: 1rem; }

.ecl-u-pt-s {
  padding-top: 1rem; }

.ecl-u-pr-s {
  padding-right: 1rem; }

.ecl-u-pb-s {
  padding-bottom: 1rem; }

.ecl-u-pl-s {
  padding-left: 1rem; }

.ecl-u-pa-m {
  padding: 1.66rem; }

.ecl-u-ph-m {
  padding-left: 1.66rem;
  padding-right: 1.66rem; }

.ecl-u-pv-m {
  padding-bottom: 1.66rem;
  padding-top: 1.66rem; }

.ecl-u-pt-m {
  padding-top: 1.66rem; }

.ecl-u-pr-m {
  padding-right: 1.66rem; }

.ecl-u-pb-m {
  padding-bottom: 1.66rem; }

.ecl-u-pl-m {
  padding-left: 1.66rem; }

.ecl-u-pa-l {
  padding: 2.22rem; }

.ecl-u-ph-l {
  padding-left: 2.22rem;
  padding-right: 2.22rem; }

.ecl-u-pv-l {
  padding-bottom: 2.22rem;
  padding-top: 2.22rem; }

.ecl-u-pt-l {
  padding-top: 2.22rem; }

.ecl-u-pr-l {
  padding-right: 2.22rem; }

.ecl-u-pb-l {
  padding-bottom: 2.22rem; }

.ecl-u-pl-l {
  padding-left: 2.22rem; }

.ecl-u-pa-xl {
  padding: 3.33rem; }

.ecl-u-ph-xl {
  padding-left: 3.33rem;
  padding-right: 3.33rem; }

.ecl-u-pv-xl {
  padding-bottom: 3.33rem;
  padding-top: 3.33rem; }

.ecl-u-pt-xl {
  padding-top: 3.33rem; }

.ecl-u-pr-xl {
  padding-right: 3.33rem; }

.ecl-u-pb-xl {
  padding-bottom: 3.33rem; }

.ecl-u-pl-xl {
  padding-left: 3.33rem; }

.ecl-u-pa-xxl {
  padding: 4.44rem; }

.ecl-u-ph-xxl {
  padding-left: 4.44rem;
  padding-right: 4.44rem; }

.ecl-u-pv-xxl {
  padding-bottom: 4.44rem;
  padding-top: 4.44rem; }

.ecl-u-pt-xxl {
  padding-top: 4.44rem; }

.ecl-u-pr-xxl {
  padding-right: 4.44rem; }

.ecl-u-pb-xxl {
  padding-bottom: 4.44rem; }

.ecl-u-pl-xxl {
  padding-left: 4.44rem; }

@media (min-width: 480px) {
  .ecl-u-pa-sm-none {
    padding: 0; }
  .ecl-u-ph-sm-none {
    padding-left: 0;
    padding-right: 0; }
  .ecl-u-pv-sm-none {
    padding-bottom: 0;
    padding-top: 0; }
  .ecl-u-pt-sm-none {
    padding-top: 0; }
  .ecl-u-pr-sm-none {
    padding-right: 0; }
  .ecl-u-pb-sm-none {
    padding-bottom: 0; }
  .ecl-u-pl-sm-none {
    padding-left: 0; }
  .ecl-u-pa-sm-xxxs {
    padding: 0.33rem; }
  .ecl-u-ph-sm-xxxs {
    padding-left: 0.33rem;
    padding-right: 0.33rem; }
  .ecl-u-pv-sm-xxxs {
    padding-bottom: 0.33rem;
    padding-top: 0.33rem; }
  .ecl-u-pt-sm-xxxs {
    padding-top: 0.33rem; }
  .ecl-u-pr-sm-xxxs {
    padding-right: 0.33rem; }
  .ecl-u-pb-sm-xxxs {
    padding-bottom: 0.33rem; }
  .ecl-u-pl-sm-xxxs {
    padding-left: 0.33rem; }
  .ecl-u-pa-sm-xxs {
    padding: 0.66rem; }
  .ecl-u-ph-sm-xxs {
    padding-left: 0.66rem;
    padding-right: 0.66rem; }
  .ecl-u-pv-sm-xxs {
    padding-bottom: 0.66rem;
    padding-top: 0.66rem; }
  .ecl-u-pt-sm-xxs {
    padding-top: 0.66rem; }
  .ecl-u-pr-sm-xxs {
    padding-right: 0.66rem; }
  .ecl-u-pb-sm-xxs {
    padding-bottom: 0.66rem; }
  .ecl-u-pl-sm-xxs {
    padding-left: 0.66rem; }
  .ecl-u-pa-sm-xs {
    padding: 0.89rem; }
  .ecl-u-ph-sm-xs {
    padding-left: 0.89rem;
    padding-right: 0.89rem; }
  .ecl-u-pv-sm-xs {
    padding-bottom: 0.89rem;
    padding-top: 0.89rem; }
  .ecl-u-pt-sm-xs {
    padding-top: 0.89rem; }
  .ecl-u-pr-sm-xs {
    padding-right: 0.89rem; }
  .ecl-u-pb-sm-xs {
    padding-bottom: 0.89rem; }
  .ecl-u-pl-sm-xs {
    padding-left: 0.89rem; }
  .ecl-u-pa-sm-s {
    padding: 1rem; }
  .ecl-u-ph-sm-s {
    padding-left: 1rem;
    padding-right: 1rem; }
  .ecl-u-pv-sm-s {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  .ecl-u-pt-sm-s {
    padding-top: 1rem; }
  .ecl-u-pr-sm-s {
    padding-right: 1rem; }
  .ecl-u-pb-sm-s {
    padding-bottom: 1rem; }
  .ecl-u-pl-sm-s {
    padding-left: 1rem; }
  .ecl-u-pa-sm-m {
    padding: 1.66rem; }
  .ecl-u-ph-sm-m {
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-u-pv-sm-m {
    padding-bottom: 1.66rem;
    padding-top: 1.66rem; }
  .ecl-u-pt-sm-m {
    padding-top: 1.66rem; }
  .ecl-u-pr-sm-m {
    padding-right: 1.66rem; }
  .ecl-u-pb-sm-m {
    padding-bottom: 1.66rem; }
  .ecl-u-pl-sm-m {
    padding-left: 1.66rem; }
  .ecl-u-pa-sm-l {
    padding: 2.22rem; }
  .ecl-u-ph-sm-l {
    padding-left: 2.22rem;
    padding-right: 2.22rem; }
  .ecl-u-pv-sm-l {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-u-pt-sm-l {
    padding-top: 2.22rem; }
  .ecl-u-pr-sm-l {
    padding-right: 2.22rem; }
  .ecl-u-pb-sm-l {
    padding-bottom: 2.22rem; }
  .ecl-u-pl-sm-l {
    padding-left: 2.22rem; }
  .ecl-u-pa-sm-xl {
    padding: 3.33rem; }
  .ecl-u-ph-sm-xl {
    padding-left: 3.33rem;
    padding-right: 3.33rem; }
  .ecl-u-pv-sm-xl {
    padding-bottom: 3.33rem;
    padding-top: 3.33rem; }
  .ecl-u-pt-sm-xl {
    padding-top: 3.33rem; }
  .ecl-u-pr-sm-xl {
    padding-right: 3.33rem; }
  .ecl-u-pb-sm-xl {
    padding-bottom: 3.33rem; }
  .ecl-u-pl-sm-xl {
    padding-left: 3.33rem; }
  .ecl-u-pa-sm-xxl {
    padding: 4.44rem; }
  .ecl-u-ph-sm-xxl {
    padding-left: 4.44rem;
    padding-right: 4.44rem; }
  .ecl-u-pv-sm-xxl {
    padding-bottom: 4.44rem;
    padding-top: 4.44rem; }
  .ecl-u-pt-sm-xxl {
    padding-top: 4.44rem; }
  .ecl-u-pr-sm-xxl {
    padding-right: 4.44rem; }
  .ecl-u-pb-sm-xxl {
    padding-bottom: 4.44rem; }
  .ecl-u-pl-sm-xxl {
    padding-left: 4.44rem; } }

@media (min-width: 768px) {
  .ecl-u-pa-md-none {
    padding: 0; }
  .ecl-u-ph-md-none {
    padding-left: 0;
    padding-right: 0; }
  .ecl-u-pv-md-none {
    padding-bottom: 0;
    padding-top: 0; }
  .ecl-u-pt-md-none {
    padding-top: 0; }
  .ecl-u-pr-md-none {
    padding-right: 0; }
  .ecl-u-pb-md-none {
    padding-bottom: 0; }
  .ecl-u-pl-md-none {
    padding-left: 0; }
  .ecl-u-pa-md-xxxs {
    padding: 0.33rem; }
  .ecl-u-ph-md-xxxs {
    padding-left: 0.33rem;
    padding-right: 0.33rem; }
  .ecl-u-pv-md-xxxs {
    padding-bottom: 0.33rem;
    padding-top: 0.33rem; }
  .ecl-u-pt-md-xxxs {
    padding-top: 0.33rem; }
  .ecl-u-pr-md-xxxs {
    padding-right: 0.33rem; }
  .ecl-u-pb-md-xxxs {
    padding-bottom: 0.33rem; }
  .ecl-u-pl-md-xxxs {
    padding-left: 0.33rem; }
  .ecl-u-pa-md-xxs {
    padding: 0.66rem; }
  .ecl-u-ph-md-xxs {
    padding-left: 0.66rem;
    padding-right: 0.66rem; }
  .ecl-u-pv-md-xxs {
    padding-bottom: 0.66rem;
    padding-top: 0.66rem; }
  .ecl-u-pt-md-xxs {
    padding-top: 0.66rem; }
  .ecl-u-pr-md-xxs {
    padding-right: 0.66rem; }
  .ecl-u-pb-md-xxs {
    padding-bottom: 0.66rem; }
  .ecl-u-pl-md-xxs {
    padding-left: 0.66rem; }
  .ecl-u-pa-md-xs {
    padding: 0.89rem; }
  .ecl-u-ph-md-xs {
    padding-left: 0.89rem;
    padding-right: 0.89rem; }
  .ecl-u-pv-md-xs {
    padding-bottom: 0.89rem;
    padding-top: 0.89rem; }
  .ecl-u-pt-md-xs {
    padding-top: 0.89rem; }
  .ecl-u-pr-md-xs {
    padding-right: 0.89rem; }
  .ecl-u-pb-md-xs {
    padding-bottom: 0.89rem; }
  .ecl-u-pl-md-xs {
    padding-left: 0.89rem; }
  .ecl-u-pa-md-s {
    padding: 1rem; }
  .ecl-u-ph-md-s {
    padding-left: 1rem;
    padding-right: 1rem; }
  .ecl-u-pv-md-s {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  .ecl-u-pt-md-s {
    padding-top: 1rem; }
  .ecl-u-pr-md-s {
    padding-right: 1rem; }
  .ecl-u-pb-md-s {
    padding-bottom: 1rem; }
  .ecl-u-pl-md-s {
    padding-left: 1rem; }
  .ecl-u-pa-md-m {
    padding: 1.66rem; }
  .ecl-u-ph-md-m {
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-u-pv-md-m {
    padding-bottom: 1.66rem;
    padding-top: 1.66rem; }
  .ecl-u-pt-md-m {
    padding-top: 1.66rem; }
  .ecl-u-pr-md-m {
    padding-right: 1.66rem; }
  .ecl-u-pb-md-m {
    padding-bottom: 1.66rem; }
  .ecl-u-pl-md-m {
    padding-left: 1.66rem; }
  .ecl-u-pa-md-l {
    padding: 2.22rem; }
  .ecl-u-ph-md-l {
    padding-left: 2.22rem;
    padding-right: 2.22rem; }
  .ecl-u-pv-md-l {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-u-pt-md-l {
    padding-top: 2.22rem; }
  .ecl-u-pr-md-l {
    padding-right: 2.22rem; }
  .ecl-u-pb-md-l {
    padding-bottom: 2.22rem; }
  .ecl-u-pl-md-l {
    padding-left: 2.22rem; }
  .ecl-u-pa-md-xl {
    padding: 3.33rem; }
  .ecl-u-ph-md-xl {
    padding-left: 3.33rem;
    padding-right: 3.33rem; }
  .ecl-u-pv-md-xl {
    padding-bottom: 3.33rem;
    padding-top: 3.33rem; }
  .ecl-u-pt-md-xl {
    padding-top: 3.33rem; }
  .ecl-u-pr-md-xl {
    padding-right: 3.33rem; }
  .ecl-u-pb-md-xl {
    padding-bottom: 3.33rem; }
  .ecl-u-pl-md-xl {
    padding-left: 3.33rem; }
  .ecl-u-pa-md-xxl {
    padding: 4.44rem; }
  .ecl-u-ph-md-xxl {
    padding-left: 4.44rem;
    padding-right: 4.44rem; }
  .ecl-u-pv-md-xxl {
    padding-bottom: 4.44rem;
    padding-top: 4.44rem; }
  .ecl-u-pt-md-xxl {
    padding-top: 4.44rem; }
  .ecl-u-pr-md-xxl {
    padding-right: 4.44rem; }
  .ecl-u-pb-md-xxl {
    padding-bottom: 4.44rem; }
  .ecl-u-pl-md-xxl {
    padding-left: 4.44rem; } }

@media (min-width: 992px) {
  .ecl-u-pa-lg-none {
    padding: 0; }
  .ecl-u-ph-lg-none {
    padding-left: 0;
    padding-right: 0; }
  .ecl-u-pv-lg-none {
    padding-bottom: 0;
    padding-top: 0; }
  .ecl-u-pt-lg-none {
    padding-top: 0; }
  .ecl-u-pr-lg-none {
    padding-right: 0; }
  .ecl-u-pb-lg-none {
    padding-bottom: 0; }
  .ecl-u-pl-lg-none {
    padding-left: 0; }
  .ecl-u-pa-lg-xxxs {
    padding: 0.33rem; }
  .ecl-u-ph-lg-xxxs {
    padding-left: 0.33rem;
    padding-right: 0.33rem; }
  .ecl-u-pv-lg-xxxs {
    padding-bottom: 0.33rem;
    padding-top: 0.33rem; }
  .ecl-u-pt-lg-xxxs {
    padding-top: 0.33rem; }
  .ecl-u-pr-lg-xxxs {
    padding-right: 0.33rem; }
  .ecl-u-pb-lg-xxxs {
    padding-bottom: 0.33rem; }
  .ecl-u-pl-lg-xxxs {
    padding-left: 0.33rem; }
  .ecl-u-pa-lg-xxs {
    padding: 0.66rem; }
  .ecl-u-ph-lg-xxs {
    padding-left: 0.66rem;
    padding-right: 0.66rem; }
  .ecl-u-pv-lg-xxs {
    padding-bottom: 0.66rem;
    padding-top: 0.66rem; }
  .ecl-u-pt-lg-xxs {
    padding-top: 0.66rem; }
  .ecl-u-pr-lg-xxs {
    padding-right: 0.66rem; }
  .ecl-u-pb-lg-xxs {
    padding-bottom: 0.66rem; }
  .ecl-u-pl-lg-xxs {
    padding-left: 0.66rem; }
  .ecl-u-pa-lg-xs {
    padding: 0.89rem; }
  .ecl-u-ph-lg-xs {
    padding-left: 0.89rem;
    padding-right: 0.89rem; }
  .ecl-u-pv-lg-xs {
    padding-bottom: 0.89rem;
    padding-top: 0.89rem; }
  .ecl-u-pt-lg-xs {
    padding-top: 0.89rem; }
  .ecl-u-pr-lg-xs {
    padding-right: 0.89rem; }
  .ecl-u-pb-lg-xs {
    padding-bottom: 0.89rem; }
  .ecl-u-pl-lg-xs {
    padding-left: 0.89rem; }
  .ecl-u-pa-lg-s {
    padding: 1rem; }
  .ecl-u-ph-lg-s {
    padding-left: 1rem;
    padding-right: 1rem; }
  .ecl-u-pv-lg-s {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  .ecl-u-pt-lg-s {
    padding-top: 1rem; }
  .ecl-u-pr-lg-s {
    padding-right: 1rem; }
  .ecl-u-pb-lg-s {
    padding-bottom: 1rem; }
  .ecl-u-pl-lg-s {
    padding-left: 1rem; }
  .ecl-u-pa-lg-m {
    padding: 1.66rem; }
  .ecl-u-ph-lg-m {
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-u-pv-lg-m {
    padding-bottom: 1.66rem;
    padding-top: 1.66rem; }
  .ecl-u-pt-lg-m {
    padding-top: 1.66rem; }
  .ecl-u-pr-lg-m {
    padding-right: 1.66rem; }
  .ecl-u-pb-lg-m {
    padding-bottom: 1.66rem; }
  .ecl-u-pl-lg-m {
    padding-left: 1.66rem; }
  .ecl-u-pa-lg-l {
    padding: 2.22rem; }
  .ecl-u-ph-lg-l {
    padding-left: 2.22rem;
    padding-right: 2.22rem; }
  .ecl-u-pv-lg-l {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-u-pt-lg-l {
    padding-top: 2.22rem; }
  .ecl-u-pr-lg-l {
    padding-right: 2.22rem; }
  .ecl-u-pb-lg-l {
    padding-bottom: 2.22rem; }
  .ecl-u-pl-lg-l {
    padding-left: 2.22rem; }
  .ecl-u-pa-lg-xl {
    padding: 3.33rem; }
  .ecl-u-ph-lg-xl {
    padding-left: 3.33rem;
    padding-right: 3.33rem; }
  .ecl-u-pv-lg-xl {
    padding-bottom: 3.33rem;
    padding-top: 3.33rem; }
  .ecl-u-pt-lg-xl {
    padding-top: 3.33rem; }
  .ecl-u-pr-lg-xl {
    padding-right: 3.33rem; }
  .ecl-u-pb-lg-xl {
    padding-bottom: 3.33rem; }
  .ecl-u-pl-lg-xl {
    padding-left: 3.33rem; }
  .ecl-u-pa-lg-xxl {
    padding: 4.44rem; }
  .ecl-u-ph-lg-xxl {
    padding-left: 4.44rem;
    padding-right: 4.44rem; }
  .ecl-u-pv-lg-xxl {
    padding-bottom: 4.44rem;
    padding-top: 4.44rem; }
  .ecl-u-pt-lg-xxl {
    padding-top: 4.44rem; }
  .ecl-u-pr-lg-xxl {
    padding-right: 4.44rem; }
  .ecl-u-pb-lg-xxl {
    padding-bottom: 4.44rem; }
  .ecl-u-pl-lg-xxl {
    padding-left: 4.44rem; } }

@media (min-width: 1200px) {
  .ecl-u-pa-xl-none {
    padding: 0; }
  .ecl-u-ph-xl-none {
    padding-left: 0;
    padding-right: 0; }
  .ecl-u-pv-xl-none {
    padding-bottom: 0;
    padding-top: 0; }
  .ecl-u-pt-xl-none {
    padding-top: 0; }
  .ecl-u-pr-xl-none {
    padding-right: 0; }
  .ecl-u-pb-xl-none {
    padding-bottom: 0; }
  .ecl-u-pl-xl-none {
    padding-left: 0; }
  .ecl-u-pa-xl-xxxs {
    padding: 0.33rem; }
  .ecl-u-ph-xl-xxxs {
    padding-left: 0.33rem;
    padding-right: 0.33rem; }
  .ecl-u-pv-xl-xxxs {
    padding-bottom: 0.33rem;
    padding-top: 0.33rem; }
  .ecl-u-pt-xl-xxxs {
    padding-top: 0.33rem; }
  .ecl-u-pr-xl-xxxs {
    padding-right: 0.33rem; }
  .ecl-u-pb-xl-xxxs {
    padding-bottom: 0.33rem; }
  .ecl-u-pl-xl-xxxs {
    padding-left: 0.33rem; }
  .ecl-u-pa-xl-xxs {
    padding: 0.66rem; }
  .ecl-u-ph-xl-xxs {
    padding-left: 0.66rem;
    padding-right: 0.66rem; }
  .ecl-u-pv-xl-xxs {
    padding-bottom: 0.66rem;
    padding-top: 0.66rem; }
  .ecl-u-pt-xl-xxs {
    padding-top: 0.66rem; }
  .ecl-u-pr-xl-xxs {
    padding-right: 0.66rem; }
  .ecl-u-pb-xl-xxs {
    padding-bottom: 0.66rem; }
  .ecl-u-pl-xl-xxs {
    padding-left: 0.66rem; }
  .ecl-u-pa-xl-xs {
    padding: 0.89rem; }
  .ecl-u-ph-xl-xs {
    padding-left: 0.89rem;
    padding-right: 0.89rem; }
  .ecl-u-pv-xl-xs {
    padding-bottom: 0.89rem;
    padding-top: 0.89rem; }
  .ecl-u-pt-xl-xs {
    padding-top: 0.89rem; }
  .ecl-u-pr-xl-xs {
    padding-right: 0.89rem; }
  .ecl-u-pb-xl-xs {
    padding-bottom: 0.89rem; }
  .ecl-u-pl-xl-xs {
    padding-left: 0.89rem; }
  .ecl-u-pa-xl-s {
    padding: 1rem; }
  .ecl-u-ph-xl-s {
    padding-left: 1rem;
    padding-right: 1rem; }
  .ecl-u-pv-xl-s {
    padding-bottom: 1rem;
    padding-top: 1rem; }
  .ecl-u-pt-xl-s {
    padding-top: 1rem; }
  .ecl-u-pr-xl-s {
    padding-right: 1rem; }
  .ecl-u-pb-xl-s {
    padding-bottom: 1rem; }
  .ecl-u-pl-xl-s {
    padding-left: 1rem; }
  .ecl-u-pa-xl-m {
    padding: 1.66rem; }
  .ecl-u-ph-xl-m {
    padding-left: 1.66rem;
    padding-right: 1.66rem; }
  .ecl-u-pv-xl-m {
    padding-bottom: 1.66rem;
    padding-top: 1.66rem; }
  .ecl-u-pt-xl-m {
    padding-top: 1.66rem; }
  .ecl-u-pr-xl-m {
    padding-right: 1.66rem; }
  .ecl-u-pb-xl-m {
    padding-bottom: 1.66rem; }
  .ecl-u-pl-xl-m {
    padding-left: 1.66rem; }
  .ecl-u-pa-xl-l {
    padding: 2.22rem; }
  .ecl-u-ph-xl-l {
    padding-left: 2.22rem;
    padding-right: 2.22rem; }
  .ecl-u-pv-xl-l {
    padding-bottom: 2.22rem;
    padding-top: 2.22rem; }
  .ecl-u-pt-xl-l {
    padding-top: 2.22rem; }
  .ecl-u-pr-xl-l {
    padding-right: 2.22rem; }
  .ecl-u-pb-xl-l {
    padding-bottom: 2.22rem; }
  .ecl-u-pl-xl-l {
    padding-left: 2.22rem; }
  .ecl-u-pa-xl-xl {
    padding: 3.33rem; }
  .ecl-u-ph-xl-xl {
    padding-left: 3.33rem;
    padding-right: 3.33rem; }
  .ecl-u-pv-xl-xl {
    padding-bottom: 3.33rem;
    padding-top: 3.33rem; }
  .ecl-u-pt-xl-xl {
    padding-top: 3.33rem; }
  .ecl-u-pr-xl-xl {
    padding-right: 3.33rem; }
  .ecl-u-pb-xl-xl {
    padding-bottom: 3.33rem; }
  .ecl-u-pl-xl-xl {
    padding-left: 3.33rem; }
  .ecl-u-pa-xl-xxl {
    padding: 4.44rem; }
  .ecl-u-ph-xl-xxl {
    padding-left: 4.44rem;
    padding-right: 4.44rem; }
  .ecl-u-pv-xl-xxl {
    padding-bottom: 4.44rem;
    padding-top: 4.44rem; }
  .ecl-u-pt-xl-xxl {
    padding-top: 4.44rem; }
  .ecl-u-pr-xl-xxl {
    padding-right: 4.44rem; }
  .ecl-u-pb-xl-xxl {
    padding-bottom: 4.44rem; }
  .ecl-u-pl-xl-xxl {
    padding-left: 4.44rem; } }

/**
 * Ratio utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Ratio utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-ratio-16-9 {
  position: relative;
  /* stylelint-disable-next-line */
  /* stylelint-disable-next-line */ }
  .ecl-u-ratio-16-9::before {
    content: '';
    display: block;
    padding-top: 56.25%;
    width: 100%; }
  .ecl-u-ratio-16-9 > .content {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

.ecl-u-ratio-4-3 {
  position: relative;
  /* stylelint-disable-next-line */
  /* stylelint-disable-next-line */ }
  .ecl-u-ratio-4-3::before {
    content: '';
    display: block;
    padding-top: 75%;
    width: 100%; }
  .ecl-u-ratio-4-3 > .content {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

/**
 * Screen reader utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Screen readers utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

.ecl-u-sr-only--focusable:active, .ecl-u-sr-only--focusable:focus {
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
  height: auto;
  overflow: visible;
  position: static;
  white-space: normal;
  width: auto; }

/**
 * Text utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Text utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-text-capitalize {
  text-transform: capitalize; }

.ecl-u-text-lowercase {
  text-transform: lowercase; }

.ecl-u-text-uppercase {
  text-transform: uppercase; }

.ecl-u-text-overline {
  text-decoration: overline; }

.ecl-u-text-underline {
  text-decoration: underline; }

.ecl-u-text-strike {
  text-decoration: line-through; }

.ecl-u-text-none {
  text-decoration: none; }

/**
 * Display utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Display utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-d-none {
  display: none !important; }

.ecl-u-d-inline {
  display: inline !important; }

.ecl-u-d-inline-block {
  display: inline-block !important; }

.ecl-u-d-block {
  display: block !important; }

.ecl-u-d-table {
  display: table !important; }

.ecl-u-d-table-cell {
  display: table-cell !important; }

.ecl-u-d-flex {
  display: flex !important; }

.ecl-u-d-inline-flex {
  display: inline-flex !important; }

@media (min-width: 480px) {
  .ecl-u-d-sm-none {
    display: none !important; }
  .ecl-u-d-sm-inline {
    display: inline !important; }
  .ecl-u-d-sm-inline-block {
    display: inline-block !important; }
  .ecl-u-d-sm-block {
    display: block !important; }
  .ecl-u-d-sm-table {
    display: table !important; }
  .ecl-u-d-sm-table-cell {
    display: table-cell !important; }
  .ecl-u-d-sm-flex {
    display: flex !important; }
  .ecl-u-d-sm-inline-flex {
    display: inline-flex !important; } }

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

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

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

/**
 * Z-index utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
/**
 * Z-index utilities
 */
/*
 * Aliases
 */
/*
 * Background colors
 *
 * Note: in some cases, components can have other background colors (header-top, file, footer...)
 * These are the main background colors.
 */
.ecl-u-z-auto {
  z-index: auto; }

.ecl-u-z-zero {
  z-index: 0; }

.ecl-u-z-highlight {
  z-index: 1; }

.ecl-u-z-navigation {
  z-index: 10; }

.ecl-u-z-dropdown {
  z-index: 15; }

.ecl-u-z-modal {
  z-index: 20; }

.ecl-u-z-max {
  z-index: 9999; }

.main-content {
  /* @see @ec-europa/ecl-forms-help-blocks/_help-blocks.scss */ }
  .main-content .password-strength .is-weak {
    background-color: #da2130; }
  .main-content .password-strength .is-fair {
    background-color: #f29527; }
  .main-content .password-strength .is-good,
  .main-content .password-strength .is-strong {
    background-color: #467a39; }

body.toolbar-horizontal .ecl-language-list--overlay .ecl-dialog--wide,
body.toolbar-horizontal .ecl-inpage-navigation {
  top: 40px; }

body.toolbar-horizontal.toolbar-tray-open .ecl-language-list--overlay .ecl-dialog--wide,
body.toolbar-horizontal.toolbar-tray-open .ecl-inpage-navigation {
  top: 80px; }

.page-splash {
  background-color: #004494; }

.main-content .block {
  margin-bottom: 1.66rem; }

/**
 * Required field
 */
.form-required:after {
  content: '';
  vertical-align: super;
  display: inline-block;
  background-image: url(../images/required.svg);
  background-repeat: no-repeat;
  background-size: 6px 6px;
  width: 6px;
  height: 6px;
  margin: 0 0.3em; }

.form-item-text-format-value + .ecl-form-group {
  margin-top: 0; }

.entity-moderation-form .ecl-button {
  margin-bottom: 1em; }
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi9zYXNzL3N0eWxlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1wcmVzZXQtd2Vic2l0ZS9fZ2xvYmFscy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1zdHlsZS1pY29uL2VjLXN0eWxlLWljb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtaWNvbi9nZW5lcmljLXN0eWxlLWljb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtaWNvbi9fZm9udC1mYWNlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS1pY29uL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS92YXJpYWJsZXMvX2ZvbnQtc2NhbGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS92YXJpYWJsZXMvX3NwYWNpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXN0eWxlLWltYWdlL2VjLXN0eWxlLWltYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLWltYWdlL2dlbmVyaWMtc3R5bGUtaW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXN0eWxlLXR5cG9ncmFwaHkvZWMtc3R5bGUtdHlwb2dyYXBoeS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5L2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5L19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS92YXJpYWJsZXMvX2ZvbnQtZmFtaWx5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcvZWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZy9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0L2VjLXN0eWxlLXR5cG9ncmFwaHktbGlzdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0L19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoL2VjLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtc3R5bGUtaW1hZ2UvZWMtc3R5bGUtaW1hZ2UtLWVkaXRvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1zdHlsZS1pbWFnZS9nZW5lcmljLXN0eWxlLWltYWdlLS1lZGl0b3Iuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nLS1lZGl0b3Iuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0L2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0LS1lZGl0b3Iuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaC0tZWRpdG9yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWxheW91dC1ncmlkL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtbGF5b3V0LWdyaWQvZ2VuZXJpYy1sYXlvdXQtZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1sYXlvdXQtZ3JpZC9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWJhc2UvdmFyaWFibGVzL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1mb3JtL2VjLWNvbXBvbmVudC1mb3JtLWZvcm0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZm9ybS9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZvcm0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLWZpZWxkc2V0L2VjLWNvbXBvbmVudC1mb3JtLWZpZWxkc2V0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZpZWxkc2V0L2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmllbGRzZXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLWxlZ2VuZC9lYy1jb21wb25lbnQtZm9ybS1sZWdlbmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tbGVnZW5kL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tbGVnZW5kLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1mb3JtLWdyb3VwL2VjLWNvbXBvbmVudC1mb3JtLWZvcm0tZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZm9ybS1ncm91cC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZvcm0tZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS9taXhpbnMvX2hpZGRlbi1wcmludC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvcm0tbGFiZWwvZWMtY29tcG9uZW50LWZvcm0tbGFiZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tbGFiZWwvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1sYWJlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvcm0tY2hlY2tib3gvZWMtY29tcG9uZW50LWZvcm0tY2hlY2tib3guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tY2hlY2tib3gvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1jaGVja2JveC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL21peGlucy9faW1wb3J0LW9uY2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1mb3JtLWZlZWRiYWNrLW1lc3NhZ2UvZWMtY29tcG9uZW50LWZvcm0tZmVlZGJhY2stbWVzc2FnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mZWVkYmFjay1tZXNzYWdlL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmVlZGJhY2stbWVzc2FnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvcm0tZmlsZS11cGxvYWQvZWMtY29tcG9uZW50LWZvcm0tZmlsZS11cGxvYWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmlsZS11cGxvYWQvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1maWxlLXVwbG9hZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvcm0taGVscC1ibG9jay9lYy1jb21wb25lbnQtZm9ybS1oZWxwLWJsb2NrLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWhlbHAtYmxvY2svZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1oZWxwLWJsb2NrLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1yYWRpby9lYy1jb21wb25lbnQtZm9ybS1yYWRpby5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1yYWRpby9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXJhZGlvLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1yYWRpby1ncm91cC9lYy1jb21wb25lbnQtZm9ybS1yYWRpby1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1yYWRpby1ncm91cC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXJhZGlvLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS1zZWxlY3QvZWMtY29tcG9uZW50LWZvcm0tc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXNlbGVjdC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXNlbGVjdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvcm0tdGV4dC1pbnB1dC9lYy1jb21wb25lbnQtZm9ybS10ZXh0LWlucHV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXRleHQtaW5wdXQvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS10ZXh0LWlucHV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZm9ybS10ZXh0YXJlYS9lYy1jb21wb25lbnQtZm9ybS10ZXh0YXJlYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS10ZXh0YXJlYS9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXRleHRhcmVhLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtYmxvY2txdW90ZS9lYy1jb21wb25lbnQtYmxvY2txdW90ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYmxvY2txdW90ZS9nZW5lcmljLWNvbXBvbmVudC1ibG9ja3F1b3RlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1ibG9ja3F1b3RlL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1idXR0b24vZWMtY29tcG9uZW50LWJ1dHRvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYnV0dG9uL2dlbmVyaWMtY29tcG9uZW50LWJ1dHRvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYnV0dG9uL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1kYXRlLWJsb2NrL2VjLWNvbXBvbmVudC1kYXRlLWJsb2NrLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1kYXRlLWJsb2NrL2dlbmVyaWMtY29tcG9uZW50LWRhdGUtYmxvY2suc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1maWVsZC9lYy1jb21wb25lbnQtZmllbGQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZpZWxkL2dlbmVyaWMtY29tcG9uZW50LWZpZWxkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGFiZWwvZWMtY29tcG9uZW50LWxhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1sYWJlbC9nZW5lcmljLWNvbXBvbmVudC1sYWJlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWxpbmsvZWMtY29tcG9uZW50LWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWxpbmsvZ2VuZXJpYy1jb21wb25lbnQtbGluay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGluay9fbWl4aW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbG9naW4tYmFyL2VjLWNvbXBvbmVudC1sb2dpbi1iYXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1sb2dvL2VjLWNvbXBvbmVudC1sb2dvLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbWVzc2FnZS9lYy1jb21wb25lbnQtbWVzc2FnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbWVzc2FnZS9nZW5lcmljLWNvbXBvbmVudC1tZXNzYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWJhc2UvbWl4aW5zL19mb2N1cy1vdXRsaW5lLWJvcmRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LW1ldGEvZWMtY29tcG9uZW50LW1ldGEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LW1ldGEvZ2VuZXJpYy1jb21wb25lbnQtbWV0YS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXNpdGUtc3dpdGNoZXIvZWMtY29tcG9uZW50LXNpdGUtc3dpdGNoZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXNpdGUtc3dpdGNoZXIvZ2VuZXJpYy1jb21wb25lbnQtc2l0ZS1zd2l0Y2hlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXNvY2lhbC1pY29uL2VjLWNvbXBvbmVudC1zb2NpYWwtaWNvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtc29jaWFsLWljb24vZ2VuZXJpYy1jb21wb25lbnQtc29jaWFsLWljb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC10YWJsZS9lYy1jb21wb25lbnQtdGFibGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXRhYmxlL2dlbmVyaWMtY29tcG9uZW50LXRhYmxlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC10YWJsZS9fbWl4aW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtdGFnL2VjLWNvbXBvbmVudC10YWcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXRhZy9nZW5lcmljLWNvbXBvbmVudC10YWcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWJsb2NrcXVvdGUvZ2VuZXJpYy1jb21wb25lbnQtYmxvY2txdW90ZS0tZWRpdG9yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1saW5rL2dlbmVyaWMtY29tcG9uZW50LWxpbmstLWVkaXRvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtdGFibGUvZ2VuZXJpYy1jb21wb25lbnQtdGFibGUtLWVkaXRvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWJhbm5lci9lYy1jb21wb25lbnQtYmFubmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1iYW5uZXIvZ2VuZXJpYy1jb21wb25lbnQtYmFubmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtYnJlYWRjcnVtYi9lYy1jb21wb25lbnQtYnJlYWRjcnVtYi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYnJlYWRjcnVtYi9nZW5lcmljLWNvbXBvbmVudC1icmVhZGNydW1iLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtY2Fyb3VzZWwvZWMtY29tcG9uZW50LWNhcm91c2VsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1jYXJvdXNlbC9nZW5lcmljLWNvbXBvbmVudC1jYXJvdXNlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1iYXNlL3ZhcmlhYmxlcy9fei1pbmRleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWNvbW1lbnQvZWMtY29tcG9uZW50LWNvbW1lbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWNvbW1lbnQvZ2VuZXJpYy1jb21wb25lbnQtY29tbWVudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWNvbnRleHQtbmF2L2VjLWNvbXBvbmVudC1jb250ZXh0LW5hdi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtY29udGV4dC1uYXYvZ2VuZXJpYy1jb21wb25lbnQtY29udGV4dC1uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1kYXRlcGlja2VyL2VjLWNvbXBvbmVudC1kYXRlcGlja2VyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1kYXRlcGlja2VyL2dlbmVyaWMtY29tcG9uZW50LWRhdGVwaWNrZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS9taXhpbnMvX2Zvcm0tY29udHJvbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWRpYWxvZy9lYy1jb21wb25lbnQtZGlhbG9nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1kaWFsb2cvZ2VuZXJpYy1jb21wb25lbnQtZGlhbG9nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGluay1ibG9jay9lYy1jb21wb25lbnQtbGluay1ibG9jay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGluay1ibG9jay9nZW5lcmljLWNvbXBvbmVudC1saW5rLWJsb2NrLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtZHJvcGRvd24vZWMtY29tcG9uZW50LWRyb3Bkb3duLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1kcm9wZG93bi9nZW5lcmljLWNvbXBvbmVudC1kcm9wZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWV4cGFuZGFibGUvZWMtY29tcG9uZW50LWV4cGFuZGFibGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWV4cGFuZGFibGUvZ2VuZXJpYy1jb21wb25lbnQtZXhwYW5kYWJsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZlYXR1cmVkLWl0ZW0vZWMtY29tcG9uZW50LWZlYXR1cmVkLWl0ZW0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZlYXR1cmVkLWl0ZW0vZ2VuZXJpYy1jb21wb25lbnQtZmVhdHVyZWQtaXRlbS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZpbGUvZWMtY29tcG9uZW50LWZpbGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWZpbGUvZ2VuZXJpYy1jb21wb25lbnQtZmlsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWZvb3Rlci9lYy1jb21wb25lbnQtZm9vdGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb290ZXIvZ2VuZXJpYy1jb21wb25lbnQtZm9vdGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZS9lYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZS9nZW5lcmljLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1wYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGFuZy1zZWxlY3Qtc2l0ZS9lYy1jb21wb25lbnQtbGFuZy1zZWxlY3Qtc2l0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZy1zZWxlY3Qtc2l0ZS9nZW5lcmljLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1zaXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdC9lYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdC9nZW5lcmljLWNvbXBvbmVudC1sYW5ndWFnZS1saXN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbGlzdC1pdGVtL2VjLWNvbXBvbmVudC1saXN0LWl0ZW0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWxpc3QtaXRlbS9nZW5lcmljLWNvbXBvbmVudC1saXN0LWl0ZW0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1pbnBhZ2UtbmF2aWdhdGlvbi9lYy1jb21wb25lbnQtaW5wYWdlLW5hdmlnYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWlucGFnZS1uYXZpZ2F0aW9uL2dlbmVyaWMtY29tcG9uZW50LWlucGFnZS1uYXZpZ2F0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtcGFnZXIvZWMtY29tcG9uZW50LXBhZ2VyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1wYWdlci9nZW5lcmljLWNvbXBvbmVudC1wYWdlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXJzcy1saW5rL2VjLWNvbXBvbmVudC1yc3MtbGluay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtcnNzLWxpbmsvZ2VuZXJpYy1jb21wb25lbnQtcnNzLWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1zZWFyY2gtZm9ybS9lYy1jb21wb25lbnQtc2VhcmNoLWZvcm0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXNlYXJjaC1mb3JtL2dlbmVyaWMtY29tcG9uZW50LXNlYXJjaC1mb3JtLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtc2tpcC1saW5rL2VjLWNvbXBvbmVudC1za2lwLWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXNraXAtbGluay9nZW5lcmljLWNvbXBvbmVudC1za2lwLWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtYmFzZS9taXhpbnMvX3NjcmVlbi1yZWFkZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtc29jaWFsLW1lZGlhLWxpbmsvZWMtY29tcG9uZW50LXNvY2lhbC1tZWRpYS1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtbWVkaWEtbGluay9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtbWVkaWEtbGluay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXRpbWVsaW5lL2VjLWNvbXBvbmVudC10aW1lbGluZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtdGltZWxpbmUvZ2VuZXJpYy1jb21wb25lbnQtdGltZWxpbmUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1hY2NvcmRpb24vZWMtY29tcG9uZW50LWFjY29yZGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYWNjb3JkaW9uL2dlbmVyaWMtY29tcG9uZW50LWFjY29yZGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWdhbGxlcnkvZWMtY29tcG9uZW50LWdhbGxlcnkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWdhbGxlcnkvZ2VuZXJpYy1jb21wb25lbnQtZ2FsbGVyeS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LWxpc3RpbmcvZWMtY29tcG9uZW50LWxpc3Rpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LWxpc3RpbmcvZ2VuZXJpYy1jb21wb25lbnQtbGlzdGluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LW5hdmlnYXRpb24tbGlzdC9lYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1uYXZpZ2F0aW9uLWxpc3QvZ2VuZXJpYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtbmF2aWdhdGlvbi1tZW51L2VjLWNvbXBvbmVudC1uYXZpZ2F0aW9uLW1lbnUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LW5hdmlnYXRpb24tbWVudS9nZW5lcmljLWNvbXBvbmVudC1uYXZpZ2F0aW9uLW1lbnUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1zaWRlLW5hdmlnYXRpb24vZWMtY29tcG9uZW50LXNpZGUtbmF2aWdhdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtc2lkZS1uYXZpZ2F0aW9uL2dlbmVyaWMtY29tcG9uZW50LXNpZGUtbmF2aWdhdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXBhZ2UtaGVhZGVyL2VjLWNvbXBvbmVudC1wYWdlLWhlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtcGFnZS1oZWFkZXIvZ2VuZXJpYy1jb21wb25lbnQtcGFnZS1oZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLWNvbXBvbmVudC1wcm9maWxlLXRvcGJhci9lYy1jb21wb25lbnQtcHJvZmlsZS10b3BiYXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtY29tcG9uZW50LXByb2ZpbGUtdG9wYmFyL2dlbmVyaWMtY29tcG9uZW50LXByb2ZpbGUtdG9wYmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy1jb21wb25lbnQtc2l0ZS1oZWFkZXIvZWMtY29tcG9uZW50LXNpdGUtaGVhZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zaXRlLWhlYWRlci9nZW5lcmljLWNvbXBvbmVudC1zaXRlLWhlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtY29tcG9uZW50LXRhYi9lYy1jb21wb25lbnQtdGFiLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWNvbXBvbmVudC10YWIvZ2VuZXJpYy1jb21wb25lbnQtdGFiLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LWFyaWEvZWMtdXRpbGl0eS1hcmlhLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktYXJpYS9nZW5lcmljLXV0aWxpdHktYXJpYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1jbGVhcmZpeC9lYy11dGlsaXR5LWNsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktY2xlYXJmaXgvZ2VuZXJpYy11dGlsaXR5LWNsZWFyZml4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLWJhc2UvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1mbGV4L2VjLXV0aWxpdHktZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LWZsZXgvZ2VuZXJpYy11dGlsaXR5LWZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXV0aWxpdHktZmxvYXQvZWMtdXRpbGl0eS1mbG9hdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LWZsb2F0L2dlbmVyaWMtdXRpbGl0eS1mbG9hdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1jb2xvcml6ZS9lYy11dGlsaXR5LWNvbG9yaXplLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktY29sb3JpemUvZ2VuZXJpYy11dGlsaXR5LWNvbG9yaXplLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LWRpc2FibGVzY3JvbGwvZWMtdXRpbGl0eS1kaXNhYmxlc2Nyb2xsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktZGlzYWJsZXNjcm9sbC9nZW5lcmljLXV0aWxpdHktZGlzYWJsZXNjcm9sbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1mb250LXNpemUvZWMtdXRpbGl0eS1mb250LXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtdXRpbGl0eS1mb250LXNpemUvZ2VuZXJpYy11dGlsaXR5LWZvbnQtc2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1tYXJnaW4vZWMtdXRpbGl0eS1tYXJnaW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtdXRpbGl0eS1tYXJnaW4vZ2VuZXJpYy11dGlsaXR5LW1hcmdpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1wYWRkaW5nL2VjLXV0aWxpdHktcGFkZGluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LXBhZGRpbmcvZ2VuZXJpYy11dGlsaXR5LXBhZGRpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXV0aWxpdHktcmF0aW8vZWMtdXRpbGl0eS1yYXRpby5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LXJhdGlvL2dlbmVyaWMtdXRpbGl0eS1yYXRpby5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS1zY3JlZW4tcmVhZGVyL2VjLXV0aWxpdHktc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LXNjcmVlbi1yZWFkZXIvZ2VuZXJpYy11dGlsaXR5LXNjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2VjLXV0aWxpdHktdGV4dC9lYy11dGlsaXR5LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AZWNsL2dlbmVyaWMtdXRpbGl0eS10ZXh0L2dlbmVyaWMtdXRpbGl0eS10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9lYy11dGlsaXR5LWRpc3BsYXkvZWMtdXRpbGl0eS1kaXNwbGF5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGVjbC9nZW5lcmljLXV0aWxpdHktZGlzcGxheS9nZW5lcmljLXV0aWxpdHktZGlzcGxheS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZWMtdXRpbGl0eS16LWluZGV4L2VjLXV0aWxpdHktei1pbmRleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BlY2wvZ2VuZXJpYy11dGlsaXR5LXotaW5kZXgvZ2VuZXJpYy11dGlsaXR5LXotaW5kZXguc2NzcyIsIi4uL3Nhc3MvY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiLi4vc2Fzcy9jb21wb25lbnRzL190b29sYmFyLnNjc3MiLCIuLi9zYXNzL2NvbXBvbmVudHMvX3NwbGFzaC1wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBRTVFO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDtFQUNFLGtCQUFpQjtFQUFFLE9BQU87RUFDMUIsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCQUFnQixFQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLFVBQVM7RUFBRSxPQUFPO0VBQ2xCLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usb0JBQW1CO0VBQUUsT0FBTztFQUM1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLDBDQUFpQztVQUFqQyxrQ0FBaUM7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsb0JBQW1CLEVBQ3BCOztBQUVEOzs7R0FHRztBQUVIOzs7RUFHRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUUsZUFBYztFQUNkLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIseUJBQXdCLEVBQ3pCOztB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QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGVBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixlQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsZUFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsZUFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsZUFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFKSDtFQUNFLGlDQUFpQyxFQUlsQztFQUxEO0lFdEJGLGlCQUFTLEVGMEJKOztBQUpIO0VBQ0UsaUNBQWlDLEVBSWxDO0VBTEQ7SUV0QkYsaUJBQVMsRUYwQko7O0FBSkg7RUFDRSxpQ0FBaUMsRUFJbEM7RUFMRDtJRXRCRixpQkFBUyxFRjBCSjs7QUFJTDtFQUNFLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsb0JHNUJVO0VINkJWLGdCSTFCUTtFSjJCUixxQkkzQlE7RUo0QlIsbUJBQWtCO0VBQ2xCLGVJN0JRLEVKOEJUOztBQUVEO0VBQ0UscUJBQW9CO0VBQ3BCLGdCQUFlLEVBQ2hCOztBSzVDSDs7O0dBR0c7QVB3Qkg7O0dBRUc7QUFXSDs7Ozs7R0FLRztBUTdDSDs7O0dBR0c7QVJ3Qkg7O0dBRUc7QUFXSDs7Ozs7R0FLRztBUXBDRDtFQUNFLG1CQUFrQjtFQUNsQix5QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxhQUFZO0VBQ1osZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSx1QkFBc0IsRUFDdkI7O0FDckJIOzs7R0FHRztBVHdCSDs7R0FFRztBQVdIOzs7OztHQUtHO0FVN0NIOzs7R0FHRztBVndCSDs7R0FFRztBQVdIOzs7OztHQUtHO0FVbENEO0VDVkEsK0JDQzRDO0VEQTVDLG9DQUFtQztFQUNuQyxtQ0FBa0M7RUFDbEMsbUNBQWtDLEVEU2pDOztBR2JIOzs7R0FHRztBYndCSDs7R0FFRztBQVdIOzs7OztHQUtHO0FjN0NIOzs7R0FHRztBZHdCSDs7R0FFRztBQVdIOzs7OztHQUtHO0FjbENEO0VDVkEsb0JUT1U7RVNOVixXQUFVLEVEV1Q7O0FBRUQ7RUNUQSxZQUFXO0VBQ1gsa0JWSVc7RVVIWCxpQkFBZ0I7RUFDaEIsaUJBQWdCLEVEUWY7O0FBRUQ7RUNOQSxZQUFXO0VBQ1gsb0JWSlk7RVVLWixpQkFBZ0I7RUFDaEIsaUJBQWdCLEVES2Y7O0FBRUQ7RUNIQSxlZkppQjtFZUtqQixvQlZaVztFVWFYLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsZ0JBQWUsRURDZDs7QUFFRDtFQ0NBLGVmWmlCO0VlYWpCLG9CVnJCVztFVXNCWCxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLGdCQUFlLEVESGQ7O0FBRUQ7RUNLQSxlZnBCaUI7RWVxQmpCLGdCVjlCTztFVStCUCxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZiwwQkFBeUIsRURQeEI7O0FBRUQ7RUFDRSxZQUFXO0VBQ1gsb0JUN0JTO0VTOEJULGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFDakI7O0FBR0QsNkRBQTZEO0FBQzdEO0VBQ0Usb0JSbENVLEVRbUNYOztBQUVELDZEQUE2RDtBQUM3RDtFQUNFLG9CUnhDUyxFUXlDVjs7QUFFRCw2REFBNkQ7QUFDN0Q7RUFDRSxvQlI5Q1EsRVErQ1Q7O0FFeERIOzs7R0FHRztBaEJ3Qkg7O0dBRUc7QUFXSDs7Ozs7R0FLRztBaUI3Q0g7OztHQUdHO0FqQndCSDs7R0FFRztBQVdIOzs7OztHQUtHO0FpQmxDRDtFQ1ZBLGVsQmVpQjtFa0JkakIsb0JiTVc7RWFMWCxrQkFBaUI7RUFDakIsZ0JBQWUsRURTZDs7QUFHRDtFQUNFLDZCQUE0QixFQUM3Qjs7QUFHRDtFQUNFLGlCQUFnQjtFQUNoQixnQkFBZSxFQUNoQjs7QUFHRDtFQUNFLGlCQUFnQjtFQUNoQixnQkFBZTtFQUVmLGlDQUFpQyxFQVVsQztFQWREO0lBTUksc0JBQXFCO0lBQ3JCLHFCWDdCUTtJVytCUixpQ0FBaUMsRUFJbEM7SUFiSDtNQVdNLGVBQWMsRUFDZjs7QUV2Q1A7OztHQUdHO0FuQndCSDs7R0FFRztBQVdIOzs7OztHQUtHO0FvQjdDSDs7O0dBR0c7QUFNRDtFQ1JBLGVyQmVpQjtFcUJkakIsb0JoQk1XO0VnQkxYLGtCQUFpQjtFQUNqQixnQkFBZSxFRE9kOztBQUVEO0VBQ0Usb0JmTFMsRWVNVjs7QUFFRDtFQUNFLG9CZlZTLEVlV1Y7O0FBRUQ7RUFDRSxnQmZmSyxFZWdCTjs7QUFFRDtFQUNFLG9CZnBCVSxFZXFCWDs7QUFFRDtFQUNFLG1CZnpCVSxFZTBCWDs7QUUvQkg7OztHQUdHO0F0QndCSDs7R0FFRztBQVdIOzs7OztHQUtHO0F1QjdDSDs7R0FFRztBdkJ5Qkg7O0dBRUc7QUFXSDs7Ozs7R0FLRztBdUJyQ0Q7RUFDRSxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLGdCQUFlO0VBQ2YseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0Usb0JqQlhVLEVpQllYOztBdkJVSDs7R0FFRztBQVdIOzs7OztHQUtHO0F3QjFDRDtFVEZBLG9CVE9VO0VTTlYsV0FBVTtFQUlWLFlBQVc7RUFDWCxrQlZJVztFVUhYLGlCQUFnQjtFQUNoQixpQkFBZ0IsRVNIZjs7QUFFRDtFVFBBLG9CVE9VO0VTTlYsV0FBVTtFQVdWLFlBQVc7RUFDWCxvQlZKWTtFVUtaLGlCQUFnQjtFQUNoQixpQkFBZ0IsRVNMZjs7QUFFRDtFVFpBLG9CVE9VO0VTTlYsV0FBVTtFQWtCVixlZkppQjtFZUtqQixvQlZaVztFVWFYLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsZ0JBQWUsRVNSZDs7QUFFRDtFVGpCQSxvQlRPVTtFU05WLFdBQVU7RUEwQlYsZWZaaUI7RWVhakIsb0JWckJXO0VVc0JYLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsZ0JBQWUsRVNYZDs7QUFFRDtFVHRCQSxvQlRPVTtFU05WLFdBQVU7RUFrQ1YsZWZwQmlCO0VlcUJqQixnQlY5Qk87RVUrQlAsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsMEJBQXlCLEVTZHhCOztBQUVEO0VBRUksb0JsQm5CUSxFa0JvQlQ7O0FBSEg7RUFNSSxvQmxCeEJPLEVrQnlCUjs7QUFQSDtFQVVJLG9CbEI3Qk0sRWtCOEJQOztBeEJaTDs7R0FFRztBQVdIOzs7OztHQUtHO0F5QjFDRDs7RVBGQSxlbEJlaUI7RWtCZGpCLG9CYk1XO0VhTFgsa0JBQWlCO0VBQ2pCLGdCQUFlLEVPRWQ7O0F6QnFCSDs7R0FFRztBQVdIOzs7OztHQUtHO0EwQjFDRDtFQUNFLHVCQUFzQjtFQUN0QixlMUJXZTtFMEJWZixvQnJCRVM7RXFCRFQsVUFBUyxFQUNWOztBQUVEO0VMVEEsZXJCZWlCO0VxQmRqQixvQmhCTVc7RWdCTFgsa0JBQWlCO0VBQ2pCLGdCQUFlO0VLU2IsVUFBUyxFQUNWOztBQUVEO0VBQ0Usb0JwQlpVLEVvQmFYOztBMUJTSDs7R0FFRztBQVdIOzs7OztHQUtHO0FBbEJIOztHQUVHO0FBV0g7Ozs7O0dBS0c7QTJCeENILHlDQUF5QztBQ1F2QztFQ1JBLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQU1kLG1CQUEyQjtFQUMzQixvQkFBNEIsRURDL0I7RUVvREM7SUZ2REY7TUNDSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEQy9CLEVBQUE7RUVvREM7SUZ2REY7TUNDSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEQy9CLEVBQUE7RUVvREM7SUZ2REY7TUNDSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEQy9CLEVBQUE7RUVvREM7SUZ2REY7TUNDSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEQy9CLEVBQUE7RUVvREM7SUZ2REY7TUNjSSxnQkFBZTtNQUNmLGFFYkssRUhDUixFQUFBO0VFb0RDO0lGdkRGO01DY0ksZ0JBQWU7TUFDZixhRVpLLEVIQVIsRUFBQTtFRW9EQztJRnZERjtNQ2NJLGdCQUFlO01BQ2YsYUVYSyxFSERSLEVBQUE7RUVvREM7SUZ2REY7TUNjSSxnQkFBZTtNQUNmLGNFVk0sRUhGVCxFQUFBOztBQU1EO0VDakJBLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQU1kLG1CQUEyQjtFQUMzQixvQkFBNEIsRURTL0I7RUU0Q0M7SUY5Q0Y7TUNSSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEUy9CLEVBQUE7RUU0Q0M7SUY5Q0Y7TUNSSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEUy9CLEVBQUE7RUU0Q0M7SUY5Q0Y7TUNSSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEUy9CLEVBQUE7RUU0Q0M7SUY5Q0Y7TUNSSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEUy9CLEVBQUE7O0FBS0Q7RUNnQkEsdUJBQXNCO0VBQ3RCLGNBQWE7RUFDYixnQkFBZTtFQU1YLG1CQUEyQjtFQUMzQixvQkFBNEIsRUR2Qi9CO0VFcUNDO0lGdkNGO01Dd0JJLG1CQUEyQjtNQUMzQixvQkFBNEIsRUR2Qi9CLEVBQUE7RUVxQ0M7SUZ2Q0Y7TUN3QkksbUJBQTJCO01BQzNCLG9CQUE0QixFRHZCL0IsRUFBQTtFRXFDQztJRnZDRjtNQ3dCSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVEdkIvQixFQUFBO0VFcUNDO0lGdkNGO01Dd0JJLG1CQUEyQjtNQUMzQixvQkFBNEIsRUR2Qi9CLEVBQUE7O0FBSUQ7RUFDRSxlQUFjO0VBQ2QsZ0JBQWUsRUFPaEI7RUFURDs7SUFNSSxnQkFBZTtJQUNmLGlCQUFnQixFQUNqQjs7QUQ5Qkg7RUV5QkksbUJBQTJCO0VBQzNCLG9CQUE0QjtFRnZCOUIsdUJBQXNCO0VBQ3RCLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLFlBQVcsRUFDWjtFR2dEQztJSHZERjtNRXlCSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVGbkIvQixFQUFBO0VHZ0RDO0lIdkRGO01FeUJJLG1CQUEyQjtNQUMzQixvQkFBNEIsRUZuQi9CLEVBQUE7RUdnREM7SUh2REY7TUV5QkksbUJBQTJCO01BQzNCLG9CQUE0QixFRm5CL0IsRUFBQTtFR2dEQztJSHZERjtNRXlCSSxtQkFBMkI7TUFDM0Isb0JBQTRCLEVGbkIvQixFQUFBOztBQWVDLDZDQUE2QztBQUczQztFQUNFLGNBQWE7RUFDYixhQUFZO0VBQ1osZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxlQUFjO0VBQ2QsWUFBVyxFQUNaOztBQUdDO0VFNkJOLG1CQUFzQztFQUt0QyxvQkFBdUMsRUZoQ2hDOztBQUZEO0VFNkJOLG9CQUFzQztFQUt0QyxxQkFBdUMsRUZoQ2hDOztBQUZEO0VFNkJOLGNBQXNDO0VBS3RDLGVBQXVDLEVGaENoQzs7QUFGRDtFRTZCTixvQkFBc0M7RUFLdEMscUJBQXVDLEVGaENoQzs7QUFGRDtFRTZCTixvQkFBc0M7RUFLdEMscUJBQXVDLEVGaENoQzs7QUFGRDtFRTZCTixjQUFzQztFQUt0QyxlQUF1QyxFRmhDaEM7O0FBRkQ7RUU2Qk4sb0JBQXNDO0VBS3RDLHFCQUF1QyxFRmhDaEM7O0FBRkQ7RUU2Qk4sb0JBQXNDO0VBS3RDLHFCQUF1QyxFRmhDaEM7O0FBRkQ7RUU2Qk4sY0FBc0M7RUFLdEMsZUFBdUMsRUZoQ2hDOztBQUZEO0VFNkJOLG9CQUFzQztFQUt0QyxxQkFBdUMsRUZoQ2hDOztBQUZEO0VFNkJOLG9CQUFzQztFQUt0QyxxQkFBdUMsRUZoQ2hDOztBQUZEO0VFNkJOLGVBQXNDO0VBS3RDLGdCQUF1QyxFRmhDaEM7O0FBS0M7RUV1Q1IsWUFBdUQsRUZyQzlDOztBQUZEO0VFdUNSLGdCQUFpRCxFRnJDeEM7O0FBRkQ7RUV1Q1IsaUJBQWlELEVGckN4Qzs7QUFGRDtFRXVDUixXQUFpRCxFRnJDeEM7O0FBRkQ7RUV1Q1IsaUJBQWlELEVGckN4Qzs7QUFGRDtFRXVDUixpQkFBaUQsRUZyQ3hDOztBQUZEO0VFdUNSLFdBQWlELEVGckN4Qzs7QUFGRDtFRXVDUixpQkFBaUQsRUZyQ3hDOztBQUZEO0VFdUNSLGlCQUFpRCxFRnJDeEM7O0FBRkQ7RUV1Q1IsV0FBaUQsRUZyQ3hDOztBQUZEO0VFdUNSLGlCQUFpRCxFRnJDeEM7O0FBRkQ7RUV1Q1IsaUJBQWlELEVGckN4Qzs7QUFGRDtFRXVDUixZQUFpRCxFRnJDeEM7O0FBRkQ7RUVtQ1IsV0FBc0QsRUZqQzdDOztBQUZEO0VFbUNSLGVBQWdELEVGakN2Qzs7QUFGRDtFRW1DUixnQkFBZ0QsRUZqQ3ZDOztBQUZEO0VFbUNSLFVBQWdELEVGakN2Qzs7QUFGRDtFRW1DUixnQkFBZ0QsRUZqQ3ZDOztBQUZEO0VFbUNSLGdCQUFnRCxFRmpDdkM7O0FBRkQ7RUVtQ1IsVUFBZ0QsRUZqQ3ZDOztBQUZEO0VFbUNSLGdCQUFnRCxFRmpDdkM7O0FBRkQ7RUVtQ1IsZ0JBQWdELEVGakN2Qzs7QUFGRDtFRW1DUixVQUFnRCxFRmpDdkM7O0FBRkQ7RUVtQ1IsZ0JBQWdELEVGakN2Qzs7QUFGRDtFRW1DUixnQkFBZ0QsRUZqQ3ZDOztBQUZEO0VFbUNSLFdBQWdELEVGakN2Qzs7QUFRRDtFRXFCUixzQkFBeUMsRUZuQmhDOztBQUZEO0VFcUJSLHVCQUF5QyxFRm5CaEM7O0FBRkQ7RUVxQlIsaUJBQXlDLEVGbkJoQzs7QUFGRDtFRXFCUix1QkFBeUMsRUZuQmhDOztBQUZEO0VFcUJSLHVCQUF5QyxFRm5CaEM7O0FBRkQ7RUVxQlIsaUJBQXlDLEVGbkJoQzs7QUFGRDtFRXFCUix1QkFBeUMsRUZuQmhDOztBQUZEO0VFcUJSLHVCQUF5QyxFRm5CaEM7O0FBRkQ7RUVxQlIsaUJBQXlDLEVGbkJoQzs7QUFGRDtFRXFCUix1QkFBeUMsRUZuQmhDOztBQUZEO0VFcUJSLHVCQUF5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RUFGRDtJRXVDUixXQUFpRCxFRnJDeEM7RUFGRDtJRXVDUixpQkFBaUQsRUZyQ3hDO0VBRkQ7SUV1Q1IsaUJBQWlELEVGckN4QztFQUZEO0lFdUNSLFdBQWlELEVGckN4QztFQUZEO0lFdUNSLGlCQUFpRCxFRnJDeEM7RUFGRDtJRXVDUixpQkFBaUQsRUZyQ3hDO0VBRkQ7SUV1Q1IsV0FBaUQsRUZyQ3hDO0VBRkQ7SUV1Q1IsaUJBQWlELEVGckN4QztFQUZEO0lFdUNSLGlCQUFpRCxFRnJDeEM7RUFGRDtJRXVDUixZQUFpRCxFRnJDeEM7RUFGRDtJRW1DUixXQUFzRCxFRmpDN0M7RUFGRDtJRW1DUixlQUFnRCxFRmpDdkM7RUFGRDtJRW1DUixnQkFBZ0QsRUZqQ3ZDO0VBRkQ7SUVtQ1IsVUFBZ0QsRUZqQ3ZDO0VBRkQ7SUVtQ1IsZ0JBQWdELEVGakN2QztFQUZEO0lFbUNSLGdCQUFnRCxFRmpDdkM7RUFGRDtJRW1DUixVQUFnRCxFRmpDdkM7RUFGRDtJRW1DUixnQkFBZ0QsRUZqQ3ZDO0VBRkQ7SUVtQ1IsZ0JBQWdELEVGakN2QztFQUZEO0lFbUNSLFVBQWdELEVGakN2QztFQUZEO0lFbUNSLGdCQUFnRCxFRmpDdkM7RUFGRDtJRW1DUixnQkFBZ0QsRUZqQ3ZDO0VBRkQ7SUVtQ1IsV0FBZ0QsRUZqQ3ZDO0VBUUQ7SUVxQlIsZ0JBQXlDLEVGbkJoQztFQUZEO0lFcUJSLHNCQUF5QyxFRm5CaEM7RUFGRDtJRXFCUix1QkFBeUMsRUZuQmhDO0VBRkQ7SUVxQlIsaUJBQXlDLEVGbkJoQztFQUZEO0lFcUJSLHVCQUF5QyxFRm5CaEM7RUFGRDtJRXFCUix1QkFBeUMsRUZuQmhDO0VBRkQ7SUVxQlIsaUJBQXlDLEVGbkJoQztFQUZEO0lFcUJSLHVCQUF5QyxFRm5CaEM7RUFGRDtJRXFCUix1QkFBeUMsRUZuQmhDO0VBRkQ7SUVxQlIsaUJBQXlDLEVGbkJoQztFQUZEO0lFcUJSLHVCQUF5QyxFRm5CaEM7RUFGRDtJRXFCUix1QkFBeUMsRUZuQmhDLEVBQUE7O0FBbENQLDZDQUE2QztBR2lDN0M7RUg5QkU7SUFD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QUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLHFEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00sNENBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBMUR4QjtFQUNFLGFBQVksRUFDYjs7QUFRRCw2Q0FBNkM7QUFvQzNDLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtFQUxGO0lBT00scURBQXVELEVBQ3hELEVBQUE7O0FBR0wsc0JBQXNCO0FBWnRCLHVCQUF1QjtBQUN2QjtFQUVJLDhEQUFnRSxFQUNqRTs7QUFFRDtF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SDs7R0FFRztBQVdIOzs7OztHQUtHO0FxTDdDSDs7R0FFRztBckx5Qkg7O0dBRUc7QUFXSDs7Ozs7R0FLRztBcUxwQ0M7RUFDRSxhaExQRyxFZ0xRSjs7QUFGRDtFQUNFLGtCaExOUSxFZ0xPVDs7QUFGRDtFQUNFLG1CaExMUSxFZ0xNVDs7QUFGRDtFQUNFLG9CaExKUSxFZ0xLVDs7QUFGRDtFQUNFLGdCaExIRyxFZ0xJSjs7QUFGRDtFQUNFLG9CaExGTyxFZ0xHUjs7QUFGRDtFQUNFLG9CaExETyxFZ0xFUjs7QUFGRDtFQUNFLG9CaExBUSxFZ0xDVDs7QUFGRDtFQUNFLGtCaExDTyxFZ0xBUjs7QUNYTDs7R0FFRztBdEx5Qkg7O0dBRUc7QUFXSDs7Ozs7R0FLRztBdUw3Q0g7O0dBRUc7QUFFSDs7Ozs7Ozs7Ozs7RUFXRTtBdkxZRjs7R0FFRztBQVdIOzs7OztHQUtHO0F1THhCRCx5Q0FBeUM7QUFNbkM7RUFDRSxVakx6QkQsRWlMMEJBOztBQUVEO0VBQ0UsZWpMN0JEO0VpTDhCQyxnQmpMOUJELEVpTCtCQTs7QUFFRDtFQUNFLGlCakxsQ0Q7RWlMbUNDLGNqTG5DRCxFaUxvQ0E7O0FBRUQ7RUFDRSxjakx2Q0QsRWlMd0NBOztBQUVEO0VBQ0UsZ0JqTDNDRCxFaUw0Q0E7O0FBRUQ7RUFDRSxpQmpML0NELEVpTGdEQTs7QUFFRDtFQUNFLGVqTG5ERCxFaUxvREE7O0FBNUJEO0VBQ0UsZ0JqTHhCSyxFaUx5Qk47O0FBRUQ7RUFDRSxxQmpMNUJLO0VpTDZCTCxzQmpMN0JLLEVpTDhCTjs7QUFFRDtFQUNFLHVCakxqQ0s7RWlMa0NMLG9CakxsQ0ssRWlMbUNOOztBQUVEO0VBQ0Usb0JqTHRDSyxFaUx1Q047O0FBRUQ7RUFDRSxzQmpMMUNLLEVpTDJDTjs7QUFFRDtFQUNFLHVCakw5Q0ssRWlMK0NOOztBQUVEO0VBQ0UscUJqTGxESyxFaUxtRE47O0FBNUJEO0VBQ0UsZ0JqTHZCSSxFaUx3Qkw7O0FBRUQ7RUFDRSxxQmpMM0JJO0VpTDRCSixzQmpMNUJJLEVpTDZCTDs7QUFFRDtFQUNFLHVCakxoQ0k7RWlMaUNKLG9CakxqQ0ksRWlMa0NMOztBQUVEO0VBQ0Usb0JqTHJDSSxFaUxzQ0w7O0FBRUQ7RUFDRSxzQmpMekNJLEVpTDBDTDs7QUFFRDtFQUNFLHVCakw3Q0ksRWlMOENMOztBQUVEO0VBQ0UscUJqTGpESSxFaUxrREw7O0FBNUJEO0VBQ0UsZ0JqTHRCRyxFaUx1Qko7O0FBRUQ7RUFDRSxxQmpMMUJHO0VpTDJCSCxzQmpMM0JHLEVpTDRCSjs7QUFFRDtFQUNFLHVCakwvQkc7RWlMZ0NILG9CakxoQ0csRWlMaUNKOztBQUVEO0VBQ0Usb0JqTHBDRyxFaUxxQ0o7O0FBRUQ7RUFDRSxzQmpMeENHLEVpTHlDSjs7QUFFRDtFQUNFLHVCakw1Q0csRWlMNkNKOztBQUVEO0VBQ0UscUJqTGhERyxFaUxpREo7O0FBNUJEO0VBQ0UsYWpMckJELEVpTHNCQTs7QUFFRDtFQUNFLGtCakx6QkQ7RWlMMEJDLG1CakwxQkQsRWlMMkJBOztBQUVEO0VBQ0Usb0JqTDlCRDtFaUwrQkMsaUJqTC9CRCxFaUxnQ0E7O0FBRUQ7RUFDRSxpQmpMbkNELEVpTG9DQTs7QUFFRDtFQUNFLG1Cakx2Q0QsRWlMd0NBOztBQUVEO0VBQ0Usb0JqTDNDRCxFaUw0Q0E7O0FBRUQ7RUFDRSxrQmpML0NELEVpTGdEQTs7QUE1QkQ7RUFDRSxnQmpMcEJFLEVpTHFCSDs7QUFFRDtFQUNFLHFCakx4QkU7RWlMeUJGLHNCakx6QkUsRWlMMEJIOztBQUVEO0VBQ0UsdUJqTDdCRTtFaUw4QkYsb0JqTDlCRSxFaUwrQkg7O0FBRUQ7RUFDRSxvQmpMbENFLEVpTG1DSDs7QUFFRDtFQUNFLHNCakx0Q0UsRWlMdUNIOztBQUVEO0VBQ0UsdUJqTDFDRSxFaUwyQ0g7O0FBRUQ7RUFDRSxxQmpMOUNFLEVpTCtDSDs7QUE1QkQ7RUFDRSxnQmpMbkJFLEVpTG9CSDs7QUFFRDtFQUNFLHFCakx2QkU7RWlMd0JGLHNCakx4QkUsRWlMeUJIOztBQUVEO0VBQ0UsdUJqTDVCRTtFaUw2QkYsb0JqTDdCRSxFaUw4Qkg7O0FBRUQ7RUFDRSxvQmpMakNFLEVpTGtDSDs7QUFFRDtFQUNFLHNCakxyQ0UsRWlMc0NIOztBQUVEO0VBQ0UsdUJqTHpDRSxFaUwwQ0g7O0FBRUQ7RUFDRSxxQmpMN0NFLEVpTDhDSDs7QUE1QkQ7RUFDRSxnQmpMbEJHLEVpTG1CSjs7QUFFRDtFQUNFLHFCakx0Qkc7RWlMdUJILHNCakx2QkcsRWlMd0JKOztBQUVEO0VBQ0UsdUJqTDNCRztFaUw0Qkgsb0JqTDVCRyxFaUw2Qko7O0FBRUQ7RUFDRSxvQmpMaENHLEVpTGlDSjs7QUFFRDtFQUNFLHNCakxwQ0csRWlMcUNKOztBQUVEO0VBQ0UsdUJqTHhDRyxFaUx5Q0o7O0FBRUQ7RUFDRSxxQmpMNUNHLEVpTDZDSjs7QUE1QkQ7RUFDRSxnQmpMakJJLEVpTGtCTDs7QUFFRDtFQUNFLHFCakxyQkk7RWlMc0JKLHNCakx0QkksRWlMdUJMOztBQUVEO0VBQ0UsdUJqTDFCSTtFaUwyQkosb0JqTDNCSSxFaUw0Qkw7O0FBRUQ7RUFDRSxvQmpML0JJLEVpTGdDTDs7QUFFRDtFQUNFLHNCakxuQ0ksRWlMb0NMOztBQUVEO0VBQ0UsdUJqTHZDSSxFaUx3Q0w7O0FBRUQ7RUFDRSxxQmpMM0NJLEVpTDRDTDs7QUFHSDs7Ozs7Ozs7OztRQVVFO0FBRUY7RUFDRSxhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxrQkFBaUI7RUFDakIsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0Usa0JBQWlCLEVBQ2xCOztBekpqQkg7RXlKekNJO0lBQ0UsVWpMekJELEVpTDBCQTtFQUVEO0lBQ0UsZWpMN0JEO0lpTDhCQyxnQmpMOUJELEVpTCtCQTtFQUVEO0lBQ0UsaUJqTGxDRDtJaUxtQ0MsY2pMbkNELEVpTG9DQTtFQUVEO0lBQ0UsY2pMdkNELEVpTHdDQTtFQUVEO0lBQ0UsZ0JqTDNDRCxFaUw0Q0E7RUFFRDtJQUNFLGlCakwvQ0QsRWlMZ0RBO0VBRUQ7SUFDRSxlakxuREQsRWlMb0RBO0VBNUJEO0lBQ0UsZ0JqTHhCSyxFaUx5Qk47RUFFRDtJQUNFLHFCakw1Qks7SWlMNkJMLHNCakw3QkssRWlMOEJOO0VBRUQ7SUFDRSx1QmpMakNLO0lpTGtDTCxvQmpMbENLLEVpTG1DTjtFQUVEO0lBQ0Usb0JqTHRDSyxFaUx1Q047RUFFRDtJQUNFLHNCakwxQ0ssRWlMMkNOO0VBRUQ7SUFDRSx1QmpMOUNLLEVpTCtDTjtFQUVEO0lBQ0UscUJqTGxESyxFaUxtRE47RUE1QkQ7SUFDRSxnQmpMdkJJLEVpTHdCTDtFQUVEO0lBQ0UscUJqTDNCSTtJaUw0Qkosc0JqTDVCSSxFaUw2Qkw7RUFFRDtJQUNFLHVCakxoQ0k7SWlMaUNKLG9CakxqQ0ksRWlMa0NMO0VBRUQ7SUFDRSxvQmpMckNJLEVpTHNDTDtFQUVEO0lBQ0Usc0JqTHpDSSxFaUwwQ0w7RUFFRDtJQUNFLHVCakw3Q0ksRWlMOENMO0VBRUQ7SUFDRSxxQmpMakRJLEVpTGtETDtFQTVCRDtJQUNFLGdCakx0QkcsRWlMdUJKO0VBRUQ7SUFDRSxxQmpMMUJHO0lpTDJCSCxzQmpMM0JHLEVpTDRCSjtFQUVEO0lBQ0UsdUJqTC9CRztJaUxnQ0gsb0JqTGhDRyxFaUxpQ0o7RUFFRDtJQUNFLG9CakxwQ0csRWlMcUNKO0VBRUQ7SUFDRSxzQmpMeENHLEVpTHlDSjtFQUVEO0lBQ0UsdUJqTDVDRyxFaUw2Q0o7RUFFRDtJQUNFLHFCakxoREcsRWlMaURKO0VBNUJEO0lBQ0UsYWpMckJELEVpTHNCQTtFQUVEO0lBQ0Usa0JqTHpCRDtJaUwwQkMsbUJqTDFCRCxFaUwyQkE7RUFFRDtJQUNFLG9Cakw5QkQ7SWlMK0JDLGlCakwvQkQsRWlMZ0NBO0VBRUQ7SUFDRSxpQmpMbkNELEVpTG9DQTtFQUVEO0lBQ0UsbUJqTHZDRCxFaUx3Q0E7RUFFRDtJQUNFLG9CakwzQ0QsRWlMNENBO0VBRUQ7SUFDRSxrQmpML0NELEVpTGdEQTtFQTVCRDtJQUNFLGdCakxwQkUsRWlMcUJIO0VBRUQ7SUFDRSxxQmpMeEJFO0lpTHlCRixzQmpMekJFLEVpTDBCSDtFQUVEO0lBQ0UsdUJqTDdCRTtJaUw4QkYsb0JqTDlCRSxFaUwrQkg7RUFFRDtJQUNFLG9CakxsQ0UsRWlMbUNIO0VBRUQ7SUFDRSxzQmpMdENFLEVpTHVDSDtFQUVEO0lBQ0UsdUJqTDFDRSxFaUwyQ0g7RUFFRDtJQUNFLHFCakw5Q0UsRWlMK0NIO0VBNUJEO0lBQ0UsZ0JqTG5CRSxFaUxvQkg7RUFFRDtJQUNFLHFCakx2QkU7SWlMd0JGLHNCakx4QkUsRWlMeUJIO0VBRUQ7SUFDRSx1QmpMNUJFO0lpTDZCRixvQmpMN0JFLEVpTDhCSDtFQUVEO0lBQ0Usb0JqTGpDRSxFaUxrQ0g7RUFFRDtJQUNFLHNCakxyQ0UsRWlMc0NIO0VBRUQ7SUFDRSx1QmpMekNFLEVpTDBDSDtFQUVEO0lBQ0UscUJqTDdDRSxFaUw4Q0g7RUE1QkQ7SUFDRSxnQmpMbEJHLEVpTG1CSjtFQUVEO0lBQ0UscUJqTHRCRztJaUx1Qkgsc0JqTHZCRyxFaUx3Qko7RUFFRDtJQUNFLHVCakwzQkc7SWlMNEJILG9Cakw1QkcsRWlMNkJKO0VBRUQ7SUFDRSxvQmpMaENHLEVpTGlDSjtFQUVEO0lBQ0Usc0JqTHBDRyxFaUxxQ0o7RUFFRDtJQUNFLHVCakx4Q0csRWlMeUNKO0VBRUQ7SUFDRSxxQmpMNUNHLEVpTDZDSjtFQTVCRDtJQUNFLGdCakxqQkksRWlMa0JMO0VBRUQ7SUFDRSxxQmpMckJJO0lpTHNCSixzQmpMdEJJLEVpTHVCTDtFQUVEO0lBQ0UsdUJqTDFCSTtJaUwyQkosb0JqTDNCSSxFaUw0Qkw7RUFFRDtJQUNFLG9CakwvQkksRWlMZ0NMO0VBRUQ7SUFDRSxzQmpMbkNJLEVpTG9DTDtFQUVEO0lBQ0UsdUJqTHZDSSxFaUx3Q0w7RUFFRDtJQUNFLHFCakwzQ0ksRWlMNENMO0VBR0g7Ozs7Ozs7Ozs7UUFVRTtFQUVGO0lBQ0UsYUFBWSxFQUNiO0VBRUQ7SUFDRSxrQkFBaUI7SUFDakIsbUJBQWtCLEVBQ25CO0VBRUQ7SUFDRSxtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLGtCQUFpQixFQUNsQixFQUFBOztBekpqQkg7RXlKekNJO0lBQ0UsVWpMekJELEVpTDBCQTtFQUVEO0lBQ0UsZWpMN0JEO0lpTDhCQyxnQmpMOUJELEVpTCtCQTtFQUVEO0lBQ0UsaUJqTGxDRDtJaUxtQ0MsY2pMbkNELEVpTG9DQTtFQUVEO0lBQ0UsY2pMdkNELEVpTHdDQTtFQUVEO0lBQ0UsZ0JqTDNDRCxFaUw0Q0E7RUFFRDtJQUNFLGlCakwvQ0QsRWlMZ0RBO0VBRUQ7SUFDRSxlakxuREQsRWlMb0RBO0VBNUJEO0lBQ0UsZ0JqTHhCSyxFaUx5Qk47RUFFRDtJQUNFLHFCakw1Qks7SWlMNkJMLHNCakw3QkssRWlMOEJOO0VBRUQ7SUFDRSx1QmpMakNLO0lpTGtDTCxvQmpMbENLLEVpTG1DTjtFQUVEO0lBQ0Usb0JqTHRDSyxFaUx1Q047RUFFRDtJQUNFLHNCakwxQ0ssRWlMMkNOO0VBRUQ7SUFDRSx1QmpMOUNLLEVpTCtDTjtFQUVEO0lBQ0UscUJqTGxESyxFaUxtRE47RUE1QkQ7SUFDRSxnQmpMdkJJLEVpTHdCTDtFQUVEO0lBQ0UscUJqTDNCSTtJaUw0Qkosc0JqTDVCSSxFaUw2Qkw7RUFFRDtJQUNFLHVCakxoQ0k7SWlMaUNKLG9CakxqQ0ksRWlMa0NMO0VBRUQ7SUFDRSxvQmpMckNJLEVpTHNDTDtFQUVEO0lBQ0Usc0JqTHpDSSxFaUwwQ0w7RUFFRDtJQUNFLHVCakw3Q0ksRWlMOENMO0VBRUQ7SUFDRSxxQmpMakRJLEVpTGtETDtFQTVCRDtJQUNFLGdCakx0QkcsRWlMdUJKO0VBRUQ7SUFDRSxxQmpMMUJHO0lpTDJCSCxzQmpMM0JHLEVpTDRCSjtFQUVEO0lBQ0UsdUJqTC9CRztJaUxnQ0gsb0JqTGhDRyxFaUxpQ0o7RUFFRDtJQUNFLG9CakxwQ0csRWlMcUNKO0VBRUQ7SUFDRSxzQmpMeENHLEVpTHlDSjtFQUVEO0lBQ0UsdUJqTDVDRyxFaUw2Q0o7RUFFRDtJQUNFLHFCakxoREcsRWlMaURKO0VBNUJEO0lBQ0UsYWpMckJELEVpTHNCQTtFQUVEO0lBQ0Usa0JqTHpCRDtJaUwwQkMsbUJqTDFCRCxFaUwyQkE7RUFFRDtJQUNFLG9Cakw5QkQ7SWlMK0JDLGlCakwvQkQsRWlMZ0NBO0VBRUQ7SUFDRSxpQmpMbkNELEVpTG9DQTtFQUVEO0lBQ0UsbUJqTHZDRCxFaUx3Q0E7RUFFRDtJQUNFLG9CakwzQ0QsRWlMNENBO0VBRUQ7SUFDRSxrQmpML0NELEVpTGdEQTtFQTVCRDtJQUNFLGdCakxwQkUsRWlMcUJIO0VBRUQ7SUFDRSxxQmpMeEJFO0lpTHlCRixzQmpMekJFLEVpTDBCSDtFQUVEO0lBQ0UsdUJqTDdCRTtJaUw4QkYsb0JqTDlCRSxFaUwrQkg7RUFFRDtJQUNFLG9CakxsQ0UsRWlMbUNIO0VBRUQ7SUFDRSxzQmpMdENFLEVpTHVDSDtFQUVEO0lBQ0UsdUJqTDFDRSxFaUwyQ0g7RUFFRDtJQUNFLHFCakw5Q0UsRWlMK0NIO0VBNUJEO0lBQ0UsZ0JqTG5CRSxFaUxvQkg7RUFFRDtJQUNFLHFCakx2QkU7SWlMd0JGLHNCakx4QkUsRWlMeUJIO0VBRUQ7SUFDRSx1QmpMNUJFO0lpTDZCRixvQmpMN0JFLEVpTDhCSDtFQUVEO0lBQ0Usb0JqTGpDRSxFaUxrQ0g7RUFFRDtJQUNFLHNCakxyQ0UsRWlMc0NIO0VBRUQ7SUFDRSx1QmpMekNFLEVpTDBDSDtFQUVEO0lBQ0UscUJqTDdDRSxFaUw4Q0g7RUE1QkQ7SUFDRSxnQmpMbEJHLEVpTG1CSjtFQUVEO0lBQ0UscUJqTHRCRztJaUx1Qkgsc0JqTHZCRyxFaUx3Qko7RUFFRDtJQUNFLHVCakwzQkc7SWlMNEJILG9Cakw1QkcsRWlMNkJKO0VBRUQ7SUFDRSxvQmpMaENHLEVpTGlDSjtFQUVEO0lBQ0Usc0JqTHBDRyxFaUxxQ0o7RUFFRDtJQUNFLHVCakx4Q0csRWlMeUNKO0VBRUQ7SUFDRSxxQmpMNUNHLEVpTDZDSjtFQTVCRDtJQUNFLGdCakxqQkksRWlMa0JMO0VBRUQ7SUFDRSxxQmpMckJJO0lpTHNCSixzQmpMdEJJLEVpTHVCTDtFQUVEO0lBQ0UsdUJqTDFCSTtJaUwyQkosb0JqTDNCSSxFaUw0Qkw7RUFFRDtJQUNFLG9CakwvQkksRWlMZ0NMO0VBRUQ7SUFDRSxzQmpMbkNJLEVpTG9DTDtFQUVEO0lBQ0UsdUJqTHZDSSxFaUx3Q0w7RUFFRDtJQUNFLHFCakwzQ0ksRWlMNENMO0VBR0g7Ozs7Ozs7Ozs7UUFVRTtFQUVGO0lBQ0UsYUFBWSxFQUNiO0VBRUQ7SUFDRSxrQkFBaUI7SUFDakIsbUJBQWtCLEVBQ25CO0VBRUQ7SUFDRSxtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLGtCQUFpQixFQUNsQixFQUFBOztBekpqQkg7RXlKekNJO0lBQ0UsVWpMekJELEVpTDBCQTtFQUVEO0lBQ0UsZWpMN0JEO0lpTDhCQyxnQmpMOUJELEVpTCtCQTtFQUVEO0lBQ0UsaUJqTGxDRDtJaUxtQ0MsY2pMbkNELEVpTG9DQTtFQUVEO0lBQ0UsY2pMdkNELEVpTHdDQTtFQUVEO0lBQ0UsZ0JqTDNDRCxFaUw0Q0E7RUFFRDtJQUNFLGlCakwvQ0QsRWlMZ0RBO0VBRUQ7SUFDRSxlakxuREQsRWlMb0RBO0VBNUJEO0lBQ0UsZ0JqTHhCSyxFaUx5Qk47RUFFRDtJQUNFLHFCakw1Qks7SWlMNkJMLHNCakw3QkssRWlMOEJOO0VBRUQ7SUFDRSx1QmpMakNLO0lpTGtDTCxvQmpMbENLLEVpTG1DTjtFQUVEO0lBQ0Usb0JqTHRDSyxFaUx1Q047RUFFRDtJQUNFLHNCakwxQ0ssRWlMMkNOO0VBRUQ7SUFDRSx1QmpMOUNLLEVpTCtDTjtFQUVEO0lBQ0UscUJqTGxESyxFaUxtRE47RUE1QkQ7SUFDRSxnQmpMdkJJLEVpTHdCTDtFQUVEO0lBQ0UscUJqTDNCSTtJaUw0Qkosc0JqTDVCSSxFaUw2Qkw7RUFFRDtJQUNFLHVCakxoQ0k7SWlMaUNKLG9CakxqQ0ksRWlMa0NMO0VBRUQ7SUFDRSxvQmpMckNJLEVpTHNDTDtFQUVEO0lBQ0Usc0JqTHpDSSxFaUwwQ0w7RUFFRDtJQUNFLHVCakw3Q0ksRWlMOENMO0VBRUQ7SUFDRSxxQmpMakRJLEVpTGtETDtFQTVCRDtJQUNFLGdCakx0QkcsRWlMdUJKO0VBRUQ7SUFDRSxxQmpMMUJHO0lpTDJCSCxzQmpMM0JHLEVpTDRCSjtFQUVEO0lBQ0UsdUJqTC9CRztJaUxnQ0gsb0JqTGhDRyxFaUxpQ0o7RUFFRDtJQUNFLG9CakxwQ0csRWlMcUNKO0VBRUQ7SUFDRSxzQmpMeENHLEVpTHlDSjtFQUVEO0lBQ0UsdUJqTDVDRyxFaUw2Q0o7RUFFRDtJQUNFLHFCakxoREcsRWlMaURKO0VBNUJEO0lBQ0UsYWpMckJELEVpTHNCQTtFQUVEO0lBQ0Usa0JqTHpCRDtJaUwwQkMsbUJqTDFCRCxFaUwyQkE7RUFFRDtJQUNFLG9Cakw5QkQ7SWlMK0JDLGlCakwvQkQsRWlMZ0NBO0VBRUQ7SUFDRSxpQmpMbkNELEVpTG9DQTtFQUVEO0lBQ0UsbUJqTHZDRCxFaUx3Q0E7RUFFRDtJQUNFLG9CakwzQ0QsRWlMNENBO0VBRUQ7SUFDRSxrQmpML0NELEVpTGdEQTtFQTVCRDtJQUNFLGdCakxwQkUsRWlMcUJIO0VBRUQ7SUFDRSxxQmpMeEJFO0lpTHlCRixzQmpMekJFLEVpTDBCSDtFQUVEO0lBQ0UsdUJqTDdCRTtJaUw4QkYsb0JqTDlCRSxFaUwrQkg7RUFFRDtJQUNFLG9CakxsQ0UsRWlMbUNIO0VBRUQ7SUFDRSxzQmpMdENFLEVpTHVDSDtFQUVEO0lBQ0UsdUJqTDFDRSxFaUwyQ0g7RUFFRDtJQUNFLHFCakw5Q0UsRWlMK0NIO0VBNUJEO0lBQ0UsZ0JqTG5CRSxFaUxvQkg7RUFFRDtJQUNFLHFCakx2QkU7SWlMd0JGLHNCakx4QkUsRWlMeUJIO0VBRUQ7SUFDRSx1QmpMNUJFO0lpTDZCRixvQmpMN0JFLEVpTDhCSDtFQUVEO0lBQ0Usb0JqTGpDRSxFaUxrQ0g7RUFFRDtJQUNFLHNCakxyQ0UsRWlMc0NIO0VBRUQ7SUFDRSx1QmpMekNFLEVpTDBDSDtFQUVEO0lBQ0UscUJqTDdDRSxFaUw4Q0g7RUE1QkQ7SUFDRSxnQmpMbEJHLEVpTG1CSjtFQUVEO0lBQ0UscUJqTHRCRztJaUx1Qkgsc0JqTHZCRyxFaUx3Qko7RUFFRDtJQUNFLHVCakwzQkc7SWlMNEJILG9Cakw1QkcsRWlMNkJKO0VBRUQ7SUFDRSxvQmpMaENHLEVpTGlDSjtFQUVEO0lBQ0Usc0JqTHBDRyxFaUxxQ0o7RUFFRDtJQUNFLHVCakx4Q0csRWlMeUNKO0VBRUQ7SUFDRSxxQmpMNUNHLEVpTDZDSjtFQTVCRDtJQUNFLGdCakxqQkksRWlMa0JMO0VBRUQ7SUFDRSxxQmpMckJJO0lpTHNCSixzQmpMdEJJLEVpTHVCTDtFQUVEO0lBQ0UsdUJqTDFCSTtJaUwyQkosb0JqTDNCSSxFaUw0Qkw7RUFFRDtJQUNFLG9CakwvQkksRWlMZ0NMO0VBRUQ7SUFDRSxzQmpMbkNJLEVpTG9DTDtFQUVEO0lBQ0UsdUJqTHZDSSxFaUx3Q0w7RUFFRDtJQUNFLHFCakwzQ0ksRWlMNENMO0VBR0g7Ozs7Ozs7Ozs7UUFVRTtFQUVGO0lBQ0UsYUFBWSxFQUNiO0VBRUQ7SUFDRSxrQkFBaUI7SUFDakIsbUJBQWtCLEVBQ25CO0VBRUQ7SUFDRSxtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLGtCQUFpQixFQUNsQixFQUFBOztBekpqQkg7RXlKekNJO0lBQ0UsVWpMekJELEVpTDBCQTtFQUVEO0lBQ0UsZWpMN0JEO0lpTDhCQyxnQmpMOUJELEVpTCtCQTtFQUVEO0lBQ0UsaUJqTGxDRDtJaUxtQ0MsY2pMbkNELEVpTG9DQTtFQUVEO0lBQ0UsY2pMdkNELEVpTHdDQTtFQUVEO0lBQ0UsZ0JqTDNDRCxFaUw0Q0E7RUFFRDtJQUNFLGlCakwvQ0QsRWlMZ0RBO0VBRUQ7SUFDRSxlakxuREQsRWlMb0RBO0VBNUJEO0lBQ0UsZ0JqTHhCSyxFaUx5Qk47RUFFRDtJQUNFLHFCakw1Qks7SWlMNkJMLHNCakw3QkssRWlMOEJOO0VBRUQ7SUFDRSx1QmpMakNLO0lpTGtDTCxvQmpMbENLLEVpTG1DTjtFQUVEO0lBQ0Usb0JqTHRDSyxFaUx1Q047RUFFRDtJQUNFLHNCakwxQ0ssRWlMMkNOO0VBRUQ7SUFDRSx1QmpMOUNLLEVpTCtDTjtFQUVEO0lBQ0UscUJqTGxESyxFaUxtRE47RUE1QkQ7SUFDRSxnQmpMdkJJLEVpTHdCTDtFQUVEO0lBQ0UscUJqTDNCSTtJaUw0Qkosc0JqTDVCSSxFaUw2Qkw7RUFFRDtJQUNFLHVCakxoQ0k7SWlMaUNKLG9CakxqQ0ksRWlMa0NMO0VBRUQ7SUFDRSxvQmpMckNJLEVpTHNDTDtFQUVEO0lBQ0Usc0JqTHpDSSxFaUwwQ0w7RUFFRDtJQUNFLHVCakw3Q0ksRWlMOENMO0VBRUQ7SUFDRSxxQmpMakRJLEVpTGtETDtFQTVCRDtJQUNFLGdCakx0QkcsRWlMdUJKO0VBRUQ7SUFDRSxxQmpMMUJHO0lpTDJCSCxzQmpMM0JHLEVpTDRCSjtFQUVEO0lBQ0UsdUJqTC9CRztJaUxnQ0gsb0JqTGhDRyxFaUxpQ0o7RUFFRDtJQUNFLG9CakxwQ0csRWlMcUNKO0VBRUQ7SUFDRSxzQmpMeENHLEVpTHlDSjtFQUVEO0lBQ0UsdUJqTDVDRyxFaUw2Q0o7RUFFRDtJQUNFLHFCakxoREcsRWlMaURKO0VBNUJEO0lBQ0UsYWpMckJELEVpTHNCQTtFQUVEO0lBQ0Usa0JqTHpCRDtJaUwwQkMsbUJqTDFCRCxFaUwyQkE7RUFFRDtJQUNFLG9Cakw5QkQ7SWlMK0JDLGlCakwvQkQsRWlMZ0NBO0VBRUQ7SUFDRSxpQmpMbkNELEVpTG9DQTtFQUVEO0lBQ0UsbUJqTHZDRCxFaUx3Q0E7RUFFRDtJQUNFLG9CakwzQ0QsRWlMNENBO0VBRUQ7SUFDRSxrQmpML0NELEVpTGdEQTtFQTVCRDtJQUNFLGdCakxwQkUsRWlMcUJIO0VBRUQ7SUFDRSxxQmpMeEJFO0lpTHlCRixzQmpMekJFLEVpTDBCSDtFQUVEO0lBQ0UsdUJqTDdCRTtJaUw4QkYsb0JqTDlCRSxFaUwrQkg7RUFFRDtJQUNFLG9CakxsQ0UsRWlMbUNIO0VBRUQ7SUFDRSxzQmpMdENFLEVpTHVDSDtFQUVEO0lBQ0UsdUJqTDFDRSxFaUwyQ0g7RUFFRDtJQUNFLHFCakw5Q0UsRWlMK0NIO0VBNUJEO0lBQ0UsZ0JqTG5CRSxFaUxvQkg7RUFFRDtJQUNFLHFCakx2QkU7SWlMd0JGLHNCakx4QkUsRWlMeUJIO0VBRUQ7SUFDRSx1QmpMNUJFO0lpTDZCRixvQmpMN0JFLEVpTDhCSDtFQUVEO0lBQ0Usb0JqTGpDRSxFaUxrQ0g7RUFFRDtJQUNFLHNCakxyQ0UsRWlMc0NIO0VBRUQ7SUFDRSx1QmpMekNFLEVpTDBDSDtFQUVEO0lBQ0UscUJqTDdDRSxFaUw4Q0g7RUE1QkQ7SUFDRSxnQmpMbEJHLEVpTG1CSjtFQUVEO0lBQ0UscUJqTHRCRztJaUx1Qkgsc0JqTHZCRyxFaUx3Qko7RUFFRDtJQUNFLHVCakwzQkc7SWlMNEJILG9Cakw1QkcsRWlMNkJKO0VBRUQ7SUFDRSxvQmpMaENHLEVpTGlDSjtFQUVEO0lBQ0Usc0JqTHBDRyxFaUxxQ0o7RUFFRDtJQUNFLHVCakx4Q0csRWlMeUNKO0VBRUQ7SUFDRSxxQmpMNUNHLEVpTDZDSjtFQTVCRDtJQUNFLGdCakxqQkksRWlMa0JMO0VBRUQ7SUFDRSxxQmpMckJJO0lpTHNCSixzQmpMdEJJLEVpTHVCTDtFQUVEO0lBQ0UsdUJqTDFCSTtJaUwyQkosb0JqTDNCSSxFaUw0Qkw7RUFFRDtJQUNFLG9CakwvQkksRWlMZ0NMO0VBRUQ7SUFDRSxzQmpMbkNJLEVpTG9DTDtFQUVEO0lBQ0UsdUJqTHZDSSxFaUx3Q0w7RUFFRDtJQUNFLHFCakwzQ0ksRWlMNENMO0VBR0g7Ozs7Ozs7Ozs7UUFVRTtFQUVGO0lBQ0UsYUFBWSxFQUNiO0VBRUQ7SUFDRSxrQkFBaUI7SUFDakIsbUJBQWtCLEVBQ25CO0VBRUQ7SUFDRSxtQkFBa0IsRUFDbkI7RUFFRDtJQUNFLGtCQUFpQixFQUNsQixFQUFBOztBQ3JGUDs7R0FFRztBeEx5Qkg7O0dBRUc7QUFXSDs7Ozs7R0FLRztBeUw3Q0g7O0dBRUc7QUFFSDs7Ozs7Ozs7Ozs7RUFXRTtBekxZRjs7R0FFRztBQVdIOzs7OztHQUtHO0F5THhCRCx5Q0FBeUM7QUFNbkM7RUFDRSxXbkx6QkQsRW1MMEJBOztBQUVEO0VBQ0UsZ0JuTDdCRDtFbUw4QkMsaUJuTDlCRCxFbUwrQkE7O0FBRUQ7RUFDRSxrQm5MbENEO0VtTG1DQyxlbkxuQ0QsRW1Mb0NBOztBQUVEO0VBQ0UsZW5MdkNELEVtTHdDQTs7QUFFRDtFQUNFLGlCbkwzQ0QsRW1MNENBOztBQUVEO0VBQ0Usa0JuTC9DRCxFbUxnREE7O0FBRUQ7RUFDRSxnQm5MbkRELEVtTG9EQTs7QUE1QkQ7RUFDRSxpQm5MeEJLLEVtTHlCTjs7QUFFRDtFQUNFLHNCbkw1Qks7RW1MNkJMLHVCbkw3QkssRW1MOEJOOztBQUVEO0VBQ0Usd0JuTGpDSztFbUxrQ0wscUJuTGxDSyxFbUxtQ047O0FBRUQ7RUFDRSxxQm5MdENLLEVtTHVDTjs7QUFFRDtFQUNFLHVCbkwxQ0ssRW1MMkNOOztBQUVEO0VBQ0Usd0JuTDlDSyxFbUwrQ047O0FBRUQ7RUFDRSxzQm5MbERLLEVtTG1ETjs7QUE1QkQ7RUFDRSxpQm5MdkJJLEVtTHdCTDs7QUFFRDtFQUNFLHNCbkwzQkk7RW1MNEJKLHVCbkw1QkksRW1MNkJMOztBQUVEO0VBQ0Usd0JuTGhDSTtFbUxpQ0oscUJuTGpDSSxFbUxrQ0w7O0FBRUQ7RUFDRSxxQm5MckNJLEVtTHNDTDs7QUFFRDtFQUNFLHVCbkx6Q0ksRW1MMENMOztBQUVEO0VBQ0Usd0JuTDdDSSxFbUw4Q0w7O0FBRUQ7RUFDRSxzQm5MakRJLEVtTGtETDs7QUE1QkQ7RUFDRSxpQm5MdEJHLEVtTHVCSjs7QUFFRDtFQUNFLHNCbkwxQkc7RW1MMkJILHVCbkwzQkcsRW1MNEJKOztBQUVEO0VBQ0Usd0JuTC9CRztFbUxnQ0gscUJuTGhDRyxFbUxpQ0o7O0FBRUQ7RUFDRSxxQm5McENHLEVtTHFDSjs7QUFFRDtFQUNFLHVCbkx4Q0csRW1MeUNKOztBQUVEO0VBQ0Usd0JuTDVDRyxFbUw2Q0o7O0FBRUQ7RUFDRSxzQm5MaERHLEVtTGlESjs7QUE1QkQ7RUFDRSxjbkxyQkQsRW1Mc0JBOztBQUVEO0VBQ0UsbUJuTHpCRDtFbUwwQkMsb0JuTDFCRCxFbUwyQkE7O0FBRUQ7RUFDRSxxQm5MOUJEO0VtTCtCQyxrQm5ML0JELEVtTGdDQTs7QUFFRDtFQUNFLGtCbkxuQ0QsRW1Mb0NBOztBQUVEO0VBQ0Usb0JuTHZDRCxFbUx3Q0E7O0FBRUQ7RUFDRSxxQm5MM0NELEVtTDRDQTs7QUFFRDtFQUNFLG1CbkwvQ0QsRW1MZ0RBOztBQTVCRDtFQUNFLGlCbkxwQkUsRW1McUJIOztBQUVEO0VBQ0Usc0JuTHhCRTtFbUx5QkYsdUJuTHpCRSxFbUwwQkg7O0FBRUQ7RUFDRSx3Qm5MN0JFO0VtTDhCRixxQm5MOUJFLEVtTCtCSDs7QUFFRDtFQUNFLHFCbkxsQ0UsRW1MbUNIOztBQUVEO0VBQ0UsdUJuTHRDRSxFbUx1Q0g7O0FBRUQ7RUFDRSx3Qm5MMUNFLEVtTDJDSDs7QUFFRDtFQUNFLHNCbkw5Q0UsRW1MK0NIOztBQTVCRDtFQUNFLGlCbkxuQkUsRW1Mb0JIOztBQUVEO0VBQ0Usc0JuTHZCRTtFbUx3QkYsdUJuTHhCRSxFbUx5Qkg7O0FBRUQ7RUFDRSx3Qm5MNUJFO0VtTDZCRixxQm5MN0JFLEVtTDhCSDs7QUFFRDtFQUNFLHFCbkxqQ0UsRW1Ma0NIOztBQUVEO0VBQ0UsdUJuTHJDRSxFbUxzQ0g7O0FBRUQ7RUFDRSx3Qm5MekNFLEVtTDBDSDs7QUFFRDtFQUNFLHNCbkw3Q0UsRW1MOENIOztBQTVCRDtFQUNFLGlCbkxsQkcsRW1MbUJKOztBQUVEO0VBQ0Usc0JuTHRCRztFbUx1QkgsdUJuTHZCRyxFbUx3Qko7O0FBRUQ7RUFDRSx3Qm5MM0JHO0VtTDRCSCxxQm5MNUJHLEVtTDZCSjs7QUFFRDtFQUNFLHFCbkxoQ0csRW1MaUNKOztBQUVEO0VBQ0UsdUJuTHBDRyxFbUxxQ0o7O0FBRUQ7RUFDRSx3Qm5MeENHLEVtTHlDSjs7QUFFRDtFQUNFLHNCbkw1Q0csRW1MNkNKOztBQTVCRDtFQUNFLGlCbkxqQkksRW1Ma0JMOztBQUVEO0VBQ0Usc0JuTHJCSTtFbUxzQkosdUJuTHRCSSxFbUx1Qkw7O0FBRUQ7RUFDRSx3Qm5MMUJJO0VtTDJCSixxQm5MM0JJLEVtTDRCTDs7QUFFRDtFQUNFLHFCbkwvQkksRW1MZ0NMOztBQUVEO0VBQ0UsdUJuTG5DSSxFbUxvQ0w7O0FBRUQ7RUFDRSx3Qm5MdkNJLEVtTHdDTDs7QUFFRDtFQUNFLHNCbkwzQ0ksRW1MNENMOztBM0phTDtFMkp6Q0k7SUFDRSxXbkx6QkQsRW1MMEJBO0VBRUQ7SUFDRSxnQm5MN0JEO0ltTDhCQyxpQm5MOUJELEVtTCtCQTtFQUVEO0lBQ0Usa0JuTGxDRDtJbUxtQ0MsZW5MbkNELEVtTG9DQTtFQUVEO0lBQ0UsZW5MdkNELEVtTHdDQTtFQUVEO0lBQ0UsaUJuTDNDRCxFbUw0Q0E7RUFFRDtJQUNFLGtCbkwvQ0QsRW1MZ0RBO0VBRUQ7SUFDRSxnQm5MbkRELEVtTG9EQTtFQTVCRDtJQUNFLGlCbkx4QkssRW1MeUJOO0VBRUQ7SUFDRSxzQm5MNUJLO0ltTDZCTCx1Qm5MN0JLLEVtTDhCTjtFQUVEO0lBQ0Usd0JuTGpDSztJbUxrQ0wscUJuTGxDSyxFbUxtQ047RUFFRDtJQUNFLHFCbkx0Q0ssRW1MdUNOO0VBRUQ7SUFDRSx1Qm5MMUNLLEVtTDJDTjtFQUVEO0lBQ0Usd0JuTDlDSyxFbUwrQ047RUFFRDtJQUNFLHNCbkxsREssRW1MbUROO0VBNUJEO0lBQ0UsaUJuTHZCSSxFbUx3Qkw7RUFFRDtJQUNFLHNCbkwzQkk7SW1MNEJKLHVCbkw1QkksRW1MNkJMO0VBRUQ7SUFDRSx3Qm5MaENJO0ltTGlDSixxQm5MakNJLEVtTGtDTDtFQUVEO0lBQ0UscUJuTHJDSSxFbUxzQ0w7RUFFRDtJQUNFLHVCbkx6Q0ksRW1MMENMO0VBRUQ7SUFDRSx3Qm5MN0NJLEVtTDhDTDtFQUVEO0lBQ0Usc0JuTGpESSxFbUxrREw7RUE1QkQ7SUFDRSxpQm5MdEJHLEVtTHVCSjtFQUVEO0lBQ0Usc0JuTDFCRztJbUwyQkgsdUJuTDNCRyxFbUw0Qko7RUFFRDtJQUNFLHdCbkwvQkc7SW1MZ0NILHFCbkxoQ0csRW1MaUNKO0VBRUQ7SUFDRSxxQm5McENHLEVtTHFDSjtFQUVEO0lBQ0UsdUJuTHhDRyxFbUx5Q0o7RUFFRDtJQUNFLHdCbkw1Q0csRW1MNkNKO0VBRUQ7SUFDRSxzQm5MaERHLEVtTGlESjtFQTVCRDtJQUNFLGNuTHJCRCxFbUxzQkE7RUFFRDtJQUNFLG1Cbkx6QkQ7SW1MMEJDLG9CbkwxQkQsRW1MMkJBO0VBRUQ7SUFDRSxxQm5MOUJEO0ltTCtCQyxrQm5ML0JELEVtTGdDQTtFQUVEO0lBQ0Usa0JuTG5DRCxFbUxvQ0E7RUFFRDtJQUNFLG9Cbkx2Q0QsRW1Md0NBO0VBRUQ7SUFDRSxxQm5MM0NELEVtTDRDQTtFQUVEO0lBQ0UsbUJuTC9DRCxFbUxnREE7RUE1QkQ7SUFDRSxpQm5McEJFLEVtTHFCSDtFQUVEO0lBQ0Usc0JuTHhCRTtJbUx5QkYsdUJuTHpCRSxFbUwwQkg7RUFFRDtJQUNFLHdCbkw3QkU7SW1MOEJGLHFCbkw5QkUsRW1MK0JIO0VBRUQ7SUFDRSxxQm5MbENFLEVtTG1DSDtFQUVEO0lBQ0UsdUJuTHRDRSxFbUx1Q0g7RUFFRDtJQUNFLHdCbkwxQ0UsRW1MMkNIO0VBRUQ7SUFDRSxzQm5MOUNFLEVtTCtDSDtFQTVCRDtJQUNFLGlCbkxuQkUsRW1Mb0JIO0VBRUQ7SUFDRSxzQm5MdkJFO0ltTHdCRix1Qm5MeEJFLEVtTHlCSDtFQUVEO0lBQ0Usd0JuTDVCRTtJbUw2QkYscUJuTDdCRSxFbUw4Qkg7RUFFRDtJQUNFLHFCbkxqQ0UsRW1Ma0NIO0VBRUQ7SUFDRSx1Qm5MckNFLEVtTHNDSDtFQUVEO0lBQ0Usd0JuTHpDRSxFbUwwQ0g7RUFFRDtJQUNFLHNCbkw3Q0UsRW1MOENIO0VBNUJEO0lBQ0UsaUJuTGxCRyxFbUxtQko7RUFFRDtJQUNFLHNCbkx0Qkc7SW1MdUJILHVCbkx2QkcsRW1Md0JKO0VBRUQ7SUFDRSx3Qm5MM0JHO0ltTDRCSCxxQm5MNUJHLEVtTDZCSjtFQUVEO0lBQ0UscUJuTGhDRyxFbUxpQ0o7RUFFRDtJQUNFLHVCbkxwQ0csRW1McUNKO0VBRUQ7SUFDRSx3Qm5MeENHLEVtTHlDSjtFQUVEO0lBQ0Usc0JuTDVDRyxFbUw2Q0o7RUE1QkQ7SUFDRSxpQm5MakJJLEVtTGtCTDtFQUVEO0lBQ0Usc0JuTHJCSTtJbUxzQkosdUJuTHRCSSxFbUx1Qkw7RUFFRDtJQUNFLHdCbkwxQkk7SW1MMkJKLHFCbkwzQkksRW1MNEJMO0VBRUQ7SUFDRSxxQm5ML0JJLEVtTGdDTDtFQUVEO0lBQ0UsdUJuTG5DSSxFbUxvQ0w7RUFFRDtJQUNFLHdCbkx2Q0ksRW1Md0NMO0VBRUQ7SUFDRSxzQm5MM0NJLEVtTDRDTCxFQUFBOztBM0phTDtFMkp6Q0k7SUFDRSxXbkx6QkQsRW1MMEJBO0VBRUQ7SUFDRSxnQm5MN0JEO0ltTDhCQyxpQm5MOUJELEVtTCtCQTtFQUVEO0lBQ0Usa0JuTGxDRDtJbUxtQ0MsZW5MbkNELEVtTG9DQTtFQUVEO0lBQ0UsZW5MdkNELEVtTHdDQTtFQUVEO0lBQ0UsaUJuTDNDRCxFbUw0Q0E7RUFFRDtJQUNFLGtCbkwvQ0QsRW1MZ0RBO0VBRUQ7SUFDRSxnQm5MbkRELEVtTG9EQTtFQTVCRDtJQUNFLGlCbkx4QkssRW1MeUJOO0VBRUQ7SUFDRSxzQm5MNUJLO0ltTDZCTCx1Qm5MN0JLLEVtTDhCTjtFQUVEO0lBQ0Usd0JuTGpDSztJbUxrQ0wscUJuTGxDSyxFbUxtQ047RUFFRDtJQUNFLHFCbkx0Q0ssRW1MdUNOO0VBRUQ7SUFDRSx1Qm5MMUNLLEVtTDJDTjtFQUVEO0lBQ0Usd0JuTDlDSyxFbUwrQ047RUFFRDtJQUNFLHNCbkxsREssRW1MbUROO0VBNUJEO0lBQ0UsaUJuTHZCSSxFbUx3Qkw7RUFFRDtJQUNFLHNCbkwzQkk7SW1MNEJKLHVCbkw1QkksRW1MNkJMO0VBRUQ7SUFDRSx3Qm5MaENJO0ltTGlDSixxQm5MakNJLEVtTGtDTDtFQUVEO0lBQ0UscUJuTHJDSSxFbUxzQ0w7RUFFRDtJQUNFLHVCbkx6Q0ksRW1MMENMO0VBRUQ7SUFDRSx3Qm5MN0NJLEVtTDhDTDtFQUVEO0lBQ0Usc0JuTGpESSxFbUxrREw7RUE1QkQ7SUFDRSxpQm5MdEJHLEVtTHVCSjtFQUVEO0lBQ0Usc0JuTDFCRztJbUwyQkgsdUJuTDNCRyxFbUw0Qko7RUFFRDtJQUNFLHdCbkwvQkc7SW1MZ0NILHFCbkxoQ0csRW1MaUNKO0VBRUQ7SUFDRSxxQm5McENHLEVtTHFDSjtFQUVEO0lBQ0UsdUJuTHhDRyxFbUx5Q0o7RUFFRDtJQUNFLHdCbkw1Q0csRW1MNkNKO0VBRUQ7SUFDRSxzQm5MaERHLEVtTGlESjtFQTVCRDtJQUNFLGNuTHJCRCxFbUxzQkE7RUFFRDtJQUNFLG1Cbkx6QkQ7SW1MMEJDLG9CbkwxQkQsRW1MMkJBO0VBRUQ7SUFDRSxxQm5MOUJEO0ltTCtCQyxrQm5ML0JELEVtTGdDQTtFQUVEO0lBQ0Usa0JuTG5DRCxFbUxvQ0E7RUFFRDtJQUNFLG9Cbkx2Q0QsRW1Md0NBO0VBRUQ7SUFDRSxxQm5MM0NELEVtTDRDQTtFQUVEO0lBQ0UsbUJuTC9DRCxFbUxnREE7RUE1QkQ7SUFDRSxpQm5McEJFLEVtTHFCSDtFQUVEO0lBQ0Usc0JuTHhCRTtJbUx5QkYsdUJuTHpCRSxFbUwwQkg7RUFFRDtJQUNFLHdCbkw3QkU7SW1MOEJGLHFCbkw5QkUsRW1MK0JIO0VBRUQ7SUFDRSxxQm5MbENFLEVtTG1DSDtFQUVEO0lBQ0UsdUJuTHRDRSxFbUx1Q0g7RUFFRDtJQUNFLHdCbkwxQ0UsRW1MMkNIO0VBRUQ7SUFDRSxzQm5MOUNFLEVtTCtDSDtFQTVCRDtJQUNFLGlCbkxuQkUsRW1Mb0JIO0VBRUQ7SUFDRSxzQm5MdkJFO0ltTHdCRix1Qm5MeEJFLEVtTHlCSDtFQUVEO0lBQ0Usd0JuTDVCRTtJbUw2QkYscUJuTDdCRSxFbUw4Qkg7RUFFRDtJQUNFLHFCbkxqQ0UsRW1Ma0NIO0VBRUQ7SUFDRSx1Qm5MckNFLEVtTHNDSDtFQUVEO0lBQ0Usd0JuTHpDRSxFbUwwQ0g7RUFFRDtJQUNFLHNCbkw3Q0UsRW1MOENIO0VBNUJEO0lBQ0UsaUJuTGxCRyxFbUxtQko7RUFFRDtJQUNFLHNCbkx0Qkc7SW1MdUJILHVCbkx2QkcsRW1Md0JKO0VBRUQ7SUFDRSx3Qm5MM0JHO0ltTDRCSCxxQm5MNUJHLEVtTDZCSjtFQUVEO0lBQ0UscUJuTGhDRyxFbUxpQ0o7RUFFRDtJQUNFLHVCbkxwQ0csRW1McUNKO0VBRUQ7SUFDRSx3Qm5MeENHLEVtTHlDSjtFQUVEO0lBQ0Usc0JuTDVDRyxFbUw2Q0o7RUE1QkQ7SUFDRSxpQm5MakJJLEVtTGtCTDtFQUVEO0lBQ0Usc0JuTHJCSTtJbUxzQkosdUJuTHRCSSxFbUx1Qkw7RUFFRDtJQUNFLHdCbkwxQkk7SW1MMkJKLHFCbkwzQkksRW1MNEJMO0VBRUQ7SUFDRSxxQm5ML0JJLEVtTGdDTDtFQUVEO0lBQ0UsdUJuTG5DSSxFbUxvQ0w7RUFFRDtJQUNFLHdCbkx2Q0ksRW1Md0NMO0VBRUQ7SUFDRSxzQm5MM0NJLEVtTDRDTCxFQUFBOztBM0phTDtFMkp6Q0k7SUFDRSxXbkx6QkQsRW1MMEJBO0VBRUQ7SUFDRSxnQm5MN0JEO0ltTDhCQyxpQm5MOUJELEVtTCtCQTtFQUVEO0lBQ0Usa0JuTGxDRDtJbUxtQ0MsZW5MbkNELEVtTG9DQTtFQUVEO0lBQ0UsZW5MdkNELEVtTHdDQTtFQUVEO0lBQ0UsaUJuTDNDRCxFbUw0Q0E7RUFFRDtJQUNFLGtCbkwvQ0QsRW1MZ0RBO0VBRUQ7SUFDRSxnQm5MbkRELEVtTG9EQTtFQTVCRDtJQUNFLGlCbkx4QkssRW1MeUJOO0VBRUQ7SUFDRSxzQm5MNUJLO0ltTDZCTCx1Qm5MN0JLLEVtTDhCTjtFQUVEO0lBQ0Usd0JuTGpDSztJbUxrQ0wscUJuTGxDSyxFbUxtQ047RUFFRDtJQUNFLHFCbkx0Q0ssRW1MdUNOO0VBRUQ7SUFDRSx1Qm5MMUNLLEVtTDJDTjtFQUVEO0lBQ0Usd0JuTDlDSyxFbUwrQ047RUFFRDtJQUNFLHNCbkxsREssRW1MbUROO0VBNUJEO0lBQ0UsaUJuTHZCSSxFbUx3Qkw7RUFFRDtJQUNFLHNCbkwzQkk7SW1MNEJKLHVCbkw1QkksRW1MNkJMO0VBRUQ7SUFDRSx3Qm5MaENJO0ltTGlDSixxQm5MakNJLEVtTGtDTDtFQUVEO0lBQ0UscUJuTHJDSSxFbUxzQ0w7RUFFRDtJQUNFLHVCbkx6Q0ksRW1MMENMO0VBRUQ7SUFDRSx3Qm5MN0NJLEVtTDhDTDtFQUVEO0lBQ0Usc0JuTGpESSxFbUxrREw7RUE1QkQ7SUFDRSxpQm5MdEJHLEVtTHVCSjtFQUVEO0lBQ0Usc0JuTDFCRztJbUwyQkgsdUJuTDNCRyxFbUw0Qko7RUFFRDtJQUNFLHdCbkwvQkc7SW1MZ0NILHFCbkxoQ0csRW1MaUNKO0VBRUQ7SUFDRSxxQm5McENHLEVtTHFDSjtFQUVEO0lBQ0UsdUJuTHhDRyxFbUx5Q0o7RUFFRDtJQUNFLHdCbkw1Q0csRW1MNkNKO0VBRUQ7SUFDRSxzQm5MaERHLEVtTGlESjtFQTVCRDtJQUNFLGNuTHJCRCxFbUxzQkE7RUFFRDtJQUNFLG1Cbkx6QkQ7SW1MMEJDLG9CbkwxQkQsRW1MMkJBO0VBRUQ7SUFDRSxxQm5MOUJEO0ltTCtCQyxrQm5ML0JELEVtTGdDQTtFQUVEO0lBQ0Usa0JuTG5DRCxFbUxvQ0E7RUFFRDtJQUNFLG9Cbkx2Q0QsRW1Md0NBO0VBRUQ7SUFDRSxxQm5MM0NELEVtTDRDQTtFQUVEO0lBQ0UsbUJuTC9DRCxFbUxnREE7RUE1QkQ7SUFDRSxpQm5McEJFLEVtTHFCSDtFQUVEO0lBQ0Usc0JuTHhCRTtJbUx5QkYsdUJuTHpCRSxFbUwwQkg7RUFFRDtJQUNFLHdCbkw3QkU7SW1MOEJGLHFCbkw5QkUsRW1MK0JIO0VBRUQ7SUFDRSxxQm5MbENFLEVtTG1DSDtFQUVEO0lBQ0UsdUJuTHRDRSxFbUx1Q0g7RUFFRDtJQUNFLHdCbkwxQ0UsRW1MMkNIO0VBRUQ7SUFDRSxzQm5MOUNFLEVtTCtDSDtFQTVCRDtJQUNFLGlCbkxuQkUsRW1Mb0JIO0VBRUQ7SUFDRSxzQm5MdkJFO0ltTHdCRix1Qm5MeEJFLEVtTHlCSDtFQUVEO0lBQ0Usd0JuTDVCRTtJbUw2QkYscUJuTDdCRSxFbUw4Qkg7RUFFRDtJQUNFLHFCbkxqQ0UsRW1Ma0NIO0VBRUQ7SUFDRSx1Qm5MckNFLEVtTHNDSDtFQUVEO0lBQ0Usd0JuTHpDRSxFbUwwQ0g7RUFFRDtJQUNFLHNCbkw3Q0UsRW1MOENIO0VBNUJEO0lBQ0UsaUJuTGxCRyxFbUxtQko7RUFFRDtJQUNFLHNCbkx0Qkc7SW1MdUJILHVCbkx2QkcsRW1Md0JKO0VBRUQ7SUFDRSx3Qm5MM0JHO0ltTDRCSCxxQm5MNUJHLEVtTDZCSjtFQUVEO0lBQ0UscUJuTGhDRyxFbUxpQ0o7RUFFRDtJQUNFLHVCbkxwQ0csRW1McUNKO0VBRUQ7SUFDRSx3Qm5MeENHLEVtTHlDSjtFQUVEO0lBQ0Usc0JuTDVDRyxFbUw2Q0o7RUE1QkQ7SUFDRSxpQm5MakJJLEVtTGtCTDtFQUVEO0lBQ0Usc0JuTHJCSTtJbUxzQkosdUJuTHRCSSxFbUx1Qkw7RUFFRDtJQUNFLHdCbkwxQkk7SW1MMkJKLHFCbkwzQkksRW1MNEJMO0VBRUQ7SUFDRSxxQm5ML0JJLEVtTGdDTDtFQUVEO0lBQ0UsdUJuTG5DSSxFbUxvQ0w7RUFFRDtJQUNFLHdCbkx2Q0ksRW1Md0NMO0VBRUQ7SUFDRSxzQm5MM0NJLEVtTDRDTCxFQUFBOztBM0phTDtFMkp6Q0k7SUFDRSxXbkx6QkQsRW1MMEJBO0VBRUQ7SUFDRSxnQm5MN0JEO0ltTDhCQyxpQm5MOUJELEVtTCtCQTtFQUVEO0lBQ0Usa0JuTGxDRDtJbUxtQ0MsZW5MbkNELEVtTG9DQTtFQUVEO0lBQ0UsZW5MdkNELEVtTHdDQTtFQUVEO0lBQ0UsaUJuTDNDRCxFbUw0Q0E7RUFFRDtJQUNFLGtCbkwvQ0QsRW1MZ0RBO0VBRUQ7SUFDRSxnQm5MbkRELEVtTG9EQTtFQTVCRDtJQUNFLGlCbkx4QkssRW1MeUJOO0VBRUQ7SUFDRSxzQm5MNUJLO0ltTDZCTCx1Qm5MN0JLLEVtTDhCTjtFQUVEO0lBQ0Usd0JuTGpDSztJbUxrQ0wscUJuTGxDSyxFbUxtQ047RUFFRDtJQUNFLHFCbkx0Q0ssRW1MdUNOO0VBRUQ7SUFDRSx1Qm5MMUNLLEVtTDJDTjtFQUVEO0lBQ0Usd0JuTDlDSyxFbUwrQ047RUFFRDtJQUNFLHNCbkxsREssRW1MbUROO0VBNUJEO0lBQ0UsaUJuTHZCSSxFbUx3Qkw7RUFFRDtJQUNFLHNCbkwzQkk7SW1MNEJKLHVCbkw1QkksRW1MNkJMO0VBRUQ7SUFDRSx3Qm5MaENJO0ltTGlDSixxQm5MakNJLEVtTGtDTDtFQUVEO0lBQ0UscUJuTHJDSSxFbUxzQ0w7RUFFRDtJQUNFLHVCbkx6Q0ksRW1MMENMO0VBRUQ7SUFDRSx3Qm5MN0NJLEVtTDhDTDtFQUVEO0lBQ0Usc0JuTGpESSxFbUxrREw7RUE1QkQ7SUFDRSxpQm5MdEJHLEVtTHVCSjtFQUVEO0lBQ0Usc0JuTDFCRztJbUwyQkgsdUJuTDNCRyxFbUw0Qko7RUFFRDtJQUNFLHdCbkwvQkc7SW1MZ0NILHFCbkxoQ0csRW1MaUNKO0VBRUQ7SUFDRSxxQm5McENHLEVtTHFDSjtFQUVEO0lBQ0UsdUJuTHhDRyxFbUx5Q0o7RUFFRDtJQUNFLHdCbkw1Q0csRW1MNkNKO0VBRUQ7SUFDRSxzQm5MaERHLEVtTGlESjtFQTVCRDtJQUNFLGNuTHJCRCxFbUxzQkE7RUFFRDtJQUNFLG1Cbkx6QkQ7SW1MMEJDLG9CbkwxQkQsRW1MMkJBO0VBRUQ7SUFDRSxxQm5MOUJEO0ltTCtCQyxrQm5ML0JELEVtTGdDQTtFQUVEO0lBQ0Usa0JuTG5DRCxFbUxvQ0E7RUFFRDtJQUNFLG9Cbkx2Q0QsRW1Md0NBO0VBRUQ7SUFDRSxxQm5MM0NELEVtTDRDQTtFQUVEO0lBQ0UsbUJuTC9DRCxFbUxnREE7RUE1QkQ7SUFDRSxpQm5McEJFLEVtTHFCSDtFQUVEO0lBQ0Usc0JuTHhCRTtJbUx5QkYsdUJuTHpCRSxFbUwwQkg7RUFFRDtJQUNFLHdCbkw3QkU7SW1MOEJGLHFCbkw5QkUsRW1MK0JIO0VBRUQ7SUFDRSxxQm5MbENFLEVtTG1DSDtFQUVEO0lBQ0UsdUJuTHRDRSxFbUx1Q0g7RUFFRDtJQUNFLHdCbkwxQ0UsRW1MMkNIO0VBRUQ7SUFDRSxzQm5MOUNFLEVtTCtDSDtFQTVCRDtJQUNFLGlCbkxuQkUsRW1Mb0JIO0VBRUQ7SUFDRSxzQm5MdkJFO0ltTHdCRix1Qm5MeEJFLEVtTHlCSDtFQUVEO0lBQ0Usd0JuTDVCRTtJbUw2QkYscUJuTDdCRSxFbUw4Qkg7RUFFRDtJQUNFLHFCbkxqQ0UsRW1Ma0NIO0VBRUQ7SUFDRSx1Qm5MckNFLEVtTHNDSDtFQUVEO0lBQ0Usd0JuTHpDRSxFbUwwQ0g7RUFFRDtJQUNFLHNCbkw3Q0UsRW1MOENIO0VBNUJEO0lBQ0UsaUJuTGxCRyxFbUxtQko7RUFFRDtJQUNFLHNCbkx0Qkc7SW1MdUJILHVCbkx2QkcsRW1Md0JKO0VBRUQ7SUFDRSx3Qm5MM0JHO0ltTDRCSCxxQm5MNUJHLEVtTDZCSjtFQUVEO0lBQ0UscUJuTGhDRyxFbUxpQ0o7RUFFRDtJQUNFLHVCbkxwQ0csRW1McUNKO0VBRUQ7SUFDRSx3Qm5MeENHLEVtTHlDSjtFQUVEO0lBQ0Usc0JuTDVDRyxFbUw2Q0o7RUE1QkQ7SUFDRSxpQm5MakJJLEVtTGtCTDtFQUVEO0lBQ0Usc0JuTHJCSTtJbUxzQkosdUJuTHRCSSxFbUx1Qkw7RUFFRDtJQUNFLHdCbkwxQkk7SW1MMkJKLHFCbkwzQkksRW1MNEJMO0VBRUQ7SUFDRSxxQm5ML0JJLEVtTGdDTDtFQUVEO0lBQ0UsdUJuTG5DSSxFbUxvQ0w7RUFFRDtJQUNFLHdCbkx2Q0ksRW1M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bUJBQWtCLEVBQ25CIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAaW1wb3J0ICdAZWNsL2VjLXByZXNldC13ZWJzaXRlL2VjLXByZXNldC13ZWJzaXRlLnNjc3MnO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9mb3JtXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3Rvb2xiYXJcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvc3BsYXNoLXBhZ2VcIjtcblxuLm1haW4tY29udGVudCB7XG4gIC5ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXF1aXJlZCBmaWVsZFxuICovXG4uZm9ybS1yZXF1aXJlZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9yZXF1aXJlZC5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDZweCA2cHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDAgMC4zZW07XG59XG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2luIGZyb20gdGV4dCBmb3JtYXRzIGNvbnRhaW5lcnMuXG4uZm9ybS1pdGVtLXRleHQtZm9ybWF0LXZhbHVlICsgLmVjbC1mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLy8gQWxpZ24gXCJBcHBseVwiIGJvdHRvbiBpbiBtb2RlcmF0aW9uIGJsb2NrLlxuLmVudGl0eS1tb2RlcmF0aW9uLWZvcm0ge1xuICAuZWNsLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG59XG4iLCJib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuIiwiLy8gRUNMIENvbG9yc1xuXG4kZWNsLWNvbG9yczogKFxuICBibHVlLTEyMDogIzAxMmI1OCxcbiAgYmx1ZS0xMTA6ICMwMDM3NzYsXG4gIGJsdWUtMTAwOiAjMDA0NDk0LFxuICBibHVlLTc1OiAjNDA3M2FmLFxuICBibHVlLTUwOiAjN2ZhMWM5LFxuICBibHVlLTI1OiAjYmZkMGU0LFxuICBibHVlLTU6ICNmMmY1ZjksXG4gIHllbGxvdy0xMjA6ICNmOGFlMjEsXG4gIHllbGxvdy0xMTA6ICNmYmMxMWQsXG4gIHllbGxvdy0xMDA6ICNmZmQ2MTcsXG4gIHllbGxvdy03NTogI2ZmZGUzOSxcbiAgeWVsbG93LTUwOiAjZmZlODc5LFxuICB5ZWxsb3ctMjU6ICNmZmY0YmIsXG4gIGdyZXktMTAwOiAjNDA0MDQwLFxuICBncmV5LTc1OiAjNzA3MDcwLFxuICBncmV5LTUwOiAjOWY5ZjlmLFxuICBncmV5LTI1OiAjY2ZjZmNmLFxuICBncmV5LTIwOiAjZDlkOWQ5LFxuICBncmV5LTE1OiAjZTNlM2UzLFxuICBncmV5LTEwOiAjZWJlYmViLFxuICBncmV5LTU6ICNmNWY1ZjUsXG4gIHB1cnBsZS0xMDA6ICM1NTA3NDUsXG4pICFkZWZhdWx0O1xuXG4vKlxuICogQWxpYXNlc1xuICovXG5cbiRlY2wtY29sb3ItcHJpbWFyeTogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJykgIWRlZmF1bHQ7XG4kZWNsLWNvbG9yLXNlY29uZGFyeTogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKSAhZGVmYXVsdDtcbiRlY2wtY29sb3Itc2hhZGU6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpICFkZWZhdWx0O1xuXG4kZWNsLWNvbG9yLWluZm86ICMwMDZmYjQgIWRlZmF1bHQ7XG4kZWNsLWNvbG9yLXdhcm5pbmc6ICNmMjk1MjcgIWRlZmF1bHQ7XG4kZWNsLWNvbG9yLXN1Y2Nlc3M6ICM0NjdhMzkgIWRlZmF1bHQ7XG4kZWNsLWNvbG9yLWVycm9yOiAjZGEyMTMwICFkZWZhdWx0O1xuXG4vKlxuICogQmFja2dyb3VuZCBjb2xvcnNcbiAqXG4gKiBOb3RlOiBpbiBzb21lIGNhc2VzLCBjb21wb25lbnRzIGNhbiBoYXZlIG90aGVyIGJhY2tncm91bmQgY29sb3JzIChoZWFkZXItdG9wLCBmaWxlLCBmb290ZXIuLi4pXG4gKiBUaGVzZSBhcmUgdGhlIG1haW4gYmFja2dyb3VuZCBjb2xvcnMuXG4gKi9cblxuJGVjbC1jb2xvcnMtYmc6IChcbiAgZGVmYXVsdDogI2ZmZixcbiAgcHJpbWFyeTogJGVjbC1jb2xvci1wcmltYXJ5LFxuICBzZWNvbmRhcnk6ICRlY2wtY29sb3Itc2Vjb25kYXJ5LFxuICBzaGFkZTogJGVjbC1jb2xvci1zaGFkZSxcbiAgYmx1ZS01OiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS01JyksXG4pICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBJY29uc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtaWNvbi9nZW5lcmljLXN0eWxlLWljb24nO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtc3R5bGUtaWNvbicpIHtcbiAgQGluY2x1ZGUgZWNsLWljb25zKCk7XG59XG4iLCIvKipcbiAqIEljb25zXG4gKiBAZGVmaW5lIGljb25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQGltcG9ydCAnLi9mb250LWZhY2VzJztcbkBpbXBvcnQgJy4vdmFyaWFibGVzJztcbkBpbXBvcnQgJy4vbWl4aW5zJztcblxuQG1peGluIGVjbC1pY29ucygpIHtcbiAgLmVjbC1pY29uIHtcbiAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYmVmb3JlKCk7XG4gIH1cblxuICAuZWNsLWljb24tLWFmdGVyIHtcbiAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcbiAgfVxuXG4gIC8vIEljb24gY29tcG9uZW50IGFuZCBtb2RpZmllcnMuXG4gIEBlYWNoICRtb2RpZmllciwgJGNoYXIgaW4gJGVjbC1pY29ucyB7XG4gICAgLmVjbC1pY29uLS0jeyRtb2RpZmllcn0ge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbigkbW9kaWZpZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lY2wtaWNvbi0tcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGhlaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gIH1cblxuICAuZWNsLWljb24tLXJvdW5kZWQ6OmJlZm9yZSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFdXJvcGFJY29ucyc7XG4gIHNyYzogdXJsKCcjeyRlY2wtYXNzZXRzLXBhdGh9Zm9udHMvZXVyb3BhLWljb25zL2V1cm9wYS1pY29ucy5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGVjbC1hc3NldHMtcGF0aH1mb250cy9ldXJvcGEtaWNvbnMvZXVyb3BhLWljb25zLmVvdD8jaWVmaXgnKVxuICAgICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skZWNsLWFzc2V0cy1wYXRofWZvbnRzL2V1cm9wYS1pY29ucy9ldXJvcGEtaWNvbnMud29mZicpXG4gICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGVjbC1hc3NldHMtcGF0aH1mb250cy9ldXJvcGEtaWNvbnMvZXVyb3BhLWljb25zLnR0ZicpXG4gICAgICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRlY2wtYXNzZXRzLXBhdGh9Zm9udHMvZXVyb3BhLWljb25zL2V1cm9wYS1pY29ucy5zdmcjZXVyb3BhLWljb25zJylcbiAgICAgIGZvcm1hdCgnc3ZnJyk7XG59XG4iLCJAbWl4aW4gZWNsLWljb24oJG1vZGlmaWVyLCAkY2hhcjogbWFwLWdldCgkZWNsLWljb25zLCAkbW9kaWZpZXIpKSB7XG4gIGNvbnRlbnQ6ICN7XCInXCJ9I3skY2hhcn0je1wiJ1wifTtcbn1cblxuQG1peGluIGVjbC1pY29uLS1iZWZvcmUoKSB7XG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnRXVyb3BhSWNvbnMnOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZCAqL1xuICAgIC8vIEJldHRlciBGb250IFJlbmRlcmluZ1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBlY2wtaWNvbi0tYWZ0ZXIoKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdFdXJvcGFJY29ucyc7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkICovXG4gIC8vIEJldHRlciBGb250IFJlbmRlcmluZ1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIHNwZWFrOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuIiwiLy8gRUNMIFR5cGUgU2NhbGVcblxuJGVjbC1mb250LXNpemU6IChcbiAgbm9uZTogMCxcbiAgeHh4czogMC41cmVtLFxuICB4eHM6IDAuNzVyZW0sXG4gIHhzOiAwLjg3NXJlbSxcbiAgczogMXJlbSxcbiAgbTogMS4xMjVyZW0sXG4gIGw6IDEuMzc1cmVtLFxuICB4bDogMS44NzVyZW0sXG4gIHh4bDogMi41cmVtXG4pICFkZWZhdWx0O1xuIiwiLy8gRUNMIFNwYWNpbmdcblxuJGVjbC1zcGFjaW5nOiAoXG4gIG5vbmU6IDAsXG4gIHh4eHM6IDAuMzNyZW0sXG4gIHh4czogMC42NnJlbSxcbiAgeHM6IDAuODlyZW0sXG4gIHM6IDFyZW0sXG4gIG06IDEuNjZyZW0sXG4gIGw6IDIuMjJyZW0sXG4gIHhsOiAzLjMzcmVtLFxuICB4eGw6IDQuNDRyZW1cbikgIWRlZmF1bHQ7XG4iLCIvKipcbiAqIEltYWdlXG4gKiBAZGVmaW5lIGltYWdlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS1pbWFnZS9nZW5lcmljLXN0eWxlLWltYWdlJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXN0eWxlLWltYWdlJykge1xuICBAaW5jbHVkZSBlY2wtaW1hZ2UoKTtcbn1cbiIsIi8qKlxuICogSW1hZ2VcbiAqIEBkZWZpbmUgaW1hZ2VcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1pbWFnZSgpIHtcbiAgLmVjbC1pbWFnZSB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC5lY2wtaW1hZ2UtLWZsdWlkIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1pbWFnZS0tYWxpZ24tbWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG4iLCIvKipcbiAqIFR5cG9ncmFwaHkgcnVsZXNcbiAqIEBkZWZpbmUgdHlwb2dyYXBoeVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHknO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtc3R5bGUtdHlwb2dyYXBoeScpIHtcbiAgQGluY2x1ZGUgZWNsLXR5cG9ncmFwaHkoKTtcbn1cbiIsIi8qKlxuICogVHlwb2dyYXBoeSBydWxlc1xuICogQGRlZmluZSB0eXBvZ3JhcGh5XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBpbXBvcnQgJy4vbWl4aW5zJztcblxuQG1peGluIGVjbC10eXBvZ3JhcGh5KCkge1xuICAuZWNsLXR5cG9ncmFwaHkge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoKTtcbiAgfVxufVxuIiwiQG1peGluIHR5cG9ncmFwaHkoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZWNsLWZvbnQtZmFtaWx5LWJhc2U7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVsZWdpYmlsaXR5O1xufVxuIiwiLy8gRUNMIEZvbnQgZmFtaWx5XG5cbiRlY2wtZm9udC1mYW1pbHktc2Fucy1zZXJpZjogQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZWNsLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLFxuICAnQ291cmllciBOZXcnLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZWNsLWZvbnQtZmFtaWx5LWJhc2U6ICRlY2wtZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiIsIi8qKlxuICogSGVhZGluZ3NcbiAqIEBkZWZpbmUgaGVhZGluZ1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZycpIHtcbiAgQGluY2x1ZGUgZWNsLXR5cG9ncmFwaHktaGVhZGluZygpO1xufVxuIiwiLyoqXG4gKiBIZWFkaW5nc1xuICogQGRlZmluZSBoZWFkaW5nXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBpbXBvcnQgJ21peGlucyc7XG5cbkBtaXhpbiBlY2wtdHlwb2dyYXBoeS1oZWFkaW5nKCkge1xuICAuZWNsLWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGhlYWRpbmcoKTtcbiAgfVxuXG4gIC5lY2wtaGVhZGluZy0taDEge1xuICAgIEBpbmNsdWRlIGhlYWRpbmctMSgpO1xuICB9XG5cbiAgLmVjbC1oZWFkaW5nLS1oMiB7XG4gICAgQGluY2x1ZGUgaGVhZGluZy0yKCk7XG4gIH1cblxuICAuZWNsLWhlYWRpbmctLWgzIHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLTMoKTtcbiAgfVxuXG4gIC5lY2wtaGVhZGluZy0taDQge1xuICAgIEBpbmNsdWRlIGhlYWRpbmctNCgpO1xuICB9XG5cbiAgLmVjbC1oZWFkaW5nLS1oNSB7XG4gICAgQGluY2x1ZGUgaGVhZGluZy01KCk7XG4gIH1cblxuICAuZWNsLWhlYWRpbmctLWhlYWRsaW5lIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMi4yO1xuICB9XG5cbiAgLy8gU3BhY2luZ1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuICovXG4gICogKyAuZWNsLWhlYWRpbmctLWgxIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4bCcpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAqICsgLmVjbC1oZWFkaW5nLS1oMiB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4bCcpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAqICsgLmVjbC1oZWFkaW5nLS1oMyB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gIH1cbn1cbiIsIkBtaXhpbiBoZWFkaW5nKCkge1xuICBtYXJnaW46IDAgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgcGFkZGluZzogMDtcbn1cblxuQG1peGluIGhlYWRpbmctMSgpIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4bCcpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG5AbWl4aW4gaGVhZGluZy0yKCkge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneGwnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuQG1peGluIGhlYWRpbmctMygpIHtcbiAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ2wnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWF4LXdpZHRoOiAzMmVtO1xufVxuXG5AbWl4aW4gaGVhZGluZy00KCkge1xuICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXgtd2lkdGg6IDMyZW07XG59XG5cbkBtaXhpbiBoZWFkaW5nLTUoKSB7XG4gIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1heC13aWR0aDogMzJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi8qKlxuICogTGlzdFxuICogQGRlZmluZSBsaXN0XG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QvZ2VuZXJpYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0Jykge1xuICBAaW5jbHVkZSBlY2wtdHlwb2dyYXBoeS1saXN0KCk7XG59XG4iLCIvKipcbiAqIExpc3RcbiAqIEBkZWZpbmUgbGlzdFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gZWNsLXR5cG9ncmFwaHktbGlzdCgpIHtcbiAgLmVjbC1saXN0IHtcbiAgICBAaW5jbHVkZSBsaXN0KCk7XG4gIH1cblxuICAvLyBsaXN0IGFscGhhXG4gIC5lY2wtbGlzdC0tYWxwaGEge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItbGF0aW47XG4gIH1cblxuICAvLyBsaXN0IHVzdHlsZWRcbiAgLmVjbC1saXN0LS11bnN0eWxlZCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBsaXN0IGlubGluZVxuICAuZWNsLWxpc3QtLWlubGluZSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcblxuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGlzdCgpIHtcbiAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgbGluZS1oZWlnaHQ6IDEuNjY7XG4gIG1heC13aWR0aDogMzJlbTtcbn1cbiIsIi8qKlxuICogVHlwb2dyYXBoeTogcGFyYWdyYXBoc1xuICogQGRlZmluZSBwYXJhZ3JhcGhcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgnKSB7XG4gIEBpbmNsdWRlIGVjbC10eXBvZ3JhcGh5LXBhcmFncmFwaCgpO1xufVxuIiwiLyoqXG4gKiBUeXBvZ3JhcGh5OiBwYXJhZ3JhcGhzXG4gKiBAZGVmaW5lIHBhcmFncmFwaFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gZWNsLXR5cG9ncmFwaHktcGFyYWdyYXBoKCkge1xuICAuZWNsLXBhcmFncmFwaCB7XG4gICAgQGluY2x1ZGUgcGFyYWdyYXBoKCk7XG4gIH1cblxuICAuZWNsLXBhcmFncmFwaC0tbCB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICB9XG5cbiAgLmVjbC1wYXJhZ3JhcGgtLW0ge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgfVxuXG4gIC5lY2wtcGFyYWdyYXBoLS1zIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gIH1cblxuICAuZWNsLXBhcmFncmFwaC0teHMge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gIH1cblxuICAuZWNsLXBhcmFncmFwaC0teHhzIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4eHMnKTtcbiAgfVxufVxuIiwiQG1peGluIHBhcmFncmFwaCgpIHtcbiAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgbGluZS1oZWlnaHQ6IDEuNjY7XG4gIG1heC13aWR0aDogMzJlbTtcbn1cbiIsIi8qKlxuICogSW1hZ2VcbiAqIEBkZWZpbmUgaW1hZ2VcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLWltYWdlL2dlbmVyaWMtc3R5bGUtaW1hZ2UtLWVkaXRvcic7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1zdHlsZS1pbWFnZS0tZWRpdG9yJykge1xuICBAaW5jbHVkZSBlY2wtZWRpdG9yLWltYWdlKCk7XG59XG4iLCIvKipcbiAqIEVDTCBFZGl0b3IgLSBJbWFnZVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWVkaXRvci1pbWFnZSgpIHtcbiAgLmVjbC1lZGl0b3IgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAuZWNsLWVkaXRvciAqICsgaW1nIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICB9XG59XG4iLCJAaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gZWNsLWVkaXRvci10eXBvZ3JhcGh5LWhlYWRpbmcoKSB7XG4gIC5lY2wtZWRpdG9yIGgxIHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgaGVhZGluZy0xKCk7XG4gIH1cblxuICAuZWNsLWVkaXRvciBoMiB7XG4gICAgQGluY2x1ZGUgaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhlYWRpbmctMigpO1xuICB9XG5cbiAgLmVjbC1lZGl0b3IgaDMge1xuICAgIEBpbmNsdWRlIGhlYWRpbmcoKTtcbiAgICBAaW5jbHVkZSBoZWFkaW5nLTMoKTtcbiAgfVxuXG4gIC5lY2wtZWRpdG9yIGg0IHtcbiAgICBAaW5jbHVkZSBoZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgaGVhZGluZy00KCk7XG4gIH1cblxuICAuZWNsLWVkaXRvciBoNSB7XG4gICAgQGluY2x1ZGUgaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhlYWRpbmctNSgpO1xuICB9XG5cbiAgLmVjbC1lZGl0b3Ige1xuICAgICogKyBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4bCcpO1xuICAgIH1cblxuICAgICogKyBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hsJyk7XG4gICAgfVxuXG4gICAgKiArIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnbWl4aW5zJztcblxuQG1peGluIGVjbC1lZGl0b3ItdHlwb2dyYXBoeS1saXN0KCkge1xuICAuZWNsLWVkaXRvciB1bCxcbiAgLmVjbC1lZGl0b3Igb2wge1xuICAgIEBpbmNsdWRlIGxpc3QoKTtcbiAgfVxufVxuIiwiQGltcG9ydCAnbWl4aW5zJztcblxuQG1peGluIGVjbC1lZGl0b3ItdHlwb2dyYXBoeS1wYXJhZ3JhcGgoKSB7XG4gIC5lY2wtZWRpdG9yICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtZWRpdG9yIHAge1xuICAgIEBpbmNsdWRlIHBhcmFncmFwaCgpO1xuXG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1lZGl0b3IgKiArIHAge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGVjbC1ncmlkLWNvbHVtbnNgLlxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuXG5AbWl4aW4gZWNsLW1ha2UtZ3JpZC1jb2x1bW5zKFxuICAkY29sdW1uczogJGVjbC1ncmlkLWNvbHVtbnMsXG4gICRndXR0ZXJzOiAkZWNsLWdyaWQtZ3V0dGVyLXdpZHRocyxcbiAgJGJyZWFrcG9pbnRzOiAkZWNsLWdyaWQtYnJlYWtwb2ludHNcbikge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVlY2wtZ3JpZC1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGVjbC1tYWtlLWd1dHRlcnMoJGd1dHRlcnMpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogZWNsLWJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmVjbC1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVlY2wtZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5lY2wtY29sI3skaW5maXh9IHtcbiAgICAgIEBleHRlbmQgJWVjbC1ncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmVjbC1jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmVjbC1jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5lY2wtY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlY2wtbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkbW9kaWZpZXIgaW4gKHB1bGwsIHB1c2gpIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmVjbC0jeyRtb2RpZmllcn0jeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZWNsLW1ha2UtY29sLW1vZGlmaWVyKCRtb2RpZmllciwgJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmIG5vdCgkaW5maXggPT0gJycgYW5kICRpID09IDApIHtcbiAgICAgICAgICAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQteHMtMFxuICAgICAgICAgIC5lY2wtb2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGVjbC1tYWtlLWNvbC1tb2RpZmllcihvZmZzZXQsICRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gR3JpZCBtaXhpbnNcbi8vXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuQGltcG9ydCAnbWl4aW5zL2dyaWQtZnJhbWV3b3JrJztcbkBpbXBvcnQgJ21peGlucy9ncmlkJztcblxuQG1peGluIGVjbC1ncmlkKCkge1xuICAvLyBDb250YWluZXIgd2lkdGhzXG4gIC8vXG4gIC8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cbiAgLmVjbC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGVjbC1tYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIGVjbC1tYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cblxuICAvLyBGbHVpZCBjb250YWluZXJcbiAgLy9cbiAgLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aG91dCBhbnkgZGVmaW5lZFxuICAvLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cbiAgLmVjbC1jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIGVjbC1tYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUm93XG4gIC8vXG4gIC8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG4gIC5lY2wtcm93IHtcbiAgICBAaW5jbHVkZSBlY2wtbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5lY2wtbm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgPiAuZWNsLWNvbCxcbiAgICA+IFtjbGFzcyo9J2VjbC1jb2wtJ10ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5zXG4gIC8vXG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcbiAgQGluY2x1ZGUgZWNsLW1ha2UtZ3JpZC1jb2x1bW5zKCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIGVjbC1tYWtlLWNvbnRhaW5lcigkZ3V0dGVyczogJGVjbC1ncmlkLWd1dHRlci13aWR0aHMpIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRndXR0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIGVjbC1tYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKFxuICAkbWF4LXdpZHRoczogJGVjbC1jb250YWluZXItbWF4LXdpZHRocyxcbiAgJGJyZWFrcG9pbnRzOiAkZWNsLWdyaWQtYnJlYWtwb2ludHNcbikge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGVjbC1tYWtlLWd1dHRlcnMoJGd1dHRlcnM6ICRlY2wtZ3JpZC1ndXR0ZXItd2lkdGhzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRndXR0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGVjbC1tYWtlLXJvdygkZ3V0dGVyczogJGVjbC1ncmlkLWd1dHRlci13aWR0aHMpIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRndXR0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgICAgbWFyZ2luLWxlZnQ6ICgkZ3V0dGVyIC8gLTIpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGd1dHRlciAvIC0yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGVjbC1tYWtlLWNvbC1yZWFkeSgkZ3V0dGVyczogJGVjbC1ncmlkLWd1dHRlci13aWR0aHMpIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbGxhcHNpbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3V0dGVycykge1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAgIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBlY2wtbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZWNsLWdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIGVjbC1tYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZWNsLWdyaWQtY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIGVjbC1tYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1uczogJGVjbC1ncmlkLWNvbHVtbnMpIHtcbiAgbGVmdDogaWYoJHNpemUgPiAwLCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpLCBhdXRvKTtcbn1cblxuQG1peGluIGVjbC1tYWtlLWNvbC1wdWxsKCRzaXplLCAkY29sdW1uczogJGVjbC1ncmlkLWNvbHVtbnMpIHtcbiAgcmlnaHQ6IGlmKCRzaXplID4gMCwgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKSwgYXV0byk7XG59XG5cbkBtaXhpbiBlY2wtbWFrZS1jb2wtbW9kaWZpZXIoJHR5cGUsICRzaXplLCAkY29sdW1ucykge1xuICAvLyBXb3JrIGFyb3VuZCB0aGUgbGFjayBvZiBkeW5hbWljIG1peGluIEBpbmNsdWRlIHN1cHBvcnQgKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzYyNilcbiAgQGlmICR0eXBlID09IHB1c2gge1xuICAgIEBpbmNsdWRlIGVjbC1tYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1ucyk7XG4gIH0gQGVsc2UgaWYgJHR5cGUgPT0gcHVsbCB7XG4gICAgQGluY2x1ZGUgZWNsLW1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBvZmZzZXQge1xuICAgIEBpbmNsdWRlIGVjbC1tYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zKTtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRlY2wtZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBlY2wtYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGVjbC1icmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gZWNsLWJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGVjbC1icmVha3BvaW50LW5leHQoXG4gICRuYW1lLFxuICAkYnJlYWtwb2ludHM6ICRlY2wtZ3JpZC1icmVha3BvaW50cyxcbiAgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cylcbikge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcblxuICBAcmV0dXJuIGlmKFxuICAgICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSxcbiAgICBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksXG4gICAgbnVsbFxuICApO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gZWNsLWJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBlY2wtYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGVjbC1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG5cbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjEuXG4vL1xuLy8gICAgPj4gZWNsLWJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3cHhcbkBmdW5jdGlvbiBlY2wtYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGVjbC1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBlY2wtYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEByZXR1cm4gaWYoJG5leHQsIGVjbC1icmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIDFweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGVjbC1icmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgJycgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gZWNsLWJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICAnLXNtJ1xuQGZ1bmN0aW9uIGVjbC1icmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRlY2wtZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGVjbC1icmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCAnJywgJy0jeyRuYW1lfScpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRlY2wtZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBlY2wtYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIGVjbC1tZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGVjbC1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGVjbC1icmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIGVjbC1tZWRpYS1icmVha3BvaW50LWJldHdlZW4oXG4gICRsb3dlcixcbiAgJHVwcGVyLFxuICAkYnJlYWtwb2ludHM6ICRlY2wtZ3JpZC1icmVha3BvaW50c1xuKSB7XG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIGVjbC1tZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGVjbC1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LWJldHdlZW4oJG5hbWUsICRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRUNMIEJyZWFrcG9pbnRzXG5cbiRlY2wtZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDQ4MHB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGVjbC1jb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNDQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE3MHB4XG4pICFkZWZhdWx0O1xuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGVjbC1ncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuJGVjbC1ncmlkLWd1dHRlci13aWR0aC1iYXNlOiAycmVtICFkZWZhdWx0O1xuJGVjbC1ncmlkLWd1dHRlci13aWR0aHM6IChcbiAgeHM6ICRlY2wtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgc206ICRlY2wtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgbWQ6ICRlY2wtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgbGc6ICRlY2wtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgeGw6ICRlY2wtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZVxuKSAhZGVmYXVsdDtcbiIsIi8qKlxuICogRm9ybVxuICogQGRlZmluZSBmb3JtXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mb3JtL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZm9ybSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS1mb3JtJykge1xuICBAaW5jbHVkZSBlY2wtZm9ybSgpO1xufVxuIiwiLyoqXG4gKiBGb3JtXG4gKiBAZGVmaW5lIGZvcm1cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1mb3JtKCkge1xuICAuZWNsLWZvcm0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIvKipcbiAqIEZvcm0gRmllbGRzZXRcbiAqIEBkZWZpbmUgZmllbGRzZXRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZpZWxkc2V0L2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmllbGRzZXQnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tZmllbGRzZXQnKSB7XG4gIEBpbmNsdWRlIGVjbC1maWVsZHNldCgpO1xufVxuIiwiLyoqXG4gKiBGb3JtIEZpZWxkc2V0XG4gKiBAZGVmaW5lIGZpZWxkc2V0XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZmllbGRzZXQoKSB7XG4gIC5lY2wtZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qIFNwYWNpbmcgKi9cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuICovXG4gICogKyAuZWNsLWZpZWxkc2V0IHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxuXG4gIC8qIFRvcC1sZXZlbCBmaWVsZHNldHMgKi9cbiAgLmVjbC1maWVsZHNldCArIC5lY2wtZmllbGRzZXQge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneGwnKTtcbiAgfVxuXG4gIC8qIE5lc3RlZCBmaWVsZHNldHMgKi9cbiAgLmVjbC1maWVsZHNldCAuZWNsLWZpZWxkc2V0ICsgLmVjbC1maWVsZHNldCB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gIH1cbn1cbiIsIi8qKlxuICogTGVnZW5kIGNvbXBvbmVudFxuICogQGRlZmluZSBmb3JtLWxlZ2VuZFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tbGVnZW5kL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tbGVnZW5kJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLWxlZ2VuZCcpIHtcbiAgQGluY2x1ZGUgZWNsLWZvcm0tbGVnZW5kKCk7XG59XG4iLCIvKipcbiAqIExlZ2VuZCBjb21wb25lbnRcbiAqIEBkZWZpbmUgZm9ybS1sZWdlbmRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1mb3JtLWxlZ2VuZCgpIHtcbiAgLmVjbC1mb3JtLWxlZ2VuZCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBWYXJpYW50cyAqL1xuXG4gIC5lY2wtZm9ybS1sZWdlbmQtLWxldmVsLTEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ2wnKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtZm9ybS1sZWdlbmQtLWxldmVsLTIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBGb3JtIEdyb3VwXG4gKiBAZGVmaW5lIGZvcm0tZ3JvdXBcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZvcm0tZ3JvdXAvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mb3JtLWdyb3VwJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLWZvcm0tZ3JvdXAnKSB7XG4gIEBpbmNsdWRlIGVjbC1mb3JtLWdyb3VwKCk7XG59XG4iLCIvKipcbiAqIEZvcm0gR3JvdXBcbiAqIEBkZWZpbmUgZm9ybS1ncm91cFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWZvcm0tZ3JvdXAoKSB7XG4gIC5lY2wtZm9ybS1ncm91cCB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogU3BhY2luZyAqL1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgKiArIC5lY2wtZm9ybS1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gIH1cbn1cbiIsIkBtaXhpbiBlY2wtaGlkZGVuLXByaW50KCkge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLyoqXG4gKiBCdXR0b25zIGNvbXBvbmVudFxuICogQGRlZmluZSBmb3JtLWxhYmVsXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1sYWJlbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWxhYmVsJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLWxhYmVsJykge1xuICBAaW5jbHVkZSBlY2wtZm9ybS1sYWJlbCgpO1xufVxuIiwiLyoqXG4gKiBCdXR0b25zIGNvbXBvbmVudFxuICogQGRlZmluZSBmb3JtLWxhYmVsXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZm9ybS1sYWJlbCgpIHtcbiAgLmVjbC1mb3JtLWxhYmVsIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbiIsIi8qKlxuICogQ2hlY2tib3ggY29tcG9uZW50XG4gKiBAZGVmaW5lIGNoZWNrYm94XG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1jaGVja2JveC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWNoZWNrYm94JztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtZm9ybS1sYWJlbCcpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLWNoZWNrYm94Jykge1xuICBAaW5jbHVkZSBlY2wtY2hlY2tib3goKTtcbn1cbiIsIi8qKlxuICogQ2hlY2tib3ggY29tcG9uZW50XG4gKiBAZGVmaW5lIGNoZWNrYm94XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtY2hlY2tib3goJGljb24tc2l6ZTogMS41ZW0pIHtcbiAgLmVjbC1jaGVja2JveCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmVjbC1jaGVja2JveC0taXMtZGlzYWJsZWQge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS03NScpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAuZWNsLWNoZWNrYm94X19sYWJlbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvY2hlY2tib3gtdW5jaGVja2VkLnN2ZycpXG4gICAgICAgIG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjUlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGhlaWdodDogJGljb24tc2l6ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICAgIHdpZHRoOiAkaWNvbi1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtY2hlY2tib3gtLWhhcy1lcnJvciAuZWNsLWNoZWNrYm94X19sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gIH1cblxuICAuZWNsLWNoZWNrYm94LS1pcy1kaXNhYmxlZCAuZWNsLWNoZWNrYm94X19sYWJlbDo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgJGljb24tc2l6ZSBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpIGluc2V0O1xuICB9XG5cbiAgLmVjbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCArIC5lY2wtY2hlY2tib3hfX2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvY2hlY2tib3gtY2hlY2tlZC0tYmx1ZS5zdmcnKTtcbiAgfVxuXG4gIC5lY2wtY2hlY2tib3hfX2lucHV0OmZvY3VzICsgLmVjbC1jaGVja2JveF9fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICB9XG59XG4iLCIvLyBPcmlnaW5hbDogaHR0cHM6Ly9naXRodWIuY29tL3dpbHNvbnBhZ2Uvc2Fzcy1pbXBvcnQtb25jZVxuXG4kZWNsLWltcG9ydC1vbmNlLXdhcm46IGZhbHNlICFkZWZhdWx0O1xuJGVjbC1jaGVjay1pbXBvcnRzLXdhcm46IGZhbHNlICFkZWZhdWx0O1xuJGltcG9ydGVkLW1vZHVsZXM6ICgpICFkZWZhdWx0O1xuXG4vLy8gTW9kdWxlIGV4cG9ydCBtaXhpblxuLy8vIFRoaXMgbWl4aW4gaGVscHMgbWFraW5nIHN1cmUgYSBtb2R1bGUgaXMgaW1wb3J0ZWQgb25jZSBhbmQgb25seSBvbmNlLlxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBleHBvcnRlZCBtb2R1bGVcbi8vLyBAcGFyYW0ge0Jvb2x9ICR3YXJuIFt0cnVlXSAtIFdhcm4gd2hlbiBtb2R1bGUgaGFzIGJlZW4gYWxyZWFkeSBpbXBvcnRlZFxuLy8vIEByZXF1aXJlICRpbXBvcnRlZC1tb2R1bGVzXG5AbWl4aW4gZXhwb3J0cygkbmFtZSwgJHdhcm46ICRlY2wtaW1wb3J0LW9uY2Utd2Fybikge1xuICBAaWYgKGluZGV4KCRpbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgICRpbXBvcnRlZC1tb2R1bGVzOiBhcHBlbmQoJGltcG9ydGVkLW1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICR3YXJuID09IHRydWUge1xuICAgIEB3YXJuICdNb2R1bGUgYCN7JG5hbWV9YCBoYXMgYWxyZWFkeSBiZWVuIGltcG9ydGVkLic7XG4gIH1cbn1cblxuLy8gV2FybiBpZiBleHRlcm5hbCBkZXBlbmRlbmNpZXMgaGF2ZSBub3QgYmVlbiBpbXBvcnRlZCB5ZXRcbkBtaXhpbiBjaGVjay1pbXBvcnRzKCRkZXBlbmRlbmNpZXMsICR3YXJuOiAkZWNsLWNoZWNrLWltcG9ydHMtd2Fybikge1xuICBAaWYgJHdhcm4gPT0gdHJ1ZSB7XG4gICAgQGVhY2ggJGRlcCBpbiAkZGVwZW5kZW5jaWVzIHtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgQGlmIChpbmRleCgkaW1wb3J0ZWQtbW9kdWxlcywgJGRlcCkgPT0gbnVsbCkge1xuICAgICAgICBAd2FybiAnTW9kdWxlIGAjeyRkZXB9YCBoYXMgbm90IGJlZW4gaW1wb3J0ZWQgeWV0Lic7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKlxuICogRmVlZGJhY2sgbWVzc2FnZVxuICogQGRlZmluZSBmZWVkYmFjay1tZXNzYWdlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1mZWVkYmFjay1tZXNzYWdlL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmVlZGJhY2stbWVzc2FnZSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS1mZWVkYmFjay1tZXNzYWdlJykge1xuICBAaW5jbHVkZSBlY2wtZmVlZGJhY2stbWVzc2FnZSgpO1xufVxuIiwiLypcbiAqIEZlZWRiYWNrIG1lc3NhZ2VcbiAqIEBkZWZpbmUgZmVlZGJhY2stbWVzc2FnZVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoL2dlbmVyaWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgnO1xuXG5AbWl4aW4gZWNsLWZlZWRiYWNrLW1lc3NhZ2UoKSB7XG4gIC5lY2wtZmVlZGJhY2stbWVzc2FnZSB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9tZXNzYWdlcy1pbmZvLnN2ZycpXG4gICAgICBuby1yZXBlYXQgMS4ycmVtIDEuMnJlbTtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKVxuICAgICAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhsJyk7XG4gIH1cblxuICAuZWNsLWZlZWRiYWNrLW1lc3NhZ2UtLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01Jyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9tZXNzYWdlcy1lcnJvci5zdmcnKTtcbiAgfVxuXG4gIC5lY2wtZmVlZGJhY2stbWVzc2FnZV9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgfVxuXG4gIC5lY2wtZmVlZGJhY2stbWVzc2FnZV9fYm9keSB7XG4gICAgQGluY2x1ZGUgcGFyYWdyYXBoKCk7XG5cbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogU3BhY2luZyAqL1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgKiArIC5lY2wtZmVlZGJhY2stbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG59XG4iLCIvKlxuICogRmlsZSB1cGxvYWRcbiAqIEBkZWZpbmUgZmlsZS11cGxvYWRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLWZpbGUtdXBsb2FkL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tZmlsZS11cGxvYWQnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tZmlsZS11cGxvYWQnKSB7XG4gIEBpbmNsdWRlIGVjbC1maWxlLXVwbG9hZCgpO1xufVxuIiwiLypcbiAqIEZpbGUgdXBsb2FkXG4gKiBAZGVmaW5lIGZpbGUtdXBsb2FkXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZmlsZS11cGxvYWQoKSB7XG4gIC5lY2wtZmlsZS11cGxvYWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtZmlsZS11cGxvYWRfX3ZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGVjbC1jb2xvci1zaGFkZTtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZm9udC1mYW1pbHk6ICRlY2wtZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMTAnKTtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1maWxlLXVwbG9hZF9fYnJvd3NlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJGVjbC1mb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMTAnKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtZmlsZS11cGxvYWRfX3VwbG9hZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJGVjbC1mb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMTAnKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtZmlsZS11cGxvYWRfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gZGlzYWJsZWRcbiAgLmVjbC1maWxlLXVwbG9hZC0taXMtZGlzYWJsZWQge1xuICAgIC5lY2wtZmlsZS11cGxvYWRfX3ZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgIC5lY2wtZmlsZS11cGxvYWRfX2Jyb3dzZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVycm9yXG4gIC5lY2wtZmlsZS11cGxvYWQtLWhhcy1lcnJvciB7XG4gICAgLmVjbC1maWxlLXVwbG9hZF9fdmFsdWUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLWVycm9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgfVxuXG4gICAgLmVjbC1maWxlLXVwbG9hZF9fYnJvd3NlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gICAgfVxuICB9XG59XG4iLCIvKlxuICogSGVscCBCbG9ja1xuICogQGRlZmluZSBoZWxwLWJsb2NrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS1oZWxwLWJsb2NrL2dlbmVyaWMtY29tcG9uZW50LWZvcm0taGVscC1ibG9jayc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS1oZWxwLWJsb2NrJykge1xuICBAaW5jbHVkZSBlY2wtaGVscC1ibG9jaygpO1xufVxuIiwiLypcbiAqIEhlbHAgQmxvY2tcbiAqIEBkZWZpbmUgaGVscC1ibG9ja1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWhlbHAtYmxvY2soKSB7XG4gIC5lY2wtaGVscC1ibG9jayB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjY7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1oZWxwLWJsb2NrLS1kaXNhYmxlZCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTc1Jyk7XG4gIH1cblxuICAuZWNsLWhlbHAtYmxvY2stLWhhcy1lcnJvciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpO1xuICB9XG5cbiAgLyogU3BhY2luZyAqL1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgKiArIC5lY2wtaGVscC1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG59XG4iLCIvKlxuICogUmFkaW9cbiAqIEBkZWZpbmUgcmFkaW9cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXJhZGlvL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tcmFkaW8nO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1mb3JtLWxhYmVsJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tcmFkaW8nKSB7XG4gIEBpbmNsdWRlIGVjbC1yYWRpbygpO1xufVxuIiwiLypcbiAqIFJhZGlvXG4gKiBAZGVmaW5lIHJhZGlvXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtcmFkaW8oJGljb24tc2l6ZTogMS41cmVtKSB7XG4gIC5lY2wtcmFkaW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgMDtcbiAgfVxuXG4gIC5lY2wtcmFkaW8tLWlzLWRpc2FibGVkIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNzUnKTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLmVjbC1yYWRpb19fbGFiZWwge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL3JhZGlvLXVuY2hlY2tlZC5zdmcnKVxuICAgICAgICBuby1yZXBlYXQ7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBoZWlnaHQ6ICRpY29uLXNpemU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgICB3aWR0aDogJGljb24tc2l6ZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXJhZGlvLS1oYXMtZXJyb3IgLmVjbC1yYWRpb19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLWVycm9yO1xuICB9XG5cbiAgLmVjbC1yYWRpb19faW5wdXQ6Y2hlY2tlZCArIC5lY2wtcmFkaW9fX2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvcmFkaW8tY2hlY2tlZC0tYmx1ZS5zdmcnKTtcbiAgfVxuXG4gIC5lY2wtcmFkaW9fX2lucHV0OmZvY3VzICsgLmVjbC1yYWRpb19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICB9XG59XG4iLCIvKlxuICogUmFkaW8gZ3JvdXBcbiAqIEBkZWZpbmUgcmFkaW8tZ3JvdXBcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXJhZGlvLWdyb3VwL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tcmFkaW8tZ3JvdXAnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZvcm0tcmFkaW8tZ3JvdXAnKSB7XG4gIEBpbmNsdWRlIGVjbC1yYWRpby1ncm91cCgpO1xufVxuIiwiLypcbiAqIFJhZGlvIGdyb3VwXG4gKiBAZGVmaW5lIHJhZGlvLWdyb3VwXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtcmFkaW8tZ3JvdXAoKSB7XG4gIC5lY2wtcmFkaW8tZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIvKipcbiAqIFNlbGVjdFxuICogQGRlZmluZSBzZWxlY3RcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXNlbGVjdC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXNlbGVjdCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS1zZWxlY3QnKSB7XG4gIEBpbmNsdWRlIGVjbC1zZWxlY3QoKTtcbn1cbiIsIi8qKlxuICogU2VsZWN0XG4gKiBAZGVmaW5lIHNlbGVjdFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG4vLyBWYXJpYWJsZXNcbiRlY2wtc2VsZWN0LWljb24tc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiRlY2wtc2VsZWN0LWJhY2tncm91bmQtd2lkdGg6ICRlY2wtc2VsZWN0LWljb24tc2l6ZSArIDIgKlxuICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuXG4vLyBTZWxlY3QgbGlzdCBhcnJvdyBzdHlsaW5nLlxuQG1peGluIGVjbC1zZWxlY3QtbGlzdC1hcnJvdygkYmFja2dyb3VuZC1jb2xvciwgJGFycm93LWdyZXk6IGZhbHNlKSB7XG4gIEBpZiAoJGFycm93LWdyZXkpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL2Fycm93LWRvd24uc3ZnJyksXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkYmFja2dyb3VuZC1jb2xvciwgJGJhY2tncm91bmQtY29sb3IpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL2Fycm93LWRvd24tLXdoaXRlLnN2ZycpLFxuICAgICAgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGJhY2tncm91bmQtY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0XG4gICAgICAoJGVjbC1zZWxlY3QtYmFja2dyb3VuZC13aWR0aCAtICRlY2wtc2VsZWN0LWljb24tc2l6ZSkvMiBjZW50ZXIsXG4gICAgcmlnaHQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogJGVjbC1zZWxlY3QtaWNvbi1zaXplIGF1dG8sICRlY2wtc2VsZWN0LWJhY2tncm91bmQtd2lkdGggMTAwJTtcbn1cblxuQG1peGluIGVjbC1zZWxlY3QoKSB7XG4gIC5lY2wtc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBlY2wtc2VsZWN0LWxpc3QtYXJyb3coJGVjbC1jb2xvci1zaGFkZSk7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGVjbC1jb2xvci1zaGFkZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZWNsLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpXG4gICAgICAoJGVjbC1zZWxlY3QtYmFja2dyb3VuZC13aWR0aCArIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpKVxuICAgICAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLyogU3BhY2luZyAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgICAqICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgfVxuXG4gICAgLy8gRml4IGZvciBJRSAxMCsuXG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgICAgb3V0bGluZTogM3B4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTEwJyk7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNzczNDMwL3JlbW92ZS1vdXRsaW5lLWZyb20tc2VsZWN0LWJveC1pbi1mZiMxODg1MzAwMlxuICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0sXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6bm90KFtkaXNhYmxlZF0pOm5vdChbcmVhZG9ubHldKTpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtc2VsZWN0LWxpc3QtYXJyb3coJGVjbC1jb2xvci1wcmltYXJ5KTtcblxuICAgICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1zZWxlY3QtLWhhcy1lcnJvciB7XG4gICAgQGluY2x1ZGUgZWNsLXNlbGVjdC1saXN0LWFycm93KCRlY2wtY29sb3ItZXJyb3IpO1xuXG4gICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLWVycm9yO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICB9XG59XG4iLCIvKipcbiAqIFRleHQgaW5wdXQgY29tcG9uZW50XG4gKiBAZGVmaW5lIHRleHQtaW5wdXRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXRleHQtaW5wdXQvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS10ZXh0LWlucHV0JztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb3JtLXRleHQtaW5wdXQnKSB7XG4gIEBpbmNsdWRlIGVjbC10ZXh0LWlucHV0KCk7XG59XG4iLCIvKipcbiAqIFRleHQgaW5wdXQgY29tcG9uZW50XG4gKiBAZGVmaW5lIHRleHQtaW5wdXRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC10ZXh0LWlucHV0KCkge1xuICAuZWNsLXRleHQtaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRlY2wtZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgICAqICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTEwJyk7XG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMTAnKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXRleHQtaW5wdXQtLWhhcy1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZWNsLWNvbG9yLWVycm9yO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICB9XG59XG4iLCIvKipcbiAqIFRleHRhcmVhIGNvbXBvbmVudFxuICogQGRlZmluZSB0ZXh0YXJlYVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvcm0tdGV4dGFyZWEvZ2VuZXJpYy1jb21wb25lbnQtZm9ybS10ZXh0YXJlYSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZm9ybS10ZXh0YXJlYScpIHtcbiAgQGluY2x1ZGUgZWNsLXRleHRhcmVhKCk7XG59XG4iLCIvKipcbiAqIFRleHRhcmVhIGNvbXBvbmVudFxuICogQGRlZmluZSB0ZXh0YXJlYVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXRleHRhcmVhKCkge1xuICAuZWNsLXRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGVjbC1jb2xvci1zaGFkZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZWNsLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuICovXG4gICAgKiArICYge1xuICAgICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgICAgb3V0bGluZTogM3B4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTEwJyk7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICAmLS1pcy1kaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSxcbiAgICAmLS1pcy1yZWFkb25seSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLmVjbC10ZXh0YXJlYS0taGFzLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRlY2wtY29sb3ItZXJyb3IsIDEwJSk7XG4gICAgICBvdXRsaW5lLWNvbG9yOiBkYXJrZW4oJGVjbC1jb2xvci1lcnJvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogQmxvY2txdW90ZXNcbiAqIEBkZWZpbmUgYmxvY2txdW90ZVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWJsb2NrcXVvdGUvZ2VuZXJpYy1jb21wb25lbnQtYmxvY2txdW90ZSc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtYmxvY2txdW90ZScpIHtcbiAgQGluY2x1ZGUgZWNsLWJsb2NrcXVvdGUoKTtcbn1cbiIsIi8qKlxuICogQmxvY2txdW90ZXNcbiAqIEBkZWZpbmUgYmxvY2txdW90ZVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuQGltcG9ydCAnbWl4aW5zJztcblxuQG1peGluIGVjbC1ibG9ja3F1b3RlKCkge1xuICAuZWNsLWJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIGJsb2NrcXVvdGUtY29udGFpbmVyKCk7XG4gIH1cblxuICAuZWNsLWJsb2NrcXVvdGVfX2JvZHkge1xuICAgIEBpbmNsdWRlIGJsb2NrcXVvdGUtYm9keSgpO1xuICB9XG5cbiAgLmVjbC1ibG9ja3F1b3RlX19hdXRob3Ige1xuICAgIEBpbmNsdWRlIGJsb2NrcXVvdGUtYXV0aG9yKCk7XG4gIH1cblxuICAvLyBWYXJpYW50c1xuXG4gIC5lY2wtYmxvY2txdW90ZS0tc21hbGwge1xuICAgIEBpbmNsdWRlIGJsb2NrcXVvdGUtY29udGFpbmVyLS1zbWFsbCgpO1xuXG4gICAgLmVjbC1ibG9ja3F1b3RlX19ib2R5IHtcbiAgICAgIEBpbmNsdWRlIGJsb2NrcXVvdGUtYm9keS0tc21hbGwoKTtcbiAgICB9XG5cbiAgICAuZWNsLWJsb2NrcXVvdGVfX2F1dGhvciB7XG4gICAgICBAaW5jbHVkZSBibG9ja3F1b3RlLWF1dGhvci0tc21hbGwoKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBibG9ja3F1b3RlLWNvbnRhaW5lcigpIHtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAkZWNsLWNvbG9yLXNlY29uZGFyeTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKVxuICAgIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xufVxuXG5AbWl4aW4gYmxvY2txdW90ZS1jb250YWluZXItLXNtYWxsKCkge1xuICBib3JkZXItbGVmdC13aWR0aDogNnB4O1xufVxuXG5AbWl4aW4gYmxvY2txdW90ZS1ib2R5KCkge1xuICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbjogMDtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gIH1cbn1cblxuQG1peGluIGJsb2NrcXVvdGUtYm9keS0tc21hbGwoKSB7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbn1cblxuQG1peGluIGJsb2NrcXVvdGUtYXV0aG9yKCkge1xuICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG59XG5cbkBtaXhpbiBibG9ja3F1b3RlLWF1dGhvci0tc21hbGwoKSB7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG59XG4iLCIvKipcbiAqIEJ1dHRvbiBjb21wb25lbnRcbiAqIEBkZWZpbmUgYnV0dG9uXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYnV0dG9uL2dlbmVyaWMtY29tcG9uZW50LWJ1dHRvbic7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtYnV0dG9uJykge1xuICBAaW5jbHVkZSBlY2wtYnV0dG9uKCk7XG59XG4iLCIvKipcbiAqIEJ1dHRvbnMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGJ1dHRvblxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBtaXhpbnNcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5AaW1wb3J0ICcuL21peGlucyc7XG5cbkBtaXhpbiBlY2wtYnV0dG9uKCkge1xuICAuZWNsLWJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZWNsLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtYnV0dG9uOmxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1idXR0b24tLWRlZmF1bHQge1xuICAgIGJvcmRlci1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTI1Jyk7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMjUnKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGJvcmRlci1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1idXR0b24tLXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtYnV0dG9uLS1jYWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICBjb2xvcjogIzAwMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICAgICAgb3V0bGluZS1jb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTI1Jyk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMjUnKTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtYnV0dG9uLS1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTUnKTtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtYnV0dG9uLS1mb3JtLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTUnKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTUnKTtcbiAgICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1idXR0b24tLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtYnV0dG9uLS1jYXJldC11cCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCd1cCcpO1xuICAgICAgQGluY2x1ZGUgZWNsLWJ1dHRvbi0tY2FyZXQoKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWJ1dHRvbi0tY2FyZXQtcmlnaHQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuXG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbigncmlnaHQnKTtcbiAgICAgIEBpbmNsdWRlIGVjbC1idXR0b24tLWNhcmV0KCk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1idXR0b24tLWNhcmV0LWRvd24ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuXG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbignZG93bicpO1xuICAgICAgQGluY2x1ZGUgZWNsLWJ1dHRvbi0tY2FyZXQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBlY2wtYnV0dG9uLS1jYXJldCgpIHtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG59XG4iLCIvKlxuICogRGF0ZSBibG9ja1xuICogQGRlZmluZSBkYXRlLWJsb2NrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZGF0ZS1ibG9jay9nZW5lcmljLWNvbXBvbmVudC1kYXRlLWJsb2NrJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1kYXRlLWJsb2NrJykge1xuICBAaW5jbHVkZSBlY2wtZGF0ZS1ibG9jaygpO1xufVxuIiwiLypcbiAqIERhdGUgYmxvY2tcbiAqIEBkZWZpbmUgZGF0ZS1ibG9ja1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWRhdGUtYmxvY2soKSB7XG4gIC5lY2wtZGF0ZS1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNScpO1xuICAgIGJvcmRlci1ib3R0b206IDAuMmVtIHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItbGVmdDogMS4yZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiAxLjJlbSBzb2xpZCAjZmZmO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuZWNsLWRhdGUtYmxvY2tfX2JvZHkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiA1LjU1cmVtO1xuICAgIG1pbi13aWR0aDogNS41NXJlbTtcbiAgfVxuXG4gIC5lY2wtZGF0ZS1ibG9ja19fd2Vlay1kYXkge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gIC5lY2wtZGF0ZS1ibG9ja19fZGF5IHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4bCcpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gIC5lY2wtZGF0ZS1ibG9ja19fbW9udGgge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIH1cblxuICAuZWNsLWRhdGUtYmxvY2tfX3llYXIge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG5cbiAgLy8gb25nb2luZ1xuICAuZWNsLWRhdGUtYmxvY2stLW9uZ29pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gIH1cblxuICAvLyBjYW5jZWxsZWRcbiAgLmVjbC1kYXRlLWJsb2NrLS1jYW5jZWxsZWQge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cblxuICAvLyBwYXN0XG4gIC5lY2wtZGF0ZS1ibG9jay0tcGFzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDAuMmVtIHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDEuMzVlbTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDEuMzVlbTtcbiAgICAgIHJpZ2h0OiAtMC4yZW07XG4gICAgICB0b3A6IC0wLjJlbTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDAuMmVtIHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMS44NWVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDAuNDVlbTtcbiAgICAgIHRvcDogLTAuNGVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRmllbGRzIGNvbXBvbmVudFxuICogQGRlZmluZSBmaWVsZFxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZpZWxkL2dlbmVyaWMtY29tcG9uZW50LWZpZWxkJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1maWVsZCcpIHtcbiAgQGluY2x1ZGUgZWNsLWZpZWxkKCk7XG59XG4iLCIvKipcbiAqIEZpZWxkcyBjb21wb25lbnRcbiAqIEBkZWZpbmUgZmllbGRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1maWVsZCgpIHtcbiAgLmVjbC1maWVsZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtZmllbGRfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gIH1cblxuICAuZWNsLWZpZWxkICsgLmVjbC1maWVsZCB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5lY2wtZmllbGQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLmVjbC1maWVsZF9fbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuXG4gICAgLmVjbC1maWVsZC0tYWxpZ25lZCAuZWNsLWZpZWxkX19ib2R5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCU7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIExhYmVscyBjb21wb25lbnRcbiAqIEBkZWZpbmUgbGFiZWxcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1sYWJlbC9nZW5lcmljLWNvbXBvbmVudC1sYWJlbCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbGFiZWwnKSB7XG4gIEBpbmNsdWRlIGVjbC1sYWJlbCgpO1xufVxuIiwiLyoqXG4gKiBMYWJlbHMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGxhYmVsXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbGFiZWwoKSB7XG4gIC5lY2wtbGFiZWwge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmVjbC1sYWJlbC0tdXBjb21pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMjUnKTtcbiAgfVxuXG4gIC5lY2wtbGFiZWwtLW9wZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gIH1cblxuICAuZWNsLWxhYmVsLS1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTUnKTtcbiAgfVxufVxuIiwiLyoqXG4qIExpbmsgY29tcG9uZW50XG4qIEBkZWZpbmUgbGlua1xuKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGluay9nZW5lcmljLWNvbXBvbmVudC1saW5rJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1saW5rJykge1xuICBAaW5jbHVkZSBlY2wtbGluaygpO1xufVxuIiwiLyoqXG4qIExpbmsgY29tcG9uZW50XG4qIEBkZWZpbmUgbGlua1xuKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtaWNvbi92YXJpYWJsZXMnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLWljb24vbWl4aW5zJztcbkBpbXBvcnQgJy4vbWl4aW5zJztcblxuQG1peGluIGVjbC1saW5rKCkge1xuICAuZWNsLWxpbmsge1xuICAgIEBpbmNsdWRlIGxpbmsoKTtcbiAgfVxuXG4gIC5lY2wtbGluay0tZXh0ZXJuYWwge1xuICAgIEBpbmNsdWRlIGxpbmstZXh0ZXJuYWwoKTtcbiAgfVxuXG4gIC5lY2wtbGluay0tc3RhbmRhbG9uZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbGluay0taW52ZXJ0ZWQge1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAuZWNsLWxpbmstLWFsbCB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmVjbC1saW5rLS1tb3JlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdyaWdodCcpO1xuXG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjRlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGluaygpIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAncHVycGxlLTEwMCcpO1xuICB9XG59XG5cbkBtaXhpbiBsaW5rLWV4dGVybmFsIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuXG4gICAgQGluY2x1ZGUgZWNsLWljb24oJ2V4dGVybmFsJyk7XG5cbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBtYXJnaW4tbGVmdDogMC40ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgfVxufVxuIiwiLyoqXG4qIExvZ2luIGJhciBjb21wb25lbnRcbiogQGRlZmluZSBsb2dpbi1iYXJcbiovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtbGF5b3V0LWdyaWQnLCAnZWMtY29tcG9uZW50LWxpbmsnKSk7XG5cbkBtaXhpbiBlY2wtbG9naW4tYmFyKCkge1xuICAuZWNsLWxvZ2luLWJhciB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNScpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSAwO1xuICB9XG5cbiAgLmVjbC1sb2dpbi1iYXJfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgLmVjbC1sb2dpbi1iYXJfX21lc3NhZ2Uge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMDAnKTtcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICB9XG5cbiAgLmVjbC1sb2dpbi1iYXJfX2xpbmsge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG59XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbG9naW4gYmFyJykge1xuICBAaW5jbHVkZSBlY2wtbG9naW4tYmFyKCk7XG59XG4iLCIvKipcbiAqIExvZ29zXG4gKiBAZGVmaW5lIGxvZ29cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWxvZ28oKSB7XG4gIC8vIERlZmF1bHQgRUMgbG9nby5cbiAgLmVjbC1sb2dvIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL2xvZ28uc3ZnJykgbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNzJweDtcbiAgICB3aWR0aDogMTQwcHg7XG4gIH1cblxuICAuZWNsLWxvZ28tLWJpZyB7XG4gICAgaGVpZ2h0OiAxNTNweDtcbiAgICB3aWR0aDogMjkwcHg7XG4gIH1cblxuICAvLyBFQyBsb2dvdHlwZVxuICAvL1xuICAvLyBFQyBsb2dvIHdpdGggdGV4dC5cblxuICAvLyBTZXRzIGxhbmd1YWdlLXNwZWNpZmljIGJhY2tncm91bmQgaW1hZ2Ugb24gLmVjbC1sb2dvLS1sb2dvdHlwZSBlbGVtZW50IG5lc3RlZFxuICAvLyBpbiB7e21vZGlmaWVyX2NsYXNzfX0gbW9kaWZpZXIuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBsb2dvLWJhY2tncm91bmQtbGFuZ3VhZ2VzKFxuICAgICRlY2wtYXNzZXRzLXBhdGggKyAnaW1hZ2VzL2xvZ28vbG9nby0tJyxcbiAgICAnLnN2ZydcbiAgKTtcblxuICAuZWNsLWxvZ28tLWxvZ290eXBlIHtcbiAgICB3aWR0aDogMTkwcHg7XG4gIH1cblxuICAvLyBFQyBsb2dvdHlwZSB3aXRoIHRleHQgYmVsb3cgdGhlIGxvZ29cbiAgLy9cbiAgLy8gRUMgbG9nbyB3aXRoIHRleHQgYmVsb3cuXG5cbiAgLy8gU2V0cyBsYW5ndWFnZS1zcGVjaWZpYyBiYWNrZ3JvdW5kIGltYWdlIG9uIC5lY2wtbG9nby0tbG9nb3R5cGViZWxvdyBlbGVtZW50IG5lc3RlZFxuICAvLyBpbiB7e21vZGlmaWVyX2NsYXNzfX0gbW9kaWZpZXIuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBsb2dvLWJhY2tncm91bmQtbGFuZ3VhZ2VzKFxuICAgICRlY2wtYXNzZXRzLXBhdGggKyAnaW1hZ2VzL2xvZ28vbG9nb3R5cGViZWxvdy0tJyxcbiAgICAnLnN2ZycsXG4gICAgJ2VjbC1sb2dvLS1sb2dvdHlwZWJlbG93J1xuICApO1xuXG4gIC5lY2wtbG9nby0tbG9nb3R5cGViZWxvdyB7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIHdpZHRoOiAxOThweDtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIC5lY2wtbG9nby0tbG9nb3R5cGUge1xuICAgICAgd2lkdGg6IDI5MHB4O1xuICAgIH1cblxuICAgIC5lY2wtbG9nby0tbG9nb3R5cGViZWxvdyB7XG4gICAgICBoZWlnaHQ6IDExOHB4O1xuICAgICAgd2lkdGg6IDMyNHB4O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEVDIGxvZ29cbiAqL1xuXG4vLyBMYW5ndWFnZSBnZW5lcmF0b3IuXG5AbWl4aW4gbG9nby1iYWNrZ3JvdW5kLWxhbmd1YWdlcyhcbiAgJGZpbGVfcGF0aCxcbiAgJGZpbGVfZXh0ZW5zaW9uLFxuICAkbG9nb19jbGFzczogZWNsLWxvZ28tLWxvZ290eXBlXG4pIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGVjbC1sYW5ndWFnZXMge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgLmxhbmd1YWdlLSN7JGl0ZW19IHtcbiAgICAgIC4jeyRsb2dvX2NsYXNzfSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skZmlsZV9wYXRofSN7JGl0ZW19I3skZmlsZV9leHRlbnNpb259Jyk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC4jeyRsb2dvX2NsYXNzfTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoJyN7JGZpbGVfcGF0aH0jeyRpdGVtfSN7JGZpbGVfZXh0ZW5zaW9ufScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxufVxuXG4vLyBVc2UgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1sb2dvJykge1xuICBAaW5jbHVkZSBlY2wtbG9nbygpO1xufVxuIiwiLyoqXG4gKiBNZXNzYWdlc1xuICogQGRlZmluZSBtZXNzYWdlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbWVzc2FnZS9nZW5lcmljLWNvbXBvbmVudC1tZXNzYWdlJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbWVzc2FnZScpIHtcbiAgQGluY2x1ZGUgZWNsLW1lc3NhZ2UoKTtcbn1cbiIsIi8qKlxuICogTWVzc2FnZXNcbiAqIEBkZWZpbmUgbWVzc2FnZVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLW1lc3NhZ2UoKSB7XG4gIC5lY2wtbWVzc2FnZSB7XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1heC1jb250ZW50O1xuICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKVxuICAgICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eGwnKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL21lc3NhZ2VzLWluZm8uc3ZnJylcbiAgICAgIG5vLXJlcGVhdCAxLjJyZW0gMS4ycmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTc1Jyk7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4taGVpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eGwnKSArXG4gICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKVxuICAgICAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eGwnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLS1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvbWVzc2FnZXMtc3VjY2Vzcy5zdmcnKTtcbiAgICAgIGJvcmRlci1jb2xvcjogJGVjbC1jb2xvci1zdWNjZXNzO1xuICAgIH1cblxuICAgICYtLXdhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9tZXNzYWdlcy13YXJuaW5nLnN2ZycpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgIH1cblxuICAgICYtLWVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvbWVzc2FnZXMtZXJyb3Iuc3ZnJyk7XG4gICAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gICAgfVxuXG4gICAgJi0tbGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGVjbC1hc3NldHMtcGF0aCsnaW1hZ2VzL2xpdmVfc3RyZWFtaW5nLnN2ZycpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTExMCcpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbWVzc2FnZV9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1tZXNzYWdlX19ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbWVzc2FnZV9fZGlzbWlzcyB7XG4gICAgQGluY2x1ZGUgZWNsLWZvY3VzLW91dGxpbmUtYm9yZGVyKFxuICAgICAgJHRoaWNrbmVzOiAzcHgsXG4gICAgICAkY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyksXG4gICAgICAkb2Zmc2V0OiAzcHhcbiAgICApO1xuXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB0b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIGFsaWduLXNlbGY6IHNlbGYtc3RhcnQ7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcbiAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyO1xuICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRvcDogYXV0bztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9jbG9zZS5zdmcnKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDAgMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICAuZWNsLW1lc3NhZ2VfX2Rpc21pc3MtLWludmVydGVkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuODg5ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBjb250ZW50OiAnXFwwMEQ3JztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LWRvd24oJ3hzJykge1xuICAgIC5lY2wtbWVzc2FnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpICsgMiAqXG4gICAgICAgIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgKyAxLjVyZW07XG5cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmVjbC1tZXNzYWdlX19kaXNtaXNzIHtcbiAgICAgIGJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICAgIHRvcDogYXV0bztcblxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIGFsaWduLXNlbGY6IHNlbGYtZW5kO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgICAgICBncmlkLXJvdy1lbmQ6IDQ7XG4gICAgICAgIGdyaWQtcm93LXN0YXJ0OiAzO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9jdXMgb3V0bGluZSBib3JkZXJcblxuQG1peGluIGVjbC1mb2N1cy1vdXRsaW5lLWJvcmRlcihcbiAgJHRoaWNrbmVzOiAzcHgsXG4gICRjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKSxcbiAgJG9mZnNldDogMCxcbiAgJHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lXG4pIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogJHRoaWNrbmVzIHNvbGlkICRjb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICB0ZXh0LWRlY29yYXRpb246ICR0ZXh0LWRlY29yYXRpb247XG4gIH1cbn1cbiIsIi8qXG4gKiBFQ0wgbWV0YVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LW1ldGEvZ2VuZXJpYy1jb21wb25lbnQtbWV0YSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbWV0YScpIHtcbiAgQGluY2x1ZGUgZWNsLW1ldGEoKTtcbn1cbiIsIi8qXG4gKiBFQ0wgbWV0YVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLW1ldGEoKSB7XG4gIC5lY2wtbWV0YSB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmVjbC1tZXRhX19pdGVtIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgICBjb250ZW50OiAnfCc7XG4gICAgICBtYXJnaW46IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1tZXRhLS1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgfVxufVxuIiwiLyoqXG4qIFNpdGUgc3dpdGNoZXIgY29tcG9uZW50XG4qIEBkZWZpbmUgc2l0ZS1zd2l0Y2hlclxuKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtc2l0ZS1zd2l0Y2hlci9nZW5lcmljLWNvbXBvbmVudC1zaXRlLXN3aXRjaGVyJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1sYXlvdXQtZ3JpZCcsICdlYy1jb21wb25lbnQtbGluaycpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1zaXRlLXN3aXRjaGVyJykge1xuICBAaW5jbHVkZSBlY2wtc2l0ZS1zd2l0Y2hlcigpO1xufVxuIiwiLyoqXG4qIFNpdGUgc3dpdGNoZXIgY29tcG9uZW50XG4qIEBkZWZpbmUgc2l0ZS1zd2l0Y2hlclxuKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtc2l0ZS1zd2l0Y2hlcigpIHtcbiAgLmVjbC1zaXRlLXN3aXRjaGVyIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01Jyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIG1hcmdpbjogMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZWNsLXNpdGUtc3dpdGNoZXJfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOjphZnRlcixcbiAgICAmLS1pcy1leHRlcm5hbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXNpdGUtc3dpdGNoZXJfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLXNpdGUtc3dpdGNoZXJfX29wdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICAuZWNsLXNpdGUtc3dpdGNoZXJfX29wdGlvbi0taXMtc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEwMCcpO1xuXG4gICAgLmVjbC1zaXRlLXN3aXRjaGVyX19saW5rIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlci0taGVhZGVyLFxuICAuZWNsLXNpdGUtc3dpdGNoZXItLWZvb3RlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlci0tZm9vdGVyIC5lY2wtc2l0ZS1zd2l0Y2hlcl9fb3B0aW9uLFxuICAuZWNsLXNpdGUtc3dpdGNoZXItLWhlYWRlciAuZWNsLXNpdGUtc3dpdGNoZXJfX29wdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi0taXMtc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMTBweCBzb2xpZCByZ2JhKDAsIDY4LCAxNDgsIDApO1xuICAgICAgY29udGVudDogJyAnICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2l0ZS1zd2l0Y2hlci0taGVhZGVyIC5lY2wtc2l0ZS1zd2l0Y2hlcl9fb3B0aW9uIHtcbiAgICAmLS1pcy1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgICB0b3A6IDk1JTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXNpdGUtc3dpdGNoZXItLWZvb3RlciAuZWNsLXNpdGUtc3dpdGNoZXJfX29wdGlvbiB7XG4gICAgJi0taXMtc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEwMCcpO1xuICAgICAgYm90dG9tOiA5NSU7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmVjbC1zaXRlLXN3aXRjaGVyX19vcHRpb24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmVjbC1zaXRlLXN3aXRjaGVyLS1mb290ZXIge1xuICAgICAgLmVjbC1zaXRlLXN3aXRjaGVyX19saXN0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBTb2NpYWwgaWNvbnNcbiAqIEBkZWZpbmUgc29jaWFsLWljb25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtaWNvbi9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtaWNvbic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWxpbmsnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtc29jaWFsLWljb24nKSB7XG4gIEBpbmNsdWRlIGVjbC1zb2NpYWwtaWNvbigpO1xufVxuIiwiLyoqXG4gKiBTb2NpYWwgaWNvbnNcbiAqIEBkZWZpbmUgc29jaWFsLWljb25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuLy8gQnJpbmdzIGluIHRoZSBsb25nIGxpc3QgZm9yICRlY2wtc29jaWFsLWljb25zLlxuQGltcG9ydCAnLi9pY29ucy1saXN0JztcblxuLy8gRGVmaW5lIHZhcmlhYmxlc1xuJGltZy1wYXRoOiAkZWNsLWFzc2V0cy1wYXRoICsgJ2ltYWdlcy9zb2NpYWwvJztcblxuLy8gU29jaWFsIGljb25zIGltYWdlLlxuQG1peGluIGdlbmVyYXRlLWljb24oXG4gICRzZWxlY3RvcixcbiAgJGltZy1wYXRoLFxuICAkaW1hZ2UsXG4gICRpbWctaG92ZXIsXG4gICRleHRyYTogbnVsbCxcbiAgJGV4dHJhX2hvdmVyOiBudWxsXG4pIHtcbiAgLy8gSWdub3JpbmcgbmV4dCAyIHNlbGVjdG9ycyBzaW5jZSB0aGUgZHluYW1pYyBzZWxlY3RvciBpcyBwcm9ibGVtYXRpYyBmb3IgdGhlIGxpbnRlci5cblxuICAvKiBwb3N0Y3NzLWJlbS1saW50ZXI6IGlnbm9yZSAqL1xuICAjeyRzZWxlY3Rvcn06OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCRpbWctcGF0aCskaW1hZ2UpIG5vLXJlcGVhdCAkZXh0cmE7XG4gIH1cblxuICAvKiBwb3N0Y3NzLWJlbS1saW50ZXI6IGlnbm9yZSAqL1xuICAjeyRzZWxlY3Rvcn06aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWctcGF0aCskaW1nLWhvdmVyKSAkZXh0cmFfaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGVjbC1zb2NpYWwtaWNvbigpIHtcbiAgLmVjbC1zb2NpYWwtaWNvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtc29jaWFsLWljb246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgfVxuXG4gIC5lY2wtc29jaWFsLWljb24tLXNtYWxsZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGljb24sICRleHRyYSBpbiAkZWNsLXNvY2lhbC1pY29ucyB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtaWNvbihcbiAgICAgICcuZWNsLXNvY2lhbC1pY29uLS0nICsgJGljb24sXG4gICAgICAkaW1nLXBhdGgsXG4gICAgICAkaWNvbiArICcuc3ZnJyxcbiAgICAgICRpY29uICsgJ19ob3Zlci5zdmcnLFxuICAgICAgI3skZXh0cmF9XG4gICAgKTtcbiAgfVxufVxuIiwiLypcbiAqRUNMIHRhYmxlc1xuICogQGRlZmluZSB0YWJsZSA7IHdlYWtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC10YWJsZS9nZW5lcmljLWNvbXBvbmVudC10YWJsZSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtdGFibGUnKSB7XG4gIEBpbmNsdWRlIGVjbC10YWJsZSgpO1xufVxuIiwiLypcbiAqRUNMIHRhYmxlc1xuICogQGRlZmluZSB0YWJsZSA7IHdlYWtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcbkBpbXBvcnQgJ21peGlucyc7XG5cbkBtaXhpbiBlY2wtdGFibGUoKSB7XG4gIC5lY2wtdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkZWNsLWdyaWQtYnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgLmVjbC10YWJsZSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1tYXgtd2lkdGgtbWQoKTtcbiAgICB9XG5cbiAgICAuZWNsLXRhYmxlX19oZWFkaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5lY2wtdGFibGVfX2dyb3VwLWxhYmVsIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoLWdyb3VwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLShtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKSk7XG4gICAgICB9XG5cbiAgICAgIH4gLmVjbC10YWJsZV9fZ3JvdXBfZWxlbWVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgIC5lY2wtdGFibGUge1xuICAgICAgQGluY2x1ZGUgdGFibGUtbWluLXdpZHRoLW1kKCk7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gdGFibGUoKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgbWFyZ2luOiAwO1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuXG4gIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbkBtaXhpbiB0YWJsZS1tYXgtd2lkdGgtbWQoKSB7XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICB9XG5cbiAgdHI6bnRoLW9mLXR5cGUoMm4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqL1xuICB0ZFtkYXRhLXRoLWdyb3VwXSB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxuXG4gIHRkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuQG1peGluIHRhYmxlLW1pbi13aWR0aC1tZCgpIHtcbiAgLyogWmVicmEgc3RyaXBpbmcgKi9cbiAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgfVxuXG4gIHRib2R5IHtcbiAgICAvKiBIb3ZlciAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuICAgIHRyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbmVzdGluZy1kZXB0aCwgc2VsZWN0b3ItbWF4LWNvbXBvdW5kLXNlbGVjdG9ycyAqL1xuICAgIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZWNsLWNvbG9yLXNoYWRlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LW5lc3RpbmctZGVwdGggKi9cbiAgICB0cjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBUYWdzXG4gKiBAZGVmaW5lIHRhZ1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXRhZy9nZW5lcmljLWNvbXBvbmVudC10YWcnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1idXR0b24nKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtdGFnJykge1xuICBAaW5jbHVkZSBlY2wtdGFnKCk7XG59XG4iLCIvKipcbiAqIFRhZ3NcbiAqIEBkZWZpbmUgdGFnXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdGFnKCkge1xuICAuZWNsLXRhZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZWNsLXRhZ19fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5lY2wtdGFnX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZm9udC1mYW1pbHk6ICRlY2wtZm9udC1mYW1pbHktYmFzZTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLXRhZy0tZmFjZXQtY2xvc2Uge1xuICAgIC5lY2wtdGFnX19pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAuZWNsLXRhZ19faXRlbTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCd0YWctY2xvc2UnKTtcblxuICAgICAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnbWl4aW5zJztcblxuQG1peGluIGVjbC1lZGl0b3ItYmxvY2txdW90ZSgpIHtcbiAgLmVjbC1lZGl0b3IgYmxvY2txdW90ZSB7XG4gICAgQGluY2x1ZGUgYmxvY2txdW90ZS1jb250YWluZXIoKTtcblxuICAgIHAge1xuICAgICAgQGluY2x1ZGUgYmxvY2txdW90ZS1ib2R5KCk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1lZGl0b3IgKiArIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi9taXhpbnMnO1xuXG5AbWl4aW4gZWNsLWVkaXRvci1saW5rKCkge1xuICAuZWNsLWVkaXRvciBhIHtcbiAgICBAaW5jbHVkZSBsaW5rKCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ21peGlucyc7XG5cbkBtaXhpbiBlY2wtZWRpdG9yLXRhYmxlKCkge1xuICAuZWNsLWVkaXRvciB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoKTtcbiAgfVxuXG4gIC5lY2wtZWRpdG9yICogKyB0YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGVjbC1ncmlkLWJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgIC5lY2wtZWRpdG9yIHRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLW1heC13aWR0aC1tZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgnbWQnKSB7XG4gICAgLmVjbC1lZGl0b3IgdGFibGUge1xuICAgICAgQGluY2x1ZGUgdGFibGUtbWluLXdpZHRoLW1kKCk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEJhbm5lcnMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGJhbm5lclxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWJhbm5lci9nZW5lcmljLWNvbXBvbmVudC1iYW5uZXInO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKFxuICAgICdlYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcnLFxuICAgICdlYy1zdHlsZS10eXBvZ3JhcGh5LXBhcmFncmFwaCcsXG4gICAgJ2VjLXN0eWxlLWltYWdlJ1xuICApXG4pO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWJhbm5lcicpIHtcbiAgQGluY2x1ZGUgZWNsLWJhbm5lcigpO1xufVxuIiwiLyoqXG4gKiBCYW5uZXJzIGNvbXBvbmVudFxuICogQGRlZmluZSBiYW5uZXJcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1iYW5uZXIoKSB7XG4gIC5lY2wtYmFubmVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuZWNsLWJhbm5lcl9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gIH1cblxuICAuZWNsLWJhbm5lcl9fdGl0bGUge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1iYW5uZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgbWFyZ2luOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwIDA7XG4gIH1cblxuICAuZWNsLWJhbm5lcl9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmVjbC1iYW5uZXItLWhlcm8ge1xuICAgICAgbWluLWhlaWdodDogMjNyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5lY2wtYmFubmVyX19pbWFnZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG5cbiAgICAuZWNsLWJhbm5lcl9fY29udGVudCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneGwnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hsJylcbiAgICAgICAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4bCcpIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLypcbiAqIEJyZWFkY3J1bWJzXG4gKiBAZGVmaW5lIGJyZWFkY3J1bWJzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtYnJlYWRjcnVtYi9nZW5lcmljLWNvbXBvbmVudC1icmVhZGNydW1iJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtbGluaycpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1icmVhZGNydW1iJykge1xuICBAaW5jbHVkZSBlY2wtYnJlYWRjcnVtYigpO1xufVxuIiwiLypcbiAqIEJyZWFkY3J1bWJzXG4gKiBAZGVmaW5lIGJyZWFkY3J1bWJcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1icmVhZGNydW1iKCkge1xuICAuZWNsLWJyZWFkY3J1bWIge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcblxuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtYnJlYWRjcnVtYl9fc2VnbWVudHMtd3JhcHBlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwO1xuICB9XG5cbiAgLmVjbC1icmVhZGNydW1iX19zZWdtZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4eHMnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS44NzU7XG5cbiAgICAmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWJyZWFkY3J1bWJfX2xpbmsge1xuICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG5cbiAgICAvLyBBZGQgdGhlIFwiPlwiIGljb25cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdyaWdodCcpO1xuXG4gICAgICB3aWR0aDogMXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWJyZWFkY3J1bWJfX3NlZ21lbnQtLWxhc3Qge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpO1xuICB9XG59XG4iLCIvKipcbiAqIENhcm91c2VsXG4gKiBAZGVmaW5lIGNhcm91c2VsXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtY2Fyb3VzZWwvZ2VuZXJpYy1jb21wb25lbnQtY2Fyb3VzZWwnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKCdlYy1zdHlsZS10eXBvZ3JhcGh5LWxpc3QnLCAnZWMtY29tcG9uZW50LWxpbmsnLCAnZWMtc3R5bGUtaWNvbicpXG4pO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWNhcm91c2VsJykge1xuICBAaW5jbHVkZSBlY2wtY2Fyb3VzZWwoKTtcbn1cbiIsIi8qKlxuICogQ2Fyb3VzZWxcbiAqIEBkZWZpbmUgY2Fyb3VzZWwgOyB3ZWFrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtY2Fyb3VzZWwoKSB7XG4gIC5lY2wtY2Fyb3VzZWwge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCd4bCcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gIH1cblxuICAvLyBXaGVuIGNhcm91c2VsIGlzIGEgZGlhbG9nLlxuICAuZWNsLWNhcm91c2VsW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZWNsLWNhcm91c2VsW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogOTB2aDtcbiAgICBsZWZ0OiAzJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzJTtcbiAgICB3aWR0aDogOTAlO1xuICAgIHotaW5kZXg6IG1hcC1nZXQoJGVjbC16LWluZGV4LCAnbW9kYWwnKTtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX2xpc3Qtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCd4bCcpIHtcbiAgICAuZWNsLWNhcm91c2VsX19saXN0LXdyYXBwZXIge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1jYXJvdXNlbF9fY29udHJvbHMge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19pdGVtIHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1jYXJvdXNlbF9fYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBlY2wtZm9jdXMtb3V0bGluZS1ib3JkZXIoKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4bCcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICduYXZpZ2F0aW9uJyk7XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19idXR0b24tLXByZXZpb3VzIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmVjbC1jYXJvdXNlbF9fYnV0dG9uLS1uZXh0IHtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIC8vIEpTIHdpbGwgc2hvdyBvbmx5IHRoZSBuZWNlc3Nhcnkgb25lIGJ5IGEgZGF0YSBhdHRyaWJ1dGUuXG4gIC5lY2wtY2Fyb3VzZWxfX2ltYWdlLWluZm9ybWF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19saXZlLXJlZ2lvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAwJyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtaW4td2lkdGg6IDMwJTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCd4bCcpIHtcbiAgICAuZWNsLWNhcm91c2VsX19saXZlLXJlZ2lvbiB7XG4gICAgICBmbGV4OiAwO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19tZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgfVxuXG4gIC8vIEV2ZXJ5IGxpbmsgaGFzIHNwZWNpZmljIHN0eWxpbmcuXG4gIC5lY2wtY2Fyb3VzZWxfX21ldGEtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gcHV0IGljb24gb24gcmlnaHQgd2l0aG91dCBleHRlbmRzXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX21ldGEtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgfVxuXG4gIC5lY2wtY2Fyb3VzZWxfX21ldGEtc2xpZGUge1xuICAgIG9yZGVyOiAtMTtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLWNhcm91c2VsX19pbWFnZS1jb3B5cmlnaHQge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4cycpO1xuICB9XG5cbiAgLyogU2hvdyBpbmZvcm1hdGlvbiBpbiBhIHNpbWlsYXIgZmxvdyBhcyBpZiB0aGVyZSB3ZXJlIGpzLiAqL1xuICAubm8tanMge1xuICAgIC5lY2wtY2Fyb3VzZWxfX2xpc3Qtd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdy14OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5lY2wtY2Fyb3VzZWxfX2xpc3Qge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuZWNsLWNhcm91c2VsX19pdGVtIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmVjbC1jYXJvdXNlbF9faW1hZ2UtaW5mb3JtYXRpb24ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIH1cblxuICAgIC5lY2wtY2Fyb3VzZWxfX2xpdmUtcmVnaW9uIHtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBFQ0wgWi1pbmRleFxuXG4kZWNsLXotaW5kZXg6IChcbiAgYXV0bzogYXV0byxcbiAgemVybzogMCxcbiAgaGlnaGxpZ2h0OiAxLFxuICBuYXZpZ2F0aW9uOiAxMCxcbiAgZHJvcGRvd246IDE1LFxuICBtb2RhbDogMjAsXG4gIG1heDogOTk5OVxuKSAhZGVmYXVsdDtcbiIsIi8qKlxuICogQ29tbWVudHMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGNvbW1lbnRcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1jb21tZW50L2dlbmVyaWMtY29tcG9uZW50LWNvbW1lbnQnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKFxuICAgICdlYy1zdHlsZS1pbWFnZScsXG4gICAgJ2VjLXN0eWxlLXR5cG9ncmFwaHktaGVhZGluZycsXG4gICAgJ2VjLXN0eWxlLXR5cG9ncmFwaHktcGFyYWdyYXBoJyxcbiAgICAnZWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0J1xuICApXG4pO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWNvbW1lbnQnKSB7XG4gIEBpbmNsdWRlIGVjbC1jb21tZW50KCk7XG59XG4iLCIvKipcbiAqIENvbW1lbnRzIGNvbXBvbmVudFxuICogQGRlZmluZSBjb21tZW50XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtY29tbWVudCgpIHtcbiAgLmVjbC1jb21tZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtY29tbWVudF9faW1hZ2Utd3JhcHBlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgICB3aWR0aDogMjAlO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtY29tbWVudF9faW1hZ2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAxcHg7XG4gIH1cblxuICAuZWNsLWNvbW1lbnRfX2JvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZWNsLWNvbW1lbnRfX2JvZHk6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGJvcmRlcjogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtI3ttYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyl9O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIHRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuZWNsLWNvbW1lbnRfX21ldGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpO1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gIH1cblxuICAuZWNsLWNvbW1lbnRfX3RpdGxlIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwO1xuICB9XG5cbiAgLmVjbC1jb21tZW50X190ZXh0IHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gIH1cbn1cbiIsIi8qXG4gKiBDb250ZXh0dWFsIG5hdmlnYXRpb25cbiAqIEBkZWZpbmUgY29udGV4dC1uYXZcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1jb250ZXh0LW5hdi9nZW5lcmljLWNvbXBvbmVudC1jb250ZXh0LW5hdic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWJ1dHRvbicsICdlYy1jb21wb25lbnQtbGluaycpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1jb250ZXh0LW5hdicpIHtcbiAgQGluY2x1ZGUgZWNsLWNvbnRleHQtbmF2KCk7XG59XG4iLCIvKlxuICogQ29udGV4dHVhbCBuYXZpZ2F0aW9uXG4gKiBAZGVmaW5lIGNvbnRleHQtbmF2XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtY29udGV4dC1uYXYoKSB7XG4gIC5lY2wtY29udGV4dC1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4cycpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtY29udGV4dC1uYXZfX2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgfVxuXG4gIC5lY2wtY29udGV4dC1uYXZfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLWNvbnRleHQtbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgIG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1jb250ZXh0LW5hdl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1jb250ZXh0LW5hdl9fYnV0dG9uIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtY29udGV4dC1uYXZfX2l0ZW0tLW92ZXItbGltaXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubm8tanMge1xuICAgIC5lY2wtY29udGV4dC1uYXZfX2l0ZW0tLW92ZXItbGltaXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5lY2wtY29udGV4dC1uYXZfX21vcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuZWNsLWNvbnRleHQtbmF2IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLmVjbC1jb250ZXh0LW5hdl9fbGFiZWwge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvKlxuKiBEYXRlcGlja2VyIHN0eWxlcyBiYXNlZCBvbiBQaWthZGF5LlxuKiBAZGVmaW5lIGRhdGVwaWNrZXJcbiovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWRhdGVwaWNrZXIvZ2VuZXJpYy1jb21wb25lbnQtZGF0ZXBpY2tlcic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtc3R5bGUtaWNvbicpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1kYXRlcGlja2VyJykge1xuICBAaW5jbHVkZSBlY2wtZGF0ZXBpY2tlcigpO1xufVxuIiwiLypcbiogRGF0ZXBpY2tlciBzdHlsZXMgYmFzZWQgb24gUGlrYWRheS5cbiogQGRlZmluZSBkYXRlcGlja2VyXG4qL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1kYXRlcGlja2VyKFxuICAkY29sb3Itc2VsZWN0OiAjNGY0ZjRmLFxuICAkY29sb3Itc2VsZWN0LXNlcGFyYXRvcjogIzlmOWY5ZixcbiAgJHRleHQtY29sb3I6ICMzMzMsXG4gICR0aXRsZS1iZzogIzQwNDA0MCxcbiAgJHRpdGxlLWNvbG9yOiAjNDA0MDQwLFxuICAkYXJyb3ctc2l6ZTogNTBweCxcbiAgJHBpY2tlci1iZzogI2VhZWFlYSxcbiAgJGRheS1iZzogI2Y1ZjVmNSxcbiAgJGRheS1zZWxlY3RlZC1iZzogI2ZmZDYxNyxcbiAgJGRheS1kaXNhYmxlZC1jb2xvcjogIzk5OSxcbiAgJHdlZWstY29sb3I6ICM5OTlcbikge1xuICAvLyBQb3NpdGlvbmluZyB0aGUgY2FsZW5kYXIgaWNvbi5cbiAgLmVjbC1kYXRlcGlja2VyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9faWNvbiB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgICAgIC8vIEZvciB0aGUgaWNvbiBkb2VzIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgY2xpY2thYmxlIGFyZWEuXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwLjdlbTtcbiAgICAgIHRvcDogMC42ZW07XG4gICAgfVxuICB9XG5cbiAgLyogU3BhY2luZyAqL1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm4gKi9cbiAgKiArIC5lY2wtZGF0ZXBpY2tlciB7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1kYXRlcGlja2VyLXBpa2EoXG4gICAgJGNvbG9yLXNlbGVjdCxcbiAgICAkY29sb3Itc2VsZWN0LXNlcGFyYXRvcixcbiAgICAkdGV4dC1jb2xvcixcbiAgICAkdGl0bGUtYmcsXG4gICAgJHRpdGxlLWNvbG9yLFxuICAgICRhcnJvdy1zaXplLFxuICAgICRwaWNrZXItYmcsXG4gICAgJGRheS1iZyxcbiAgICAkZGF5LXNlbGVjdGVkLWJnLFxuICAgICRkYXktZGlzYWJsZWQtY29sb3IsXG4gICAgJHdlZWstY29sb3JcbiAgKTtcbn1cblxuLypcbiAqIEBkZWZpbmUgcGlrYS10aGVtZSA7IHdlYWtcbiAqL1xuQG1peGluIGVjbC1kYXRlcGlja2VyLXBpa2EoXG4gICRjb2xvci1zZWxlY3QsXG4gICRjb2xvci1zZWxlY3Qtc2VwYXJhdG9yLFxuICAkdGV4dC1jb2xvcixcbiAgJHRpdGxlLWJnLFxuICAkdGl0bGUtY29sb3IsXG4gICRhcnJvdy1zaXplLFxuICAkcGlja2VyLWJnLFxuICAkZGF5LWJnLFxuICAkZGF5LXNlbGVjdGVkLWJnLFxuICAkZGF5LWRpc2FibGVkLWNvbG9yLFxuICAkd2Vlay1jb2xvclxuKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG4gIC5lY2wtcGlrYS10aGVtZSB7XG4gICAgYmFja2dyb3VuZDogJHBpY2tlci1iZztcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IG1hcC1nZXQoJGVjbC16LWluZGV4LCAnbW9kYWwnKTtcbiAgICB6b29tOiAxO1xuXG4gICAgLyogcG9zdGNzcy1iZW0tbGludGVyOiBpZ25vcmUgKi9cbiAgICAmLmlzLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIHBvc3Rjc3MtYmVtLWxpbnRlcjogaWdub3JlICovXG4gICAgJi5pcy1ib3VuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLy8gY2xlYXIgY2hpbGQgZmxvYXQgKHBpa2EtbGVuZGFyKSwgdXNpbmcgdGhlIGZhbW91cyBtaWNybyBjbGVhcmZpeCBoYWNrXG4gICAgLy8gaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5waWthLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aXRsZS1iZztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnBpa2EtbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRpdGxlLWJnO1xuICAgICAgY29sb3I6ICR0aXRsZS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAucGlrYS1sYWJlbCBzZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZWNsLWZvcm0tY29udHJvbCgpO1xuICAgICAgQGluY2x1ZGUgZWNsLWZvY3VzLW91dGxpbmUtYm9yZGVyKFxuICAgICAgICAzcHgsXG4gICAgICAgIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyksXG4gICAgICAgIC0zcHgsXG4gICAgICAgIG5vbmVcbiAgICAgICk7XG5cbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2VsZWN0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtaW5kZW50OiAwLjAxcHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdtb2RhbCcpIC0gMTtcblxuICAgICAgLy8gRml4IGZvciBJRSAxMCsuXG4gICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHotaW5kZXg6IG1hcC1nZXQoJGVjbC16LWluZGV4LCAnaGlnaGxpZ2h0Jyk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlIGxlZnQgc2VsZWN0IHRvIHRoZSBsZWZ0LlxuICAgIC5waWthLWxhYmVsOm50aC1jaGlsZCgxKSBzZWxlY3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yLXNlbGVjdC1zZXBhcmF0b3I7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFRoZSByaWdodCBzZWxlY3QgdG8gdGhlIHJpZ2h0LlxuICAgIC5waWthLWxhYmVsOm50aC1jaGlsZCgyKSBzZWxlY3Qge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnBpa2EtcHJldixcbiAgICAucGlrYS1uZXh0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDc1JSA3NSU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogJHRpdGxlLWJnOyAvLyBoaWRlIHRleHRcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdpZHRoOiAkYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAucGlrYS1wcmV2IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9yZGVyOiAtMTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3JpZ2h0Jyk7XG5cbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5waWthLW5leHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG4gICAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdyaWdodCcpO1xuXG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBpa2EtcHJldjpob3ZlcixcbiAgICAucGlrYS1uZXh0OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLnBpa2EtcHJldi5pcy1kaXNhYmxlZCxcbiAgICAucGlrYS1uZXh0LmlzLWRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAuaXMtcnRsIC5waWthLXByZXYge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG4gICAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdyaWdodCcpO1xuXG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLXJ0bCAucGlrYS1uZXh0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9yZGVyOiAtMTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBlY2wtaWNvbi0tYWZ0ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3JpZ2h0Jyk7XG5cbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5waWthLXNlbGVjdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLnBpa2EtdGFibGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTUnKTtcbiAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgYWJiciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGN1cnNvcjogaGVscDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5waWthLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGF5LWJnO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuaXMtc2VsZWN0aW9uLWRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtdG9kYXkgLnBpa2EtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXktc2VsZWN0ZWQtYmc7XG4gICAgfVxuXG4gICAgLmlzLXNlbGVjdGVkIC5waWthLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGF5LXNlbGVjdGVkLWJnO1xuICAgIH1cblxuICAgIC5pcy1kaXNhYmxlZCAucGlrYS1idXR0b24sXG4gICAgLmlzLW91dHNpZGUtY3VycmVudC1tb250aCAucGlrYS1idXR0b24ge1xuICAgICAgY29sb3I6ICRkYXktZGlzYWJsZWQtY29sb3I7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgfVxuXG4gICAgLmlzLWRpc2FibGVkIC5waWthLWJ1dHRvbiB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAucGlrYS13ZWVrIHtcbiAgICAgIGNvbG9yOiAkd2Vlay1jb2xvcjtcbiAgICB9XG5cbiAgICAuaXMtaW5yYW5nZSAucGlrYS1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoeHMpIHtcbiAgICAuZWNsLXBpa2EtdGhlbWUge1xuICAgICAgLnBpa2EtbGVuZGFyLFxuICAgICAgLnBpa2Etc2luZ2xlLFxuICAgICAgLnBpa2EtdGFibGUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBlY2wtZm9ybS1jb250cm9sKCkge1xuICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG4gIEBpbmNsdWRlIGVjbC1mb2N1cy1vdXRsaW5lLWJvcmRlcihcbiAgICAzcHgsXG4gICAgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKSxcbiAgICAwLFxuICAgIG5vbmVcbiAgKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZWNsLWNvbG9yLXNoYWRlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICBtYXJnaW4tYm90dG9tOiAxLjFlbTtcbiAgbWluLWhlaWdodDogMi43NXJlbTtcblxuICAmLmhhcy1lcnJvciB7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgcGFkZGluZzogNXB4IDExcHg7XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZS5cbiAgJjpmb2N1cyxcbiAgJi5pcy1mb2N1c2VkLFxuICAuaGFzLWVycm9yICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBtb2RpZmllci5cbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTUnKTtcbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgfVxuXG4gICYuc2VsZWN0IHtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgfVxufVxuIiwiLyoqXG4gKiBEaWFsb2dcbiAqIEBkZWZpbmUgZGlhbG9nXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZGlhbG9nL2dlbmVyaWMtY29tcG9uZW50LWRpYWxvZyc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nJywgJ2VjLWNvbXBvbmVudC1tZXNzYWdlJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWRpYWxvZycpIHtcbiAgQGluY2x1ZGUgZWNsLWRpYWxvZygpO1xufVxuIiwiLyoqXG4gKiBEaWFsb2dcbiAqIEBkZWZpbmUgZGlhbG9nXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZGlhbG9nKCkge1xuICAuZWNsLWRpYWxvZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IG1hcC1nZXQoJGVjbC16LWluZGV4LCAnbW9kYWwnKTtcbiAgfVxuXG4gIC5lY2wtZGlhbG9nLS10cmFuc3BhcmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuZWNsLWRpYWxvZ1thcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmVjbC1kaWFsb2dfX2JvZHkge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAuZWNsLWRpYWxvZ19fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdtb2RhbCcpIC0gMTtcbiAgfVxuXG4gIC5lY2wtZGlhbG9nX19vdmVybGF5W2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZWNsLWRpYWxvZ19fb3ZlcmxheS0tYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZWNsLWNvbG9yLXByaW1hcnksIDAuOTUpO1xuICB9XG5cbiAgLmVjbC1kaWFsb2ctLXdpZGUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLmVjbC1kaWFsb2ctLXdpZGUgLmVjbC1kaWFsb2dfX2JvZHkge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVjbC1kaWFsb2dfX2Rpc21pc3Mge1xuICAgIEBpbmNsdWRlIGVjbC1mb2N1cy1vdXRsaW5lLWJvcmRlcihcbiAgICAgICR0aGlja25lczogM3B4LFxuICAgICAgJGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAneWVsbG93LTEwMCcpLFxuICAgICAgJG9mZnNldDogM3B4XG4gICAgKTtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgkZWNsLWFzc2V0cy1wYXRoKydpbWFnZXMvY2xvc2Uuc3ZnJykgbm8tcmVwZWF0XG4gICAgICBjZW50ZXIgY2VudGVyO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHhsJyk7XG4gICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIHRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRlY2wtYXNzZXRzLXBhdGgrJ2ltYWdlcy9jbG9zZV9ob3Zlci5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWRpYWxvZ19fZGlzbWlzcy0taW52ZXJ0ZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44ODllbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwRDcnO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1kaWFsb2dfX3RpdGxlIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpIDA7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ3NtJykge1xuICAgIC5lY2wtZGlhbG9nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmVjbC1kaWFsb2ctLXdpZGUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBFQ0wgTGluayBibG9ja3NcbiAqIEBkZWZpbmUgbGluay1ibG9ja1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWxpbmstYmxvY2svZ2VuZXJpYy1jb21wb25lbnQtbGluay1ibG9jayc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWxpbmsnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbGluay1ibG9jaycpIHtcbiAgQGluY2x1ZGUgZWNsLWxpbmstYmxvY2soKTtcbn1cbiIsIi8qKlxuICogRUNMIExpbmsgYmxvY2tzXG4gKiBAZGVmaW5lIGxpbmstYmxvY2tcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1saW5rLWJsb2NrKCkge1xuICAuZWNsLWxpbmstYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgMDtcbiAgfVxuXG4gIC5lY2wtbGluay1ibG9ja19fdGl0bGUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMTAnKTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpXG4gICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICB9XG5cbiAgLmVjbC1saW5rLWJsb2NrX19saXN0IHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmVjbC1saW5rLWJsb2NrX19pdGVtIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmVjbC1saW5rLWJsb2NrX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBwYWRkaW5nOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICB9XG59XG4iLCIvKipcbiAqIEVDTCBEcm9wZG93bnNcbiAqIEBkZWZpbmUgZHJvcGRvd25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1kcm9wZG93bi9nZW5lcmljLWNvbXBvbmVudC1kcm9wZG93bic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWJ1dHRvbicsICdlYy1jb21wb25lbnQtbGluay1ibG9jaycpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1kcm9wZG93bicpIHtcbiAgQGluY2x1ZGUgZWNsLWRyb3Bkb3duKCk7XG59XG4iLCIvKipcbiAqIEVDTCBEcm9wZG93bnNcbiAqIEBkZWZpbmUgZHJvcGRvd25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1kcm9wZG93bigpIHtcbiAgLmVjbC1kcm9wZG93biB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIGNvbGxhcHNlZC9vcGVuIHBhcnQgb2YgdGhlIGRyb3Bkb3duXG4gIC5lY2wtZHJvcGRvd25fX2JvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ2Ryb3Bkb3duJyk7XG4gIH1cblxuICAuZWNsLWRyb3Bkb3duX19ib2R5W2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8qKlxuICogRUNMIEV4cGFuZGFibGVcbiAqIEBkZWZpbmUgZXhwYW5kYWJsZVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWV4cGFuZGFibGUvZ2VuZXJpYy1jb21wb25lbnQtZXhwYW5kYWJsZSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZXhwYW5kYWJsZScpIHtcbiAgQGluY2x1ZGUgZWNsLWV4cGFuZGFibGUoKTtcbn1cbiIsIi8qKlxuICogRUNMIEV4cGFuZGFibGVcbiAqIEBkZWZpbmUgZXhwYW5kYWJsZVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWV4cGFuZGFibGUoKSB7XG4gIC5lY2wtZXhwYW5kYWJsZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1leHBhbmRhYmxlX19idXR0b24ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuXG4gICAgICBAaW5jbHVkZSBlY2wtYnV0dG9uLS1jYXJldCgpO1xuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD0nZmFsc2UnXTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ2Rvd24nKTtcbiAgICB9XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3VwJyk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEZlYXR1cmVkIGl0ZW0gY29tcG9uZW50XG4gKiBAZGVmaW5lIGZlYXR1cmVkLWl0ZW1cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mZWF0dXJlZC1pdGVtL2dlbmVyaWMtY29tcG9uZW50LWZlYXR1cmVkLWl0ZW0nO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1saW5rJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWZlYXR1cmVkLWl0ZW0nKSB7XG4gIEBpbmNsdWRlIGVjbC1mZWF0dXJlZC1pdGVtKCk7XG59XG4iLCIvKipcbiAqIEZlYXR1cmVkIGl0ZW0gY29tcG9uZW50XG4gKiBAZGVmaW5lIGZlYXR1cmVkLWl0ZW1cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1mZWF0dXJlZC1pdGVtKCkge1xuICAuZWNsLWZlYXR1cmVkLWl0ZW0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtZmVhdHVyZWQtaXRlbV9faW1hZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLWZlYXR1cmVkLWl0ZW1fX3RpdGxlIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLWZlYXR1cmVkLWl0ZW0tLWV4dGVuZGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMCcpO1xuICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIHNvbGlkICRlY2wtY29sb3Itc2Vjb25kYXJ5O1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgfVxuXG4gIC8vIERlc2t0b3AgZGlzcGxheVxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb3JkZXIvb3JkZXIgKi9cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgIC5lY2wtZmVhdHVyZWQtaXRlbSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC5lY2wtZmVhdHVyZWQtaXRlbV9faW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRmlsZVxuICogQGRlZmluZSBmaWxlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZmlsZS9nZW5lcmljLWNvbXBvbmVudC1maWxlJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoXG4gICgnZWMtc3R5bGUtaWNvbicsICdlYy1jb21wb25lbnQtYnV0dG9uJywgJ2VjLWNvbXBvbmVudC1saW5rJylcbik7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtZmlsZScpIHtcbiAgQGluY2x1ZGUgZWNsLWZpbGUoKTtcbn1cbiIsIi8qKlxuICogRmlsZVxuICogQGRlZmluZSBmaWxlXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIG1peGluXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXN0eWxlLWljb24vdmFyaWFibGVzJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS1pY29uL21peGlucyc7XG5cbiRnZW5lcmljLWNvbXBvbmVudC1maWxlLWxpbmUtaGVpZ2h0OiAxLjM7XG4kZ2VuZXJpYy1jb21wb25lbnQtZmlsZS10aXRsZS1saW5lLWhlaWdodDogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtbGluZS1oZWlnaHQ7XG4kZ2VuZXJpYy1jb21wb25lbnQtZmlsZS10aXRsZS1mb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4kZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLWxpbmUtaGVpZ2h0OiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1saW5lLWhlaWdodDtcbiRnZW5lcmljLWNvbXBvbmVudC1maWxlLWluZm8tZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiRnZW5lcmljLWNvbXBvbmVudC1maWxlLWluZm8tbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4kZ2VuZXJpYy1jb21wb25lbnQtZmlsZS10aXRsZS1oZWlnaHQ6ICRnZW5lcmljLWNvbXBvbmVudC1maWxlLXRpdGxlLWxpbmUtaGVpZ2h0ICpcbiAgJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtdGl0bGUtZm9udC1zaXplO1xuJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtaW5mby1oZWlnaHQ6ICRnZW5lcmljLWNvbXBvbmVudC1maWxlLWluZm8tbGluZS1oZWlnaHQgKlxuICAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLWZvbnQtc2l6ZTtcbiRnZW5lcmljLWNvbXBvbmVudC1maWxlLW1ldGFkYXRhLWhlaWdodDogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtdGl0bGUtaGVpZ2h0ICtcbiAgJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtaW5mby1oZWlnaHQgKyAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLW1hcmdpbi10b3A7XG5cbkBtaXhpbiBlY2wtZmlsZShcbiAgJGxpbmUtaGVpZ2h0OiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1saW5lLWhlaWdodCxcbiAgJHRpdGxlLWxpbmUtaGVpZ2h0OiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS10aXRsZS1saW5lLWhlaWdodCxcbiAgJHRpdGxlLWZvbnQtc2l6ZTogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtdGl0bGUtZm9udC1zaXplLFxuICAkaW5mby1saW5lLWhlaWdodDogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtaW5mby1saW5lLWhlaWdodCxcbiAgJGluZm8tZm9udC1zaXplOiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS1pbmZvLWZvbnQtc2l6ZSxcbiAgJGluZm8tbWFyZ2luLXRvcDogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtaW5mby1tYXJnaW4tdG9wLFxuICAkaWNvbi1wYWRkaW5nLXRvcDogMC4ycmVtLFxuICAkaWNvbi1wYWRkaW5nLWJvdHRvbTogMC4xcmVtLFxuICAkdGl0bGUtaGVpZ2h0OiAkZ2VuZXJpYy1jb21wb25lbnQtZmlsZS10aXRsZS1oZWlnaHQsXG4gICRpbmZvLWhlaWdodDogJGdlbmVyaWMtY29tcG9uZW50LWZpbGUtaW5mby1oZWlnaHQsXG4gICRtZXRhZGF0YS1oZWlnaHQ6ICRnZW5lcmljLWNvbXBvbmVudC1maWxlLW1ldGFkYXRhLWhlaWdodFxuKSB7XG4gIC8vIERlZmF1bHQgZGlzcGxheVxuICAuZWNsLWZpbGUge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcblxuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtZmlsZV9fYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxuXG4gIC5lY2wtZmlsZV9faWNvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRpY29uLXBhZGRpbmctYm90dG9tO1xuICAgIHBhZGRpbmctdG9wOiAkaWNvbi1wYWRkaW5nLXRvcDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgICAgIGZvbnQtc2l6ZTogJG1ldGFkYXRhLWhlaWdodCAtICRpY29uLXBhZGRpbmctdG9wIC0gJGljb24tcGFkZGluZy1ib3R0b207XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1maWxlX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAkdGl0bGUtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGl0bGUtbGluZS1oZWlnaHQ7XG4gIH1cblxuICAuZWNsLWZpbGVfX2luZm8ge1xuICAgIGZvbnQtc2l6ZTogJGluZm8tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogJGluZm8tbWFyZ2luLXRvcDtcbiAgfVxuXG4gIC5lY2wtZmlsZV9fbGFuZ3VhZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5lY2wtZmlsZV9fcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmVjbC1maWxlX19kb3dubG9hZCB7XG4gICAgbWFyZ2luOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKSBhdXRvIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdkb3dubG9hZCcpO1xuXG4gICAgICBtYXJnaW4tbGVmdDogMC44ZW07XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmVjbC1maWxlX19kb3dubG9hZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdpdGggdHJhbnNsYXRpb25zXG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtdG9nZ2xlIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J2ZhbHNlJ10ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uLS1hZnRlcigpO1xuXG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbignZG93bicpO1xuXG4gICAgICBtYXJnaW4tbGVmdDogMC44ZW07XG4gICAgfVxuICB9XG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCd1cCcpO1xuXG4gICAgICBtYXJnaW4tbGVmdDogMC44ZW07XG4gICAgfVxuICB9XG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC5lY2wtZmlsZV9fdHJhbnNsYXRpb25zLWl0ZW0ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWZpbGVfX3RyYW5zbGF0aW9ucy1tZXRhZGF0YSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5lY2wtZmlsZV9fdHJhbnNsYXRpb25zLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgfVxuXG4gIC5lY2wtZmlsZV9fdHJhbnNsYXRpb25zLWRvd25sb2FkIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdkb3dubG9hZCcpO1xuXG4gICAgICBtYXJnaW4tbGVmdDogMC44ZW07XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmVjbC1maWxlX190cmFuc2xhdGlvbnMtaXRlbSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC5lY2wtZmlsZV9fdHJhbnNsYXRpb25zLWRvd25sb2FkIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTGluayBmaWxlXG4gIC5lY2wtZmlsZV9fbGluay1jb250YWluZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xNScpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTE1Jyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1maWxlX19saW5rIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgLmVjbC1maWxlX19pY29uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC8qXG4gICAgICBVZ2x5IGhhY2tzOiBzZXQgaWNvbnMnIHNpemUgbWFudWFsbHlcbiAgICAgKi9cblxuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgICAgIH1cblxuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAmLmVjbC1pY29uLS1zbGlkZXM6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgfVxuXG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICYuZWNsLWljb24tLWltYWdlOjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWNsLWZpbGVfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAuZWNsLWZpbGVfX2xpbmsuZWNsLWxpbmstLWV4dGVybmFsOjphZnRlcixcbiAgLmVjbC1maWxlX190eXBlIHtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAvLyBJbWFnZSBhbmQgdmlkZW8gZmlsZVxuICAuZWNsLWZpbGVfX2ltYWdlLFxuICAuZWNsLWZpbGVfX3ZpZGVvIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLWZpbGVfX2NhcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgW2NsYXNzXj0nZWNsLXUtcmF0aW8nXSBpZnJhbWUuZWNsLWZpbGVfX3ZpZGVvLFxuICBbY2xhc3MqPScgZWNsLXUtcmF0aW8nXSBpZnJhbWUuZWNsLWZpbGVfX3ZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvKipcbiAqIEZvb3RlcnMgY29tcG9uZW50XG4gKiBAZGVmaW5lIGZvb3RlclxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LWZvb3Rlci9nZW5lcmljLWNvbXBvbmVudC1mb290ZXInO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKFxuICAgICdlYy1sYXlvdXQtZ3JpZCcsXG4gICAgJ2VjLWNvbXBvbmVudC1saW5rJyxcbiAgICAnZWMtc3R5bGUtdHlwb2dyYXBoeS1saXN0JyxcbiAgICAnZWMtc3R5bGUtaWNvbidcbiAgKVxuKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1mb290ZXInKSB7XG4gIEBpbmNsdWRlIGVjbC1mb290ZXIoKTtcblxuICAuZWNsLWZvb3Rlcl9fY3VzdG9tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMjAnKTtcblxuICAgIC8vIExpbmtzIHNob3VsZCBoYXZlIGEgZGlmZmVyZW50IGNvbG9yIGJlY2F1c2Ugb2YgdGhlaXIgYmFja2dyb3VuZC5cbiAgICAuZWNsLWZvb3Rlcl9fbGluayB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTIwJyk7XG4gICAgfVxuXG4gICAgLmVjbC1mb290ZXJfX2xpbms6aG92ZXIsXG4gICAgLmVjbC1mb290ZXJfX2xpbms6YWN0aXZlLFxuICAgIC5lY2wtZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMjAnKTtcbiAgICB9XG5cbiAgICAuZWNsLWZvb3Rlcl9fY29sdW1uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIH1cblxuICAgIC5lY2wtZm9vdGVyX19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuZWNsLWZvb3Rlcl9fY29ycG9yYXRlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19jb3Jwb3JhdGUtdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS03NScpO1xuICB9XG5cbiAgLmVjbC1mb290ZXJfX2NvcnBvcmF0ZS1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwO1xuICB9XG5cbiAgLmVjbC1mb290ZXJfX2NvbHVtbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTUwJyk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbignbWQnLCAnbGcnKSB7XG4gICAgICBtaW4taGVpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hsJyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHRpdGxlcyBoZWlnaHQgYXV0byBvbiBsYXJnZSBzY3JlZW5zLlxuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCd4bCcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuZWNsLWZvb3Rlcl9fY3VzdG9tLXRpdGxlLWlkZW50aXR5IHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMjAnKTtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIC5lY2wtZm9vdGVyX19jb2x1bW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIH1cblxuICAgIC8vIFNwZWNpZmljcyBmb3IgdGhpcyB0eXBlIG9mIGZvb3RlciB3aGVuIG5vbi1tb2JpbGVcbiAgICAuZWNsLWZvb3Rlcl9fY3VzdG9tIHtcbiAgICAgIC5lY2wtZm9vdGVyX19jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtZm9vdGVyX19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWNsLWZvb3Rlcl9fbGluayB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBGb290ZXJzIGNvbXBvbmVudFxuICogQGRlZmluZSBmb290ZXJcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgbWl4aW5cbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtZm9vdGVyKCkge1xuICAuZWNsLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKiBMaXN0IGhhY2tzICovXG5cbiAgLmVjbC1mb290ZXJfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IC8vIHNwZWNpZmljIHRvIHRoZSBmb290ZXJcbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19saXN0LS1pbmxpbmUge1xuICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgIC5lY2wtZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICB9XG5cbiAgICAuZWNsLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8qIEVuZCBvZjogTGlzdCBoYWNrcyAqL1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAuZWNsLWZvb3Rlcl9fbGlzdC1pdGVtIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cblxuICAuZWNsLWZvb3Rlcl9fY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gIH1cblxuICAuZWNsLWZvb3Rlcl9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19zcGFjZWQtY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4bCcpO1xuICB9XG5cbiAgLmVjbC1mb290ZXJfX3NwYWNlZC1jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneGwnKTtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19jdXN0b20tbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5lY2wtZm9vdGVyX19jb2x1bW4tdGl0bGUge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuIiwiLypcbiAqIExhbmd1YWdlIHNlbGVjdG9yIChwYWdlIGxldmVsKVxuICogQGRlZmluZSBsYW5nLXNlbGVjdC1wYWdlXG4gKlxuICogTm90ZTogYC5lY2wtbGFuZy1zZWxlY3QtcGFnZS0tZHJvcGRvd25gIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQvcmVtb3ZlZCAoSlMpXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZy1zZWxlY3QtcGFnZS9nZW5lcmljLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1wYWdlJztcbkBpbXBvcnQgJ0BlY2wvZWMtY29tcG9uZW50LWZvcm0tc2VsZWN0L2VjLWNvbXBvbmVudC1mb3JtLXNlbGVjdCc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtc3R5bGUtaWNvbicsICdlYy1jb21wb25lbnQtbGluaycpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1wYWdlJykge1xuICBAaW5jbHVkZSBlY2wtbGFuZy1zZWxlY3QtcGFnZSgpO1xufVxuIiwiLypcbiAqIExhbmd1YWdlIHNlbGVjdG9yIChwYWdlIGxldmVsKVxuICogQGRlZmluZSBsYW5nLXNlbGVjdC1wYWdlXG4gKlxuICogTm90ZTogYC5lY2wtbGFuZy1zZWxlY3QtcGFnZS0tZHJvcGRvd25gIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQvcmVtb3ZlZCAoSlMpXG4gKi9cblxuLy8gVE9ETzogU1dJVENIIGVjbC1sYW5nLXNlbGVjdC1wYWdlLS1kcm9wZG93biB3aXRoIEpTXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXNlbGVjdC9nZW5lcmljLWNvbXBvbmVudC1mb3JtLXNlbGVjdCc7XG5cbkBtaXhpbiBlY2wtbGFuZy1zZWxlY3QtcGFnZSgpIHtcbiAgLmVjbC1sYW5nLXNlbGVjdC1wYWdlIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDNyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5uby1qcyAmIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cblxuICAuZWNsLWxhbmctc2VsZWN0LXBhZ2VfX2ljb24ge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcblxuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4bCcpO1xuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1wYWdlX191bmF2YWlsYWJsZSB7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1wYWdlX19saXN0IHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBuby13cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmVjbC1sYW5nLXNlbGVjdC1wYWdlLS1kcm9wZG93biAmIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAubm8tanMgJiB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1wYWdlX19vcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3QtcGFnZV9fb3B0aW9uLS1pcy1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3QtcGFnZV9fZHJvcGRvd24ge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcbiAgICBAaW5jbHVkZSBlY2wtc2VsZWN0LWxpc3QtYXJyb3coXG4gICAgICAkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICAgICAkYXJyb3ctZ3JleTogdHJ1ZVxuICAgICk7XG5cbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3hzJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJylcbiAgICAgIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAvLyBGaXggZm9yIElFIDEwKy5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmVjbC1sYW5nLXNlbGVjdC1wYWdlLS1kcm9wZG93biAmIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZWZ1bCBpbiBGaXJlZm94XG4gIC5lY2wtbGFuZy1zZWxlY3QtcGFnZV9fZHJvcGRvd24tb3B0aW9uIHtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICB9XG5cbiAgLyogVmFyaWFudCAqL1xuXG4gIC5lY2wtbGFuZy1zZWxlY3QtcGFnZS0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgLmVjbC1sYW5nLXNlbGVjdC1wYWdlX19kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBlY2wtc2VsZWN0LWxpc3QtYXJyb3coXG4gICAgICAgICRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMTAnKSxcbiAgICAgICAgJGFycm93LWdyZXk6IGZhbHNlXG4gICAgICApO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMTAnKTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBMYW5ndWFnZSBzZWxlY3QgKFNpdGUpXG4gKiBAZGVmaW5lIGxhbmctc2VsZWN0LXNpdGVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGFuZy1zZWxlY3Qtc2l0ZS9nZW5lcmljLWNvbXBvbmVudC1sYW5nLXNlbGVjdC1zaXRlJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1zdHlsZS1pY29uJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWxhbmctc2VsZWN0LXNpdGUnKSB7XG4gIEBpbmNsdWRlIGVjbC1sYW5nLXNlbGVjdC1zaXRlKCk7XG59XG4iLCIvKipcbiAqIExhbmd1YWdlIHNlbGVjdCAoU2l0ZSlcbiAqIEBkZWZpbmUgbGFuZy1zZWxlY3Qtc2l0ZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1sYW5nLXNlbGVjdC1zaXRlKCRpY29uLXdpZHRoOiAxLjRyZW0pIHtcbiAgLmVjbC1sYW5nLXNlbGVjdC1zaXRlcyB7XG4gICAgQGluY2x1ZGUgZWNsLWhpZGRlbi1wcmludCgpO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3Qtc2l0ZXNfX2xpbmsge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgcyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsIHh4cykgbWFwLWdldCgkZWNsLXNwYWNpbmcsIHhzKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1zaXRlc19fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCB5ZWxsb3ctMTAwKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1zaXRlc19fbGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsIHh4cyk7XG4gIH1cblxuICAuZWNsLWxhbmctc2VsZWN0LXNpdGVzX19sYWJlbDpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAuZWNsLWxhbmctc2VsZWN0LXNpdGVzX19jb2RlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6ICRpY29uLXdpZHRoO1xuICB9XG5cbiAgLmVjbC1sYW5nLXNlbGVjdC1zaXRlc19fY29kZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCB4eHMpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lY2wtbGFuZy1zZWxlY3Qtc2l0ZXNfX2ljb24ge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAkaWNvbi13aWR0aDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0ycHg7XG4gIH1cblxuICAuZWNsLWxhbmctc2VsZWN0LXNpdGVzX19pY29uOjpiZWZvcmUge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG4iLCIvKipcbiAqIExhbmd1YWdlIGxpc3QgY29tcG9uZW50XG4gKiBAZGVmaW5lIGxhbmd1YWdlLWxpc3RcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1sYW5ndWFnZS1saXN0L2dlbmVyaWMtY29tcG9uZW50LWxhbmd1YWdlLWxpc3QnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cyhcbiAgKFxuICAgICdlYy1zdHlsZS10eXBvZ3JhcGh5LWhlYWRpbmcnLFxuICAgICdlYy1jb21wb25lbnQtYnV0dG9uJyxcbiAgICAnZWMtY29tcG9uZW50LWxhbmctc2VsZWN0LXNpdGUnXG4gIClcbik7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbGFuZ3VhZ2UtbGlzdCcpIHtcbiAgQGluY2x1ZGUgZWNsLWxhbmd1YWdlLWxpc3QoKTtcbn1cbiIsIi8qKlxuICogTGFuZ3VhZ2UgbGlzdCBjb21wb25lbnRcbiAqIEBkZWZpbmUgbGFuZ3VhZ2UtbGlzdFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWxhbmd1YWdlLWxpc3QoKSB7XG4gIC5lY2wtbGFuZ3VhZ2UtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1sYW5ndWFnZS1saXN0X193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMDAnKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4bCcpO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hsJyk7XG4gIH1cblxuICAuZWNsLWxhbmd1YWdlLWxpc3RfX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWxhbmd1YWdlLWxpc3RfX2J1dHRvbi0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXNlY29uZGFyeTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG59XG4iLCIvKipcbiAqIGxpc3QtaXRlbXNcbiAqIEBkZWZpbmUgbGlzdC1pdGVtXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbGlzdC1pdGVtL2dlbmVyaWMtY29tcG9uZW50LWxpc3QtaXRlbSc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKFxuICAoXG4gICAgJ2VjLWNvbXBvbmVudC1saW5rJyxcbiAgICAnZWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nJyxcbiAgICAnZWMtc3R5bGUtdHlwb2dyYXBoeS1wYXJhZ3JhcGgnXG4gIClcbik7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbGlzdC1pdGVtJykge1xuICBAaW5jbHVkZSBlY2wtbGlzdC1pdGVtKCk7XG59XG4iLCIvKipcbiAqIGxpc3QtaXRlbXNcbiAqIEBkZWZpbmUgbGlzdC1pdGVtOyB3ZWFrXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbGlzdC1pdGVtKCkge1xuICAuZWNsLWxpc3QtaXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKTtcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtX19ib2R5IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLmVjbC1saXN0LWl0ZW1fX21ldGEge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS03NScpO1xuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICB9XG5cbiAgLmVjbC1saXN0LWl0ZW1fX2RldGFpbCB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICB9XG5cbiAgLmVjbC1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtbGlzdC1pdGVtLS1oaWdobGlnaHQgLmVjbC1saXN0LWl0ZW1fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgaGVpZ2h0OiAyLjJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgLmVjbC1saXN0LWl0ZW1fX2xpbms6aG92ZXIsXG4gIC5lY2wtbGlzdC1pdGVtX19saW5rOmZvY3VzIHtcbiAgICAuZWNsLWxpc3QtaXRlbV9fdGl0bGUge1xuICAgICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWxpc3QtaXRlbV9fcHJpbWFyeSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgbWF4LWhlaWdodDogNS41NXJlbTtcbiAgICBtYXgtd2lkdGg6IDUuNTVyZW07XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBIaWdobGl0ZWQgaXRlbVxuICAuZWNsLWxpc3QtaXRlbS0taGlnaGxpZ2h0IC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLmVjbC1saXN0LWl0ZW0tLWhpZ2hsaWdodCAuZWNsLWxpc3QtaXRlbV9fcHJpbWFyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWxpc3QtaXRlbS0taGlnaGxpZ2h0IC5lY2wtbGlzdC1pdGVtX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMCcpO1xuICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAvLyBCbG9jayBpdGVtXG4gIC5lY2wtbGlzdC1pdGVtLS1ibG9jayB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5lY2wtbGlzdC1pdGVtX19kZXRhaWwge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5lY2wtbGlzdC1pdGVtX19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5lY2wtbGlzdC1pdGVtX19saW5rOmhvdmVyIC5lY2wtbGlzdC1pdGVtX190aXRsZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuICAgIC5lY2wtbGlzdC1pdGVtX190aXRsZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICAgIG1hcmdpbjogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJykgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGl0ZW0sIGFkZCB0aGUgXCI+XCIgaWNvblxuICAuZWNsLWxpc3QtaXRlbS0tYmxvY2sgLmVjbC1saXN0LWl0ZW1fX3RpdGxlOjphZnRlciB7XG4gICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG4gICAgQGluY2x1ZGUgZWNsLWljb24oJ3JpZ2h0Jyk7XG5cbiAgICB3aWR0aDogMXJlbTtcbiAgfVxuXG4gIC8vIE5hdmlnYXRpb24gaXRlbVxuICAuZWNsLWxpc3QtaXRlbS0tbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuICAuZWNsLWxpc3QtaXRlbS0tbmF2aWdhdGlvbiAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4gIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uIC5lY2wtbGlzdC1pdGVtX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgMDtcbiAgfVxuICAuZWNsLWxpc3QtaXRlbS0tbmF2aWdhdGlvbiAuZWNsLWxpc3QtaXRlbV9fZGV0YWlsIHtcbiAgICBtYXJnaW46IDAgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICAuZWNsLWxpc3QtaXRlbS0tbmF2aWdhdGlvbiAuZWNsLWxpc3QtaXRlbV9fbGluazpob3ZlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG5cbiAgICAuZWNsLWxpc3QtaXRlbV9fdGl0bGUge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEwMCcpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uIC5lY2wtbGlzdC1pdGVtX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRUNMIE5hdmlnYXRpb24gaW5wYWdlXG4gKiBAZGVmaW5lIGlucGFnZS1uYXZpZ2F0aW9uXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtaW5wYWdlLW5hdmlnYXRpb24vZ2VuZXJpYy1jb21wb25lbnQtaW5wYWdlLW5hdmlnYXRpb24nO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1saW5rJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LW5wYWdlLW5hdmlnYXRpb24nKSB7XG4gIEBpbmNsdWRlIGVjbC1pbnBhZ2UtbmF2aWdhdGlvbigpO1xufVxuIiwiLyoqXG4gKiBFQ0wgTmF2aWdhdGlvbiBpbnBhZ2VcbiAqIEBkZWZpbmUgaW5wYWdlLW5hdmlnYXRpb25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1zdHlsZS1pY29uL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtc3R5bGUtaWNvbi9taXhpbnMnO1xuXG4vLyBUcmlnZ2VyXG4kZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi10cmlnZ2VyLWxpbmUtaGVpZ2h0OiAxO1xuJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi10cmlnZ2VyLXBhZGRpbmctaG9yaXpvbnRhbDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4kZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItcGFkZGluZy12ZXJ0aWNhbDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4kZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItY2FyZXQtd2lkdGg6ICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1wYWRkaW5nLXZlcnRpY2FsICpcbiAgMiArICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1saW5lLWhlaWdodCAqXG4gICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1mb250LXNpemU7XG5cbi8vIExpbmtcbiRlY2wtaW5wYWdlLW5hdmlnYXRpb24tbGluay1mb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4kZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpbmstbGluZS1oZWlnaHQ6IDEuNjI1O1xuJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1saW5rLWhlaWdodDogMi41cmVtO1xuJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1saW5rLXBhZGRpbmctdmVydGljYWw6IChcbiAgICAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpbmstaGVpZ2h0IC0gJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1saW5rLWxpbmUtaGVpZ2h0ICpcbiAgICAgICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tbGluay1mb250LXNpemVcbiAgKSAvIDI7XG5cbkBtaXhpbiBlY2wtaW5wYWdlLW5hdmlnYXRpb24oKSB7XG4gIC5lY2wtaW5wYWdlLW5hdmlnYXRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX3RyaWdnZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTEwMCcpO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi10cmlnZ2VyLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItbGluZS1oZWlnaHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi10cmlnZ2VyLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlci1jYXJldC13aWR0aCArXG4gICAgICAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctdG9wOiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG4gICAgICBAaW5jbHVkZSBlY2wtaWNvbignYXJyb3ctZG93bicpO1xuXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTEwJyk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHh4cycpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLXRyaWdnZXItY2FyZXQtd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fdGl0bGUge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fbGlzdFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgZm9udC1zaXplOiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpbmstZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpbmstbGluZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1saW5rLXBhZGRpbmctdmVydGljYWwgMDtcbiAgfVxuXG4gIC5lY2wtaW5wYWdlLW5hdmlnYXRpb24tLXZpc2libGUge1xuICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX3RyaWdnZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LWRvd24oJ3NtJykge1xuICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb24tLXZpc2libGUge1xuICAgICAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fYm9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTExMCcpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fbGluazp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ21kJykge1xuICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb24ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX190aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19saXN0W2FyaWEtaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX2xpbmstLWlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0xMCcpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRlY2wtY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uLS12aXNpYmxlIHtcbiAgICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX3RyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBFQ0wgUGFnZXJcbiAqIEBkZWZpbmUgcGFnZXJcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1wYWdlci9nZW5lcmljLWNvbXBvbmVudC1wYWdlcic7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtcGFnZXInKSB7XG4gIEBpbmNsdWRlIGVjbC1wYWdlcigpO1xufVxuIiwiLyoqXG4gKiBFQ0wgUGFnZXJcbiAqIEBkZWZpbmUgcGFnZXJcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1wYWdlcigpIHtcbiAgLmVjbC1wYWdlciB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwMDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5lY2wtcGFnZXJfX2xpc3Qge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtcGFnZXJfX2l0ZW0ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHhzJyk7XG4gIH1cblxuICAuZWNsLXBhZ2VyX19saW5rIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTAwJyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWluLXdpZHRoOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1wYWdlcl9faXRlbS0tcHJldmlvdXMsXG4gIC5lY2wtcGFnZXJfX2l0ZW0tLW5leHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmVjbC1wYWdlcl9fbGluayB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtcGFnZXJfX2l0ZW0tLWVsbGlwc2lzIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtaW4td2lkdGg6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICB9XG5cbiAgLmVjbC1wYWdlcl9faXRlbS0tY3VycmVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtaW4td2lkdGg6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHh4cycpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmVjbC1wYWdlciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuZWNsLXBhZ2VyX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5lY2wtcGFnZXJfX2l0ZW0tLWN1cnJlbnQge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICB9XG5cbiAgICAuZWNsLXBhZ2VyX19pdGVtLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogQmxvY2txdW90ZXNcbiAqIEBkZWZpbmUgcnNzLWxpbmtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1yc3MtbGluay9nZW5lcmljLWNvbXBvbmVudC1yc3MtbGluayc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LXNvY2lhbC1pY29uJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LXJzcy1saW5rJykge1xuICBAaW5jbHVkZSBlY2wtcnNzLWxpbmsoKTtcbn1cbiIsIi8qKlxuICogUlNTIGxpbmtzXG4gKiBAZGVmaW5lIHJzcy1saW5rXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtcnNzLWxpbmsoKSB7XG4gIC5lY2wtcnNzLWxpbmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1yc3MtbGlua19fbGFiZWwge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICd4eHhzJykgbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4cycpXG4gICAgICBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHh4cycpIDA7XG4gIH1cblxuICAuZWNsLXJzcy1saW5rX19saW5rIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBTZWFyY2ggZm9ybVxuICogQGRlZmluZSBzZWFyY2gtZm9ybVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXNlYXJjaC1mb3JtL2dlbmVyaWMtY29tcG9uZW50LXNlYXJjaC1mb3JtJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtZm9ybS10ZXh0LWlucHV0JywgJ2VjLWNvbXBvbmVudC1idXR0b24nKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtc2VhcmNoLWZvcm0nKSB7XG4gIEBpbmNsdWRlIGVjbC1zZWFyY2gtZm9ybSgpO1xufVxuIiwiLyoqXG4gKiBTZWFyY2ggZm9ybVxuICogQGRlZmluZSBzZWFyY2gtZm9ybVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXNlYXJjaC1mb3JtKCkge1xuICAuZWNsLXNlYXJjaC1mb3JtIHtcbiAgICBAaW5jbHVkZSBlY2wtaGlkZGVuLXByaW50KCk7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01MCcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1zZWFyY2gtZm9ybV9fdGV4dGZpZWxkLXdyYXBwZXIge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50OyAvLyBLZWVwcyB0aGUgZm9jdXMgaW4gdGhlIGNvbnRhaW5lclxuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIC5lY2wtc2VhcmNoLWZvcm1fX3RleHRmaWVsZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICAuZWNsLXNlYXJjaC1mb3JtX19idXR0b24ge1xuICAgIEBpbmNsdWRlIGVjbC1pY29uLS1iZWZvcmUoKTtcblxuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBhZGRpbmc6IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3NlYXJjaCcpO1xuXG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdsJyk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmVjbC1zZWFyY2gtZm9ybV9fYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICB0ZXh0LWluZGVudDogMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lY2wtc2VhcmNoLWZvcm0tLWludGVybmFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmVjbC1zZWFyY2gtZm9ybV9fdGV4dGZpZWxkLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWJlZm9yZSgpO1xuXG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZWNsLWljb24oJ3NlYXJjaCcpO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS0yNScpO1xuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgICAgIGxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWNsLXNlYXJjaC1mb3JtX190ZXh0ZmllbGQge1xuICAgICAgLy8gfiAxICogaWNvbidzIHdpZHRoICsgMSAqIGljb24ncyBsZWZ0IHNwYWNlICsgMSAqIHNwYWNlIGJldHdlZW4gaWNvbiBhbmQgaW5wdXRcbiAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKSArIDIgKlxuICAgICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBTa2lwIGxpbmsgY29tcG9uZW50XG4gKiBAZGVmaW5lIHNraXAtbGlua1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXNraXAtbGluay9nZW5lcmljLWNvbXBvbmVudC1za2lwLWxpbmsnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LXNraXAtbGluaycpIHtcbiAgQGluY2x1ZGUgZWNsLXNraXAtbGluaygpO1xufVxuIiwiLyoqXG4gKiBTa2lwIGxpbmsgY29tcG9uZW50XG4gKiBAZGVmaW5lIHNraXAtbGlua1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXNraXAtbGluaygpIHtcbiAgLmVjbC1za2lwLWxpbmtfX3dyYXBwZXIge1xuICAgIGxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbCcpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ21heCcpO1xuICB9XG5cbiAgLmVjbC1za2lwLWxpbmsge1xuICAgIEBpbmNsdWRlIGVjbC11LXNyLW9ubHkoKTtcbiAgICBAaW5jbHVkZSBlY2wtdS1zci1vbmx5LWZvY3VzYWJsZSgpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtNzUnKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvdXRsaW5lOiA0cHggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ3llbGxvdy0xMDAnKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudFxuLy8gU2VlOiBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gZWNsLXUtc3Itb25seSgpIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIGVjbC11LXNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuIiwiLyoqXG4gKiBTb2NpYWwgbWVkaWFcbiAqIEBkZWZpbmUgc29jaWFsLW1lZGlhLWxpbmtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtbWVkaWEtbGluay9nZW5lcmljLWNvbXBvbmVudC1zb2NpYWwtbWVkaWEtbGluayc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LXNvY2lhbC1pY29uJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LXNvY2lhbC1tZWRpYS1saW5rJykge1xuICBAaW5jbHVkZSBlY2wtc29jaWFsLW1lZGlhLWxpbmsoKTtcbn1cbiIsIi8qKlxuICogU29jaWFsIG1lZGlhXG4gKiBAZGVmaW5lIHNvY2lhbC1tZWRpYS1saW5rXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtc29jaWFsLW1lZGlhLWxpbmsoKSB7XG4gIC5lY2wtc29jaWFsLW1lZGlhLWxpbmsge1xuICAgIEBpbmNsdWRlIGVjbC1oaWRkZW4tcHJpbnQoKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLXNvY2lhbC1tZWRpYS1saW5rX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZWNsLXNvY2lhbC1tZWRpYS1saW5rX19saW5rIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogMnJlbTtcbiAgfVxuXG4gIC8vIEhvcml6b250YWxcbiAgLmVjbC1zb2NpYWwtbWVkaWEtbGluay0taG9yaXpvbnRhbCB7XG4gICAgLmVjbC1zb2NpYWwtbWVkaWEtbGlua19fbGlzdCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmVjbC1zb2NpYWwtbWVkaWEtbGlua19faXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgfVxuXG4gICAgLmVjbC1zb2NpYWwtbWVkaWEtbGlua19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogVGltZWxpbmVcbiAqIEBkZWZpbmUgdGltZWxpbmVcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC10aW1lbGluZS9nZW5lcmljLWNvbXBvbmVudC10aW1lbGluZSc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtc3R5bGUtdHlwb2dyYXBoeS1oZWFkaW5nJywgJ2VjLWNvbXBvbmVudC1idXR0b24nKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtdGltZWxpbmUnKSB7XG4gIEBpbmNsdWRlIGVjbC10aW1lbGluZSgpO1xufVxuIiwiLyoqXG4gKiBUaW1lbGluZVxuICogQGRlZmluZSB0aW1lbGluZVxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXRpbWVsaW5lKCRidWxsZXQtc2l6ZTogMTRweCwgJGJvcmRlci13aWR0aDogNHB4KSB7XG4gIC5lY2wtdGltZWxpbmUge1xuICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICd5ZWxsb3ctMTAwJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLXRpbWVsaW5lX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKSAwIDA7XG4gIH1cblxuICAuZWNsLXRpbWVsaW5lX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgfVxuXG4gIC5lY2wtdGltZWxpbmVfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5lY2wtdGltZWxpbmVfX2l0ZW0tLW92ZXItbGltaXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAubm8tanMgJiB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuICB9XG5cbiAgLmVjbC10aW1lbGluZV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG5cbiAgICAubm8tanMgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtdGltZWxpbmVfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ2wnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAkYnVsbGV0LXNpemU7XG4gICAgICBsZWZ0OiAtKCgkYnVsbGV0LXNpemUgKyAkYm9yZGVyLXdpZHRoKSAvIDIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogJGJ1bGxldC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtdGltZWxpbmVfX2JvZHkge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdsJyk7XG4gIH1cbn1cbiIsIi8qKlxuICogQWNjb3JkaW9uc1xuICogQGRlZmluZSBhY2NvcmRpb25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1hY2NvcmRpb24vZ2VuZXJpYy1jb21wb25lbnQtYWNjb3JkaW9uJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1zdHlsZS1pY29uJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWFjY29yZGlvbicpIHtcbiAgQGluY2x1ZGUgZWNsLWFjY29yZGlvbigpO1xufVxuIiwiLyoqXG4gKiBBY2NvcmRpb25zXG4gKiBAZGVmaW5lIGFjY29yZGlvblxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLWFjY29yZGlvbigpIHtcbiAgLmVjbC1hY2NvcmRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5lY2wtYWNjb3JkaW9uX19oZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ2wnKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWFjY29yZGlvbl9faGVhZGVyLWljb24ge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHMnKTtcbiAgfVxuXG4gIC5lY2wtYWNjb3JkaW9uX19oZWFkZXI6YWN0aXZlLFxuICAuZWNsLWFjY29yZGlvbl9faGVhZGVyOmZvY3VzLFxuICAuZWNsLWFjY29yZGlvbl9faGVhZGVyOmhvdmVyLFxuICAuZWNsLWFjY29yZGlvbl9faGVhZGVyW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1zZWNvbmRhcnk7XG4gIH1cblxuICAuZWNsLWFjY29yZGlvbl9fcGFuZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUnKTtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdzJyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuXG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eGwnKTtcbiAgICB9XG4gIH1cblxuICAuZWNsLWFjY29yZGlvbl9fcGFuZWxbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLyoqXG4qIEdhbGxlcnlcbiogQGRlZmluZSBnYWxsZXJ5IDsgd2Vha1xuKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtZ2FsbGVyeS9nZW5lcmljLWNvbXBvbmVudC1nYWxsZXJ5JztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1zdHlsZS1pY29uJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWdhbGxlcnknKSB7XG4gIEBpbmNsdWRlIGVjbC1nYWxsZXJ5KCk7XG59XG4iLCIvKipcbiogR2FsbGVyeVxuKiBAZGVmaW5lIGdhbGxlcnkgOyB3ZWFrXG4qL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1nYWxsZXJ5KCkge1xuICAuZWNsLWdhbGxlcnkge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLWdhbGxlcnlfX2l0ZW0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuZWNsLWdhbGxlcnkgLmVjbC1nYWxsZXJ5X19pdGVtIHtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSAvIDI7XG4gIH1cblxuICAuZWNsLWdhbGxlcnlfX2l0ZW0tY29udGFpbmVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lY2wtZ2FsbGVyeV9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmVjbC1nYWxsZXJ5X19jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXNoYWRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3h4cycpO1xuICAgIGhlaWdodDogNGVtO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyBUaGUgbGluZSBpcyBpZ25vcmVkIGJlY2F1c2UgcHJldHRpZXIgd2FudHMgZmlyc3QgbGluZSB0byBzdGF5LlxuICAgIC8vIFdoZXJlYXMgdGhlIGxpbnRlciB3YW50cyB0aGUgcnVsZXMgdG8gZ28gYSBuZXcgbGluZSBkaXJlY3RseS5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpXG4gICAgICBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAuZWNsLWdhbGxlcnlfX2ljb24td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgaGVpZ2h0OiAyLjY2N2VtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyLjY2N2VtO1xuXG4gICAgLy8gQ2FtZXJhIGljb24gbmVlZHMgdG8gYmUgc21hbGxlciBpbiB0aGlzIGNvbnRleHQuXG4gICAgLmVjbC1pY29uLS1jYW1lcmEge1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHhzJyk7XG4gICAgICBsaW5lLWhlaWdodDogNGVtO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtZ2FsbGVyeV9faWNvbiB7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjY2N2VtO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBUaGF0J3MgaG93IHdlIHNob3cgdGhlIGNhcHRpb24gb24gaG92ZXJcbiAgLmVjbC1nYWxsZXJ5X19pdGVtOmhvdmVyIHtcbiAgICAuZWNsLWdhbGxlcnlfX2NhcHRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIExpc3RpbmdzXG4gKiBAZGVmaW5lIGxpc3Rpbmc7IHdlYWtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1saXN0aW5nL2dlbmVyaWMtY29tcG9uZW50LWxpc3RpbmcnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LWxpc3RpbmcnKSB7XG4gIEBpbmNsdWRlIGVjbC1saXN0aW5nKCk7XG59XG4iLCIvKipcbiAqIExpc3RpbmdzXG4gKiBAZGVmaW5lIGxpc3Rpbmc7IHdlYWtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1saXN0aW5nKCkge1xuICAuZWNsLWxpc3Rpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBUd28gY29sdW1uc1xuICAuZWNsLWxpc3RpbmctLXR3by1jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC5lY2wtbGlzdC1pdGVtIHtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5lY2wtbGlzdGluZy0tdHdvLWNvbHVtbnMge1xuICAgICAgLmVjbC1saXN0LWl0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaXJzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtOm50aC1jaGlsZChvZGQpIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIH1cbiAgICAgIC8vIExhc3QgY29sdW1uXG4gICAgICAuZWNsLWxpc3QtaXRlbTpudGgtY2hpbGQoZXZlbikgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgLy8gTmF2aWdhdGlvbiBsaXN0IGZpcnN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLW5hdmlnYXRpb246bnRoLWNoaWxkKG9kZCkgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBtYXJnaW46IDAgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgMCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgICAgLy8gTmF2aWdhdGlvbiBsaXN0IGxhc3QgY29sdW1uXG4gICAgICAuZWNsLWxpc3QtaXRlbS0tbmF2aWdhdGlvbjpudGgtY2hpbGQoZXZlbikgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBtYXJnaW46IDAgMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBCbG9jayBsaXN0IGZpcnN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLWJsb2NrOm50aC1jaGlsZChvZGQpIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDAgMDtcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICB9XG4gICAgICAvLyBCbG9jayBsaXN0IGxhc3QgY29sdW1uXG4gICAgICAuZWNsLWxpc3QtaXRlbS0tYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhyZWUgY29sdW1uc1xuICAuZWNsLWxpc3RpbmctLXRocmVlLWNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLmVjbC1saXN0LWl0ZW0ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmVjbC1saXN0aW5nLS10aHJlZS1jb2x1bW5zIHtcbiAgICAgIC5lY2wtbGlzdC1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgIH1cblxuICAgICAgLy8gRmlyc3QgY29sdW1uXG4gICAgICAuZWNsLWxpc3QtaXRlbTpudGgtY2hpbGQoM24gKyAxKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICB9XG4gICAgICAvLyBNaWRkbGUgY29sdW1uXG4gICAgICAuZWNsLWxpc3QtaXRlbTpudGgtY2hpbGQoM24gKyAyKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAvIDI7XG4gICAgICB9XG4gICAgICAvLyBMYXN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW06bnRoLWNoaWxkKDNuKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIE5hdmlnYXRpb24gbGlzdCBmaXJzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uOm50aC1jaGlsZCgzbiArIDEpIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICAgIC8vIE5hdmlnYXRpb24gbGlzdCBtaWRkbGUgY29sdW1uXG4gICAgICAuZWNsLWxpc3QtaXRlbS0tbmF2aWdhdGlvbjpudGgtY2hpbGQoM24gKyAyKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIG1hcmdpbjogMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAvIDI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICAvLyBOYXZpZ2F0aW9uIGxpc3QgbGFzdCBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1uYXZpZ2F0aW9uOm50aC1jaGlsZCgzbikgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBtYXJnaW46IDAgMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBCbG9jayBsaXN0IGZpcnN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLWJsb2NrOm50aC1jaGlsZCgzbiArIDEpIC5lY2wtbGlzdC1pdGVtX19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDAgMDtcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgICB9XG4gICAgICAvLyBCbG9jayBsaXN0IG1pZGRsZSBjb2x1bW5cbiAgICAgIC5lY2wtbGlzdC1pdGVtLS1ibG9jazpudGgtY2hpbGQoM24gKyAyKSAuZWNsLWxpc3QtaXRlbV9fbGluayB7XG4gICAgICAgIG1hcmdpbjogMCBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAvIDI7XG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgfVxuICAgICAgLy8gQmxvY2sgbGlzdCBsYXN0IGNvbHVtblxuICAgICAgLmVjbC1saXN0LWl0ZW0tLWJsb2NrOm50aC1jaGlsZCgzbikgLmVjbC1saXN0LWl0ZW1fX2xpbmsge1xuICAgICAgICBtYXJnaW46IDAgMCAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRUNMIE5hdmlnYXRpb25cbiAqIEBkZWZpbmUgbmF2aWdhdGlvbi1saXN0XG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0L2dlbmVyaWMtY29tcG9uZW50LW5hdmlnYXRpb24tbGlzdCc7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKCgnZWMtY29tcG9uZW50LWxpbmsnKSk7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0Jykge1xuICBAaW5jbHVkZSBlY2wtbmF2aWdhdGlvbi1saXN0KCk7XG59XG4iLCIvKipcbiAqIEVDTCBOYXZpZ2F0aW9uXG4gKiBAZGVmaW5lIG5hdmlnYXRpb24tbGlzdFxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLW5hdmlnYXRpb24tbGlzdCgkYm9yZGVyLXdpZHRoOiAycHgpIHtcbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbGlzdF9faXRlbSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbGlzdF9fbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGVjbC1jb2xvci1zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3RfX2xpbmstLWFjdGl2ZSxcbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3RfX2xpbmtbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1zaGFkZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYXJpYW50c1xuICAgKi9cblxuICAvLyBUYWJzXG5cbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3QtLXRhYnMge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1saXN0LS10YWJzIC5lY2wtbmF2aWdhdGlvbi1saXN0X19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJGJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1saXN0LS10YWJzIC5lY2wtbmF2aWdhdGlvbi1saXN0X19saW5rLS1hY3RpdmUsXG4gIC5lY2wtbmF2aWdhdGlvbi1saXN0LS10YWJzIC5lY2wtbmF2aWdhdGlvbi1saXN0X19saW5rW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTUwJyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNtYWxsXG5cbiAgLmVjbC1uYXZpZ2F0aW9uLWxpc3QtLXNtYWxsIC5lY2wtbmF2aWdhdGlvbi1saXN0X19saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ3MnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBFQyBuYXZpZ2F0aW9uIG1lbnVzXG4gKiBAZGVmaW5lIG5hdmlnYXRpb24tbWVudVxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LW5hdmlnYXRpb24tbWVudS9nZW5lcmljLWNvbXBvbmVudC1uYXZpZ2F0aW9uLW1lbnUnO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLXN0eWxlLXR5cG9ncmFwaHktbGlzdCcpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1uYXZpZ2F0aW9uLW1lbnUnKSB7XG4gIEBpbmNsdWRlIGVjbC1uYXZpZ2F0aW9uLW1lbnUoXG4gICAgJGJhci1iZy1tb2JpbGU6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTc1JyksXG4gICAgJGJhci1iZy1kZXNrdG9wOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0yNScpLFxuICAgICR0b2dnbGUtYnRuLWNvbG9yOiAjZmZmLFxuICAgICRncm91cC1iZzogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNScpLFxuICAgICRzZXBhcmF0b3ItbW9iaWxlOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS01MCcpLFxuICAgICRsaW5rLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMjAnKSxcbiAgICAkYWN0aXZlLWNvbG9yOiAjZmZmLFxuICAgICRhY3RpdmUtYmc6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdibHVlLTc1JylcbiAgKTtcbn1cbiIsIi8qKlxuICogRUNMIEhvcml6b250YWwgbWVudXNcbiAqIEBkZWZpbmUgbmF2aWdhdGlvbi1tZW51XG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtbmF2aWdhdGlvbi1tZW51KFxuICAkYmFyLWJnLW1vYmlsZSxcbiAgJGJhci1iZy1kZXNrdG9wLFxuICAkdG9nZ2xlLWJ0bi1jb2xvcixcbiAgJGdyb3VwLWJnLFxuICAkc2VwYXJhdG9yLW1vYmlsZSxcbiAgJGxpbmstY29sb3IsXG4gICRhY3RpdmUtY29sb3IsXG4gICRhY3RpdmUtYmdcbikge1xuICAuZWNsLW5hdmlnYXRpb24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1iZy1tb2JpbGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3Jvb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fcm9vdFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLy8gRm9yY2UgZGlzcGxheSBpZiBubyBKU1xuICAgIC5uby1qcyAmIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3Jvb3Q6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1iZy1kZXNrdG9wO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3RvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1iZy1tb2JpbGU7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGNvbG9yOiAkdG9nZ2xlLWJ0bi1jb2xvcjtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGVjbC1mb250LXNpemUsICdtJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJykgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19ncm91cDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JvdXAtYmc7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X190aXRsZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3hzJyk7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fbGlua3Mge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZXBhcmF0b3ItbW9iaWxlO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAncycpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fcm9vdCA+IC5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyLWJnLWRlc2t0b3A7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faXRlbS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmc7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fcm9vdCA+IC5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmc7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faXRlbTpsYXN0LWNoaWxkIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgLyogSWNvbiBkaXNwbGF5ICovXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rW2FyaWEtZXhwYW5kZWRdOjphZnRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4eHMnKTtcblxuICAgIC5uby1qcyAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmtbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCdkb3duJyk7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmtbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZWNsLWljb24tLWFmdGVyKCk7XG5cbiAgICAgIEBpbmNsdWRlIGVjbC1pY29uKCd1cCcpO1xuICAgIH1cbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rXG4gICAgfiAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXBcbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLyogQ29sbGFwc2libGUgYmxvY2sgZGlzcGxheSAqL1xuICAuZWNsLW5hdmlnYXRpb24tbWVudV9fbGlua1thcmlhLWV4cGFuZGVkPSd0cnVlJ11cbiAgICB+IC5lY2wtbmF2aWdhdGlvbi1tZW51X19ncm91cCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiBIYW1idXJnZXIgYnV0dG9uICovXG4gIC8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWJveCB7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpICsgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtMC4xZW07XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyLFxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9nZ2xlLWJ0bi1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjFlbTtcbiAgICBoZWlnaHQ6IDAuMmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtMC41ZW07XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLS1zcXVlZXplXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2hhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItLXNxdWVlemVcbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgZWFzZTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItLXNxdWVlemVcbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgdHJhbnNmb3JtIDAuMDc1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItLXNxdWVlemVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2hhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItLXNxdWVlemVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2hhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIGVhc2UsIG9wYWNpdHkgMC4wNzVzIDAuMTJzIGVhc2U7XG4gIH1cblxuICAuZWNsLW5hdmlnYXRpb24tbWVudV9faGFtYnVyZ2VyLS1zcXVlZXplW2FyaWEtZXhwYW5kZWQ9J3RydWUnXVxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1iZy1kZXNrdG9wO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19yb290IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fcm9vdFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX3Jvb3Q6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X190b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fZ3JvdXAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmsge1xuICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eHMnKSAwO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19saW5rW2FyaWEtZXhwYW5kZWRdOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2xpbmtbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncm91cC1iZztcbiAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9fbGlua1thcmlhLWV4cGFuZGVkPSd0cnVlJ11cbiAgICAgIH4gLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2dyb3VwIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB6LWluZGV4OiBtYXAtZ2V0KCRlY2wtei1pbmRleCwgJ2hpZ2hsaWdodCcpO1xuICAgIH1cblxuICAgIC5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2dyb3VwIC5lY2wtbmF2aWdhdGlvbi1tZW51X19pdGVtIHtcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICB9XG5cbiAgICAuZWNsLW5hdmlnYXRpb24tbWVudV9faXRlbS0tYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgLmVjbC1uYXZpZ2F0aW9uLW1lbnVfX2l0ZW0tLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEVDTCBTaWRlIG1lbnVzXG4gKiBAZGVmaW5lIHNpZGUtbmF2aWdhdGlvblxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXNpZGUtbmF2aWdhdGlvbi9nZW5lcmljLWNvbXBvbmVudC1zaWRlLW5hdmlnYXRpb24nO1xuXG4vLyBDaGVjayBpZiBvdmVycmlkZGVuIGRlcGVuZGVuY2llcyBhcmUgYWxyZWFkeSBsb2FkZWQsIGlmIG5lZWRlZFxuQGluY2x1ZGUgY2hlY2staW1wb3J0cygoJ2VjLWNvbXBvbmVudC1leHBhbmRhYmxlJykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LXNpZGUtbmF2aWdhdGlvbicpIHtcbiAgQGluY2x1ZGUgZWNsLXNpZGUtbmF2aWdhdGlvbigpO1xufVxuIiwiLyoqXG4gKiBFQ0wgU2lkZSBtZW51c1xuICogQGRlZmluZSBzaWRlLW5hdmlnYXRpb25cbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1zaWRlLW5hdmlnYXRpb24oXG4gICRiZzogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMTAnKSxcbiAgJGdyb3VwLWJnOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnZ3JleS01JyksXG4gICR0b2dnbGUtYnRuLWJnOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS03NScpLFxuICAkdG9nZ2xlLWJ0bi1jb2xvcjogI2ZmZixcbiAgJHNlcGFyYXRvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktNTAnKSxcbiAgJGdyb3VwLXNlcGFyYXRvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2dyZXktMjUnKSxcbiAgJGxpbmstY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpLFxuICAkbGluay1hY3RpdmUtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwMCcpXG4pIHtcbiAgLmVjbC1zaWRlLW5hdmlnYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fcm9vdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLXdpZHRoOiAxM3JlbTtcbiAgICBwYWRkaW5nOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19yb290OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19yb290W2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAvLyBGb3JjZSBkaXNwbGF5IGlmIG5vIEpTXG4gICAgLm5vLWpzICYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgY29sb3I6ICR0b2dnbGUtYnRuLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ20nKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKSBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX190b2dnbGU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvZ2dsZS1idG4tYmc7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogLShtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAtKG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpKTtcbiAgICBwYWRkaW5nOiAwIG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19ncm91cDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JvdXAtYmc7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZXBhcmF0b3I7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbScpO1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2dyb3VwIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb24tLWRlcHRoLTIgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRncm91cC1zZXBhcmF0b3I7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddLFxuICAgICZbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb24tLWRlcHRoLTMgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0obWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykpO1xuICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbi0tZGVwdGgtMlxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19pdGVtOmxhc3QtY2hpbGRcbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uLS1kZXB0aC0zXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2l0ZW06bGFzdC1jaGlsZFxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cblxuICAvKiBDb2xsYXBzaWJsZSBibG9jayBkaXNwbGF5ICovXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19saW5rW2FyaWEtZXhwYW5kZWQ9J3RydWUnXVxuICAgIH4gLmVjbC1zaWRlLW5hdmlnYXRpb25fX2dyb3VwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qIEhhbWJ1cmdlciBidXR0b24gKi9cbiAgLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItYm94IHtcbiAgICBsZWZ0OiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpICsgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLTAuMWVtO1xuICB9XG5cbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lcixcbiAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjFlbTtcbiAgICBoZWlnaHQ6IDAuMmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtMC41ZW07XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLS1zcXVlZXplXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItLXNxdWVlemVcbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgZWFzZTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItLXNxdWVlemVcbiAgICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgdHJhbnNmb3JtIDAuMDc1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItLXNxdWVlemVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItLXNxdWVlemVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2hhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIGVhc2UsIG9wYWNpdHkgMC4wNzVzIDAuMTJzIGVhc2U7XG4gIH1cblxuICAuZWNsLXNpZGUtbmF2aWdhdGlvbl9faGFtYnVyZ2VyLS1zcXVlZXplW2FyaWEtZXhwYW5kZWQ9J3RydWUnXVxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG9yZGVyL29yZGVyICovXG4gIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX3RvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19yb290LFxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19yb290W2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX3Jvb3Q6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5lY2wtc2lkZS1uYXZpZ2F0aW9uX19ncm91cCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JvdXAtYmc7XG4gICAgfVxuXG4gICAgLmVjbC1zaWRlLW5hdmlnYXRpb25fX2dyb3VwOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogUGFnZSBoZWFkZXJcbiAqIEBkZWZpbmUgcGFnZS1oZWFkZXJcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1wYWdlLWhlYWRlci9nZW5lcmljLWNvbXBvbmVudC1wYWdlLWhlYWRlcic7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtcGFnZS1oZWFkZXInKSB7XG4gIEBpbmNsdWRlIGVjbC1wYWdlLWhlYWRlcigpO1xufVxuIiwiLyoqXG4gKiBQYWdlIGhlYWRlclxuICogQGRlZmluZSBwYWdlLWhlYWRlclxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXBhZ2UtaGVhZGVyKCkge1xuICAuZWNsLXBhZ2UtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJl9fYm9keSB7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpIDA7XG4gICAgfVxuXG4gICAgJl9fbWV0YSB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgICB9XG5cbiAgICAmX19pZGVudGl0eSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMjUnKTtcbiAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZWNsLWZvbnQtc2l6ZSwgJ2wnKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAneHhzJyk7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4cycpO1xuICAgIH1cblxuICAgICZfX2ludHJvIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICBtYXgtd2lkdGg6IDQwZW07XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAneHMnKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLmVjbC1wYWdlLWhlYWRlci0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgLmVjbC1jb250YWluZXIge1xuICAgICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdoaWdobGlnaHQnKSArIDE7XG4gICAgfVxuICB9XG5cbiAgLyogQmx1ZSBncmFkaWVudCAqL1xuXG4gIC5lY2wtcGFnZS1oZWFkZXItLWltYWdlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogbWFwLWdldCgkZWNsLXotaW5kZXgsICdoaWdobGlnaHQnKTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwNDQ5NCswLDAwNDQ5NCsxMDAmMSswLDAuNzUrODAsMC41KzEwMCAqL1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KFxuICAgICAgbGVmdCxcbiAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMSkgMCUsXG4gICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuNzUpIDgwJSxcbiAgICAgIHJnYmEoMCwgNjgsIDE0OCwgMC41KSAxMDAlXG4gICAgKTsgLyogRkYzLjYtMTUgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgIGxlZnQsXG4gICAgICByZ2JhKDAsIDY4LCAxNDgsIDEpIDAlLFxuICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAwLjc1KSA4MCUsXG4gICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuNSkgMTAwJVxuICAgICk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgdG8gcmlnaHQsXG4gICAgICByZ2JhKDAsIDY4LCAxNDgsIDEpIDAlLFxuICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAwLjc1KSA4MCUsXG4gICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuNSkgMTAwJVxuICAgICk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDA0NDk0JywgZW5kQ29sb3JzdHI9JyM4MDAwNDQ5NCcsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJGVjbC1ncmlkLWJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgIC5lY2wtcGFnZS1oZWFkZXItLWltYWdlOjphZnRlciB7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwNDQ5NCswLDAwNDQ5NCsxMDAmMSswLDAuOSs4MCwwLjgrMTAwICovXG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgbGVmdCxcbiAgICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAxKSAwJSxcbiAgICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAwLjkpIDgwJSxcbiAgICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAwLjgpIDEwMCVcbiAgICAgICk7IC8qIEZGMy42LTE1ICovXG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgbGVmdCxcbiAgICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAxKSAwJSxcbiAgICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAwLjkpIDgwJSxcbiAgICAgICAgcmdiYSgwLCA2OCwgMTQ4LCAwLjgpIDEwMCVcbiAgICAgICk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIHJpZ2h0LFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDEpIDAlLFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuOSkgODAlLFxuICAgICAgICByZ2JhKDAsIDY4LCAxNDgsIDAuOCkgMTAwJVxuICAgICAgKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwNDQ5NCcsIGVuZENvbG9yc3RyPScjY2MwMDQ0OTQnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG4gICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgfVxuICB9XG5cbiAgLyogRW5kIEJsdWUgZ3JhZGllbnQgKi9cblxuICAuZWNsLXBhZ2UtaGVhZGVyLS1oaWdobGlnaHQge1xuICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcblxuICAgIC5lY2wtcGFnZS1oZWFkZXJfX2JvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZWNsLWNvbG9ycywgJ2JsdWUtMTIwJyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4cycpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRlY2wtZ3JpZC1icmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAuZWNsLXBhZ2UtaGVhZGVyLS1oaWdobGlnaHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIC5lY2wtcGFnZS1oZWFkZXJfX2JvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3h4bCcpO1xuICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICd4eGwnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZWNsLXBhZ2UtaGVhZGVyX19sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlY2wtY29sb3JzLCAnYmx1ZS0xMjAnKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgfVxuXG4gICAgLmVjbC1wYWdlLWhlYWRlcl9faGlnaGxpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogJGVjbC1jb2xvci1wcmltYXJ5O1xuICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRlY2wtZm9udC1zaXplLCAnbCcpO1xuICAgICAgbWF4LXdpZHRoOiAyMmVtO1xuICAgICAgcGFkZGluZzogbWFwLWdldCgkZWNsLXNwYWNpbmcsICdzJykgbWFwLWdldCgkZWNsLXNwYWNpbmcsICdtJyk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEVDTCBQcm9maWxlIFRvcGJhclxuICogQGRlZmluZSBwcm9maWxlLXRvcGJhclxuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtY29tcG9uZW50LXByb2ZpbGUtdG9wYmFyL2dlbmVyaWMtY29tcG9uZW50LXByb2ZpbGUtdG9wYmFyJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtZXhwYW5kYWJsZScpKTtcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLWNvbXBvbmVudC1wcm9maWxlLXRvcGJhcicpIHtcbiAgQGluY2x1ZGUgZWNsLXByb2ZpbGUtdG9wYmFyKCk7XG59XG4iLCIvKipcbiAqIEVDTCBQcm9maWxlIFRvcGJhclxuICogQGRlZmluZSBwcm9maWxlLXRvcGJhclxuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXByb2ZpbGUtdG9wYmFyKCkge1xuICAuZWNsLXByb2ZpbGUtdG9wYmFyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAnbScpO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ20nKTtcbiAgfVxuXG4gIC5lY2wtcHJvZmlsZS10b3BiYXJfX3BhbmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZWNsLXByb2ZpbGUtdG9wYmFyX19wYW5lLWJ1dHRvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5lY2wtcHJvZmlsZS10b3BiYXJfX2NvbGxhcHNpYmxlLWFyZWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVjbC1jb2xvcnMsICdncmV5LTEwJyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5lY2wtcHJvZmlsZS10b3BiYXJfX2NvbGxhcHNpYmxlLWFyZWFbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBTaXRlIGhlYWRlclxuICogQGRlZmluZSBzaXRlLWhlYWRlciA7IHdlYWtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC1zaXRlLWhlYWRlci9nZW5lcmljLWNvbXBvbmVudC1zaXRlLWhlYWRlcic7XG5cbi8vIENoZWNrIGlmIG92ZXJyaWRkZW4gZGVwZW5kZW5jaWVzIGFyZSBhbHJlYWR5IGxvYWRlZCwgaWYgbmVlZGVkXG5AaW5jbHVkZSBjaGVjay1pbXBvcnRzKFxuICAoXG4gICAgJ2VjLWNvbXBvbmVudC1sb2dvJyxcbiAgICAnZWMtY29tcG9uZW50LWxhbmd1YWdlLWxpc3QnLFxuICAgICdlYy1jb21wb25lbnQtc2VhcmNoLWZvcm0nXG4gIClcbik7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy1jb21wb25lbnQtc2l0ZS1oZWFkZXInKSB7XG4gIEBpbmNsdWRlIGVjbC1zaXRlLWhlYWRlcigpO1xufVxuIiwiLyoqXG4gKiBTaXRlIGhlYWRlclxuICogQGRlZmluZSBzaXRlLWhlYWRlciA7IHdlYWtcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1zaXRlLWhlYWRlcigpIHtcbiAgLmVjbC1zaXRlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyX19iYW5uZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRlY2wtc3BhY2luZywgJ3MnKTtcbiAgfVxuXG4gIC5lY2wtc2l0ZS1oZWFkZXJfX2Jhbm5lciA+ICoge1xuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGVjbC1zcGFjaW5nLCAncycpO1xuICB9XG5cbiAgLy8gSWYgdGhlIGxvZ28gaXMgbGlua2luZyB0byBhbiBleHRlcm5hbCBwYWdlIGRvIG5vdCBzaG93IHRoZSBleHRlcm5hbCBpY29uLlxuICAuZWNsLXNpdGUtaGVhZGVyX19sb2dvIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyX19sYW5ndWFnZS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgLmVjbC1zaXRlLWhlYWRlcl9fc2VhcmNoIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAuZWNsLXNpdGUtaGVhZGVyX191c2VyLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBvcmRlci9vcmRlciAqL1xuICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5lY2wtc2l0ZS1oZWFkZXJfX3VzZXItbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBUYWJzXG4gKiBAZGVmaW5lIHRhYnNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLWNvbXBvbmVudC10YWIvZ2VuZXJpYy1jb21wb25lbnQtdGFiJztcblxuLy8gQ2hlY2sgaWYgb3ZlcnJpZGRlbiBkZXBlbmRlbmNpZXMgYXJlIGFscmVhZHkgbG9hZGVkLCBpZiBuZWVkZWRcbkBpbmNsdWRlIGNoZWNrLWltcG9ydHMoKCdlYy1jb21wb25lbnQtbmF2aWdhdGlvbi1saXN0JykpO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtY29tcG9uZW50LXRhYnMnKSB7XG4gIEBpbmNsdWRlIGVjbC10YWJzKCk7XG59XG4iLCIvKipcbiAqIFRhYnNcbiAqIEBkZWZpbmUgdGFic1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXRhYnMoKSB7XG4gIC5lY2wtdGFic19fdGFicGFuZWxbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBBcmlhIHV0aWxpdGllc1xuICogQXV0b21hdGljYWxseSBhcHBseSBjZXJ0YWluIHN0eWxlcyBkZXBlbmRpbmcgb24gdGhlIGFyaWEgYXR0cmlidXRlc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1hcmlhL2dlbmVyaWMtdXRpbGl0eS1hcmlhJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktYXJpYScpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktYXJpYSgpO1xufVxuIiwiLyoqXG4gKiBBcmlhIHV0aWxpdGllc1xuICogQXV0b21hdGljYWxseSBhcHBseSBjZXJ0YWluIHN0eWxlcyBkZXBlbmRpbmcgb24gdGhlIGFyaWEgYXR0cmlidXRlc1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXV0aWxpdHktYXJpYSgpIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVybiAqL1xuICAuZWNsLXUtYXJpYVthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvKipcbiAqIENsZWFyZml4IHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1jbGVhcmZpeC9nZW5lcmljLXV0aWxpdHktY2xlYXJmaXgnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS1jbGVhcmZpeCcpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktY2xlYXJmaXgoKTtcbn1cbiIsIi8qKlxuICogQ2xlYXJmaXggdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1jbGVhcmZpeCgpIHtcbiAgLmVjbC11LWNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBlY2wtY2xlYXJmaXgoKTtcbiAgfVxufVxuIiwiQG1peGluIGVjbC1jbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvKipcbiAqIEZsZXggdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy11dGlsaXR5LWZsZXgvZ2VuZXJpYy11dGlsaXR5LWZsZXgnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS1mbGV4Jykge1xuICBAaW5jbHVkZSBlY2wtdXRpbGl0eS1mbGV4KCk7XG59XG4iLCIvKipcbiAqIEZsZXggdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1mbGV4KCkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZWNsLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBlY2wtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGluZml4OiBlY2wtYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGVjbC1ncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICAgLmVjbC11LW9yZGVyI3skaW5maXh9LWZpcnN0IHtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgfVxuICAgICAgLmVjbC11LW9yZGVyI3skaW5maXh9LWxhc3Qge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1vcmRlciN7JGluZml4fS0wIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1mbGV4I3skaW5maXh9LXJvdyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICB9XG4gICAgICAuZWNsLXUtZmxleCN7JGluZml4fS1jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgLmVjbC11LWZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB9XG4gICAgICAuZWNsLXUtZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWZsZXgjeyRpbmZpeH0td3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1mbGV4I3skaW5maXh9LW5vd3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgfVxuICAgICAgLmVjbC11LWZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgICAuZWNsLXUtanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICAuZWNsLXUtanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmVjbC11LWp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgICAgLmVjbC11LWp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgICAuZWNsLXUtYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuZWNsLXUtYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUge1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICB9XG4gICAgICAuZWNsLXUtYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgICAuZWNsLXUtYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4ge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kIHtcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLXNlbGYjeyRpbmZpeH0tZW5kIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICAuZWNsLXUtYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuZWNsLXUtYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7XG4gICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgICAgfVxuICAgICAgLmVjbC11LWFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1mbGV4LWdyb3cjeyRpbmZpeH0tMCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIH1cbiAgICAgIC5lY2wtdS1mbGV4LWdyb3cjeyRpbmZpeH0tMSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRmxvYXQgdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy11dGlsaXR5LWZsb2F0L2dlbmVyaWMtdXRpbGl0eS1mbG9hdCc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LWZsb2F0Jykge1xuICBAaW5jbHVkZSBlY2wtdXRpbGl0eS1mbG9hdCgpO1xufVxuIiwiLyoqXG4gKiBGbG9hdCB1dGlsaXRpZXMgXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1mbG9hdCgpIHtcbiAgLmVjbC11LWYtbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmVjbC11LWYtciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5lY2wtdS1mLW5vbmUge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG4iLCIvKipcbiAqIENvbG9yaXplIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1jb2xvcml6ZS9nZW5lcmljLXV0aWxpdHktY29sb3JpemUnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS1jb2xvcml6ZScpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktY29sb3JpemUoKTtcbn1cbiIsIi8qKlxuICogQ29sb3JpemUgdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1jb2xvcml6ZSgpIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRlY2wtY29sb3JzIHtcbiAgICAvLyBGaWx0ZXIgb3V0IHllbGxvdyBjb2xvcnMgKHRleHQgc2hvdWxkIG5vdCBiZSB5ZWxsb3cpXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBAaWYgbm90IHN0ci1pbmRleCgka2V5LCAneWVsbG93LScpIHtcbiAgICAgIC5lY2wtdS1jb2xvci0jeyRrZXl9IHtcbiAgICAgICAgY29sb3I6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRlY2wtY29sb3JzLWJnIHtcbiAgICAuZWNsLXUtYmctI3ska2V5fSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLmVjbC11LWNvbG9yLXByaW1hcnkge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG4gIH1cbiAgLmVjbC11LWNvbG9yLXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2Vjb25kYXJ5O1xuICB9XG4gIC5lY2wtdS1jb2xvci1zaGFkZSB7XG4gICAgY29sb3I6ICRlY2wtY29sb3Itc2hhZGU7XG4gIH1cbiAgLmVjbC11LWNvbG9yLWluZm8ge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLWluZm87XG4gIH1cbiAgLmVjbC11LWNvbG9yLXdhcm5pbmcge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXdhcm5pbmc7XG4gIH1cbiAgLmVjbC11LWNvbG9yLXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkZWNsLWNvbG9yLXN1Y2Nlc3M7XG4gIH1cbiAgLmVjbC11LWNvbG9yLWVycm9yIHtcbiAgICBjb2xvcjogJGVjbC1jb2xvci1lcnJvcjtcbiAgfVxuICAuZWNsLXUtY29sb3Itd2hpdGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG4iLCIvKipcbiAqIERpc2FibGUgc2Nyb2xsIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1kaXNhYmxlc2Nyb2xsL2dlbmVyaWMtdXRpbGl0eS1kaXNhYmxlc2Nyb2xsJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktZGlzYWJsZXNjcm9sbCcpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktZGlzYWJsZXNjcm9sbCgpO1xufVxuIiwiLyoqXG4gKiBEaXNhYmxlc2Nyb2xsIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlXG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtYmFzZS9nZW5lcmljLWJhc2UnO1xuXG5AbWl4aW4gZWNsLXV0aWxpdHktZGlzYWJsZXNjcm9sbCgpIHtcbiAgLmVjbC11LWRpc2FibGVzY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbiIsIi8qKlxuICogRm9udCBzaXplIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1mb250LXNpemUvZ2VuZXJpYy11dGlsaXR5LWZvbnQtc2l6ZSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LWZvbnQtc2l6ZScpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktZm9udC1zaXplKCk7XG59XG4iLCIvKipcbiAqIEZvbnQgc2l6ZSB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC11dGlsaXR5LWZvbnQtc2l6ZSgpIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRlY2wtZm9udC1zaXplIHtcbiAgICAuZWNsLXUtZnMtI3ska2V5fSB7XG4gICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogTWFyZ2luIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1tYXJnaW4vZ2VuZXJpYy11dGlsaXR5LW1hcmdpbic7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LW1hcmdpbicpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktbWFyZ2luKCk7XG59XG4iLCIvKipcbiAqIE1hcmdpbiB1dGlsaXRpZXNcbiAqL1xuXG4vKlxuICAgQmFzZTpcbiAgICBtID0gbWFyZ2luXG4gIE1vZGlmaWVyczpcbiAgICBhID0gYWxsXG4gICAgaCA9IGhvcml6b250YWxcbiAgICB2ID0gdmVydGljYWxcbiAgICB0ID0gdG9wXG4gICAgciA9IHJpZ2h0XG4gICAgYiA9IGJvdHRvbVxuICAgIGwgPSBsZWZ0XG4qL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC11dGlsaXR5LW1hcmdpbigpIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGggKi9cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGVjbC1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgZWNsLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRpbmZpeDogZWNsLWJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRlY2wtZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZWNsLXNwYWNpbmcge1xuICAgICAgICAuZWNsLXUtbWEjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgbWFyZ2luOiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtbWgjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6ICR2YWx1ZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lY2wtdS1tdiN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC11LW10I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6ICR2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lY2wtdS1tciN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lY2wtdS1tYiN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtbWwjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKlxuICAgICAgICBFQ0wgTWFyZ2luIGF1dG9cbiAgICAgICAgPT09PT09PT09PT09PT09XG4gICAgICAgIEJhc2U6XG4gICAgICAgICAgbSA9IG1hcmdpblxuICAgICAgICBNb2RpZmllcnM6XG4gICAgICAgICAgYSA9IGFsbFxuICAgICAgICAgIGggPSBob3Jpem9udGFsXG4gICAgICAgICAgciA9IHJpZ2h0XG4gICAgICAgICAgbCA9IGxlZnRcbiAgICAgICovXG5cbiAgICAgIC5lY2wtdS1tYSN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtbWgjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1tciN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtbWwjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBQYWRkaW5nIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1wYWRkaW5nL2dlbmVyaWMtdXRpbGl0eS1wYWRkaW5nJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktcGFkZGluZycpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktcGFkZGluZygpO1xufVxuIiwiLyoqXG4gKiBQYWRkaW5nIHV0aWxpdGllc1xuICovXG5cbi8qIFxuICBCYXNlOlxuICAgIHAgPSBwYWRkaW5nXG4gIE1vZGlmaWVyczpcbiAgICBhID0gYWxsXG4gICAgaCA9IGhvcml6b250YWxcbiAgICB2ID0gdmVydGljYWxcbiAgICB0ID0gdG9wXG4gICAgciA9IHJpZ2h0XG4gICAgYiA9IGJvdHRvbVxuICAgIGwgPSBsZWZ0XG4qL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC11dGlsaXR5LXBhZGRpbmcoKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRlY2wtZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkaW5maXg6IGVjbC1icmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZWNsLWdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGVjbC1zcGFjaW5nIHtcbiAgICAgICAgLmVjbC11LXBhI3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIHBhZGRpbmc6ICR2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lY2wtdS1waCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR2YWx1ZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtcHYjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206ICR2YWx1ZTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC11LXB0I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtcHIjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC11LXBiI3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWNsLXUtcGwjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogUmF0aW8gdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy11dGlsaXR5LXJhdGlvL2dlbmVyaWMtdXRpbGl0eS1yYXRpbyc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LXJhdGlvJykge1xuICBAaW5jbHVkZSBlY2wtdXRpbGl0eS1yYXRpbygpO1xufVxuIiwiLyoqXG4gKiBSYXRpbyB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC1hc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICA+IC5jb250ZW50IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS1yYXRpbygpIHtcbiAgLmVjbC11LXJhdGlvLTE2LTkge1xuICAgIEBpbmNsdWRlIGVjbC1hc3BlY3QtcmF0aW8oMTYsIDkpO1xuICB9XG5cbiAgLmVjbC11LXJhdGlvLTQtMyB7XG4gICAgQGluY2x1ZGUgZWNsLWFzcGVjdC1yYXRpbyg0LCAzKTtcbiAgfVxufVxuIiwiLyoqXG4gKiBTY3JlZW4gcmVhZGVyIHV0aWxpdGllc1xuICovXG5cbi8vIEltcG9ydCBiYXNlIGFuZCBnZW5lcmljXG5AaW1wb3J0ICdAZWNsL2VjLWJhc2UvZWMtYmFzZSc7XG5AaW1wb3J0ICdAZWNsL2dlbmVyaWMtdXRpbGl0eS1zY3JlZW4tcmVhZGVyL2dlbmVyaWMtdXRpbGl0eS1zY3JlZW4tcmVhZGVyJztcblxuLy8gVXNlIGdlbmVyaWMgbWl4aW5cbkBpbmNsdWRlIGV4cG9ydHMoJ2VjLXV0aWxpdHktc2NyZWVuLXJlYWRlcicpIHtcbiAgQGluY2x1ZGUgZWNsLXV0aWxpdHktc2NyZWVuLXJlYWRlcigpO1xufVxuIiwiLyoqXG4gKiBTY3JlZW4gcmVhZGVycyB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC11dGlsaXR5LXNjcmVlbi1yZWFkZXIoKSB7XG4gIC5lY2wtdS1zci1vbmx5IHtcbiAgICBAaW5jbHVkZSBlY2wtdS1zci1vbmx5KCk7XG4gIH1cblxuICAuZWNsLXUtc3Itb25seS0tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBlY2wtdS1zci1vbmx5LWZvY3VzYWJsZSgpO1xuICB9XG59XG4iLCIvKipcbiAqIFRleHQgdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy11dGlsaXR5LXRleHQvZ2VuZXJpYy11dGlsaXR5LXRleHQnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS10ZXh0Jykge1xuICBAaW5jbHVkZSBlY2wtdXRpbGl0eS10ZXh0KCk7XG59XG4iLCIvKipcbiAqIFRleHQgdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS10ZXh0KCkge1xuICAuZWNsLXUtdGV4dC1jYXBpdGFsaXplIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgfVxuICAuZWNsLXUtdGV4dC1sb3dlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIH1cbiAgLmVjbC11LXRleHQtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5lY2wtdS10ZXh0LW92ZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG92ZXJsaW5lO1xuICB9XG4gIC5lY2wtdS10ZXh0LXVuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLmVjbC11LXRleHQtc3RyaWtlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgfVxuICAuZWNsLXUtdGV4dC1ub25lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIi8qKlxuICogRGlzcGxheSB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZSBhbmQgZ2VuZXJpY1xuQGltcG9ydCAnQGVjbC9lYy1iYXNlL2VjLWJhc2UnO1xuQGltcG9ydCAnQGVjbC9nZW5lcmljLXV0aWxpdHktZGlzcGxheS9nZW5lcmljLXV0aWxpdHktZGlzcGxheSc7XG5cbi8vIFVzZSBnZW5lcmljIG1peGluXG5AaW5jbHVkZSBleHBvcnRzKCdlYy11dGlsaXR5LWRpc3BsYXknKSB7XG4gIEBpbmNsdWRlIGVjbC11dGlsaXR5LWRpc3BsYXkoKTtcbn1cbiIsIi8qKlxuICogRGlzcGxheSB1dGlsaXRpZXNcbiAqL1xuXG4vLyBJbXBvcnQgYmFzZVxuQGltcG9ydCAnQGVjbC9nZW5lcmljLWJhc2UvZ2VuZXJpYy1iYXNlJztcblxuQG1peGluIGVjbC11dGlsaXR5LWRpc3BsYXkoKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRlY2wtZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIGVjbC1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkaW5maXg6IGVjbC1icmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZWNsLWdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgICAuZWNsLXUtZCN7JGluZml4fS1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtZCN7JGluZml4fS1pbmxpbmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWQjeyRpbmZpeH0taW5saW5lLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5lY2wtdS1kI3skaW5maXh9LWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmVjbC11LWQjeyRpbmZpeH0tdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtZCN7JGluZml4fS10YWJsZS1jZWxsIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtZCN7JGluZml4fS1mbGV4IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZWNsLXUtZCN7JGluZml4fS1pbmxpbmUtZmxleCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFotaW5kZXggdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2UgYW5kIGdlbmVyaWNcbkBpbXBvcnQgJ0BlY2wvZWMtYmFzZS9lYy1iYXNlJztcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy11dGlsaXR5LXotaW5kZXgvZ2VuZXJpYy11dGlsaXR5LXotaW5kZXgnO1xuXG4vLyBVc2UgZ2VuZXJpYyBtaXhpblxuQGluY2x1ZGUgZXhwb3J0cygnZWMtdXRpbGl0eS16LWluZGV4Jykge1xuICBAaW5jbHVkZSBlY2wtdXRpbGl0eS16LWluZGV4KCk7XG59XG4iLCIvKipcbiAqIFotaW5kZXggdXRpbGl0aWVzXG4gKi9cblxuLy8gSW1wb3J0IGJhc2VcbkBpbXBvcnQgJ0BlY2wvZ2VuZXJpYy1iYXNlL2dlbmVyaWMtYmFzZSc7XG5cbkBtaXhpbiBlY2wtdXRpbGl0eS16LWluZGV4KCkge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGVjbC16LWluZGV4IHtcbiAgICAuZWNsLXUtei0jeyRrZXl9IHtcbiAgICAgIHotaW5kZXg6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluLWNvbnRlbnQge1xuICAucGFzc3dvcmQtc3RyZW5ndGgge1xuICAgIC5pcy13ZWFrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlY2wtY29sb3ItZXJyb3I7XG4gICAgfVxuXG4gICAgLmlzLWZhaXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci13YXJuaW5nO1xuICAgIH1cblxuICAgIC5pcy1nb29kLFxuICAgIC5pcy1zdHJvbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVjbC1jb2xvci1zdWNjZXNzO1xuICAgIH1cbiAgfVxuXG4gIC8qIEBzZWUgQGVjLWV1cm9wYS9lY2wtZm9ybXMtaGVscC1ibG9ja3MvX2hlbHAtYmxvY2tzLnNjc3MgKi9cbiAgLnBhc3N3b3JkLXN0cmVuZ3RoIC5wYXNzd29yZC1zdHJlbmd0aF9fdGl0bGUsXG4gIC5wYXNzd29yZC1zdWdnZXN0aW9ucy5kZXNjcmlwdGlvbixcbiAgLnBhc3N3b3JkLWNvbmZpcm0sXG4gIC5maWx0ZXItaGVscCB7XG4gICAgQGV4dGVuZCAuZWNsLWhlbHAtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEFkZCBleHRyYSBtYXJnaW4gdG8gY29tcG9uZW50cyBvdmVybGF5IHdoZW4gdG9vbGJhciB0cmF5IGlzIHByZXNlbnQuXG5ib2R5IHtcbiAgJi50b29sYmFyLWhvcml6b250YWwge1xuICAgIC5lY2wtbGFuZ3VhZ2UtbGlzdC0tb3ZlcmxheSAuZWNsLWRpYWxvZy0td2lkZSxcbiAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uIHtcbiAgICAgIHRvcDogNDBweDtcbiAgICB9XG5cbiAgICAmLnRvb2xiYXItdHJheS1vcGVuIHtcbiAgICAgIC5lY2wtbGFuZ3VhZ2UtbGlzdC0tb3ZlcmxheSAuZWNsLWRpYWxvZy0td2lkZSxcbiAgICAgIC5lY2wtaW5wYWdlLW5hdmlnYXRpb24ge1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1zcGxhc2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZWNsLWNvbG9yLXByaW1hcnk7XG59XG4iXX0= */