@charset "UTF-8";
/*! 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 {
  -webkit-box-sizing: content-box;
          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 {
  -webkit-box-sizing: border-box;
          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] {
  -webkit-box-sizing: border-box;
          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;
}

@font-face {
  font-family: "Montserrat";
  font-weight: 100;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-100.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-100.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 200;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-200.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-200.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 300;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-300.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-300.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: normal;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-regular.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-regular.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-500.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-500.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-600.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-600.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-700.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-700.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 800;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-800.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-800.woff") format("woff");
}
.font-primary-100 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 100;
}

.font-primary-200 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 200;
}

.font-primary-300 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 300;
}

.font-primary-regular {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: regular;
}

.font-primary-500 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 500;
}

.font-primary-600 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}

.font-primary-700 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
}

.font-primary-800 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
}

@font-face {
  font-family: "Montserrat";
  font-weight: 100;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-100italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-100italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 200;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-200italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-200italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 300;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-300italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-300italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: normal;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-500italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-500italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-600italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-600italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-700italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-700italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 800;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-800italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-800italic.woff") format("woff");
}
.font-primary-italic-200 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 200;
  font-style: italic;
}

.font-primary-italic-regular {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: regular;
  font-style: italic;
}

@font-face {
  font-family: "Martel";
  font-weight: 300;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-300.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-300.woff") format("woff");
}
@font-face {
  font-family: "Martel";
  font-weight: normal;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-regular.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-regular.woff") format("woff");
}
@font-face {
  font-family: "Martel";
  font-weight: 600;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-600.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-600.woff") format("woff");
}
@font-face {
  font-family: "Martel";
  font-weight: 800;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-800.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-800.woff") format("woff");
}
@font-face {
  font-family: "Martel";
  font-weight: 900;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-900.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-900.woff") format("woff");
}
.font-secondary-300 {
  font-family: Martel, Georgia, serif;
  font-weight: 300;
}

.font-secondary-regular {
  font-family: Martel, Georgia, serif;
  font-weight: regular;
}

.font-secondary-600 {
  font-family: Martel, Georgia, serif;
  font-weight: 600;
}

.font-secondary-800 {
  font-family: Martel, Georgia, serif;
  font-weight: 800;
}

.font-secondary-900 {
  font-family: Martel, Georgia, serif;
  font-weight: 900;
}

.h-debug-layout [class^=l-],
.h-debug-layout [class*=" l-"] {
  background-image: url("../img/layout/grid-1132-12-32-0.png");
  background-repeat-y: repeat;
}

.h-debug-type h1,
.h-debug-type h2,
.h-debug-type h3,
.h-debug-type h4,
.h-debug-type h5,
.h-debug-type h6,
.h-debug-type p,
.h-debug-type li {
  position: relative;
}
.h-debug-type h1::before,
.h-debug-type h2::before,
.h-debug-type h3::before,
.h-debug-type h4::before,
.h-debug-type h5::before,
.h-debug-type h6::before,
.h-debug-type p::before,
.h-debug-type li::before {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 3px 6px;
  background-color: #ff00dd;
  font-family: monospace;
  font-size: 9px;
  line-height: 1;
  font-weight: bold;
  color: #000;
  text-transform: none;
}
.h-debug-type h1::before {
  content: "h1";
}
.h-debug-type h1[class]::before {
  content: "h1." attr(class);
}
.h-debug-type h2::before {
  content: "h2";
}
.h-debug-type h2[class]::before {
  content: "h2." attr(class);
}
.h-debug-type h3::before {
  content: "h3";
}
.h-debug-type h3[class]::before {
  content: "h3." attr(class);
}
.h-debug-type h4::before {
  content: "h4";
}
.h-debug-type h4[class]::before {
  content: "h4." attr(class);
}
.h-debug-type h5::before {
  content: "h5";
}
.h-debug-type h5[class]::before {
  content: "h5." attr(class);
}
.h-debug-type h6::before {
  content: "h6";
}
.h-debug-type h6[class]::before {
  content: "h6." attr(class);
}
.h-debug-type p::before {
  content: "p";
}
.h-debug-type p[class]::before {
  content: "p." attr(class);
}
.h-debug-type li::before {
  content: "li";
}
.h-debug-type li[class]::before {
  content: "li." attr(class);
}

.h-icon {
  vertical-align: -0.15em;
  width: 1em;
  height: 1em;
  overflow: hidden;
  fill: currentColor;
}
a .h-icon, button .h-icon, input .h-icon, .b-search-field .h-icon {
  pointer-events: none;
}
.h-icon--rotate-90 {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.h-icon--rotate-180 {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.h-icon--rotate-270 {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}
a .h-icon--arrow {
  fill: #1f1e24;
}
.b-button .h-icon--arrow {
  fill: currentColor;
}
.h-icon--arrow--up {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.h-icon--arrow--down {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.h-icon--arrow--left {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.h-icon--arrow--up-right {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.h-icon--triangle--up {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.h-icon--loading-spinner-large, .h-icon--loading-spinner-small-white {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: loading-spinner-animation;
          animation-name: loading-spinner-animation;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

@-webkit-keyframes loading-spinner-animation {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes loading-spinner-animation {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.h-block {
  display: block;
}
.h-block[class^=l-1--], .h-block[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-block[class^=l-2--], .h-block[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-block[class^=l-3--], .h-block[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-block[class^=l-4--], .h-block[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.h-global-margin {
  margin-top: 4rem;
  margin-bottom: 2rem;
}

.h-hide {
  display: none;
}
.b-modal-js .h-hide--modal {
  display: none;
}
.b-modal-js--present .h-hide--modal--present {
  display: none;
}

.h-invisible {
  visibility: hidden;
}

.h-overlay--is-active {
  overflow: hidden;
  overflow-y: auto;
  padding-right: 0 !important;
}
.h-overlay--is-active .b-message-js,
.h-overlay--is-active .h-hide--overlay-is-active {
  display: none;
}
@media screen and (min-width:750px) {
  .h-overlay--is-active {
    overflow: auto;
  }
  .h-overlay--is-active .b-message-js,
.h-overlay--is-active .h-hide--overlay-is-active {
    display: block;
  }
}

.h-print {
  display: none !important;
}

.h-right {
  text-align: right;
}

.h-show {
  display: block;
}
.h-show[class^=l-1--], .h-show[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-show[class^=l-2--], .h-show[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-show[class^=l-3--], .h-show[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-show[class^=l-4--], .h-show[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js .h-show--modal {
  display: block;
}
.b-modal-js .h-show--modal[class^=l-1--], .b-modal-js .h-show--modal[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js .h-show--modal[class^=l-2--], .b-modal-js .h-show--modal[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js .h-show--modal[class^=l-3--], .b-modal-js .h-show--modal[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js .h-show--modal[class^=l-4--], .b-modal-js .h-show--modal[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present .h-show--modal--present {
  display: block;
}
.b-modal-js--present .h-show--modal--present[class^=l-1--], .b-modal-js--present .h-show--modal--present[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present .h-show--modal--present[class^=l-2--], .b-modal-js--present .h-show--modal--present[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present .h-show--modal--present[class^=l-3--], .b-modal-js--present .h-show--modal--present[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present .h-show--modal--present[class^=l-4--], .b-modal-js--present .h-show--modal--present[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.h-visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
}
.h-visuallyhidden.h-focusable:active, .h-visuallyhidden.h-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  margin: 0;
  clip: auto;
}
.b-modal .h-visuallyhidden--modal {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
}

.h-visuallyshown {
  position: inherit;
  width: inherit;
  height: inherit;
  overflow: inherit;
  padding: inherit;
  border: inherit;
  margin: inherit;
  clip: auto;
}

@media screen and (max-width:749px) {
  .h-hide--content-below-wide {
    display: none;
  }

  .h-show--content-below-wide {
    display: block;
  }
  .h-show--content-below-wide[class^=l-1--], .h-show--content-below-wide[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-below-wide[class^=l-2--], .h-show--content-below-wide[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-below-wide[class^=l-3--], .h-show--content-below-wide[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-below-wide[class^=l-4--], .h-show--content-below-wide[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .h-visuallyhidden--content-below-wide {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:750px) {
  .h-hide--content-wide-and-up {
    display: none;
  }

  .h-show--content-wide-and-up {
    display: block;
  }
  .h-show--content-wide-and-up[class^=l-1--], .h-show--content-wide-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-wide-and-up[class^=l-2--], .h-show--content-wide-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-wide-and-up[class^=l-3--], .h-show--content-wide-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-wide-and-up[class^=l-4--], .h-show--content-wide-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .h-visuallyhidden--content-wide-and-up {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:320px) {
  .h-show--page-narrow-and-up {
    display: block;
  }
  .h-show--page-narrow-and-up[class^=l-1--], .h-show--page-narrow-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow-and-up[class^=l-2--], .h-show--page-narrow-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow-and-up[class^=l-3--], .h-show--page-narrow-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow-and-up[class^=l-4--], .h-show--page-narrow-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width:749px) {
  .h-show--page-narrow {
    display: block;
  }
  .h-show--page-narrow[class^=l-1--], .h-show--page-narrow[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow[class^=l-2--], .h-show--page-narrow[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow[class^=l-3--], .h-show--page-narrow[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow[class^=l-4--], .h-show--page-narrow[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width:750px) {
  .h-show--page-narrowish-and-up {
    display: block;
  }
  .h-show--page-narrowish-and-up[class^=l-1--], .h-show--page-narrowish-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish-and-up[class^=l-2--], .h-show--page-narrowish-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish-and-up[class^=l-3--], .h-show--page-narrowish-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish-and-up[class^=l-4--], .h-show--page-narrowish-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width:750px) and (max-width:899px) {
  .h-show--page-narrowish {
    display: block;
  }
  .h-show--page-narrowish[class^=l-1--], .h-show--page-narrowish[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish[class^=l-2--], .h-show--page-narrowish[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish[class^=l-3--], .h-show--page-narrowish[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish[class^=l-4--], .h-show--page-narrowish[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .h-visuallyhidden--page-narrowish {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (max-width:899px) {
  .h-visuallyhidden--page-below-wideish {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:900px) {
  .h-show--page-wideish-and-up {
    display: block;
  }
  .h-show--page-wideish-and-up[class^=l-1--], .h-show--page-wideish-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish-and-up[class^=l-2--], .h-show--page-wideish-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish-and-up[class^=l-3--], .h-show--page-wideish-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish-and-up[class^=l-4--], .h-show--page-wideish-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width:900px) and (max-width:1023px) {
  .h-show--page-wideish {
    display: block;
  }
  .h-show--page-wideish[class^=l-1--], .h-show--page-wideish[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish[class^=l-2--], .h-show--page-wideish[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish[class^=l-3--], .h-show--page-wideish[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish[class^=l-4--], .h-show--page-wideish[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width:1023px) {
  .h-fullwidth--page-below-wide {
    position: relative;
    right: -20px;
    left: -20px;
    width: calc(100% + 40px);
  }

  .h-hide--page-below-wide {
    display: none;
  }
}
@media screen and (min-width:1024px) {
  .h-hide--page-wide-and-up {
    display: none;
  }

  .h-show--page-wide-and-up {
    display: block;
  }
  .h-show--page-wide-and-up[class^=l-1--], .h-show--page-wide-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide-and-up[class^=l-2--], .h-show--page-wide-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide-and-up[class^=l-3--], .h-show--page-wide-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide-and-up[class^=l-4--], .h-show--page-wide-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .h-visuallyhidden--page-wide-and-up {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:1024px) and (max-width:1131px) {
  .h-fullwidth--page-wide {
    position: relative;
    right: -48px;
    left: -48px;
    width: calc(100% + 96px);
  }

  .h-hide--page-wide {
    display: none;
  }

  .h-show--page-wide {
    display: block;
  }
  .h-show--page-wide[class^=l-1--], .h-show--page-wide[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide[class^=l-2--], .h-show--page-wide[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide[class^=l-3--], .h-show--page-wide[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide[class^=l-4--], .h-show--page-wide[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .h-visuallyhidden--page-wide {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:1024px) {
  .h-hide--page-widest-and-up {
    display: none;
  }

  .h-show--page-widest-and-up {
    display: block;
  }
  .h-show--page-widest-and-up[class^=l-1--], .h-show--page-widest-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest-and-up[class^=l-2--], .h-show--page-widest-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest-and-up[class^=l-3--], .h-show--page-widest-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest-and-up[class^=l-4--], .h-show--page-widest-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .h-visuallyhidden--page-widest-and-up {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:1132px) and (max-width:1199px) {
  .h-fullwidth--page-widest {
    position: relative;
    right: -48px;
    left: -48px;
    width: calc(100% + 96px);
  }

  .h-hide--page-widest {
    display: none;
  }

  .h-show--page-widest {
    display: block;
  }
  .h-show--page-widest[class^=l-1--], .h-show--page-widest[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest[class^=l-2--], .h-show--page-widest[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest[class^=l-3--], .h-show--page-widest[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest[class^=l-4--], .h-show--page-widest[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .h-visuallyhidden--page-widest {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:1200px) {
  .h-fullwidth--page-full {
    position: relative;
    right: -144px;
    left: -144px;
    width: calc(100% + 288px);
  }
}
.h-list--check {
  padding-left: 5rem;
  margin-bottom: 3.25rem;
  margin-left: 0;
}
.h-list--check > li {
  margin-bottom: 2rem;
}
.h-list--check > li::before {
  display: inline-block;
  content: "";
  width: 4.3rem;
  height: 2.5rem;
  margin-bottom: -0.75rem;
  margin-left: -4.3rem;
  background-image: url("../img/icons/check.svg");
  background-repeat: no-repeat;
  background-position: 0% 25%;
  background-size: 2.5rem;
}
.h-list--inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.h-list--inline > li {
  margin: 0;
}
.h-list--numbered {
  padding-left: 5rem;
  margin-bottom: 3.25rem;
  counter-reset: list-numbering;
}
.h-list--numbered > li {
  margin-bottom: 1.5rem;
  list-style: none;
  counter-increment: list-numbering;
}
.h-list--numbered > li:before {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  display: inline-block;
  content: counter(list-numbering);
  vertical-align: baseline;
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  margin: 0 2rem 0 -5rem;
  background-color: #1f1e24;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.25rem;
  font-weight: 600;
  color: white;
  text-align: center;
}
.ie11 .h-list--numbered > li:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.5rem;
}
.h-list--questions {
  padding: 0;
  margin: 0;
  list-style: none;
}
.h-list--questions li {
  padding-left: 0;
}
.h-list--questions li::before {
  display: none;
}
.h-list--questions > li {
  padding: 2.125rem 2.5rem 1.825rem;
  margin-bottom: 1.5rem;
  background-color: #f2f1ec;
  line-height: 2.8rem;
}
.h-list--reset {
  padding: 0;
  margin: 0;
  list-style: none;
}
.h-list--reset li {
  padding-left: 0;
}
.h-list--reset li::before {
  display: none;
}
@media screen and (min-width:750px) {
  .b-modal-js--present .h-list--check {
    padding-left: 8rem;
    margin-left: 0;
  }
  .b-modal-js--present .h-list--check > li:before {
    width: 8rem;
    height: 3rem;
    margin-bottom: 0;
    margin-left: -8rem;
    background-position: 30% 50%;
    background-size: 3.5rem;
  }
  .h-list--inline > li.h-hide--content-wide-and-up {
    display: none;
  }
  .h-list--inline-medium > li {
    display: inline-block;
    vertical-align: top;
    margin-right: 1rem;
  }
  .h-list--inline-medium > li.h-hide--content-wide-and-up {
    display: none;
  }
  .h-list--inline-medium > li:last-child {
    margin-right: 0;
  }
  .b-modal-js--present .h-list--numbered {
    padding-left: 8rem;
  }
  .h-list--numbered > li {
    margin-bottom: 3rem;
  }
  .b-modal-js--present .h-list--numbered > li:before {
    vertical-align: 0.4em;
    width: 3.5rem;
    height: 3.5rem;
    margin-right: 3.5rem;
    margin-left: -7rem;
    line-height: 3.75rem;
  }
  .ie11 .b-modal-js--present .h-list--numbered > li:before {
    padding-top: 1.85rem;
  }
  .b-modal-js--present .h-list--questions {
    margin-left: 0;
  }
  .h-list--questions > li {
    padding-left: 3rem;
  }
  .b-modal-js--present .h-list--questions > li {
    padding: 4.1rem 3.9rem 3.5rem 5.4rem;
    margin-bottom: 3rem;
    background-color: white;
  }
}

.l-order--1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.l-order--2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.js-enabled :focus {
  outline: 0;
}

.js-disabled .h-hide--no-js {
  display: none !important;
}

.js-enabled .h-hide--js {
  display: none;
}
@media screen and (max-width:1023px) {
  .js-enabled .h-hide--js--page-narrow {
    display: none;
  }
}

.h-anchor {
  display: block;
}

@media screen and (max-width:749px) {
  .h-break--content-narrow {
    word-break: break-word;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
  }
}

.h-ellipsis {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.h1--home {
  font-size: 5.7730151564rem;
  line-height: 5.5rem;
  letter-spacing: -0.1443253789rem;
  color: #00a914;
}
.h1--light {
  font-family: Montserrat, Arial, sans-serif;
  line-height: 5rem;
  font-weight: 200;
  color: #1f1e24;
}

.h2--guide {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3rem;
}
.h2--how-to-use-the-site {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  font-weight: normal;
}
.h2--nav-guide-sidebar--header {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Martel, Georgia, serif;
  font-weight: normal;
}
.h2--nav-guide-sidebar--header strong {
  display: block;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
}
.h2--nav-guide-sidebar--header__indexof {
  display: block;
}
.h2--nav-guide-sidebar--header__indexof[class^=h2--], .h2--nav-guide-sidebar--header__indexof[class*=" h2--"] {
  font-family: Martel, Georgia, serif;
}
.h2--nav--in-page-pinned-label {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.03rem;
  line-height: 2.5rem;
  font-weight: normal;
  color: gray;
}
.h2--next-steps {
  font-size: 5.1315690279rem;
  line-height: 5.5rem;
  letter-spacing: -0.1282892257rem;
  line-height: 7.25rem;
}
.h2--search {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}
.h2--slide {
  font-size: 3.6040649414rem;
  line-height: 3.5rem;
  letter-spacing: -0.0901016235rem;
  line-height: 4rem;
}

.h3--guide {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  font-weight: 500;
}
.h3--help-item {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3.125rem;
  font-weight: 300;
}
.h3--nav-guide-sidebar--sub-header {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0088888889rem;
  font-family: Martel, Georgia, serif;
  line-height: 2rem;
  font-weight: bold;
}
.h3--nav-guide-sidebar--sub-header[class^=h3--], .h3--nav-guide-sidebar--sub-header[class*=" h3--"] {
  font-family: Martel, Georgia, serif;
}
.h3--resource {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3rem;
  font-weight: 500;
}
@media screen and (min-width:750px) {
  .b-modal-js--present .h3--resource {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1013643265rem;
  }
}
.h3--resource--large {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3rem;
  font-weight: 500;
}
.h3--result {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}
.h3--result--guide {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0284765625rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
}
@media screen and (min-width:750px) {
  .h3--strategy {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1013643265rem;
    line-height: 4.5rem;
  }
}
.h3--text-promo {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3.75rem;
  font-weight: 600;
}
.h3--understand-summary {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  line-height: 2.75rem;
  font-weight: 500;
}

.h4 strong {
  font-weight: inherit;
}
.h4--suggestions {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.02rem;
  line-height: 2.625rem;
  font-weight: 500;
}
.h4--understand-more {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-weight: 500;
}

.h5--suggestion {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3rem;
  font-weight: 500;
}
.h5--suggestion a {
  font-weight: inherit;
}
.h5--suggestion--large {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-weight: normal;
}
.h5--suggestion--large a {
  font-weight: 500;
}

.a--hover {
  border-bottom-width: currentColor;
}
.a--no-underline {
  border-bottom-color: transparent;
}
.a--no-underline:hover {
  border-bottom-color: transparent;
}
.a--no-underline:hover .a {
  border-bottom-color: currentColor;
}
.a--no-underline-ever {
  border-bottom-color: transparent;
}
.a--no-underline-ever:hover {
  border-bottom-color: transparent;
}
.a--no-underline-ever:hover .a {
  border-bottom-color: transparent;
}
.a--no-visited:visited, .a--no-visited:visited > .a {
  color: inherit;
}
.a--active-page-or-parent {
  color: inherit;
}
.a--active-page-or-parent:visited {
  color: inherit;
}
.a--underline {
  border-bottom-color: currentColor;
}
.a--visited {
  color: #895bc7;
}

.p--alert {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0088888889rem;
  font-family: Montserrat, Arial, sans-serif;
}
.p--brand {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.09rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.25rem;
  font-weight: 800;
}
.p--brand a {
  color: inherit;
}
.p--browse-all-guides {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.875rem;
  font-weight: 500;
}
.p--caption {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  letter-spacing: -0.0395061728rem;
  font-family: Montserrat, Arial, sans-serif;
}
.p--example-home-title {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  font-weight: 500;
}
.p--filter {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 500;
}
.p--filter a,
.p--filter strong {
  font-weight: inherit;
}
.p--filter del {
  font-weight: 300;
  color: #b7b7b7;
  text-decoration: none;
}
.p--filter-notice {
  font-size: 1.4046639232rem;
  line-height: 2rem;
  letter-spacing: 0.0070233196rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.25rem;
  font-weight: normal;
}
.p--filter-notice strong {
  font-weight: 600;
}
.p--footer {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
}
.p--footer-nav {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
}
.p--footer-nav a {
  color: inherit;
}
.p--footer-nav a:hover {
  color: white;
}
.p--guide-link {
  text-transform: uppercase;
}
.p--guide-link a {
  display: block;
}
.p--guide-link--featured-tall {
  text-transform: uppercase;
}
.p--guide-link--featured-tall a {
  display: block;
}
.p--includes {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0444444444rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
}
.p--includes strong {
  font-weight: 500;
}
.p--intro {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0085429688rem;
  line-height: 4rem;
}
.p--intro--guide {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.01265625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.25rem;
}
.p--intro--next-steps, .p--return {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  font-weight: normal;
}
.p--intro--next-steps strong, .p--return strong {
  font-weight: 600;
}
.p--intro--sorry {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.0253125rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.5rem;
  font-weight: 300;
}
.p--intro--sorry strong {
  font-weight: 500;
}
.p--intro--sub {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.25rem;
  font-weight: 200;
}
.p--intro--sub--heavy {
  font-weight: 300;
}
.p--intro--suggestion, .p--intro--suggestion.b-content > p {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.01265625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.25rem;
  font-weight: 300;
}

.p--large, .p--large--home {
  font-size: 2rem;
  line-height: 3rem;
}
.p--large a, .p--large--home a {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  line-height: 3rem;
  font-weight: 500;
}
.p--nav-guide-sidebar {
  font-family: Montserrat, Arial, sans-serif;
}
.p--nav-guide-sidebar--back {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
}
.p--nav-guide-sidebar--mnav {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.09rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}
.p--nav-guide-sidebar--strategy, .p--nav-guide-sidebar--resources, .p--nav-guide-sidebar--understand {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.75rem;
  font-weight: bold;
}
.p--nav-guide-sidebar--suggestion {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 500;
}
.p--nav--guide--ui-link {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.09rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}
.p--nav--in-page {
  letter-spacing: -0.03rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 500;
}
.p--nav--in-page-pinned {
  letter-spacing: -0.02rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: normal;
}
.p--nav--in-page-pinned-trigger-text {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.03rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 700;
  color: #1f1e24;
}
.p--nav-primary {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.09rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
  color: black;
}
.p--nav-primary button {
  font: inherit;
}
.p--nav-primary a,
.p--nav-primary button {
  color: inherit;
}
.p--nav-slide {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
}
.p--next-step--link {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
}
.p--next-step--link--light {
  font-weight: 500;
}
.p--note {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  letter-spacing: normal;
}
.p--popular-search {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.0225rem;
  line-height: 6.35rem;
}
.p--print--meta {
  font-size: 1.4046639232rem;
  line-height: 2rem;
  letter-spacing: -0.0140466392rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: normal;
}
.p--print--meta a {
  font-weight: inherit;
  color: #777777;
}
.p--print--meta a span {
  text-decoration: underline;
}
.p--print--meta a strong {
  display: inline-block;
  padding: 0 0.5rem;
  border-radius: 0.375rem;
  background-color: #ededed;
  font-weight: 500;
  color: #212121;
}
.p--quote {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  line-height: 3rem;
  font-weight: 200;
}
.p--quote-cite {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.03rem;
  font-weight: 900;
}
.p--quote-source {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  letter-spacing: -0.0395061728rem;
  font-family: Montserrat, Arial, sans-serif;
}
.p--quote-source a {
  font-weight: inherit;
  color: inherit;
}
.p--read-more {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  text-transform: uppercase;
}
.p--repeats {
  font-size: 1.4046639232rem;
  line-height: 2rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
  font-weight: 500;
  text-transform: uppercase;
}
.p--resource-description {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
}
.p--resource-meta--cost, .p--resource-meta--file-size, .p--resource-meta--publisher, .p--resource-meta--read-time, .p--resource-meta--registration, .p--resource-meta--subscription {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0444444444rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.125rem;
}
.p--resource-meta--cost strong, .p--resource-meta--file-size strong, .p--resource-meta--publisher strong, .p--resource-meta--read-time strong, .p--resource-meta--registration strong, .p--resource-meta--subscription strong {
  font-weight: 500;
  letter-spacing: normal;
}
.p--resource-meta--cost {
  line-height: 3rem;
}
.p--resource-meta--read-time strong {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
}
.p--resource-meta--registration strong {
  font-size: 100%;
}
.p--resource-meta--file-size {
  line-height: 2rem;
  font-weight: 600;
  text-transform: uppercase;
}
.p--resource-meta--cost strong, .p--resource-meta--subscription strong {
  color: #00a914;
}
.p--resource-meta--slide--read-time, .p--resource-meta--slide--publisher {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0444444444rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.125rem;
}
.p--resource-meta--slide--read-time strong, .p--resource-meta--slide--publisher strong {
  font-weight: 500;
  letter-spacing: normal;
}
.p--result-category {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  letter-spacing: 0.0395061728rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  font-weight: 600;
  text-transform: uppercase;
}
.p--result-count {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.875rem;
}
.p--result-count strong {
  font-weight: 500;
}
.p--result-description {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.05625rem;
  line-height: 2.5rem;
  font-weight: 300;
}
.p--result-match {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
}
.p--result-match strong {
  font-weight: 600;
}
.p--result-meta {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0177777778rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.125rem;
}
.p--result-meta strong {
  font-weight: 600;
}
.p--result-meta--read-time {
  line-height: 2.75rem;
}
.p--result-more-link {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
}
.p--result-more-link a {
  font-weight: inherit;
}
.p--result-solution {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0225rem;
  line-height: 2.625rem;
  font-weight: 300;
}
.p--result-teaser {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0177777778rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
}
.p--search-input {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.75rem;
  font-weight: 300;
}
.p--search-input strong {
  font-weight: 600;
}
@media screen and (min-width:750px) {
  .p--search-input {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.0961083984rem;
    line-height: 3.75rem;
  }
}
.p--see-all-guides {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 500;
}
.p--show-material-for {
  font-family: Montserrat, Arial, sans-serif;
  line-height: 1.75rem;
  font-weight: 500;
}
.p--slide {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
}
@media screen and (min-width:750px) {
  .p--slide {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3.25rem;
  }
  .b-modal-js--present .p--slide {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.0202728653rem;
    line-height: 6rem;
    font-weight: 300;
  }
  .b-modal-js--present .p--slide.b-process-list__step-inner {
    line-height: 6rem;
  }
}
.p--slide-source {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0444444444rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
}
.p--slide-source a {
  font-weight: inherit;
  color: inherit;
}
.p--sort-by {
  font-size: 3.2036132813rem;
  line-height: 3.5rem;
  letter-spacing: -0.080090332rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 300;
}
.p--strategy-overview {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
  line-height: 3rem;
}
.p--suggestion--current-page {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0177777778rem;
  display: block;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.5rem;
  opacity: 0.6;
}
.p--tag {
  font-size: 1.4046639232rem;
  line-height: 2rem;
  letter-spacing: -0.0140466392rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  text-transform: uppercase;
}
.p--tag strong {
  font-weight: bold;
}
.p--understand {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-weight: 500;
}
.p--understand a {
  font-weight: inherit;
}

@media screen and (max-width:749px) {
  .p--resource-meta--cost {
    line-height: 2.5rem;
  }
  .p--resource-meta--cost strong {
    letter-spacing: -0.01265625rem;
  }
  .p--resource-meta--subscription {
    line-height: 2.5rem;
  }
  .p--resource-meta--subscription strong {
    letter-spacing: normal;
  }
}
@media screen and (min-width:750px) {
  .h1--home {
    font-size: 10.4031607657rem;
    line-height: 12rem;
    letter-spacing: -0.5201580383rem;
    line-height: 10rem;
  }
  .h1--light {
    line-height: 7.75rem;
  }

  .h2--nav-guide-sidebar--header {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
    line-height: 5.125rem;
  }
  .h2--search {
    font-weight: 500;
  }
  .h2--slide {
    font-size: 4.5613946915rem;
    line-height: 5rem;
    letter-spacing: -0.1140348673rem;
    line-height: 4.5rem;
  }
  .b-modal-js--present .h2--slide {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1623660513rem;
    font-weight: 900;
  }

  .h3--guide {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: normal;
  }
  .h3--help-item {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.75rem;
  }
  .h3--nav-guide-sidebar--sub-header {
    letter-spacing: -0.0444444444rem;
  }
  .h3--resource--large {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 4rem;
  }
  .b-modal-js--present .h3--resource--large {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
    line-height: 6rem;
  }
  .h3--result {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 4rem;
  }
  .h3--result--guide {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1013643265rem;
  }
  .h3--text-promo {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.75rem;
    font-weight: 500;
  }

  .h4--suggestions {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 2.75rem;
  }
  .h4--understand-more {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }

  .h5--suggestion {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
  .h5--suggestion--large {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }

  .p--alert {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3rem;
  }
  .p--brand {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.1441625977rem;
  }
  .p--browse-all-guides {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.875rem;
  }
  .p--example-home-title {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.75rem;
  }
  .p--filter {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
  .p--filter-notice {
    font-size: 1.5802469136rem;
    line-height: 2rem;
    letter-spacing: 0.0079012346rem;
    line-height: 2rem;
  }
  .p--footer {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.5rem;
  }
  .p--footer strong {
    display: block;
  }
  .p--footer-nav {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
    line-height: 3rem;
  }
  .p--guide {
    font-family: Montserrat, Arial, sans-serif;
    line-height: 2.75rem;
    font-weight: normal;
  }
  .p--guide--featured-tall {
    font-family: Montserrat, Arial, sans-serif;
    line-height: 2.5rem;
    font-weight: normal;
  }
  .p--guide-link--featured-tall {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
    letter-spacing: -0.0444444444rem;
  }
  .p--guide-listing {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.0225rem;
    font-family: Montserrat, Arial, sans-serif;
    line-height: 2.75rem;
    font-weight: normal;
  }
  .p--guide-listing a {
    line-height: 3.125rem;
    font-weight: 500;
  }
  .p--intro {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    line-height: 4.5rem;
    letter-spacing: normal;
  }
  .p--intro--guide {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.0480541992rem;
  }
  .b-modal-js--search .p--intro--sorry {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1419100571rem;
    line-height: 6rem;
  }
  .p--intro--sub {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.0160180664rem;
    line-height: 4rem;
  }
  .p--intro--sub--heavy {
    letter-spacing: -0.080090332rem;
  }
  .p--intro--suggestion, .p--intro--suggestion.b-content > p {
    letter-spacing: -0.06328125rem;
  }
  .b-modal-js--present .p--intro--suggestion, .b-modal-js--present .p--intro--suggestion.b-content > p {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
    line-height: 5.75rem;
    font-weight: 200;
  }

  .p--large, .p--large--home {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
  }
  .p--large a, .p--large--home a {
    font-size: 2.25rem;
    line-height: 3.5rem;
  }
  .p--large--home {
    font-size: 2.25rem;
    line-height: 3.5rem;
    line-height: 3.25rem;
  }
  .p--large--home a {
    line-height: 3.25rem;
  }
  .p--nav-guide-sidebar--strategy, .p--nav-guide-sidebar--resources, .p--nav-guide-sidebar--understand {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
    line-height: 2.75rem;
  }
  .p--nav-guide-sidebar--suggestion {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 2.75rem;
  }
  .p--nav--in-page {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.03375rem;
    line-height: 2.5rem;
  }
  .p--nav-primary {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.1441625977rem;
  }
  .p--next-step--link {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
  .p--note {
    font-size: 2rem;
    line-height: 3rem;
  }
  .p--popular-search {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
    line-height: 6rem;
  }
  .p--quote {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
    line-height: 3.625rem;
  }
  .b-modal-js--present .p--quote {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.1140348673rem;
    line-height: 6rem;
  }
  .p--quote-cite {
    letter-spacing: -0.03375rem;
    font-weight: 800;
  }
  .b-modal-js--present .p--quote-cite {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.0684209204rem;
    line-height: 3.5rem;
  }
  .p--quote-source {
    font-size: 1.5802469136rem;
    line-height: 2rem;
    letter-spacing: -0.0395061728rem;
  }
  .b-modal-js--present .p--quote-source {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.05rem;
    line-height: 3.25rem;
    font-weight: 200;
  }
  .b-modal-js--present .p--repeats {
    font-size: 2.53125rem;
    line-height: 3rem;
    line-height: 3.5rem;
  }
  .p--resource-meta--cost, .p--resource-meta--file-size, .p--resource-meta--publisher, .p--resource-meta--read-time, .p--resource-meta--registration, .p--resource-meta--subscription {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.02rem;
    line-height: 2.75rem;
  }
  .p--resource-meta--cost strong, .p--resource-meta--file-size strong, .p--resource-meta--publisher strong, .p--resource-meta--read-time strong, .p--resource-meta--registration strong, .p--resource-meta--subscription strong {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.0253125rem;
    display: block;
    line-height: 3rem;
    letter-spacing: normal;
  }
  .p--resource-meta--cost, .p--resource-meta--subscription {
    font-size: 2rem;
    line-height: 3rem;
  }
  .p--resource-meta--cost strong, .p--resource-meta--subscription strong {
    display: block;
  }
  .p--resource-meta--file-size {
    font-size: 1.5802469136rem;
    line-height: 2rem;
  }
  .p--resource-meta--publisher {
    font-size: 1.5802469136rem;
    line-height: 2rem;
    letter-spacing: -0.0444444444rem;
    line-height: 2.125rem;
  }
  .p--resource-meta--publisher strong {
    font-size: 1.5802469136rem;
    line-height: 2rem;
    display: inline;
  }
  .p--resource-meta--read-time {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.02rem;
    line-height: 2.75rem;
  }
  .b-modal-js--present .p--resource-meta--slide--read-time, .b-modal-js--present .p--resource-meta--slide--publisher {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
    line-height: 3.875rem;
  }
  .p--result-category {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
    letter-spacing: 0.0444444444rem;
    line-height: 3rem;
  }
  .p--result-count {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
    line-height: 3.875rem;
  }
  .p--result-description {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.05rem;
    font-weight: 300;
  }
  .p--result-solution {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.02rem;
  }
  .p--result-teaser {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3rem;
  }
  .p--see-all-guides {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
  }
  .p--show-material-for {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 1.75rem;
  }
  .p--slide-source {
    font-size: 1.4046639232rem;
    line-height: 2rem;
    letter-spacing: -0.0351165981rem;
  }
  .b-modal-js--present .p--slide-source {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
  }
  .p--strategy-overview {
    line-height: 2.625rem;
  }
  .p--understand {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
}
@media screen and (min-width:1024px) {
  .h1--home {
    font-size: 13.1665003441rem;
    line-height: 13rem;
    letter-spacing: -0.6583250172rem;
    line-height: 12rem;
  }

  .p--intro {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    line-height: 4.5rem;
    letter-spacing: normal;
  }
}
@media screen and (min-width:900px) {
  .h2--guide {
    font-size: 4.5613946915rem;
    line-height: 5rem;
    letter-spacing: -0.1140348673rem;
  }
}
@media screen and (min-width:900px) and (max-width:1023px) {
  .h2--guide {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1013643265rem;
    line-height: 3.9rem;
  }
}
@media screen and (min-width:750px) and (max-width:899px) {
  .h2--guide {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.0901016235rem;
    line-height: 4.1rem;
  }
}
@media screen and (min-width:500px) and (max-width:749px) {
  .h2--guide {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.7rem;
  }

  .p--filter {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
  }
}
@media screen and (min-width:750px) and (max-width:1199px) {
  .h2--slide {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.0901016235rem;
    line-height: 4rem;
  }
}
@media screen and (min-width:1024px) {
  .h1--home {
    font-size: 11.7035558614rem;
    line-height: 13rem;
    letter-spacing: -0.5851777931rem;
  }
}
.tooltipped {
  position: relative;
}

.tooltipped::after {
  position: absolute;
  z-index: 1000000;
  display: none;
  padding: 0.5rem 0.6rem;
  font: normal normal 11px/1.5 Montserrat, Arial, sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
  color: white;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: break-word;
  white-space: pre;
  pointer-events: none;
  content: attr(aria-label);
  background: rgba(0, 0, 0, 0.8);
  border-radius: 4px;
  opacity: 0;
}

.tooltipped::before {
  position: absolute;
  z-index: 1000001;
  display: none;
  width: 0;
  height: 0;
  color: rgba(0, 0, 0, 0.8);
  pointer-events: none;
  content: "";
  border: 6px solid transparent;
  opacity: 0;
}

@-webkit-keyframes tooltip-appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes tooltip-appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.tooltipped:hover::before, .tooltipped:hover::after,
.tooltipped:active::before,
.tooltipped:active::after,
.tooltipped:focus::before,
.tooltipped:focus::after {
  display: inline-block;
  text-decoration: none;
  -webkit-animation-name: tooltip-appear;
          animation-name: tooltip-appear;
  -webkit-animation-duration: 200;
          animation-duration: 200;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
  -webkit-animation-delay: 0;
          animation-delay: 0;
}

.tooltipped-no-delay:hover::before, .tooltipped-no-delay:hover::after,
.tooltipped-no-delay:active::before,
.tooltipped-no-delay:active::after,
.tooltipped-no-delay:focus::before,
.tooltipped-no-delay:focus::after {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.tooltipped-multiline:hover::after,
.tooltipped-multiline:active::after,
.tooltipped-multiline:focus::after {
  display: table-cell;
}

.tooltipped-s::after,
.tooltipped-se::after,
.tooltipped-sw::after {
  top: 100%;
  right: 50%;
  margin-top: 6px;
}
.tooltipped-s::before,
.tooltipped-se::before,
.tooltipped-sw::before {
  top: auto;
  right: 50%;
  bottom: -7px;
  margin-right: -6px;
  border-bottom-color: rgba(0, 0, 0, 0.8);
}

.tooltipped-se::after {
  right: auto;
  left: 50%;
  margin-left: -0.3rem;
}

.tooltipped-sw::after {
  margin-right: -0.3rem;
}

.tooltipped-n::after,
.tooltipped-ne::after,
.tooltipped-nw::after {
  right: 50%;
  bottom: 100%;
  margin-bottom: 6px;
}
.tooltipped-n::before,
.tooltipped-ne::before,
.tooltipped-nw::before {
  top: -7px;
  right: 50%;
  bottom: auto;
  margin-right: -6px;
  border-top-color: rgba(0, 0, 0, 0.8);
}

.tooltipped-ne::after {
  right: auto;
  left: 50%;
  margin-left: -0.3rem;
}

.tooltipped-nw::after {
  margin-right: -0.3rem;
}

.tooltipped-s::after,
.tooltipped-n::after {
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

.tooltipped-w::after {
  right: 100%;
  bottom: 50%;
  margin-right: 6px;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.tooltipped-w::before {
  top: 50%;
  bottom: 50%;
  left: -7px;
  margin-top: -6px;
  border-left-color: rgba(0, 0, 0, 0.8);
}

.tooltipped-e::after {
  bottom: 50%;
  left: 100%;
  margin-left: 6px;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.tooltipped-e::before {
  top: 50%;
  right: -7px;
  bottom: 50%;
  margin-top: -6px;
  border-right-color: rgba(0, 0, 0, 0.8);
}

.tooltipped-align-right-1::after,
.tooltipped-align-right-2::after {
  right: 0;
  margin-right: 0;
}

.tooltipped-align-right-1::before {
  right: 10px;
}

.tooltipped-align-right-2::before {
  right: 15px;
}

.tooltipped-align-left-1::after,
.tooltipped-align-left-2::after {
  left: 0;
  margin-left: 0;
}

.tooltipped-align-left-1::before {
  left: 5px;
}

.tooltipped-align-left-2::before {
  left: 10px;
}

.tooltipped-sticky::before, .tooltipped-sticky::after {
  display: inline-block;
  text-decoration: none;
  -webkit-animation-name: tooltip-appear;
          animation-name: tooltip-appear;
  -webkit-animation-duration: 200;
          animation-duration: 200;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
  -webkit-animation-delay: 0;
          animation-delay: 0;
}
.tooltipped-sticky.tooltipped-multiline::after {
  display: table-cell;
}

html {
  font-size: 8px;
}

body {
  font-size: 2rem;
  line-height: 2.5rem;
}

html,
body {
  padding: 0;
  margin: 0;
  background: white;
}
html *,
body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.upper-footer {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.footer-logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 2rem;
}
@media (max-width: 576px) {
  .footer-logos {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.footer-logos__container {
  max-width: unset !important;
}
.footer-logos .temahau-logo {
  -webkit-transition: unset;
  transition: unset;
  border-bottom: 0;
  border-right: 1px black solid;
  line-height: 0;
}
@media (max-width: 576px) {
  .footer-logos .temahau-logo {
    border-right: 0;
  }
}
.footer-logos .temahau-logo svg {
  margin-right: 4rem;
}
@media (max-width: 576px) {
  .footer-logos .temahau-logo svg {
    margin-right: 0;
  }
}
.footer-logos .temahau-logo:hover {
  border-bottom: 0;
}
.footer-logos .moe-logo {
  -webkit-transition: unset;
  transition: unset;
  border-bottom: 0;
}
.footer-logos .moe-logo svg {
  margin-left: 4rem;
}
@media (max-width: 576px) {
  .footer-logos .moe-logo svg {
    margin-left: 0;
  }
}
.footer-logos .moe-logo:hover {
  border-bottom: 0;
}

body {
  font-family: Martel, Georgia, serif;
  color: #1f1e24;
  text-rendering: auto;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

input,
textarea {
  font-family: Montserrat, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
[class^=h1--],
[class*=" h1--"],
[class^=h2--],
[class*=" h2--"],
[class^=h3--],
[class*=" h3--"],
[class^=h4--],
[class*=" h4--"],
[class^=h5--],
[class*=" h5--"],
[class^=h6--],
[class*=" h6--"] {
  font-family: Montserrat, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 800;
  color: #1f1e24;
}

h1 {
  font-size: 5.1315690279rem;
  line-height: 5.5rem;
  letter-spacing: -0.1282892257rem;
}
@media screen and (min-width:750px) {
  h1 {
    font-size: 7.3064723073rem;
    line-height: 7.75rem;
    letter-spacing: -0.1826618077rem;
    margin: 0 0 6rem;
  }
}

.h1 {
  font-size: 4.0545730591rem;
  line-height: 5rem;
  letter-spacing: -0.1013643265rem;
}
@media screen and (min-width:750px) {
  .h1 {
    font-size: 7.3064723073rem;
    line-height: 7.75rem;
    letter-spacing: -0.1826618077rem;
    margin: 0 0 6rem;
  }
}

h2,
.h2 {
  font-size: 4.0545730591rem;
  line-height: 5rem;
  letter-spacing: -0.1013643265rem;
  margin: 5.9rem 0 3.6rem;
}
@media screen and (min-width:750px) {
  h2,
.h2 {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
  }
}

h3,
.h3 {
  font-size: 3.2036132813rem;
  line-height: 3.5rem;
  line-height: 3.5rem;
}
@media screen and (min-width:750px) {
  h3,
.h3 {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
  }
}

h4,
.h4 {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  font-weight: 500;
}
@media screen and (min-width:750px) {
  h4,
.h4 {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
}

h5,
.h5 {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.01265625rem;
  margin: 3.5rem 0 2.3rem;
  font-weight: 600;
}

h6,
.h6 {
  font-size: 2rem;
  line-height: 3rem;
  margin: 5rem 0 3rem;
  line-height: 3.5rem;
  font-weight: bold;
}

p a,
.p a {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
}

a,
.a {
  border-bottom: 1px solid transparent;
  color: #0099d9;
  text-decoration: none;
  -webkit-transition: border 0.2s ease, color 0.2s ease;
  transition: border 0.2s ease, color 0.2s ease;
}
a:hover,
.a:hover {
  border-bottom-color: currentColor;
}

a:visited, a:visited > .a, a:visited mark {
  color: #895bc7;
}

hr {
  display: block;
  height: 1px;
  padding: 0;
  border: 0;
  border-top: 1px solid #1f1e24;
  margin: 1rem 0;
}

.js-enabled a:focus,
.js-enabled button:focus,
.js-enabled input:focus,
.js-enabled textarea:focus,
.js-enabled select:focus,
.js-enabled [tabIndex*=""]:focus {
  outline: 0;
}
.js-wai-outline a:focus,
.js-wai-outline button:focus,
.js-wai-outline input:focus,
.js-wai-outline textarea:focus,
.js-wai-outline select:focus,
.js-wai-outline [tabIndex*=""]:focus {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.js-wai-outline a:focus.js-wai-no-outline,
.js-wai-outline button:focus.js-wai-no-outline,
.js-wai-outline input:focus.js-wai-no-outline,
.js-wai-outline textarea:focus.js-wai-no-outline,
.js-wai-outline select:focus.js-wai-no-outline,
.js-wai-outline [tabIndex*=""]:focus.js-wai-no-outline {
  outline: 0;
}
.js-wai-outline a:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline button:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline input:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline textarea:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline select:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline [tabIndex*=""]:focus.js-wai-no-outline .js-wai-outline--proxy {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}

mark {
  background-color: #fff185;
  color: inherit;
}

img {
  max-width: 100%;
}

input:not([type=radio]):not([type=checkbox]) {
  margin-bottom: 1rem;
}

fieldset {
  padding: 0;
  border: 0;
  margin: 0;
}
fieldset .field {
  padding: 0;
  border: 0;
  margin: 0 0 4rem;
}

input[type=text], input[type=password], input[type=search], input[type=email], input[type=number], input[type=tel], input[type=url], input[type^=date], input[type=month], input[type=week], input[type=time],
textarea {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  display: block;
  width: 100%;
  padding: 1.5rem 2rem;
  border: 1px solid #1f1e24;
  font-weight: 300;
  color: black;
  white-space: nowrap;
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

input[type=submit], input[type=reset], input[type=button],
button {
  display: inline-block;
  width: auto;
  padding: 2rem 3rem;
  color: black;
  white-space: nowrap;
  cursor: pointer;
}

label {
  display: block;
}

ul,
ol {
  margin: 1rem 0 3.7rem;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin: 0.5rem 0 0;
}
ul li,
ol li {
  margin-bottom: 0.5rem;
}

dl {
  margin: 2rem 0;
}
dl dt,
dl dd {
  max-width: 20rem;
}
dl dd {
  margin-bottom: 2rem;
}

ol {
  margin-bottom: 3.25rem;
}
ol > li {
  margin-bottom: 1.5rem;
  list-style: none;
  counter-increment: list-numbering;
}
ol > li:before {
  display: inline-block;
  content: counter(list-numbering) ".";
  vertical-align: baseline;
  width: 3rem;
  height: 3rem;
  margin: 0 0.5rem 0 -3.5rem;
  line-height: 3.25rem;
}
@media screen and (min-width:750px) {
  ol > li {
    margin-bottom: 3rem;
  }
}

ul {
  padding-left: 0;
  margin-left: 4.3rem;
  list-style-type: none;
}
ul > li {
  padding-left: 0;
  margin-bottom: 1rem;
}
ul > li::before {
  display: inline-block;
  content: "";
  width: 4.3rem;
  height: 1rem;
  margin-left: -4.3rem;
  background-image: url("../img/icons/bullet.svg");
  background-repeat: no-repeat;
  background-position: 40% 25%;
}
@media screen and (min-width:750px) {
  ul {
    margin-left: 5rem;
  }
  .b-modal-js--present ul {
    margin-left: 4.4rem;
  }
  .b-modal-js--present ul.h-list--reset {
    margin-left: 0;
  }
  ul > li {
    margin-bottom: 1.5rem;
  }
  ul > li::before {
    width: 5rem;
    margin-left: -5rem;
    background-position: 50% 25%;
  }
  .b-modal-js--present ul > li::before {
    width: 4.4rem;
    height: 2.2rem;
    margin-left: -4.4rem;
    background-position: 10% 20%;
  }
}

table {
  border-collapse: collapse;
}
table th,
table td {
  vertical-align: top;
  text-align: left;
}
table > thead th {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 600;
  padding: 1.9rem 2.8rem 1.7rem;
  background-color: #1f1e24;
  color: white;
}
table > thead th strong {
  font-weight: inherit;
  color: #b7b7b7;
}
@media screen and (min-width:750px) {
  table > thead th {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 3rem;
  }
  .b-modal-js--present table > thead th {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
  }
}
table > tbody th {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 500;
  background-color: whitesmoke;
  color: black;
}
table > tbody th strong {
  font-weight: inherit;
  color: #b7b7b7;
}
@media screen and (min-width:750px) {
  table > tbody th {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 3rem;
  }
  .b-modal-js--present table > tbody th {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
  }
}
.b-modal-js--present table > tbody th {
  background-color: white;
}
table > tbody tr > th:last-child,
table > tbody tr > td:last-child {
  border-right: 0;
}
table > tbody tr > th:first-child {
  border-right: 0;
}
table > tbody td {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
}
table > tbody td strong {
  font-weight: inherit;
  color: #b7b7b7;
}
@media screen and (min-width:750px) {
  table > tbody td {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 3rem;
  }
  .b-modal-js--present table > tbody td {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
  }
}
table > tbody th,
table > tbody td {
  padding: 2.6rem 2.8rem 2.2rem;
  border: 1px solid #dddddd;
  border-width: 0 1px 1px 0;
}
.b-modal-js--present table > tbody th,
.b-modal-js--present table > tbody td {
  border-color: #b2b2b2;
}
@media screen and (min-width:750px) {
  table {
    width: 100%;
  }
  .b-modal-js--present table {
    -webkit-backface-visibility: visible;
            backface-visibility: visible;
  }
}

.l-outer-container {
  padding: 0 20px;
}
@media screen and (min-width:750px) {
  .l-outer-container {
    padding: 0 48px;
  }
}
@media screen and (min-width:1024px) {
  .l-outer-container {
    max-width: 153.5rem;
    margin: 0 auto;
    padding: 0 48px;
  }
}

.l-overflow-liner {
  overflow: hidden;
  overflow-x: auto;
  overflow-y: hidden;
}

.l-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-row--centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width:320px) {
  .l-grid-narrow-1of12 {
    -ms-flex-preferred-size: calc((100% * 1/12) - (32px * (1 - 1/12)));
        flex-basis: calc((100% * 1/12) - (32px * (1 - 1/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1/12) - (32px * (1 - 1/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-2of12 {
    -ms-flex-preferred-size: calc((100% * 2/12) - (32px * (1 - 2/12)));
        flex-basis: calc((100% * 2/12) - (32px * (1 - 2/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 2/12) - (32px * (1 - 2/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-3of12 {
    -ms-flex-preferred-size: calc((100% * 3/12) - (32px * (1 - 3/12)));
        flex-basis: calc((100% * 3/12) - (32px * (1 - 3/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 3/12) - (32px * (1 - 3/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-4of12 {
    -ms-flex-preferred-size: calc((100% * 4/12) - (32px * (1 - 4/12)));
        flex-basis: calc((100% * 4/12) - (32px * (1 - 4/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 4/12) - (32px * (1 - 4/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-5of12 {
    -ms-flex-preferred-size: calc((100% * 5/12) - (32px * (1 - 5/12)));
        flex-basis: calc((100% * 5/12) - (32px * (1 - 5/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 5/12) - (32px * (1 - 5/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-6of12 {
    -ms-flex-preferred-size: calc((100% * 6/12) - (32px * (1 - 6/12)));
        flex-basis: calc((100% * 6/12) - (32px * (1 - 6/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 6/12) - (32px * (1 - 6/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-7of12 {
    -ms-flex-preferred-size: calc((100% * 7/12) - (32px * (1 - 7/12)));
        flex-basis: calc((100% * 7/12) - (32px * (1 - 7/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 7/12) - (32px * (1 - 7/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-8of12 {
    -ms-flex-preferred-size: calc((100% * 8/12) - (32px * (1 - 8/12)));
        flex-basis: calc((100% * 8/12) - (32px * (1 - 8/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 8/12) - (32px * (1 - 8/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-9of12 {
    -ms-flex-preferred-size: calc((100% * 9/12) - (32px * (1 - 9/12)));
        flex-basis: calc((100% * 9/12) - (32px * (1 - 9/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 9/12) - (32px * (1 - 9/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-10of12 {
    -ms-flex-preferred-size: calc((100% * 10/12) - (32px * (1 - 10/12)));
        flex-basis: calc((100% * 10/12) - (32px * (1 - 10/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 10/12) - (32px * (1 - 10/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-11of12 {
    -ms-flex-preferred-size: calc((100% * 11/12) - (32px * (1 - 11/12)));
        flex-basis: calc((100% * 11/12) - (32px * (1 - 11/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 11/12) - (32px * (1 - 11/12)));
    margin-bottom: 32px;
  }

  .l-grid-narrow-12of12 {
    -ms-flex-preferred-size: calc((100% * 12/12) - (32px * (1 - 12/12)));
        flex-basis: calc((100% * 12/12) - (32px * (1 - 12/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 12/12) - (32px * (1 - 12/12)));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:1024px) {
  .l-grid-wide-1of12 {
    -ms-flex-preferred-size: calc((100% * 1/12) - (32px * (1 - 1/12)));
        flex-basis: calc((100% * 1/12) - (32px * (1 - 1/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1/12) - (32px * (1 - 1/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-2of12 {
    -ms-flex-preferred-size: calc((100% * 2/12) - (32px * (1 - 2/12)));
        flex-basis: calc((100% * 2/12) - (32px * (1 - 2/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 2/12) - (32px * (1 - 2/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-3of12 {
    -ms-flex-preferred-size: calc((100% * 3/12) - (32px * (1 - 3/12)));
        flex-basis: calc((100% * 3/12) - (32px * (1 - 3/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 3/12) - (32px * (1 - 3/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-4of12 {
    -ms-flex-preferred-size: calc((100% * 4/12) - (32px * (1 - 4/12)));
        flex-basis: calc((100% * 4/12) - (32px * (1 - 4/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 4/12) - (32px * (1 - 4/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-5of12 {
    -ms-flex-preferred-size: calc((100% * 5/12) - (32px * (1 - 5/12)));
        flex-basis: calc((100% * 5/12) - (32px * (1 - 5/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 5/12) - (32px * (1 - 5/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-6of12 {
    -ms-flex-preferred-size: calc((100% * 6/12) - (32px * (1 - 6/12)));
        flex-basis: calc((100% * 6/12) - (32px * (1 - 6/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 6/12) - (32px * (1 - 6/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-7of12 {
    -ms-flex-preferred-size: calc((100% * 7/12) - (32px * (1 - 7/12)));
        flex-basis: calc((100% * 7/12) - (32px * (1 - 7/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 7/12) - (32px * (1 - 7/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-8of12 {
    -ms-flex-preferred-size: calc((100% * 8/12) - (32px * (1 - 8/12)));
        flex-basis: calc((100% * 8/12) - (32px * (1 - 8/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 8/12) - (32px * (1 - 8/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-9of12 {
    -ms-flex-preferred-size: calc((100% * 9/12) - (32px * (1 - 9/12)));
        flex-basis: calc((100% * 9/12) - (32px * (1 - 9/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 9/12) - (32px * (1 - 9/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-10of12 {
    -ms-flex-preferred-size: calc((100% * 10/12) - (32px * (1 - 10/12)));
        flex-basis: calc((100% * 10/12) - (32px * (1 - 10/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 10/12) - (32px * (1 - 10/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-11of12 {
    -ms-flex-preferred-size: calc((100% * 11/12) - (32px * (1 - 11/12)));
        flex-basis: calc((100% * 11/12) - (32px * (1 - 11/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 11/12) - (32px * (1 - 11/12)));
    margin-bottom: 32px;
  }

  .l-grid-wide-12of12 {
    -ms-flex-preferred-size: calc((100% * 12/12) - (32px * (1 - 12/12)));
        flex-basis: calc((100% * 12/12) - (32px * (1 - 12/12)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 12/12) - (32px * (1 - 12/12)));
    margin-bottom: 32px;
  }
}
.l-ajax-js {
  display: block;
  position: relative;
  min-height: 62.5rem;
}
.l-ajax-js__wrapper {
  position: relative;
}
.l-ajax-js__inner {
  position: absolute;
  z-index: 20;
  width: 100%;
  height: 100%;
  background-color: #f2f1ec;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  pointer-events: none;
}
.ie10 .l-ajax-js__inner {
  height: 0;
}
.l-ajax-js__inner--in {
  min-height: 62.5rem;
  opacity: 1;
  pointer-events: auto;
}
.ie10 .l-ajax-js__inner--in {
  height: 100%;
}
.l-ajax-js__inner--out {
  opacity: 0;
  pointer-events: none;
}
.l-ajax-js__inner::before {
  position: absolute;
  top: calc(50% - 6.5rem);
  left: calc(50% - 6.5rem);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  width: 13rem;
  height: 13rem;
  border: 1rem solid #f1f1f1;
  border-top-color: #009cde;
  border-radius: 50%;
  margin: auto;
  -webkit-animation: ajax-spinner 0.9s linear infinite;
          animation: ajax-spinner 0.9s linear infinite;
}
.l-ajax-js--inline-loader {
  position: relative;
  padding-left: 0;
  font-size: 2.25rem;
  line-height: 2.5rem;
  text-align: center;
  -webkit-transition: padding ease-out 0.2s;
  transition: padding ease-out 0.2s;
}
.l-ajax-js--inline-loader .b-button__icon-wrap--before {
  display: none;
  -webkit-animation: ajax-spinner 0.6s linear infinite;
          animation: ajax-spinner 0.6s linear infinite;
}
.l-ajax-js--inline-loading .b-button__icon-wrap--before {
  display: inline-block;
}

.l-ajax-js-fail {
  width: 100%;
  text-align: center;
}

@-webkit-keyframes ajax-spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes ajax-spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.l-1--page--narrow .b-nav-in-page-pinned-js {
  z-index: 3;
}

.l-2--page--guide .l-order--2 {
  z-index: 1;
}
.l-2--page--guide .l-order--2 > .b-nav-in-page-pinned-js {
  z-index: 3;
}

.b-footer .b-back-to-top {
  z-index: 3;
}

.b-share-and-output-buttons__share {
  position: relative;
  text-align: right;
}
.b-share-and-output-buttons__share__download {
  position: absolute;
  left: 0;
}
.b-share-and-output-buttons__share::after {
  content: "";
  clear: both;
}
.b-share-and-output-buttons--example-slide > .b-rule--thin:first-child {
  display: none;
}
.b-share-and-output-buttons--example-slide .l-2--share-slide {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2.1rem 0;
}
.b-share-and-output-buttons--example-slide .b-share-and-output-buttons__share {
  text-align: right;
}
.b-share-and-output-buttons--example-slide .b-share-and-output-buttons__share .h-list--inline > li {
  margin-left: 0.5rem;
}
.b-share-and-output-buttons--example-slide .b-share-and-output-buttons__share .h-list--inline > li.b-share-and-output-buttons__share__download {
  margin-left: 0;
}
.b-share-and-output-buttons--intro .b-share-and-output-buttons__share {
  text-align: left;
}
.b-share-and-output-buttons--intro .b-share-and-output-buttons__share .h-list--inline > li {
  margin-right: 0.5rem;
}
.b-share-and-output-buttons--intro--guide .b-share-and-output-buttons__share {
  text-align: left;
}
.b-share-and-output-buttons--intro--guide .b-share-and-output-buttons__share .h-list--inline > li {
  margin-right: 0.5rem;
}
.b-share-and-output-buttons--knowledge-slide {
  margin-top: 2rem;
}
.b-share-and-output-buttons--knowledge-slide .l-2--share-slide {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2.1rem 0;
}
.b-share-and-output-buttons--knowledge-slide .b-share-and-output-buttons__share {
  text-align: right;
}
.b-share-and-output-buttons--knowledge-slide .b-share-and-output-buttons__share .h-list--inline > li {
  margin-left: 0.5rem;
}
.b-share-and-output-buttons--knowledge-slide .b-share-and-output-buttons__share .h-list--inline > li.b-share-and-output-buttons__share__download {
  margin-left: 0;
}
.b-share-and-output-buttons--modal--present .b-share-and-output-buttons__share {
  text-align: left;
}
@media screen and (min-width:750px) {
  .b-share-and-output-buttons__output .b-button--pill {
    width: 100%;
  }
  .b-share-and-output-buttons__output li, .b-share-and-output-buttons__output li:last-child {
    margin-bottom: 0;
  }
  .b-share-and-output-buttons__output .h-list--inline > li {
    margin-right: 1.2rem;
  }
  .b-share-and-output-buttons--example-slide {
    margin-top: 1.7rem;
  }
  .b-modal-js--present .b-share-and-output-buttons--example-slide {
    margin-top: 6rem;
    padding-bottom: 1.7rem;
    /* allow for tooltip */
    margin-bottom: 0;
  }
  .b-share-and-output-buttons--example-slide > .b-rule--thin:first-child {
    display: block;
  }
  .b-share-and-output-buttons--example-slide .b-rule--thick:last-child {
    margin-top: 0;
  }
  .b-share-and-output-buttons--example-slide .b-share-and-output-buttons__share .h-list--inline > li {
    margin-left: 0.5rem;
  }
  .b-share-and-output-buttons--example-slide.b-share-and-output-buttons--modal--present .b-share-and-output-buttons__share .h-list--inline > li {
    margin-right: 0.8rem;
    margin-left: 0;
  }
  .b-share-and-output-buttons--intro {
    max-width: 17.25rem;
    margin-left: auto;
  }
  .b-share-and-output-buttons--intro .b-share-and-output-buttons__share {
    margin-top: 1.6rem;
    text-align: right;
  }
  .b-share-and-output-buttons--intro .b-share-and-output-buttons__share .h-list--inline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
  .b-share-and-output-buttons--intro .b-share-and-output-buttons__share .h-list--inline > li {
    margin-right: 0;
  }
  .b-share-and-output-buttons--intro .b-share-and-output-buttons__output li {
    margin-bottom: 1.2rem;
  }
  .b-share-and-output-buttons--intro--guide .b-share-and-output-buttons__share {
    text-align: left;
  }
  .b-share-and-output-buttons--intro--guide .b-share-and-output-buttons__share .h-list--inline > li {
    margin-right: 0.5rem;
  }
  .b-share-and-output-buttons--knowledge-slide {
    margin-top: 1.7rem;
  }
  .b-modal-js--present .b-share-and-output-buttons--knowledge-slide {
    margin-top: 6rem;
    margin-bottom: 1.7rem;
  }
  .b-share-and-output-buttons--knowledge-slide > .b-rule--thin:first-child {
    display: block;
  }
  .b-share-and-output-buttons--knowledge-slide .b-rule--thick:last-child {
    margin-top: 0;
  }
  .b-share-and-output-buttons--knowledge-slide .b-share-and-output-buttons__share .h-list--inline > li {
    margin-left: 0.5rem;
  }
  .b-share-and-output-buttons--knowledge-slide.b-share-and-output-buttons--modal--present .b-share-and-output-buttons__share .h-list--inline > li {
    margin-right: 0.8rem;
    margin-left: 0;
  }
}

.b-nav-in-page__liner {
  padding-top: 3rem;
  margin-bottom: 4rem;
}
.b-nav-in-page__list__item {
  margin-bottom: 1.6rem;
}
.b-nav-in-page__link {
  position: relative;
  display: block;
  padding-left: 2.5rem;
  margin-right: 4rem;
  margin-left: 0;
}
.b-nav-in-page__link.b-link-icon--start {
  margin-left: 0;
}
.b-nav-in-page__link.b-link-icon--start .h-icon--arrow {
  margin-left: 0;
  fill: #0099d9;
}
.b-nav-in-page__link:hover .b-link-icon__liner {
  border-bottom: 0.125rem solid;
}
.b-nav-in-page__icon {
  position: absolute;
  top: 0.05em;
  left: 0;
  width: 0.75em;
  margin-left: 0;
}
.b-nav-in-page .b-rule--thin {
  margin-top: 2.625rem;
}
@media screen and (min-width:750px) {
  .b-nav-in-page__icon {
    width: 0.85em;
  }
  .b-nav-in-page .b-rule--thin {
    margin-top: 1.4rem;
  }
}

.b-footer.b-fill--margins {
  padding-top: 6rem;
  padding-bottom: 2.5rem;
}
.b-footer .l-outer-container {
  position: relative;
}
.b-footer__logo {
  display: block;
  width: 17.75rem;
  height: auto;
  margin: 0 0 4.5rem -0.2rem;
}
.b-footer__rule {
  margin-top: 3.4rem;
  margin-bottom: 4.2rem;
}
.b-footer .p--footer {
  margin-top: 0;
}
.b-footer .h-list--inline > li {
  margin: 0 3.75rem 3rem 0;
}
.b-footer .h-list--inline > li:last-child {
  margin-right: 0;
}
@media screen and (min-width:750px) {
  .b-footer.b-fill--margins {
    padding-top: 11.3rem;
    padding-bottom: 0.6rem;
  }
  .b-footer__logo {
    width: 27.25rem;
    max-width: 100%;
    margin: 0.3rem 0 3.7rem -0.2rem;
  }
  .b-footer__rule {
    margin-top: -3.3rem;
    margin-bottom: 5.5rem;
  }
  .b-footer .h-list--inline > li {
    margin-right: 6.5rem;
  }
  .b-footer .h-list--inline > li:last-child {
    margin-right: 0;
  }
}
@media print {
  .b-footer {
    padding: 2.75rem 0 0;
    border-top: 1px solid #b2b2b2;
    border-bottom: 1px solid #242424;
    page-break-inside: avoid;
  }
  .b-footer.b-fill--brand {
    background-color: transparent;
  }
  .b-footer .p--print--meta > p {
    margin-top: 0;
  }
  .b-footer .p--print--meta > p:last-child {
    margin-bottom: 0;
  }
}

.b-table-js {
  position: relative;
}
.b-table-js + p:not([class]) {
  margin-top: 3rem;
}

.b-content-header__title.h1 {
  margin-top: 4rem;
}
.b-content-header--guide .b-content-header__title {
  padding-top: 6.5rem;
  margin-top: 0;
  margin-bottom: 2rem;
}
.b-content-header--guide .b-content-header__summary {
  margin-top: 0;
  margin-bottom: 3.3rem;
}
.b-content-header--guide + .b-guide-tile {
  margin-top: 4rem;
}
.b-content-header--help .b-content-header__title {
  padding-top: 5.9rem;
  margin-top: 0;
  margin-bottom: 2rem;
}
.b-content-header--help .b-rule {
  margin-bottom: 4.7rem;
}
.b-content-header--home-guides {
  margin-top: 6.5rem;
  margin-bottom: -1.5rem;
}
.b-content-header--understand .b-content-header__title {
  padding-top: 5.9rem;
  margin-top: 0;
  margin-bottom: 2.8rem;
}
@media screen and (min-width:750px) {
  .b-content-header__title.h1 {
    margin-top: 4.9rem;
    margin-bottom: 1rem;
  }
  .b-content-header__content .b-rule {
    margin-bottom: 4.5rem;
  }
  .b-content-header--guide .b-content-header__title {
    margin-top: 5.5rem;
    margin-bottom: 2.3rem;
  }
  .b-content-header--help .b-content-header__title {
    margin-top: 0;
  }
  .b-nav-in-page-pinned-js + .b-content-header--help .b-content-header__title {
    margin-top: 0;
  }

  .b-content-header--home-guides {
    margin-top: 5.2rem;
  }
  .b-content-header--key-resources .b-content-header__title {
    margin-top: 11rem;
    margin-bottom: 2.9rem;
  }
  .b-content-header--key-resources .b-content-header__summary {
    margin-bottom: 3.7rem;
  }
  .b-content-header--more-options .b-content-header__title {
    margin-top: 10.6rem;
    margin-bottom: 1.9rem;
  }
  .b-content-header--more-options .b-content-header__summary {
    margin-bottom: 4.2rem;
  }
  .b-content-header--understand {
    padding-top: 8.9rem;
  }
  .b-nav-in-page-pinned-js + .b-content-header--understand {
    padding-top: 8.9rem;
    margin-top: -4rem;
  }
  .b-content-header--understand .b-content-header__title {
    margin-top: 0;
  }
  .b-content-header--understand .b-content-header__title + p {
    margin-top: 5.7rem;
  }
}

.b-resource {
  margin-top: 3.5rem;
  margin-bottom: 2.5rem;
}
.b-resource__cover {
  margin-top: 0.5rem;
}
.b-resource__button {
  margin-bottom: 2.5rem;
}
.b-resource__button .b-button {
  width: 100%;
}
.b-resource .b-button__info {
  margin-bottom: 2rem;
}
.b-resource__cost {
  margin-bottom: 0.8rem;
}
.b-resource__title {
  margin-top: 0;
  margin-bottom: 2.3rem;
}
.b-resource__publisher {
  margin-top: -0.6rem;
  margin-bottom: 2rem;
}
.b-resource > .l-2__col:last-child > *:last-child {
  margin-bottom: 0;
}
.b-resource + .b-rule + .b-content {
  margin-top: 6rem;
}
.b-resource--slide .b-resource__button .b-button {
  width: 100%;
  margin-top: 0;
}
.b-resource--slide--large .b-resource__button .b-button {
  width: 100%;
  margin-top: 0;
}
@media screen and (min-width:750px) {
  .b-resource__description {
    margin-bottom: 2.2rem;
  }
  .b-resource__button {
    margin-top: 0.7rem;
    margin-bottom: 4.7rem;
  }
  .b-resource__button + .b-resource__registration {
    margin-top: -2.2rem;
  }
  .b-resource__title {
    margin-bottom: 2rem;
  }
  .b-resource__cost {
    margin-bottom: 1.9rem;
  }
  .b-resource.l-2--resource > .l-2__col:first-child, .b-resource.l-2--resource > .l-2__col:last-child,
.b-resource .l-2--resource-content > .l-2__col:first-child,
.b-resource .l-2--resource-content > .l-2__col:last-child {
    margin-bottom: 0;
  }
  .b-resource--slide .b-resource__cover {
    margin-top: 0;
  }
  .b-resource--slide .b-resource__title {
    margin-top: -0.25rem;
    margin-bottom: 1.25rem;
  }
  .b-modal-js--present .b-resource--slide .b-resource__title {
    margin-bottom: 2.75rem;
  }
  .b-resource--slide .b-resource__button .b-button {
    width: auto;
    margin-top: 1.2rem;
  }
  .b-modal-js--present .b-resource--slide .b-resource__button .b-button {
    margin-top: 2.2rem;
  }
  .b-resource--slide--large .b-resource__cover {
    margin-top: 0;
  }
  .b-resource--slide--large .b-resource__title {
    margin-top: -0.5rem;
    margin-bottom: 2rem;
  }
  .b-modal-js--present .b-resource--slide--large .b-resource__title {
    margin-top: 0.7rem;
  }
  .b-resource--slide--large .b-resource__button .b-button {
    width: auto;
    margin-top: 1.7rem;
  }
  .b-modal-js--present .b-resource--slide--large .b-resource__button .b-button {
    margin-top: 4.1rem;
  }
}

.b-help-item .b-rule {
  margin-top: 4.2rem;
  margin-bottom: 3.1rem;
}
.b-help-item__title {
  margin-bottom: 3.3rem;
}
.b-help-item .b-picture {
  margin-top: 3.3rem;
}
.b-help-item--picture .b-rule {
  margin-top: 3rem;
}
@media screen and (min-width:750px) {
  .b-content-header + .b-help-item {
    margin-top: 5.6rem;
  }
  .b-help-item__title {
    margin-top: 0;
  }
  .b-help-item .b-picture {
    margin-top: 3rem;
    margin-bottom: 0.8rem;
  }
  .b-help-item .b-rule {
    margin-top: 3.1rem;
    margin-bottom: 5rem;
  }
}

.b-content-sub-header__title {
  margin-top: 5.1rem;
  margin-bottom: 1.5rem;
}
@media screen and (min-width:750px) {
  .b-content-sub-header__title {
    margin-top: 10.5rem;
    margin-bottom: 2.5rem;
  }
}

.b-search-results-summary.l-1--page--narrow {
  margin-bottom: 0;
}
.b-search-results-summary__count {
  margin-top: 2.2rem;
  margin-bottom: 4.2rem;
}
@media screen and (min-width:750px) {
  .b-search-results-summary > .l-1__col {
    margin-bottom: 0;
  }
  .b-search-results-summary__count {
    margin-top: 0rem;
    margin-bottom: 3.3rem;
  }
  .b-search-results-summary__count + .b-no-results-message {
    margin-top: -2rem;
  }
  .b-modal-js--search .b-search-results-summary__count {
    margin-top: 2rem;
  }
  .b-modal-js--search .b-search-results-summary__count + .b-no-results-message {
    margin-top: 0;
  }
}

.b-hide-show-js-expandmore__to_expand {
  display: block;
  max-height: 80em;
  overflow: hidden;
  visibility: visible;
  opacity: 1;
  -webkit-transition: margin-top ease 0.5s, visibility 0s ease, max-height 0.6s ease, opacity 0.5s ease;
  transition: margin-top ease 0.5s, visibility 0s ease, max-height 0.6s ease, opacity 0.5s ease;
  -webkit-transition-delay: 0s, 0s, 0s, 0s;
          transition-delay: 0s, 0s, 0s, 0s;
}
.b-hide-show-js-expandmore__to_expand[data-hidden=true] {
  max-height: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  visibility: hidden;
  opacity: 0;
  -webkit-transition-delay: 0.2s, 1s, 0s, 0s;
          transition-delay: 0.2s, 1s, 0s, 0s;
}
.b-hide-show-js-expandmore__button {
  display: inherit;
  padding: 0;
  border: 0;
  margin: 0;
  background: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
}

.b-search-suggestions__heading {
  margin-top: 3.1rem;
  margin-bottom: 2rem;
}
.b-search-suggestions__suggestion {
  margin-bottom: 1.5rem;
}
.b-search-suggestions__popular {
  margin-bottom: 4.2rem;
}
.b-search-suggestions__popular .b-button--rectangle--outline-large {
  width: 100%;
}
.b-search-suggestions__previous .b-button--rectangle--outline-large {
  width: 100%;
}
@media screen and (min-width:750px) {
  .b-search-suggestions__popular .b-button--rectangle--outline-large {
    width: auto;
  }
  .b-search-suggestions__popular:first-child .b-search-suggestions__heading {
    margin-top: 7.9rem;
  }
  .b-search-suggestions__previous .b-button--rectangle--outline-large {
    width: auto;
  }
  .b-search-suggestions__previous:first-child .b-search-suggestions__heading {
    margin-top: 7.9rem;
  }
}
@media screen and (min-width:750px) {
  .b-search-suggestions__heading {
    margin-top: 4.9rem;
  }
  .b-search-suggestions__heading--help {
    margin-bottom: 3.3rem;
  }
}

.b-example-embed {
  margin-bottom: 3.4rem;
}
.b-example-embed__quote {
  padding: 4.4rem 3.4rem 1.5rem;
}
.b-example-embed__quote__text:first-child {
  margin-top: 0;
}
.b-example-embed__quote__text:last-child {
  margin-bottom: 0;
}
.b-example-embed__quote__text .h-icon {
  float: left;
  margin: 0.325rem 1.3rem 0 0;
  font-size: 5rem;
  color: white;
}
.b-example-embed__quote__cite {
  margin-top: 3rem;
}
.b-example-embed__quote__author {
  margin-top: 3rem;
}
.b-example-embed--outline {
  border: 1px solid #b2b2b2;
}
@media screen and (min-width:750px) {
  .b-example-embed {
    margin-bottom: 3rem;
  }
  .b-modal-js--present .b-example-embed {
    margin-right: auto;
    margin-left: auto;
  }
  .b-example-embed__quote {
    padding: 2.7rem 3.4rem 1.4rem;
  }
  .b-modal-js--present .b-example-embed__quote {
    padding: 7.6rem 5.4rem 5rem 9.1rem;
  }
  .b-example-embed__quote__text {
    margin-bottom: 1rem;
    font-size: 2.1rem;
  }
  .b-modal-js--present .b-example-embed__quote__text {
    margin-bottom: 4rem;
  }
  .b-example-embed__quote__text .h-icon {
    margin-top: 0;
    font-size: 6.4rem;
  }
  .b-modal-js--present .b-example-embed__quote__text .h-icon {
    font-size: 10.5rem;
  }
  .b-example-embed__quote__author {
    margin-top: 2.6rem;
  }
  .b-modal-js--present .b-example-embed__quote__author {
    margin-top: 6.7rem;
  }
  .b-example-embed__quote__author__profession {
    display: inline;
  }
}

.b-search-header {
  margin-top: 4.4rem;
}
.b-search-header__close-wrap {
  text-align: right;
}
.b-search-header__close {
  margin-top: 4.8rem;
  font-weight: bold;
}
.b-search-header__title {
  margin-bottom: 0;
}
.b-search-header .b-guide-list-search-and-filter {
  margin-top: 3.2rem;
}
@media screen and (min-width:750px) {
  .b-search-header {
    margin-top: 11.3rem;
  }
  .b-search-header__close {
    margin-top: 2.8rem;
  }
  .b-search-header__title {
    margin-top: 0.5rem;
  }
}

.modaal-close {
  display: none;
}

.b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-outer-container {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 0;
}
@media screen and (min-width:1024px) {
  .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-outer-container {
    max-width: 153.5rem;
    margin: 0 auto;
  }
}
@media screen and (min-width:1024px) {
  .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide > .l-2__col.l-order--1 {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 32px;
  }
  .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide > .l-2__col.l-order--2 {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 32px;
    margin-bottom: 12rem;
  }
}
.b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide > .l-order--1 {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 100vh;
  max-height: 100%;
  overflow-y: auto;
  padding-right: 48px;
}
.b-modal-js--nav-guide .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide > .l-order--1 {
  padding-right: 0;
}
.b-nav-guide-sidebar .l-2--split .l-2__col:last-child {
  text-align: right;
}
.b-nav-guide-sidebar .b-fill--dark .b-nav-guide-sidebar__header .b-link-icon {
  color: white;
}
.b-nav-guide-sidebar .b-fill--dark .b-nav-guide-sidebar__footer .b-link-icon {
  color: white;
}
.b-nav-guide-sidebar .b-link-icon__icon {
  width: 1em;
}
.b-nav-guide-sidebar .b-link-icon--start {
  margin-left: 1.3em;
}
.b-nav-guide-sidebar .b-link-icon--start .h-icon--arrow {
  margin-left: -1.3em;
}
.b-nav-guide-sidebar .modaal-inline__close.b-button {
  background-color: transparent;
}
.b-nav-guide-sidebar .modaal-inline__close .b-button__content {
  color: white;
}
.b-nav-guide-sidebar .modaal-inline__close .b-button__icon-wrap {
  background-color: white;
  color: #1f1e24;
}
.b-nav-guide-sidebar__header {
  margin-top: 8.875rem;
}
.b-nav-guide-sidebar__header .l-2--split {
  margin-bottom: 1.75rem;
}
.b-nav-guide-sidebar__footer {
  margin-top: 2.25rem;
  margin-bottom: 13.5rem;
}
.b-nav-guide-sidebar__title {
  margin-top: 5.375rem;
  margin-bottom: 3.375rem;
}
.b-nav-guide-sidebar__title__indexof {
  margin-bottom: -0.25rem;
}
.b-nav-guide-sidebar__sub-title {
  margin-top: 2.625rem;
  margin-bottom: 2.5rem;
}
.b-nav-guide-sidebar__understand .b-nav-guide-sidebar__menu {
  margin-bottom: 4.625rem;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__menu {
  margin-bottom: 4.5rem;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent {
  position: relative;
  display: block;
  padding-right: 6rem;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  border-left: 1px solid white;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal__icon {
  position: relative;
  display: inline-block;
  margin: 0 1rem;
  font-size: 4rem;
}
.ie11 .b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal__icon.h-icon--triangle {
  background-image: url("../img/icons/triangle-white.svg");
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal .b-hide-show-js-expandmore, .b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal__header,
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal .b-hide-show-js-expandmore__button {
  height: 100%;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal .b-hide-show-js-expandmore__button {
  padding: 0;
  text-align: center;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu {
  padding-left: 2.125rem;
  border-left: 0.125rem solid white;
  margin-top: 2.25rem;
  margin-bottom: -0.5rem;
}
.b-nav-guide-sidebar__strategies .p--nav-guide-sidebar--strategy {
  margin-bottom: 3.25rem;
}
.b-nav-guide-sidebar__strategies .p--nav-guide-sidebar--suggestion {
  margin-bottom: 2rem;
}
.b-nav-guide-sidebar__suggestions__active {
  position: relative;
  display: block;
}
.b-nav-guide-sidebar__suggestions__active::before {
  position: absolute;
  top: 0;
  bottom: 0.25rem;
  left: -2.125rem;
  content: "";
  border-left: 0.5rem solid white;
}
.b-nav-guide-sidebar__resources .b-nav-guide-sidebar__menu {
  margin-bottom: 4.875rem;
}
.b-nav-guide-sidebar__resources .h3--nav-guide-sidebar--sub-header {
  margin-bottom: 3.25rem;
}
@media screen and (min-width:1024px) {
  .b-nav-guide-sidebar .l-outer-container {
    max-width: 100%;
    padding: 0;
  }
  .b-nav-guide-sidebar__menu {
    margin-bottom: 2.7rem;
  }
  .b-nav-guide-sidebar__sub-title {
    margin-top: 2.325rem;
    margin-bottom: 3.3rem;
  }
  .b-nav-guide-sidebar__suggestions__active::before {
    bottom: 0;
  }
  .b-nav-guide-sidebar__title {
    margin-bottom: 5.7rem;
  }
  .b-nav-guide-sidebar__understand .b-nav-guide-sidebar__menu {
    margin-bottom: 5.8rem;
  }
  .b-nav-guide-sidebar .b-link-icon__icon {
    width: 0.8em;
  }
  .b-nav-guide-sidebar .b-link-icon .h-icon--arrow--down {
    margin-left: -0.4rem;
  }
  .b-nav-guide-sidebar .b-filter-notice {
    margin-bottom: 4.3rem;
  }
}

.b-example-slide {
  padding-top: 7.4rem;
}
.b-example-slide + .b-example-slide, .b-knowledge-slide + .b-example-slide {
  padding-top: 8.5rem;
}
.b-example-slide__description {
  margin-top: 2rem;
}
.b-example-slide__title {
  margin-top: 0;
  margin-bottom: 2rem;
}
.b-example-slide + .b-example-slide .b-example-slide__title, .b-knowledge-slide + .b-example-slide .b-example-slide__title {
  margin-bottom: 2.7rem;
}
.b-example-slide .b-example-embed {
  margin-top: 3rem;
  margin-bottom: 0;
}
.js-enabled .b-example-slide[data-b-modal-slideshow-js-slide]:focus {
  outline: 0;
}
.js-wai-outline .b-example-slide[data-b-modal-slideshow-js-slide]:focus {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.js-wai-outline .b-example-slide[data-b-modal-slideshow-js-slide]:focus.js-wai-no-outline {
  outline: 0;
}
.js-wai-outline .b-example-slide[data-b-modal-slideshow-js-slide]:focus.js-wai-no-outline .js-wai-outline--proxy {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
@media screen and (min-width:750px) {
  .b-example-slide {
    padding-top: 10rem;
  }
  .b-modal-js--present .b-example-slide {
    padding-top: 0;
  }
  .b-example-slide__example.l-2--slide {
    margin-top: 4rem;
  }
  .b-example-slide__example .b-example-slide__description {
    margin-top: -0.4rem;
  }
  .b-modal-js--present .b-example-slide__example.l-2--slide--present-wide .b-example-slide__description {
    margin-top: 4rem;
    margin-bottom: 0;
  }
  .b-example-slide__title {
    margin-top: -0.9rem;
  }
  .b-modal-js--present .b-example-slide__title {
    margin-top: 0;
    margin-bottom: 0;
  }
  .b-example-slide + .b-example-slide, .b-knowledge-slide + .b-example-slide {
    padding-top: 11.9rem;
  }
  .b-modal-js--present .b-example-slide + .b-example-slide, .b-modal-js--present .b-knowledge-slide + .b-example-slide {
    padding-top: 0;
  }

  .b-example-slide + .b-example-slide .b-example-slide__title, .b-knowledge-slide + .b-example-slide .b-example-slide__title {
    margin-top: -0.7rem;
    margin-bottom: 6.6rem;
  }
  .b-modal-js--present .b-example-slide + .b-example-slide .b-example-slide__title, .b-modal-js--present .b-knowledge-slide + .b-example-slide .b-example-slide__title {
    margin-top: 0;
    margin-bottom: 0;
  }

  .b-example-slide .b-example-embed {
    margin-top: 0;
  }
}

[data-class=SlideContent] + [data-class=GenericContent] .b-content--no-title {
  padding-top: 6rem;
}

.b-strategy__embed .b-example-embed {
  margin-top: 0;
}
.b-strategy__subtitle {
  margin-bottom: 1.5rem;
}
.b-strategy__suggestions .b-filter-notice {
  margin-bottom: 2.5rem;
}
.b-strategy__title {
  margin-top: 4.5rem;
}
@media screen and (min-width:750px) {
  .b-strategy {
    margin-top: 2rem;
  }
  .b-strategy__embed {
    margin-top: 5rem;
  }
  .b-strategy__suggestions {
    margin-bottom: 1rem;
  }
  .b-strategy__subtitle {
    margin-top: 2.5rem;
  }
  .b-filter-notice + .b-strategy {
    margin-top: 3.3rem;
  }
  .b-filter-notice + .b-strategy .b-strategy__embed {
    margin-top: 2.1rem;
  }
  .b-filter-notice + .b-strategy .b-strategy__embed .b-example-embed {
    margin-top: 0.9rem;
    margin-bottom: 2.5rem;
  }
  .b-filter-notice + .b-strategy .b-strategy__subtitle {
    margin-top: 2.7rem;
  }
  .b-filter-notice + .b-strategy .b-strategy__title {
    margin-top: 2.3rem;
  }
}

.b-understand-overview.h-global-margin {
  margin-bottom: 2rem;
}
.b-understand-overview__short-title {
  padding-top: 7rem;
  margin-top: 0;
  margin-bottom: 2.5rem;
}
.b-understand-overview__title {
  margin-bottom: 3.3rem;
}
.b-understand-overview__header .b-rule--thick {
  margin-bottom: 3.4rem;
}
.b-understand-overview__content .h3--understand-summary {
  margin-bottom: -0.6rem;
}
.b-understand-overview__content .p--intro--guide {
  margin-bottom: 3.4rem;
}
@media screen and (min-width:750px) {
  .b-understand-overview__header .b-rule--thick {
    margin-bottom: 0;
  }
  .b-understand-overview__overview {
    margin-top: 4rem;
  }
  .b-understand-overview__short-title {
    padding-top: 8rem;
    margin-top: 0;
  }
  .b-understand-overview__subtitle, .b-understand-overview__title {
    margin-top: 2rem;
    margin-bottom: 4.4rem;
  }
}

.b-caption {
  position: relative;
  padding: 1.7rem 1.25rem 1.1rem;
}
.b-caption__closed-captioning .h-icon--closedcaptions {
  vertical-align: -0.45em;
  width: 1.7em;
  height: 1.7em;
  margin-right: 0.5rem;
}
.b-caption__credit {
  display: block;
  margin: 0.5rem 0;
}
.b-caption.b-fill--dark a,
.b-caption.b-fill--dark .a {
  color: white;
}
.b-caption.b-fill--dark a.b-link--external {
  background-image: url("../img/icons/arrow--up-right--type-light.svg");
}
@media screen and (max-width:749px) {
  .b-caption p {
    margin-top: 0;
    margin-bottom: 0.875rem;
  }
}
@media screen and (min-width:750px) {
  .b-caption {
    padding: 0.5rem 2.45rem 0.5rem;
  }
  .b-caption__closed-captioning {
    text-align: right;
  }
  .b-caption__closed-captioning .p--caption {
    position: relative;
    display: inline-block;
    padding-left: 3.2rem;
  }
  .b-caption__closed-captioning .p--caption .b-icon {
    position: absolute;
    top: -0.3rem;
    left: 0;
  }
  .b-caption__caption + .l-2--split--content-wide-and-up .p--caption {
    margin-top: 0;
  }
  .b-caption__no-closed-captioning {
    text-align: right;
  }
  .b-modal-js--present .b-caption__source .p--quote-source {
    margin-top: 1.4rem;
    margin-bottom: 1.1rem;
  }
  .b-caption__source-image {
    text-align: right;
  }
  .b-caption--wide .b-caption__caption .p--caption {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
    letter-spacing: -0.0444444444rem;
    font-family: Montserrat, Arial, sans-serif;
    line-height: 2rem;
    margin-bottom: 1rem;
  }
}

.b-process-list {
  margin-top: 0;
}
.b-process-list__list .b-process-list__step {
  margin-bottom: 0;
}
.b-process-list__list .b-process-list__step .b-process-list__step-inner {
  position: relative;
  padding: 2.125rem 2.5rem;
  margin-top: 0.6rem;
  margin-bottom: 0.9rem;
  background-color: #f2f1ec;
}
.b-process-list__list .b-process-list__step:first-child .b-process-list__icon .h-icon {
  width: 1.5em;
  height: 1.5em;
  padding-top: 0;
}
.b-process-list__list .b-process-list__step:first-child .b-process-list__step-inner {
  margin-top: 0;
}
.b-process-list__list .b-process-list__step:last-child .b-process-list__step-inner {
  margin-bottom: 0;
}
.b-process-list__list .b-process-list__step .b-process-list__icon {
  display: block;
  padding-top: 0.25rem;
  text-align: center;
}
.b-process-list__list .b-process-list__step .b-process-list__icon .h-icon {
  margin-top: -0.1rem;
  margin-right: -0.25rem;
}
.b-process-list--repeating {
  position: relative;
  padding-top: 0;
  padding-right: 2.5rem;
  padding-bottom: 3rem;
  border-right: 1px solid black;
  margin-bottom: 0.5rem;
}
.b-modal-js--present .b-process-list--repeating {
  padding-bottom: 6rem;
}
.b-process-list--repeating::before, .b-process-list--repeating::after {
  position: absolute;
  right: 0;
  content: "";
  width: calc(50% + 1.25rem);
  border-top: 1px solid black;
}
.b-process-list--repeating::before {
  top: 0;
}
.b-process-list--repeating::after {
  bottom: 0;
}
.b-process-list--repeating .b-process-list__list {
  position: relative;
}
.b-process-list--repeating .b-process-list__list .b-process-list__step:first-child .b-process-list__step-inner {
  margin-top: 0.6rem;
}
.b-process-list--repeating .b-process-list__list .b-process-list__step:last-child .b-process-list__step-inner {
  margin-bottom: 0.6rem;
}
.b-process-list--repeating .b-process-list__list::after {
  position: absolute;
  bottom: -3.5rem;
  left: 50%;
  content: "";
  height: 2rem;
  border-left: 1px solid black;
}
.b-modal-js--present .b-process-list--repeating .b-process-list__list::after {
  bottom: -6.5rem;
  height: 5rem;
}
.b-process-list--repeating .b-process-list__repeats {
  position: absolute;
  bottom: -0.625rem;
  left: 0;
  width: calc(45% + 1.25rem);
}
.b-process-list--repeating .b-process-list__repeats .h-icon {
  vertical-align: -0.5em;
  width: 2em;
  height: 2em;
}
@media screen and (min-width:750px) {
  .b-modal-js--present .b-process-list--repeating {
    padding-right: 4.7rem;
    border-width: 2px;
  }
  .b-modal-js--present .b-process-list--repeating::before, .b-modal-js--present .b-process-list--repeating::after {
    width: calc(50% + 2.35rem);
    border-width: 2px;
  }
  .b-modal-js--present .b-process-list--repeating .b-process-list__list::after {
    border-width: 2px;
  }
  .b-process-list__list .b-process-list__step .b-process-list__icon .h-icon {
    margin-top: -0.2rem;
  }
  .b-process-list__list .b-process-list__step .b-process-list__step-inner {
    padding: 2.1rem 3.9rem 3.6rem 3rem;
  }
  .b-modal-js--present .b-process-list__list .b-process-list__step .b-process-list__step-inner {
    padding: 4.1rem 3.9rem 4.3rem 5.4rem;
    margin-bottom: 1.8rem;
    background-color: white;
  }
}

.b-example-home__title {
  margin-top: 2rem;
  margin-bottom: 3.7rem;
}
.b-example-home__content {
  margin-top: 4.1rem;
}
.b-example-home__description {
  margin-top: 0;
}
.b-example-home .b-example-embed {
  margin-bottom: 2rem;
}
.b-example-home > .b-rule:last-child {
  margin-top: 1.75rem;
}
@media screen and (min-width:750px) {
  .b-example-home__title {
    margin-top: 0;
    margin-bottom: -0.5rem;
  }
  .b-example-home__content {
    margin-top: 0;
  }
  .b-example-home .b-example-embed {
    margin-bottom: 0;
  }
}

.b-fill--brand {
  overflow: hidden;
  background-color: #46c655;
  overflow: visible;
}
.b-fill--theme1 {
  overflow: hidden;
  background-color: #f277c6;
}
.b-fill--theme2 {
  overflow: hidden;
  background-color: #f2c835;
}
.b-fill--theme3 {
  overflow: hidden;
  background-color: #fe9500;
}
.b-fill--theme4 {
  overflow: hidden;
  background-color: #a4e001;
}
.b-fill--theme5 {
  overflow: hidden;
  background-color: #b7ede4;
}
.b-fill--light {
  overflow: hidden;
  background-color: #f2f1ec;
}
.b-fill--lighter {
  overflow: hidden;
  background-color: whitesmoke;
}
.b-fill--dark {
  overflow: hidden;
  background-color: #1f1e24;
}
.b-fill--dark h1,
.b-fill--dark h2,
.b-fill--dark h3,
.b-fill--dark h4,
.b-fill--dark h5,
.b-fill--dark h6,
.b-fill--dark .h1,
.b-fill--dark .h2,
.b-fill--dark .h3,
.b-fill--dark .h4,
.b-fill--dark .h5,
.b-fill--dark .h6,
.b-fill--dark p,
.b-fill--dark .p,
.b-fill--dark li {
  color: white;
}
.b-fill--dark a,
.b-fill--dark .a {
  color: #58cdfe;
}
.b-fill--dark a .h-icon--arrow,
.b-fill--dark .a .h-icon--arrow {
  fill: white;
}
.b-fill--dark a.a--active-page-or-parent {
  color: inherit;
}
.b-fill--dark a.a--active-page-or-parent:hover {
  color: #58cdfe;
}
.b-fill--dark a.a--active-page-or-parent .a {
  color: inherit;
}
.b-fill--dark a:visited:not(.a--no-visited),
.b-fill--dark a:visited:not(.a--no-visited) > .a {
  color: #ba94ed;
}
.b-fill--dark a:visited:not(.a--no-visited) mark {
  color: #fff185;
}
.b-fill--dark .p--brand a {
  color: inherit;
}
.b-fill--dark .p--brand a:hover {
  color: #58cdfe;
}
.b-fill--dark .a--visited {
  color: #ba94ed;
}
.b-fill--dark .a--visited .a {
  color: #ba94ed;
}
.b-fill--dark .b-hide-show-js-expandmore__button {
  color: inherit;
}
.b-fill--dark .b-fill--light {
  background-color: rgba(242, 241, 236, 0.55);
}
.b-fill--dark .b-fill--light p,
.b-fill--dark .b-fill--light a,
.b-fill--dark .b-fill--light .a {
  color: black;
}
.b-fill--dark mark {
  background-color: inherit;
  color: #fff185;
}
@media screen and (max-width:1023px) {
  .b-fill--dark--narrow {
    overflow: hidden;
    background-color: #1f1e24;
  }
  .b-fill--dark--narrow h1,
.b-fill--dark--narrow h2,
.b-fill--dark--narrow h3,
.b-fill--dark--narrow h4,
.b-fill--dark--narrow h5,
.b-fill--dark--narrow h6,
.b-fill--dark--narrow .h1,
.b-fill--dark--narrow .h2,
.b-fill--dark--narrow .h3,
.b-fill--dark--narrow .h4,
.b-fill--dark--narrow .h5,
.b-fill--dark--narrow .h6,
.b-fill--dark--narrow p,
.b-fill--dark--narrow .p,
.b-fill--dark--narrow li {
    color: white;
  }
  .b-fill--dark--narrow a,
.b-fill--dark--narrow .a {
    color: #58cdfe;
  }
  .b-fill--dark--narrow a .h-icon--arrow,
.b-fill--dark--narrow .a .h-icon--arrow {
    fill: white;
  }
  .b-fill--dark--narrow a.a--active-page-or-parent {
    color: inherit;
  }
  .b-fill--dark--narrow a.a--active-page-or-parent:hover {
    color: #58cdfe;
  }
  .b-fill--dark--narrow a.a--active-page-or-parent .a {
    color: inherit;
  }
  .b-fill--dark--narrow a:visited:not(.a--no-visited),
.b-fill--dark--narrow a:visited:not(.a--no-visited) > .a {
    color: #ba94ed;
  }
  .b-fill--dark--narrow a:visited:not(.a--no-visited) mark {
    color: #fff185;
  }
  .b-fill--dark--narrow .p--brand a {
    color: inherit;
  }
  .b-fill--dark--narrow .p--brand a:hover {
    color: #58cdfe;
  }
  .b-fill--dark--narrow .a--visited {
    color: #ba94ed;
  }
  .b-fill--dark--narrow .a--visited .a {
    color: #ba94ed;
  }
  .b-fill--dark--narrow .b-hide-show-js-expandmore__button {
    color: inherit;
  }
  .b-fill--dark--narrow .b-fill--light {
    background-color: rgba(242, 241, 236, 0.55);
  }
  .b-fill--dark--narrow .b-fill--light p,
.b-fill--dark--narrow .b-fill--light a,
.b-fill--dark--narrow .b-fill--light .a {
    color: black;
  }
  .b-fill--dark--narrow mark {
    background-color: inherit;
    color: #fff185;
  }
}
@media screen and (min-width:1024px) and (max-width:1131px) {
  .b-fill--dark--wide {
    overflow: hidden;
    background-color: #1f1e24;
  }
  .b-fill--dark--wide h1,
.b-fill--dark--wide h2,
.b-fill--dark--wide h3,
.b-fill--dark--wide h4,
.b-fill--dark--wide h5,
.b-fill--dark--wide h6,
.b-fill--dark--wide .h1,
.b-fill--dark--wide .h2,
.b-fill--dark--wide .h3,
.b-fill--dark--wide .h4,
.b-fill--dark--wide .h5,
.b-fill--dark--wide .h6,
.b-fill--dark--wide p,
.b-fill--dark--wide .p,
.b-fill--dark--wide li {
    color: white;
  }
  .b-fill--dark--wide a,
.b-fill--dark--wide .a {
    color: #58cdfe;
  }
  .b-fill--dark--wide a .h-icon--arrow,
.b-fill--dark--wide .a .h-icon--arrow {
    fill: white;
  }
  .b-fill--dark--wide a.a--active-page-or-parent {
    color: inherit;
  }
  .b-fill--dark--wide a.a--active-page-or-parent:hover {
    color: #58cdfe;
  }
  .b-fill--dark--wide a.a--active-page-or-parent .a {
    color: inherit;
  }
  .b-fill--dark--wide a:visited:not(.a--no-visited),
.b-fill--dark--wide a:visited:not(.a--no-visited) > .a {
    color: #ba94ed;
  }
  .b-fill--dark--wide a:visited:not(.a--no-visited) mark {
    color: #fff185;
  }
  .b-fill--dark--wide .p--brand a {
    color: inherit;
  }
  .b-fill--dark--wide .p--brand a:hover {
    color: #58cdfe;
  }
  .b-fill--dark--wide .a--visited {
    color: #ba94ed;
  }
  .b-fill--dark--wide .a--visited .a {
    color: #ba94ed;
  }
  .b-fill--dark--wide .b-hide-show-js-expandmore__button {
    color: inherit;
  }
  .b-fill--dark--wide .b-fill--light {
    background-color: rgba(242, 241, 236, 0.55);
  }
  .b-fill--dark--wide .b-fill--light p,
.b-fill--dark--wide .b-fill--light a,
.b-fill--dark--wide .b-fill--light .a {
    color: black;
  }
  .b-fill--dark--wide mark {
    background-color: inherit;
    color: #fff185;
  }
}
@media screen and (min-width:1024px) {
  .b-fill--dark--widest {
    overflow: hidden;
    background-color: #1f1e24;
  }
  .b-fill--dark--widest h1,
.b-fill--dark--widest h2,
.b-fill--dark--widest h3,
.b-fill--dark--widest h4,
.b-fill--dark--widest h5,
.b-fill--dark--widest h6,
.b-fill--dark--widest .h1,
.b-fill--dark--widest .h2,
.b-fill--dark--widest .h3,
.b-fill--dark--widest .h4,
.b-fill--dark--widest .h5,
.b-fill--dark--widest .h6,
.b-fill--dark--widest p,
.b-fill--dark--widest .p,
.b-fill--dark--widest li {
    color: white;
  }
  .b-fill--dark--widest a,
.b-fill--dark--widest .a {
    color: #58cdfe;
  }
  .b-fill--dark--widest a .h-icon--arrow,
.b-fill--dark--widest .a .h-icon--arrow {
    fill: white;
  }
  .b-fill--dark--widest a.a--active-page-or-parent {
    color: inherit;
  }
  .b-fill--dark--widest a.a--active-page-or-parent:hover {
    color: #58cdfe;
  }
  .b-fill--dark--widest a.a--active-page-or-parent .a {
    color: inherit;
  }
  .b-fill--dark--widest a:visited:not(.a--no-visited),
.b-fill--dark--widest a:visited:not(.a--no-visited) > .a {
    color: #ba94ed;
  }
  .b-fill--dark--widest a:visited:not(.a--no-visited) mark {
    color: #fff185;
  }
  .b-fill--dark--widest .p--brand a {
    color: inherit;
  }
  .b-fill--dark--widest .p--brand a:hover {
    color: #58cdfe;
  }
  .b-fill--dark--widest .a--visited {
    color: #ba94ed;
  }
  .b-fill--dark--widest .a--visited .a {
    color: #ba94ed;
  }
  .b-fill--dark--widest .b-hide-show-js-expandmore__button {
    color: inherit;
  }
  .b-fill--dark--widest .b-fill--light {
    background-color: rgba(242, 241, 236, 0.55);
  }
  .b-fill--dark--widest .b-fill--light p,
.b-fill--dark--widest .b-fill--light a,
.b-fill--dark--widest .b-fill--light .a {
    color: black;
  }
  .b-fill--dark--widest mark {
    background-color: inherit;
    color: #fff185;
  }
}
.b-modal .b-fill--dark--modal {
  overflow: hidden;
  background-color: #1f1e24;
}
.b-modal .b-fill--dark--modal h1,
.b-modal .b-fill--dark--modal h2,
.b-modal .b-fill--dark--modal h3,
.b-modal .b-fill--dark--modal h4,
.b-modal .b-fill--dark--modal h5,
.b-modal .b-fill--dark--modal h6,
.b-modal .b-fill--dark--modal .h1,
.b-modal .b-fill--dark--modal .h2,
.b-modal .b-fill--dark--modal .h3,
.b-modal .b-fill--dark--modal .h4,
.b-modal .b-fill--dark--modal .h5,
.b-modal .b-fill--dark--modal .h6,
.b-modal .b-fill--dark--modal p,
.b-modal .b-fill--dark--modal .p,
.b-modal .b-fill--dark--modal li {
  color: white;
}
.b-modal .b-fill--dark--modal a,
.b-modal .b-fill--dark--modal .a {
  color: #58cdfe;
}
.b-modal .b-fill--dark--modal a .h-icon--arrow,
.b-modal .b-fill--dark--modal .a .h-icon--arrow {
  fill: white;
}
.b-modal .b-fill--dark--modal a.a--active-page-or-parent {
  color: inherit;
}
.b-modal .b-fill--dark--modal a.a--active-page-or-parent:hover {
  color: #58cdfe;
}
.b-modal .b-fill--dark--modal a.a--active-page-or-parent .a {
  color: inherit;
}
.b-modal .b-fill--dark--modal a:visited:not(.a--no-visited),
.b-modal .b-fill--dark--modal a:visited:not(.a--no-visited) > .a {
  color: #ba94ed;
}
.b-modal .b-fill--dark--modal a:visited:not(.a--no-visited) mark {
  color: #fff185;
}
.b-modal .b-fill--dark--modal .p--brand a {
  color: inherit;
}
.b-modal .b-fill--dark--modal .p--brand a:hover {
  color: #58cdfe;
}
.b-modal .b-fill--dark--modal .a--visited {
  color: #ba94ed;
}
.b-modal .b-fill--dark--modal .a--visited .a {
  color: #ba94ed;
}
.b-modal .b-fill--dark--modal .b-hide-show-js-expandmore__button {
  color: inherit;
}
.b-modal .b-fill--dark--modal .b-fill--light {
  background-color: rgba(242, 241, 236, 0.55);
}
.b-modal .b-fill--dark--modal .b-fill--light p,
.b-modal .b-fill--dark--modal .b-fill--light a,
.b-modal .b-fill--dark--modal .b-fill--light .a {
  color: black;
}
.b-modal .b-fill--dark--modal mark {
  background-color: inherit;
  color: #fff185;
}
.b-fill--theme1 .b-rule::after, .b-fill--theme2 .b-rule::after, .b-fill--dark .b-rule::after {
  border-color: white;
}
.b-fill--dark-stripe {
  overflow: hidden;
}
@media screen and (min-width:1024px) {
  .b-fill--dark-stripe {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#1f1e24), to(#1f1e24));
    background-image: linear-gradient(#1f1e24, #1f1e24);
    background-repeat: no-repeat;
  }
}
@media screen and (min-width:1024px) and (max-width:1131px) {
  .b-fill--dark-stripe {
    background-size: calc(6rem + 25% + 2rem) 100%;
  }
}
@media screen and (min-width:1024px) {
  .b-fill--dark-stripe {
    background-size: calc(50% - (70.75rem - 35.375rem - 6rem - 2rem)) 100%;
  }
}
@media screen and (min-width:1200px) {
  .b-fill--dark-stripe {
    background-size: calc(50% - (70.75rem - 35.375rem - 6rem - 0rem)) 100%;
  }
}
.b-fill--dark-light-stripe {
  overflow: hidden;
  background-color: whitesmoke;
}
@media screen and (min-width:1024px) {
  .b-fill--dark-light-stripe {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#1f1e24), to(#1f1e24));
    background-image: linear-gradient(#1f1e24, #1f1e24);
    background-repeat: no-repeat;
  }
}
@media screen and (min-width:1024px) and (max-width:1131px) {
  .b-fill--dark-light-stripe {
    background-size: calc(6rem + 25% + 2rem) 100%;
  }
}
@media screen and (min-width:1024px) {
  .b-fill--dark-light-stripe {
    background-size: calc(50% - (70.75rem - 35.375rem - 6rem - 2rem)) 100%;
  }
}
@media screen and (min-width:1200px) {
  .b-fill--dark-light-stripe {
    background-size: calc(50% - (70.75rem - 35.375rem - 6rem - 0rem)) 100%;
  }
}
@media screen and (min-width:1024px) {
  .b-fill--dark-light-stripe {
    margin-top: 0;
  }
}

img[src$=".svg"] {
  width: 100%;
}

.b-picture {
  display: block;
}
.b-picture__image {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.b-picture--outline {
  border: 1px solid #b2b2b2;
}

.b-example-embed + .b-content {
  margin-top: 4.6rem;
}
.b-content + .b-rule--thin {
  margin-top: 4.6rem;
}
.b-content-header + .b-content {
  margin-top: 4rem;
}
.b-content > *:first-child {
  margin-top: 0;
}
.b-content > h3 {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  line-height: 3.5rem;
  font-weight: 800;
}
.b-content > h5 {
  margin-bottom: 2.4rem;
}
.b-content > h6 {
  margin-top: 2.9rem;
  margin-bottom: 1.8rem;
}
.b-content > p {
  margin-bottom: 2.5rem;
  line-height: 3rem;
}
.b-content > ul {
  margin-bottom: 2.9rem;
  margin-left: 3.8rem;
}
.b-content > ul > li {
  line-height: 3rem;
}
.b-content > ol {
  padding-left: 1.5rem;
  margin-top: -0.5rem;
  margin-bottom: 2.9rem;
}
.b-content > ol > li::before {
  margin-left: -0.75rem;
}
.b-content > p a,
.b-content > .p a {
  font-family: inherit;
  font-weight: inherit;
}
@media screen and (min-width:750px) {
  .b-example-embed + .b-content {
    margin-top: 6rem;
  }
  .b-content + .b-rule {
    margin-top: 6.9rem;
  }
}
@media screen and (min-width:750px) and (min-width:750px) {
  .b-content > p,
.b-content > ol,
.b-content > ul {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
  }
}
@media screen and (min-width:750px) {
  .b-content > ul {
    padding-left: 5.2rem;
    margin-bottom: 3.5rem;
    margin-left: 0;
  }
  .b-content > ul > li {
    line-height: 3.5rem;
  }
  .b-content > ul > li:before {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) {
  .b-content > ol {
    padding-left: 5.2rem;
    margin-top: 1rem;
  }
  .b-content > ol > li:before {
    width: 3.2rem;
    margin-right: 0;
    margin-left: -3.2rem;
  }
}
@media screen and (min-width:750px) {
  .b-content > h3 {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.0901016235rem;
    line-height: 4rem;
  }
}
@media screen and (min-width:750px) {
  .b-content > h5 {
    margin-bottom: 2.8rem;
  }
}
@media screen and (min-width:750px) {
  .b-content > h6 {
    margin-top: 3.5rem;
    margin-bottom: 2.3rem;
  }
}
@media screen and (min-width:750px) {
  .b-content > p {
    margin-bottom: 3rem;
  }
}
@media screen and (min-width:750px) and (min-width:750px) {
  .b-content--small > p,
.b-content--small > ol,
.b-content--small > ul {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.01125rem;
    line-height: 3rem;
  }
}
@media screen and (min-width:750px) {
  .b-content--small > p:first-child,
.b-content--small > ol:first-child,
.b-content--small > ul:first-child {
    margin-top: 0;
  }
}

.b-next-steps__return {
  margin-top: 4.4rem;
}
.b-next-steps__return__prefix {
  display: block;
}
.b-next-steps__title {
  margin-top: 4rem;
  margin-bottom: 2.5rem;
}
.b-next-steps .b-guide-tile {
  margin-bottom: 4.1rem;
}
.b-next-steps .b-guide-tile__title {
  margin-top: 0.6rem;
  margin-bottom: 0.6rem;
}
.b-next-steps .b-rule--thick {
  margin-bottom: 4.5rem;
}
@media screen and (min-width:750px) {
  .b-next-steps__title {
    margin-top: 6rem;
  }
  .b-next-steps__list {
    margin-top: -1.4rem;
  }
  .b-next-steps__return {
    margin-top: 0;
  }
  .b-next-steps__guide {
    margin-top: 4.4rem;
    margin-bottom: 4.8rem;
  }
  .b-next-steps__guide .b-guide-tile {
    margin-top: 0.8rem;
    margin-bottom: 0;
  }
  .b-next-steps__guide .b-guide-tile__title {
    margin-top: 1.9rem;
  }
  .b-next-steps .b-rule--thick {
    margin-bottom: 0.5rem;
  }
}

.b-how-to-use-the-site {
  padding-bottom: 3.5rem;
}
.b-how-to-use-the-site__title {
  margin-top: 4.4rem;
  margin-bottom: 2.8rem;
}
.b-how-to-use-the-site a,
.b-how-to-use-the-site .a {
  color: inherit;
}
.b-how-to-use-the-site .b-rule {
  margin-top: 2rem;
  margin-bottom: 3.5rem;
}
@media screen and (min-width:1024px) {
  .b-how-to-use-the-site {
    padding-bottom: 0;
    margin-bottom: -12rem;
  }
  .b-how-to-use-the-site__title {
    margin-top: 5.4rem;
    margin-bottom: 3.9rem;
  }
  .b-how-to-use-the-site .b-rule {
    margin-top: 2.7rem;
  }
}

.b-link-icon__icon {
  width: 0.7em;
}
.b-link-icon__word {
  display: inline-block;
  white-space: nowrap;
}
.b-link-icon--start {
  margin-left: 1em;
}
.b-link-icon--start .h-icon--arrow {
  margin-left: -1em;
}
.b-link-icon--end {
  margin-right: 1em;
}
.b-link-icon--end .h-icon--arrow,
.b-link-icon--end .h-icon--arrow--up-right--link {
  margin-right: -1em;
}

.b-back-to-top {
  position: absolute;
  top: calc(-11.9rem - 1px);
  height: 6rem;
}
.b-back-to-top.h-is-sticky {
  position: fixed;
  top: auto;
  bottom: 0;
}
.b-back-to-top, .b-back-to-top.h-is-sticky {
  right: 2.5rem;
}
@media screen and (min-width:750px) {
  .b-back-to-top {
    top: calc(-17.3rem - 1px);
  }
  .b-back-to-top, .b-back-to-top.h-is-sticky {
    right: 6rem;
  }
}
@media screen and (min-width:1024px) {
  .b-back-to-top, .b-back-to-top.h-is-sticky {
    right: 6rem;
  }
}
@media screen and (min-width:1382px) {
  .b-back-to-top {
    right: calc(-8.5rem - 1px);
  }
  .b-back-to-top.h-is-sticky {
    right: calc(50% + 3rem - 76.75rem - 11.3rem - 1px - 2px);
  }
}

.b-filter-notice {
  margin-bottom: 2.5rem;
}
.b-filter-notice__inner {
  position: relative;
  padding: 1.5rem 1.5rem 1.5rem 5rem;
}
.b-filter-notice .p--filter-notice {
  margin: 0;
}
.b-filter-notice .h-icon--info {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  width: 1.5em;
  height: 1.5em;
}
.b-filter-notice--strategy {
  margin-top: 2.5rem;
}
@media screen and (min-width:750px) {
  .b-strategy + .b-filter-notice {
    margin-top: 3.6rem;
    margin-bottom: 3.6rem;
  }
  .b-filter-notice--wide {
    margin-bottom: 1rem;
  }
  .b-filter-notice--wide .h-icon--info {
    top: 1.7rem;
    left: 2rem;
  }
  .b-filter-notice--wide .b-filter-notice__inner {
    padding: 2rem 1.5rem 1.8rem 5.6rem;
  }
}

.modaal-noscroll {
  overflow: hidden;
}

.modaal-accessible-hide {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
}

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: white !important;
  opacity: 0;
}

.modaal-wrapper {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: white;
  opacity: 1;
  -webkit-overflow-scrolling: touch;
}
.modaal-wrapper * {
  -webkit-backface-visibility: hidden;
}
.modaal-wrapper .modaal-close {
  padding: 0;
  border: 0;
  -webkit-appearance: none;
}
.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1;
}
.modaal-wrapper.modaal-start_fade {
  opacity: 0;
}
.modaal-wrapper *[tabindex="0"] {
  outline: none !important;
}
.modaal-wrapper.modaal-fullscreen {
  overflow: hidden;
}

.modaal-outer-wrapper {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}
.modaal-fullscreen .modaal-outer-wrapper {
  display: block;
}

.modaal-inner-wrapper {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  text-align: center;
}
.modaal-fullscreen .modaal-inner-wrapper {
  display: block;
  vertical-align: top;
  padding: 0;
}

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 150rem;
  margin: auto;
  background-color: white;
  text-align: left;
  cursor: auto;
}
.modaal-container.is_loading {
  width: 100px;
  height: 100px;
  overflow: hidden;
}
.modaal-fullscreen .modaal-container {
  height: 100%;
  max-width: none;
  overflow: auto;
}

.modaal-close {
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 5rem;
  height: 5rem;
  opacity: 1;
  cursor: pointer;
}
.modaal-close span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
}
.modaal-close::before, .modaal-close::after {
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
  position: absolute;
  top: 6px;
  left: 19px;
  display: block;
  content: " ";
  width: 3px;
  height: 3.5rem;
  background-color: black;
}
.modaal-close:before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.modaal-close:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.modaal-fullscreen .modaal-close {
  top: 10px;
  right: 10px;
}

.b-modal-js .modaal-container,
.b-modal-js .modaal-content,
.b-modal-js .modaal-content-container,
.b-modal-js .modaal-content-container > .l-ajax-js {
  min-height: 100%;
}
.b-modal-js .modaal-inner-wrapper {
  vertical-align: top;
}
.b-modal-js .modaal-content-container > .l-outer-container.b-fill--light {
  overflow: visible;
  padding-top: 1px;
  padding-bottom: 1px;
}
.js-enabled .b-modal-js__focusable:focus {
  outline: 0;
}
.js-wai-outline .b-modal-js__focusable:focus {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.js-wai-outline .b-modal-js__focusable:focus.js-wai-no-outline {
  outline: 0;
}
.js-wai-outline .b-modal-js__focusable:focus.js-wai-no-outline .js-wai-outline--proxy {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.b-modal-js--present.modaal-wrapper {
  overflow: hidden;
  background-color: #f2f1ec;
  overflow: auto;
}
.b-modal-js--present.modaal-wrapper .modaal-container {
  overflow: hidden;
  background-color: #f2f1ec;
  max-width: 142.5rem;
  min-height: 0;
}
.b-modal-js--present.modaal-wrapper .modaal-inner-wrapper {
  vertical-align: top;
}
.b-modal-js--present.modaal-wrapper .modaal-inner-wrapper > .modaal-container {
  margin-top: 16.7rem;
  margin-bottom: 17.5rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header {
  overflow: hidden;
  background-color: #f2f1ec;
  position: fixed;
  z-index: 3;
  width: 100%;
  top: 0;
  height: 16.7rem;
  padding-bottom: 1.5rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header > .modaal-container {
  height: 100%;
  overflow: visible;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header .l-2--modal--header--present {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  height: 100%;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header .l-2--modal--header--present > .l-2__col {
  margin-bottom: 4.5rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header .l-2--modal--header--present > .l-2__col:first-child {
  margin-bottom: 2.75rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-pagination-js {
  overflow: hidden;
  background-color: #f2f1ec;
  position: fixed;
  z-index: 3;
  width: 100%;
  bottom: 0;
  height: 17.5rem;
  padding-top: 0.8rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-pagination-js > .modaal-container {
  height: 100%;
}
.b-modal-js--present.modaal-wrapper .b-modal-pagination-js .l-2--modal--pagination--present {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.b-modal-js--present.modaal-wrapper .b-modal-pagination-js .l-2--modal--pagination--present > .l-2__col {
  margin-bottom: 2.3rem;
}
.b-modal-js--present--hide {
  display: none;
}
.b-modal-js--present--show {
  display: block;
}
.b-modal-js--present--show[class^=l-1--], .b-modal-js--present--show[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present--show[class^=l-2--], .b-modal-js--present--show[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present--show[class^=l-3--], .b-modal-js--present--show[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present--show[class^=l-4--], .b-modal-js--present--show[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--nav-guide.modaal-wrapper {
  overflow: hidden;
  background-color: #1f1e24;
  overflow: auto;
}
.b-modal-js--nav-guide.modaal-wrapper h1,
.b-modal-js--nav-guide.modaal-wrapper h2,
.b-modal-js--nav-guide.modaal-wrapper h3,
.b-modal-js--nav-guide.modaal-wrapper h4,
.b-modal-js--nav-guide.modaal-wrapper h5,
.b-modal-js--nav-guide.modaal-wrapper h6,
.b-modal-js--nav-guide.modaal-wrapper .h1,
.b-modal-js--nav-guide.modaal-wrapper .h2,
.b-modal-js--nav-guide.modaal-wrapper .h3,
.b-modal-js--nav-guide.modaal-wrapper .h4,
.b-modal-js--nav-guide.modaal-wrapper .h5,
.b-modal-js--nav-guide.modaal-wrapper .h6,
.b-modal-js--nav-guide.modaal-wrapper p,
.b-modal-js--nav-guide.modaal-wrapper .p,
.b-modal-js--nav-guide.modaal-wrapper li {
  color: white;
}
.b-modal-js--nav-guide.modaal-wrapper a,
.b-modal-js--nav-guide.modaal-wrapper .a {
  color: #58cdfe;
}
.b-modal-js--nav-guide.modaal-wrapper a .h-icon--arrow,
.b-modal-js--nav-guide.modaal-wrapper .a .h-icon--arrow {
  fill: white;
}
.b-modal-js--nav-guide.modaal-wrapper a.a--active-page-or-parent {
  color: inherit;
}
.b-modal-js--nav-guide.modaal-wrapper a.a--active-page-or-parent:hover {
  color: #58cdfe;
}
.b-modal-js--nav-guide.modaal-wrapper a.a--active-page-or-parent .a {
  color: inherit;
}
.b-modal-js--nav-guide.modaal-wrapper a:visited:not(.a--no-visited),
.b-modal-js--nav-guide.modaal-wrapper a:visited:not(.a--no-visited) > .a {
  color: #ba94ed;
}
.b-modal-js--nav-guide.modaal-wrapper a:visited:not(.a--no-visited) mark {
  color: #fff185;
}
.b-modal-js--nav-guide.modaal-wrapper .p--brand a {
  color: inherit;
}
.b-modal-js--nav-guide.modaal-wrapper .p--brand a:hover {
  color: #58cdfe;
}
.b-modal-js--nav-guide.modaal-wrapper .a--visited {
  color: #ba94ed;
}
.b-modal-js--nav-guide.modaal-wrapper .a--visited .a {
  color: #ba94ed;
}
.b-modal-js--nav-guide.modaal-wrapper .b-hide-show-js-expandmore__button {
  color: inherit;
}
.b-modal-js--nav-guide.modaal-wrapper .b-fill--light {
  background-color: rgba(242, 241, 236, 0.55);
}
.b-modal-js--nav-guide.modaal-wrapper .b-fill--light p,
.b-modal-js--nav-guide.modaal-wrapper .b-fill--light a,
.b-modal-js--nav-guide.modaal-wrapper .b-fill--light .a {
  color: black;
}
.b-modal-js--nav-guide.modaal-wrapper mark {
  background-color: inherit;
  color: #fff185;
}
.b-modal-js--nav-guide .modaal-container {
  overflow: hidden;
  background-color: #1f1e24;
  overflow: visible;
  /* titles and popups sit outside container */
}
.b-modal-js--nav-guide .modaal-container h1,
.b-modal-js--nav-guide .modaal-container h2,
.b-modal-js--nav-guide .modaal-container h3,
.b-modal-js--nav-guide .modaal-container h4,
.b-modal-js--nav-guide .modaal-container h5,
.b-modal-js--nav-guide .modaal-container h6,
.b-modal-js--nav-guide .modaal-container .h1,
.b-modal-js--nav-guide .modaal-container .h2,
.b-modal-js--nav-guide .modaal-container .h3,
.b-modal-js--nav-guide .modaal-container .h4,
.b-modal-js--nav-guide .modaal-container .h5,
.b-modal-js--nav-guide .modaal-container .h6,
.b-modal-js--nav-guide .modaal-container p,
.b-modal-js--nav-guide .modaal-container .p,
.b-modal-js--nav-guide .modaal-container li {
  color: white;
}
.b-modal-js--nav-guide .modaal-container a,
.b-modal-js--nav-guide .modaal-container .a {
  color: #58cdfe;
}
.b-modal-js--nav-guide .modaal-container a .h-icon--arrow,
.b-modal-js--nav-guide .modaal-container .a .h-icon--arrow {
  fill: white;
}
.b-modal-js--nav-guide .modaal-container a.a--active-page-or-parent {
  color: inherit;
}
.b-modal-js--nav-guide .modaal-container a.a--active-page-or-parent:hover {
  color: #58cdfe;
}
.b-modal-js--nav-guide .modaal-container a.a--active-page-or-parent .a {
  color: inherit;
}
.b-modal-js--nav-guide .modaal-container a:visited:not(.a--no-visited),
.b-modal-js--nav-guide .modaal-container a:visited:not(.a--no-visited) > .a {
  color: #ba94ed;
}
.b-modal-js--nav-guide .modaal-container a:visited:not(.a--no-visited) mark {
  color: #fff185;
}
.b-modal-js--nav-guide .modaal-container .p--brand a {
  color: inherit;
}
.b-modal-js--nav-guide .modaal-container .p--brand a:hover {
  color: #58cdfe;
}
.b-modal-js--nav-guide .modaal-container .a--visited {
  color: #ba94ed;
}
.b-modal-js--nav-guide .modaal-container .a--visited .a {
  color: #ba94ed;
}
.b-modal-js--nav-guide .modaal-container .b-hide-show-js-expandmore__button {
  color: inherit;
}
.b-modal-js--nav-guide .modaal-container .b-fill--light {
  background-color: rgba(242, 241, 236, 0.55);
}
.b-modal-js--nav-guide .modaal-container .b-fill--light p,
.b-modal-js--nav-guide .modaal-container .b-fill--light a,
.b-modal-js--nav-guide .modaal-container .b-fill--light .a {
  color: black;
}
.b-modal-js--nav-guide .modaal-container mark {
  background-color: inherit;
  color: #fff185;
}
.b-modal-js--search.modaal-wrapper {
  overflow: hidden;
  background-color: #f2f1ec;
  overflow-y: scroll;
}
.b-modal-js--search .modaal-container {
  background-color: transparent;
}
.b-modal-js--search .modaal-content-container > .l-outer-container.b-fill--light {
  padding-bottom: 4.4rem;
}
.b-modal-js--search .modaal-inline__close.b-button {
  background-color: transparent;
}
@media screen and (min-width:1024px) {
  .b-modal-js--search .modaal-container,
.b-modal-js--search .l-outer-container {
    max-width: 154.5rem;
  }
  .b-modal-js--search .modaal-content-container > .l-outer-container.b-fill--light {
    padding-bottom: 13.175rem;
  }
}

.b-no-results-message__sorry {
  margin-bottom: 5.5rem;
}
@media screen and (min-width:750px) {
  .b-no-results-message__sorry {
    margin-bottom: 3rem;
  }
  .b-modal-js--search .b-no-results-message__sorry {
    margin-top: 9.5rem;
    margin-bottom: -2rem;
  }
}

.b-search-field__input-wrapper {
  position: relative;
}
.b-search-field__input-label {
  margin: 0 2rem 0 0;
  font-family: Martel, Georgia, serif;
  font-weight: 300;
  color: #1f1e24;
}
.b-search-field__input[type=text] {
  padding-right: 9rem;
  border: 1px solid #b2b2b2;
  margin: 0 !important;
}
.b-search-field__input[type=text]:focus {
  padding-top: 1.375rem;
  padding-bottom: 1.375rem;
  padding-left: 1.875rem;
}
.js-enabled .b-search-field__reset {
  position: absolute;
  top: 1px;
  right: 7rem;
  height: calc(100% - 2px);
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  margin-left: 0;
}
.js-enabled .b-search-field__reset .b-button__icon-wrap--after {
  margin-left: 0;
}
.js-enabled .b-search-field__reset[disabled] {
  display: none;
}
.b-search-field__submit[type=submit] {
  position: absolute;
  top: 0;
  right: 0;
  width: 7rem;
  height: 100%;
  margin: 0;
  background-color: #0099d9;
  text-indent: -10000px;
}
.b-search-field__submit-icon {
  position: absolute;
  top: 0;
  right: 2rem;
  bottom: 0;
  z-index: 1;
  display: block;
  width: 1.5em;
  height: 1.5em;
  margin: auto;
  color: white;
}
.b-search-field--has-reset .b-search-field__input {
  padding-right: 13rem;
}
@media screen and (min-width:750px) {
  .b-search-field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .b-search-field__input-label {
    font-size: 2.53125rem;
    line-height: 3rem;
  }
  .b-search-field__input-wrapper {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .b-search-field__input[type=text] {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    font-family: Montserrat, Arial, sans-serif;
    line-height: 3.75rem;
    font-weight: 300;
    padding: 2.55rem 12rem 2.7rem 2.9rem;
  }
  .b-search-field__input[type=text] strong {
    font-weight: 600;
  }
}
@media screen and (min-width:750px) and (min-width:750px) {
  .b-search-field__input[type=text] {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.0961083984rem;
    line-height: 3.75rem;
  }
}
@media screen and (min-width:750px) {
  .b-search-field__input[type=text]:focus {
    padding-top: 2.425rem;
    padding-bottom: 2.575rem;
    padding-left: 2.775rem;
  }
}
@media screen and (min-width:750px) {
  .js-enabled .b-search-field__reset {
    right: 10rem;
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .js-enabled .b-search-field__reset .b-button__icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
  }
  .js-enabled .b-search-field__reset .b-button__icon-wrap .b-button__icon {
    top: 0.25em;
    width: 0.75em;
    height: 0.75em;
  }
}
@media screen and (min-width:750px) {
  .b-search-field__submit[type=submit] {
    padding-right: 5rem;
    padding-left: 5rem;
  }
}
@media screen and (min-width:750px) {
  .b-search-field__submit-icon {
    right: 3.1rem;
    width: 2em;
    height: 2em;
  }
}
@media screen and (min-width:750px) {
  .b-search-field--large .b-search-field__input[type=text] {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    padding-left: 3rem;
  }
  .b-search-field--large .b-search-field__input[type=text]:focus {
    padding-left: 2.875rem;
  }
  .b-search-field--large .b-search-field__submit-icon {
    width: 2em;
    height: 2em;
  }
}
@media screen and (min-width:750px) {
  .b-search-field--has-reset .b-search-field__input {
    padding-right: 17.4rem;
  }
}

.b-tt-js__label {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 400;
  color: #000;
}
.b-tt-js__input {
  width: 100%;
  margin-bottom: 0 !important;
  color: #1f1e24;
}
.b-tt-js__input:focus {
  border: 2px solid #0099d9;
}
.js-wai-outline .b-tt-js__input:focus {
  outline: none;
}
.b-tt-js__input:focus::-webkit-input-placeholder {
  color: transparent;
}
.b-tt-js__input:focus:-moz-placeholder {
  color: transparent;
}
.b-tt-js__input:focus::-moz-placeholder {
  color: transparent;
}
.b-tt-js__input:focus:-ms-input-placeholder {
  color: transparent;
}
.b-tt-js__hint {
  color: #1f1e24 !important;
}
.b-tt-js__dataset:first-child {
  margin-top: -1px;
}
.b-tt-js__menu {
  width: 100%;
  max-height: 360px;
  overflow-y: auto;
  padding: 0 2rem;
  border: 2px solid #0099d9;
  border-top-color: #0099d9;
  border-top-width: 1px;
  margin-top: -2px;
  background: white;
}
.b-tt-js__menu--input {
  padding: 1rem 0;
}
.b-tt-js__menu--input .b-tt-js__category,
.b-tt-js__menu--input .b-tt-js__subcategory {
  display: none;
}
.b-tt-js__menu--input .b-tt-js__anchor:last-child {
  margin: 0;
}
.b-tt-js__menu--left {
  padding: 0 !important;
}
.b-tt-js__suggestion {
  display: block;
}
.b-tt-js__suggestion--padded {
  position: relative;
  padding: 2rem 2.5rem 2.25rem;
}
.b-tt-js__suggestion--padded.b-rule::after {
  position: absolute;
  right: -2.5rem;
  bottom: 0;
  left: -2.5rem;
}
.b-tt-js__suggestion:hover {
  cursor: pointer;
  background-color: #0099d9;
  color: white;
}
.b-tt-js__suggestion:last-child.b-rule::after {
  display: none;
}
.b-tt-js__cursor {
  background-color: #0099d9;
  color: white;
}
.b-tt-js__highlight {
  font-weight: inherit !important;
}
.b-tt-js__category {
  font-size: 3.2036132813rem;
  line-height: 3.5rem;
  padding: 1.5rem 0;
  border-top: solid 1px #1f1e24;
  border-bottom: solid 1px #1f1e24;
  margin: 0 0 1.5rem;
  line-height: 3.5rem;
  font-weight: 300;
  color: #1f1e24;
}
.b-tt-js__category span {
  display: block;
  font-weight: 200;
}
.b-tt-js__category + .b-tt-js__subcategory {
  padding-top: 0;
  border-top: 0;
}
.b-tt-js__subcategory {
  font-size: 2.25rem;
  line-height: 3.5rem;
  padding: 1.5rem 0 0;
  border-top: solid 1px #1f1e24;
  margin: 0 0 0.5rem 3rem;
  font-weight: 300;
  color: #1f1e24;
}
.b-tt-js__anchor {
  font-size: 2rem;
  line-height: 3rem;
  padding: 0.5rem 2rem 0.5rem 3rem;
  border: 0;
  margin: 0rem 0;
  font-weight: 300;
  text-decoration: none;
}
.b-tt-js__anchor-selected {
  font-weight: 600;
  color: #1f1e24;
}
.b-tt-js__anchor:last-child {
  margin-bottom: 1.5rem;
}
.b-tt-js__empty-message {
  padding: 1rem 2rem;
}
.b-tt-js__loader {
  position: absolute;
  top: 15px;
  right: 40px;
  bottom: 0;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.b-tt-js__loader::before {
  border: 2px solid #ddd;
  border-top-color: #009cde;
}
.b-tt-js .twitter-typeahead {
  position: relative;
  width: 100%;
}
.b-tt-js .twitter-typeahead::after {
  position: absolute;
  top: 12rem;
  right: 18rem;
  display: none;
  content: "";
  width: 16px;
  height: 30px;
  border: 1px solid red;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20fill%3D%22rgb%28165%2C165%2C165%29%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2020%2021%22%20style%3D%22enable-background%3Anew%200%200%2020%2021%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolyline%20points%3D%2210.1%2C16.1%205.6%2C11%201.1%2C6%2010.1%2C6%2019.2%2C6%20%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
  -webkit-transition: -webkit-transform linear 0.2s;
  transition: -webkit-transform linear 0.2s;
  transition: transform linear 0.2s;
  transition: transform linear 0.2s, -webkit-transform linear 0.2s;
  pointer-events: none;
}
.b-tt-js .twitter-typeahead::after:hover {
  cursor: pointer;
}
.b-tt-js--fullwidth {
  display: block !important;
}
.b-tt-js--fullwidth .b-tt-js__label {
  width: auto;
  margin: 2rem 0 1.5rem;
}
@media screen and (min-width:750px) {
  .b-tt-js__menu {
    max-height: 500px;
  }
}
@media screen and (min-width:1024px) {
  .b-tt-js {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .b-tt-js__label {
    display: inline-block;
    width: 17.5rem;
    margin: 0;
  }
  .b-tt-js .twitter-typeahead {
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
  .b-tt-js__menu {
    max-height: 660px;
    padding: 0 5rem;
  }
  .b-tt-js__menu--input {
    padding: 1rem 0;
  }
}

.b-example {
  padding: 3rem;
  background: #f2f2f2;
}
.b-example__inner {
  max-width: 200rem;
  margin: 0 auto;
}
.b-example__title {
  font-size: 3.6040649414rem;
  line-height: 3.5rem;
  margin-top: 0;
}
.b-example__content {
  color: #000;
}
.b-example__image {
  opacity: 0.8;
}
.b-example--small {
  width: 25%;
}
.b-example--large {
  width: 100%;
}
.b-example--is-active {
  color: #555;
}
.b-example--is-loaded {
  color: #555;
}
.b-example--is-loading {
  color: #555;
}
.b-example--is-visible {
  color: #555;
}
.b-example--is-disabled {
  color: #555;
}
.b-example:hover {
  color: #555;
}
.b-example:active {
  color: #555;
}

#tki-5682-header {
  border-bottom: 0 none;
}
#tki-5682-header li:before {
  display: none;
}

#tki-5682-footer li:before {
  display: none;
}

.b-button {
  display: inline-block;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: #1f1e24;
  text-decoration: none;
  -webkit-transition: background 0.2s ease, border 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, border 0.2s ease, color 0.2s ease;
}
[class^=p--] > .b-button,
[class*=" p--"] > .b-button {
  font-family: inherit;
  line-height: inherit;
  font-weight: inherit;
}

.b-button.a {
  background-color: transparent;
  color: #0099d9;
}
.b-button.a--underline {
  border-bottom: 1px solid;
}
.b-button--stretch {
  width: 100%;
}
.b-button--icon {
  height: 100%;
  padding: 0;
}
.b-button--icon-circle {
  padding: 0;
}
.b-button--icon-circle .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 5rem;
  height: 5rem;
  padding: 0;
  border: 0.375rem solid;
  border-radius: 5rem;
  text-align: center;
  text-decoration: none;
}
.b-button--icon-circle .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: 0.3em;
  width: 1.5em;
  height: 1.5em;
}
.b-button--icon-circle .b-button__icon-wrap--before + .b-button__content {
  margin-left: 1.5rem;
}
.b-button--icon-circle .b-button__icon-wrap--after {
  margin-left: 1.5rem;
}
.b-button--icon-circle .b-button__content {
  display: inline-block;
  vertical-align: middle;
  color: #0099d9;
}
.b-button--icon-circle .b-button__content.h-visuallyhidden {
  position: absolute;
}
.b-button--icon-circle--download .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 5rem;
  height: 5rem;
  padding: 0;
  border: 0.375rem solid;
  border-radius: 5rem;
  text-align: center;
  text-decoration: none;
  border-color: #0099d9;
  background-color: white;
  color: #0099d9;
}
.b-button--icon-circle--download .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: 0.5em;
  width: 1.05em;
  height: 1.05em;
}
.b-button--icon-circle--download.b-button--icon-circle:not([disabled]):hover .b-button__icon-wrap {
  border-color: #0099d9;
  background-color: #0099d9;
  color: white;
}
.b-button--icon-circle--outline {
  border-color: currentColor;
  color: #1f1e24;
}
.b-button--icon-circle--outline:not([disabled]):hover .b-button__icon-wrap {
  border-color: #1f1e24;
  background-color: #1f1e24;
  color: white;
}
.b-button--icon-circle--outline:not([disabled]):hover .b-button__content {
  border-bottom: 0.125rem solid;
}
.b-button--icon-circle--outline:disabled .b-button__icon-wrap {
  color: #b7b7b7;
}
.b-button--icon-circle--outline:disabled .b-button__content {
  color: #b7b7b7;
}
.b-button--icon-circle--small .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0rem solid;
  border-radius: 3rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  border-color: #1f1e24;
  background-color: #1f1e24;
  color: white;
}
.b-button--icon-circle--small .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: 0.1em;
  width: 1em;
  height: 1em;
}
.b-button--icon-circle--small .b-button__icon-wrap--after {
  margin-left: 0.625rem;
}
.b-button--icon-circle--small .b-button__content {
  color: #1f1e24;
}
.b-button--icon-circle--small--close .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0rem solid;
  border-radius: 3rem;
  text-align: center;
  text-decoration: none;
  margin-left: 0.25rem;
}
.b-button--icon-circle--small--close .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: -0.25em;
  width: 0.65em;
  height: 0.65em;
}
.b-button--icon-circle--small--reset .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0rem solid;
  border-radius: 3rem;
  text-align: center;
  text-decoration: none;
  background-color: #dddddd;
  color: #1f1e24;
}
.b-button--icon-circle--small--reset .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: 0.05em;
  width: 0.65em;
  height: 0.65em;
}
.b-button--icon-circle--small--search .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0rem solid;
  border-radius: 3rem;
  text-align: center;
  text-decoration: none;
}
.b-button--icon-circle--small--search .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: -0.1em;
  width: 0.9em;
  height: 0.9em;
}
.b-button--icon-circle--success .b-button__icon-wrap {
  border-color: #00a914;
  background-color: #00a914;
  color: white;
}
.b-button--pill {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.02rem;
  display: inline-block;
  padding: 0.8rem 1rem 0.6rem;
  border: 0.25rem solid;
  border-radius: 2.5rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}
.b-button--pill .b-button__icon-wrap--before {
  margin-right: 0;
}
.b-button--pill .b-button__icon-wrap--after {
  margin-left: 0.325rem;
}
.b-button--pill .b-button__icon {
  position: relative;
  top: -0.1em;
  vertical-align: -0.2em;
  width: 0.85em;
  height: 0.85em;
}
.b-button--pill .h-icon--arrow--up-right {
  position: relative;
  top: -0.15em;
  width: 0.75em;
  height: 0.75em;
}
.b-button--pill .h-icon--fullscreen {
  width: 0.9em;
  height: 0.9em;
}
.b-button--pill .h-icon--print {
  width: 0.9em;
  height: 0.9em;
}
.b-button--pill .b-button__content {
  display: inline-block;
}
.b-button--pill + .b-button__info {
  display: block;
  margin-top: 1rem;
  color: #0099d9;
  text-align: center;
}
.b-button--pill--primary {
  border-color: #0099d9;
  background-color: #0099d9;
  color: white;
}
.b-button--pill--primary.l-ajax-js--inline-loading:hover {
  border-bottom-color: #0099d9;
}
.b-button--pill--primary:not([disabled]):not(.l-ajax-js--inline-loading):hover {
  background-color: white;
  color: #0099d9;
}
.b-button--pill--primary:visited {
  color: white;
}
.l-2--resource-content .b-button--pill--primary {
  padding-right: 1.1rem;
  padding-left: 1.1rem;
}
.l-2--resource-content .b-button--pill--primary .h-icon--before {
  margin-right: 0;
}
.b-button--pill--outline {
  border-color: currentColor;
  background-color: white;
  color: #0099d9;
}
.b-button--pill--outline:not([disabled]):hover {
  border-color: #0099d9;
  background-color: #0099d9;
  color: white;
}
.b-button--pill--outline:visited {
  color: #0099d9;
}
.b-button--pill--large {
  padding: 1.4rem 2.4rem 1.1rem;
}
.b-button--pill--large .b-button__icon-wrap {
  margin-right: 0.725rem;
}
.b-button--pill--large .b-button__icon {
  top: -0.15em;
}
.b-button--pill--small {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  padding: 0.8rem 2.1rem 0.7rem;
  line-height: 2rem;
}
.b-button--pill--small .b-button__icon {
  top: -0.05em;
  width: 0.95em;
  height: 0.95em;
}
.b-button--pill--small .b-button__icon-wrap--before {
  margin-right: 0.1rem;
}
.b-button--rectangle {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0533333333rem;
  display: inline-block;
  padding: 0.125rem 1.125rem;
  border: 1px solid;
  border-radius: 0.375rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.5rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.b-button--rectangle .b-button__icon-wrap--before {
  margin-right: 0.375rem;
}
.b-button--rectangle .b-button__icon-wrap--after {
  margin-left: 0.375rem;
}
.b-button--rectangle .b-button__icon {
  position: relative;
  top: -0.15em;
  vertical-align: -0.2em;
  width: 0.85em;
  height: 0.85em;
}
.b-button--rectangle .b-button__content {
  display: inline-block;
}
.b-button--rectangle--outline {
  border-color: #b2b2b2;
  background-color: white;
  color: #1f1e24;
}
.b-button--rectangle--outline:not([disabled]):hover {
  border-color: #1f1e24;
  background-color: #1f1e24;
  color: white;
}
.b-button--rectangle--outline-large {
  padding: 0 3.625rem;
  border-color: #0099d9;
  border-style: dashed;
  background-color: transparent;
  color: #0099d9;
}
.b-button--rectangle--outline-large.a--visited {
  border-color: #895bc7;
  color: #895bc7;
}
.b-button--rectangle--outline-large:not([disabled]):hover {
  border-color: #0099d9;
  border-style: solid;
  background-color: transparent;
  color: #0099d9;
}
.b-button--rectangle--outline-large:not([disabled]).a--visited:hover {
  border-color: #895bc7;
  color: #895bc7;
}
.b-button--square {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  display: inline-block;
  padding: 0.8rem 1.25rem;
  border: 0.125rem solid;
  border-bottom: 0;
  border-radius: 0.375rem 0.375rem 0 0;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.b-button--square .b-button__icon-wrap {
  display: block;
  line-height: normal;
  text-align: center;
}
.b-button--square .b-button__icon-wrap--before {
  margin-bottom: 0.475rem;
}
.b-button--square--outline {
  border-color: #b2b2b2;
  background-color: white;
  color: #1f1e24;
}
.b-button--square--outline:not([disabled]):hover {
  border-color: #0099d9;
  background-color: white;
  color: #0099d9;
}
.b-button:not([disabled]):hover {
  cursor: pointer;
}
.b-button[disabled]:hover {
  cursor: default;
}
@media screen and (max-width:899px) {
  .b-button--icon-circle--small .b-button__content.h-visuallyhidden--page-below-wideish {
    position: absolute;
  }
  .b-button--icon-circle--small .b-button__content.h-visuallyhidden--page-below-wideish + .b-button__icon-wrap--after {
    margin-left: 0;
  }
}
@media screen and (min-width:750px) {
  .b-button--icon-circle .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 4rem;
    padding: 0;
    border: 0.25rem solid;
    border-radius: 4rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.25em;
    width: 1.2em;
    height: 1.2em;
  }
  .b-share-and-output-buttons--modal--present .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 6rem;
    height: 6rem;
    padding: 0;
    border: 0.45rem solid;
    border-radius: 6rem;
    text-align: center;
    text-decoration: none;
  }
  .b-share-and-output-buttons--modal--present .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.35em;
    width: 1.7em;
    height: 1.7em;
  }

  .b-modal-js--present .b-button--icon-circle--outline--close .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 4.75rem;
    height: 4.75rem;
    padding: 0;
    border: 0.125rem solid;
    border-radius: 4.75rem;
    text-align: center;
    text-decoration: none;
  }
  .b-modal-js--present .b-button--icon-circle--outline--close .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.55em;
    width: 1em;
    height: 1em;
  }

  .b-modal-js--present .b-button--icon-circle--outline--thin .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 4.75rem;
    height: 4.75rem;
    padding: 0;
    border: 0.125rem solid;
    border-radius: 4.75rem;
    text-align: center;
    text-decoration: none;
  }
  .b-modal-js--present .b-button--icon-circle--outline--thin .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.55em;
    width: 1.2em;
    height: 1.2em;
  }

  .b-modal-js--present .b-button--icon-circle--outline--thin .b-button__content {
    top: 0.45em;
  }

  .b-button--icon-circle--small .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
    border: 0rem solid;
    border-radius: 3.5rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle--small .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.2em;
    width: 1em;
    height: 1em;
  }
  .b-button--icon-circle--small--close .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
    border: 0rem solid;
    border-radius: 3.5rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle--small--close .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: -0.2em;
    width: 0.55em;
    height: 0.55em;
  }
  .b-button--icon-circle--small--reset .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 0rem solid;
    border-radius: 3rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle--small--reset .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.05em;
    width: 0.65em;
    height: 0.65em;
  }
  .b-button--icon-circle--small--search .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
    border: 0rem solid;
    border-radius: 3.5rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle--small--search .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: -0.2em;
    width: 0.6em;
    height: 0.6em;
  }
  .b-button--pill + .b-button__info.b-button__info--inline {
    display: inline-block;
    margin-left: 0.9rem;
  }
  .b-modal-js--present .b-button--pill {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    padding: 1rem 4.4rem 1.2rem 3.7rem;
    border-radius: 7rem;
    line-height: 4rem;
  }
  .b-modal-js--present .b-button--pill .b-modal-js__icon-wrap--before {
    margin-right: 0;
  }
  .b-modal-js--present .b-button--pill .b-modal-js__icon {
    width: 1em;
    height: 1em;
  }
}

.b-pagination {
  margin-top: 3rem;
  margin-bottom: 0;
}
.b-pagination__button {
  width: 100%;
}
@media screen and (min-width:750px) {
  .b-pagination {
    margin-top: 7rem;
  }
  .b-pagination__button {
    width: auto;
  }
}

.b-alert {
  padding: 2rem;
  margin-top: 3.25rem;
}
.b-alert__icon {
  margin-right: 0.375rem;
  margin-left: 0.25rem;
}
.b-alert__alert {
  margin: 0;
}
.b-alert--nojs {
  background: #fff185;
}
@media screen and (min-width:750px) {
  .b-alert {
    position: relative;
    padding: 2.375rem 2rem 2.5rem 8.35rem;
    margin-top: 0;
    margin-bottom: 8rem;
  }
  .b-alert__icon {
    position: absolute;
    top: 2.8rem;
    left: 2.7rem;
    width: 1.4em;
    height: 1.4em;
    margin-right: 0;
    margin-left: 0;
  }
}

.b-skip-links__anchor {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  padding: 1rem;
  border-bottom-right-radius: 3px;
  background: transparent;
  color: #1f1e24;
  text-decoration: none;
  -webkit-transform: translatey(-40px);
          transform: translatey(-40px);
  -webkit-transition: background 0.1s linear, -webkit-transform 0.1s ease-out;
  transition: background 0.1s linear, -webkit-transform 0.1s ease-out;
  transition: transform 0.1s ease-out, background 0.1s linear;
  transition: transform 0.1s ease-out, background 0.1s linear, -webkit-transform 0.1s ease-out;
}
.b-skip-links__anchor:hover {
  color: #1f1e24;
  text-decoration: underline;
  border-color: #1f1e24;
}
.b-skip-links__anchor:focus {
  background: #1f1e24;
  color: white;
  -webkit-transform: translatey(0);
          transform: translatey(0);
}

.b-suggestion--next-steps .b-suggestion__title {
  margin-top: 2.2rem;
  margin-bottom: 1.9rem;
}
.b-suggestion--strategy.h-first-visible .b-rule {
  display: none;
}
.b-suggestion--strategy .b-suggestion__title {
  margin-top: 2.5rem;
  margin-bottom: 0.5rem;
}
.b-suggestion--strategy .b-suggestion__title:last-child {
  margin-bottom: 2.5rem;
}
.b-suggestion--strategy .b-suggestion__includes {
  margin-top: 0.7rem;
  margin-bottom: 2.5rem;
}
.b-suggestion--strategy .b-suggestion__includes * {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
}
.b-suggestion--strategy .b-suggestion__includes .p--includes {
  margin-right: 0.2rem;
}
.b-suggestion--strategy .b-suggestion__includes li::after {
  position: relative;
  top: 0.14em;
  content: "•";
  font-size: 4rem;
  color: #b2b2b2;
}
.b-suggestion--strategy .b-suggestion__includes li:last-child::after {
  content: "";
}
@media screen and (min-width:750px) {
  .b-suggestion--next-steps .b-suggestion__title {
    margin-top: 2.5rem;
    margin-bottom: 2.6rem;
  }
  .b-suggestion--next-steps .b-suggestion__title__current {
    margin-top: 0.2rem;
    margin-bottom: 0.3rem;
  }
  .b-suggestion--strategy {
    margin-bottom: 2.7rem;
  }
  .b-suggestion--strategy .b-suggestion__title {
    margin-top: 2.7rem;
    margin-bottom: 0.8rem;
  }
  .b-suggestion--strategy .b-suggestion__subtitle {
    margin-top: 2.5rem;
  }
}

.b-knowledge-slide {
  padding-top: 7.4rem;
}
.b-example-slide + .b-knowledge-slide, .b-knowledge-slide + .b-knowledge-slide {
  padding-top: 8.5rem;
}
.b-knowledge-slide__intro .b-rule {
  margin-top: 3.3rem;
}
.b-knowledge-slide__description {
  margin-top: 2rem;
}
.b-knowledge-slide__title {
  margin-top: 0;
  margin-bottom: 2rem;
}
.b-example-slide + .b-example-slide .b-knowledge-slide__title, .b-knowledge-slide + .b-example-slide .b-knowledge-slide__title {
  margin-bottom: 2.7rem;
}
.b-knowledge-slide .b-example-embed {
  margin-top: 3rem;
  margin-bottom: 0;
}
.b-knowledge-slide .b-resource {
  margin-bottom: 2.9rem;
}
.b-knowledge-slide .l-2--slide > .l-2__col, .b-knowledge-slide .l-2--slide > .l-2__col:last-child {
  margin-bottom: 3.625rem;
}
.b-knowledge-slide .l-2--slide > .l-2__col:last-child {
  position: relative;
}
.b-knowledge-slide__content p:not(.b-knowledge-slide__source):not(.b-process-list__repeats):not([class^=b-resource__]):not([class*=" b-resource__"]) {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
}
@media screen and (min-width:750px) {
  .b-knowledge-slide__content p:not(.b-knowledge-slide__source):not(.b-process-list__repeats):not([class^=b-resource__]):not([class*=" b-resource__"]) {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3.25rem;
  }
  .b-modal-js--present .b-knowledge-slide__content p:not(.b-knowledge-slide__source):not(.b-process-list__repeats):not([class^=b-resource__]):not([class*=" b-resource__"]) {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.0202728653rem;
    line-height: 6rem;
    font-weight: 300;
  }
  .b-modal-js--present .b-knowledge-slide__content p:not(.b-knowledge-slide__source):not(.b-process-list__repeats):not([class^=b-resource__]):not([class*=" b-resource__"]).b-process-list__step-inner {
    line-height: 6rem;
  }
}
.b-knowledge-slide__content p:not([class]) {
  margin: 0 0 2rem;
}
.b-knowledge-slide__content p a:not([class]) {
  font-family: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}
.b-knowledge-slide__content ol > li {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
}
@media screen and (min-width:750px) {
  .b-knowledge-slide__content ol > li {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3.25rem;
  }
  .b-modal-js--present .b-knowledge-slide__content ol > li {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.0202728653rem;
    line-height: 6rem;
    font-weight: 300;
  }
  .b-modal-js--present .b-knowledge-slide__content ol > li.b-process-list__step-inner {
    line-height: 6rem;
  }
}
.b-knowledge-slide__content div:not(.b-share-and-output-buttons__share) > ul > li {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
}
@media screen and (min-width:750px) {
  .b-knowledge-slide__content div:not(.b-share-and-output-buttons__share) > ul > li {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3.25rem;
  }
  .b-modal-js--present .b-knowledge-slide__content div:not(.b-share-and-output-buttons__share) > ul > li {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.0202728653rem;
    line-height: 6rem;
    font-weight: 300;
  }
  .b-modal-js--present .b-knowledge-slide__content div:not(.b-share-and-output-buttons__share) > ul > li.b-process-list__step-inner {
    line-height: 6rem;
  }
}
.b-knowledge-slide__content div:not([class]) li {
  margin: 0 0 1.3rem;
}
.b-knowledge-slide__content .b-knowledge-slide__source {
  margin-top: 2.9rem;
  margin-bottom: -0.7rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list + p:not([class]) {
  margin-top: 2rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--process + p:not([class]) {
  margin-top: 3rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--process + .b-knowledge-slide__source {
  margin-top: 3.8rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--process-repeating + p:not([class]) {
  margin-top: 4rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--process-repeating + .b-knowledge-slide__source {
  margin-top: 3.7rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--questions + p:not([class]) {
  margin-top: 3rem;
}
.b-knowledge-slide__content .b-link--external {
  background-image: url("../img/icons/arrow--up-right.svg");
}
.b-knowledge-slide__content .b-link--external, .b-knowledge-slide__content .b-link--external .a {
  color: inherit;
}
.b-knowledge-slide__content .b-resource {
  margin-top: 2.5rem;
}
.b-knowledge-slide__content .b-resource__title {
  margin-bottom: 1rem;
}
.b-knowledge-slide__content .b-resource__publisher, .b-knowledge-slide__content .b-resource__read-time, .b-knowledge-slide__content .b-resource__cost {
  margin: 0.7rem 0;
}
.b-knowledge-slide__list > ol,
.b-knowledge-slide__list > ul {
  margin-bottom: 0;
}
.b-knowledge-slide__list > ol > li:last-child,
.b-knowledge-slide__list > ul > li:last-child {
  margin-bottom: 0;
}
.b-knowledge-slide__list p:last-child {
  margin-bottom: 0;
}
.js-enabled .b-knowledge-slide[data-b-modal-slideshow-js-slide]:focus {
  outline: 0;
}
.js-wai-outline .b-knowledge-slide[data-b-modal-slideshow-js-slide]:focus {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.js-wai-outline .b-knowledge-slide[data-b-modal-slideshow-js-slide]:focus.js-wai-no-outline {
  outline: 0;
}
.js-wai-outline .b-knowledge-slide[data-b-modal-slideshow-js-slide]:focus.js-wai-no-outline .js-wai-outline--proxy {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
@media screen and (min-width:750px) {
  .b-knowledge-slide {
    padding-top: 10rem;
  }
  .b-modal-js--present .b-knowledge-slide {
    padding-top: 0;
  }
  .b-knowledge-slide__knowledge.l-2--slide {
    margin-top: 4rem;
    margin-bottom: 3.6rem;
  }
  .b-knowledge-slide__knowledge.l-2--slide:first-child {
    margin-top: 0;
  }
  .b-modal-js--present .b-knowledge-slide__knowledge.l-2--slide {
    margin-bottom: 2.4rem;
  }
  .b-knowledge-slide__knowledge.l-2--slide > .l-2__col, .b-knowledge-slide__knowledge.l-2--slide > .l-2__col:last-child {
    margin-bottom: 0;
  }
  .b-modal-js--present .b-knowledge-slide__knowledge.l-2--slide--present-wide .b-knowledge-slide__introduction {
    margin-top: 4rem;
    margin-bottom: 0;
  }
  .b-knowledge-slide .b-modal-js__header + .l-2--slide {
    margin-top: 0;
  }
  .b-knowledge-slide__title {
    margin-top: -0.9rem;
  }
  .b-modal-js--present .b-knowledge-slide__title {
    margin-top: 0;
    margin-bottom: 0;
  }
  .b-modal-js--present .b-knowledge-slide__introduction {
    margin-top: -0.4rem;
  }
  .b-knowledge-slide__list--process, .b-knowledge-slide__list--process-repeating, .b-knowledge-slide__list--questions {
    margin-left: 1rem;
  }
  .b-modal-js--present .b-knowledge-slide__list--process ~ .b-knowledge-slide__source, .b-modal-js--present .b-knowledge-slide__list--process-repeating ~ .b-knowledge-slide__source, .b-modal-js--present .b-knowledge-slide__list--questions ~ .b-knowledge-slide__source {
    margin-left: 1rem;
  }
  .b-modal-js--present .b-knowledge-slide__list--process ~ .b-knowledge-slide__share, .b-modal-js--present .b-knowledge-slide__list--process-repeating ~ .b-knowledge-slide__share, .b-modal-js--present .b-knowledge-slide__list--questions ~ .b-knowledge-slide__share {
    margin-left: 1rem;
  }
  .b-knowledge-slide__list--process + p:not([class]) {
    margin-top: 4rem;
  }
  .b-knowledge-slide__list--questions + p:not([class]) {
    margin-top: 4rem;
  }
  .b-example-slide + .b-knowledge-slide, .b-knowledge-slide + .b-knowledge-slide {
    padding-top: 11.9rem;
  }
  .b-modal-js--present .b-example-slide + .b-knowledge-slide, .b-modal-js--present .b-knowledge-slide + .b-knowledge-slide {
    padding-top: 0;
  }
  .b-example-slide + .b-knowledge-slide .b-knowledge-slide__title, .b-knowledge-slide + .b-knowledge-slide .b-knowledge-slide__title {
    margin-top: -0.5rem;
    margin-bottom: 6.6rem;
  }
  .b-modal-js--present .b-example-slide + .b-knowledge-slide .b-knowledge-slide__title, .b-modal-js--present .b-knowledge-slide + .b-knowledge-slide .b-knowledge-slide__title {
    margin-top: 0;
    margin-bottom: 0;
  }

  .b-knowledge-slide .b-example-embed,
.b-knowledge-slide .b-resource {
    margin-top: 0;
  }
  .b-knowledge-slide .b-resource {
    margin-bottom: 5.8rem;
    margin-left: 1rem;
  }
  .b-modal-js--present .b-knowledge-slide .b-resource {
    margin-bottom: 9.6rem;
  }
  .b-modal-js--present .b-knowledge-slide .b-resource,
.b-modal-js--present .b-knowledge-slide .b-resource + .b-knowledge-slide__share {
    margin-left: 2rem;
  }
  .b-knowledge-slide__content .b-knowledge-slide__source {
    margin-top: 2rem;
    margin-bottom: -0.3rem;
  }
  .b-knowledge-slide__content .b-knowledge-slide__list--process + .b-knowledge-slide__source {
    margin-top: 2.9rem;
  }
  .b-knowledge-slide__content .b-knowledge-slide__list--process-repeating + .b-knowledge-slide__source {
    margin-top: 2.8rem;
  }
  .b-modal-js--present .b-knowledge-slide__content .b-knowledge-slide__list--process-repeating + .b-knowledge-slide__source {
    margin-left: 1rem;
  }
  .b-knowledge-slide__content ul:not([class]) {
    margin-top: 2.9rem;
  }
  .b-knowledge-slide__content ul:not([class]) li {
    margin: 0 0 2rem;
  }
  .b-knowledge-slide__content ul:not([class]) li:last-child {
    margin-bottom: 0;
  }
  .b-knowledge-slide__content ul.h-list--check {
    margin-top: 0;
  }
  .b-knowledge-slide__content ul.h-list--check li {
    margin-bottom: 2rem;
  }
  .b-knowledge-slide__content ul.h-list--check li:last-child {
    margin-bottom: 0;
  }
  .b-knowledge-slide__content ol.h-list--numbered {
    margin-top: 0;
  }
  .b-knowledge-slide__content ol.h-list--numbered li {
    margin-bottom: 2rem;
  }
  .b-knowledge-slide__content ol.h-list--numbered li:last-child {
    margin-bottom: 0;
  }
  .b-knowledge-slide__content p + .b-knowledge-slide__list > ul:not([class]) {
    margin-top: 0;
  }
}

.b-next-steps-and-how-to-use-the-site {
  padding-right: 2.5rem;
  padding-left: 2.5rem;
  margin: 4rem -2.5rem 0;
}
@media screen and (min-width:1024px) {
  .b-next-steps-and-how-to-use-the-site {
    padding-right: 3.375rem;
    padding-left: 3.375rem;
    margin: 6rem -3.375rem -12rem;
  }
  .b-next-steps-and-how-to-use-the-site .b-how-to-use-the-site {
    margin-bottom: 0;
  }
}
@media screen and (min-width:1024px) {
  .b-next-steps-and-how-to-use-the-site {
    padding-right: 3.625rem;
    padding-left: 3.625rem;
    margin: 6rem -3.625rem -12rem;
  }
}

.b-guide-tile {
  margin-bottom: 1rem;
}
.b-guide-tile__title a {
  display: block;
}
.b-guide-tile__title .b-tag {
  line-height: 1.5;
}
.b-guide-tile__image {
  width: 100%;
}
.b-guide-tile__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-3 .b-guide-tile {
  position: relative;
  height: 100%;
}
.b-guide-tile .l-2--guide-tile--listing__inner {
  height: 100%;
}
.b-guide-tile .l-2--guide-tile--listing__inner > .l-2__col {
  height: 100%;
}
.b-guide-tile--featured--tall {
  margin-bottom: 1rem;
}
.b-guide-tile--next-steps .b-guide-tile__title {
  margin-bottom: 0;
}
@media screen and (max-width:749px) {
  .b-guide-tile__image {
    height: 100%;
  }
}
@media screen and (min-width:750px) {
  .b-guide-tile__title .b-tag {
    line-height: 1;
  }
  .l-3--guide-tiles .b-guide-tile__title .b-tag {
    line-height: 1.1;
  }
  .b-guide-tile--featured {
    margin-bottom: 1.5rem;
  }
  .b-guide-tile--featured .b-guide-tile__image {
    height: 100%;
  }
  .b-guide-tile--featured .b-guide-tile__title {
    margin-top: 4.2rem;
    margin-bottom: 2.4rem;
  }
  .b-guide-tile--featured .b-guide-tile__teaser {
    margin-top: 2.4rem;
  }
  .b-guide-tile--featured + .p--browse-all-guides {
    margin-top: 6.2rem;
    margin-bottom: 0;
  }
  .b-guide-tile--featured--tall {
    position: relative;
    padding-bottom: 3.5rem;
    margin-bottom: 1.5rem;
  }
  .b-guide-tile--featured--tall .b-guide-tile__image {
    height: 100%;
  }
  .b-guide-tile--featured--tall .b-guide-tile__title {
    max-width: 70.6%;
    margin: 2.9rem 3.4rem 1.6rem;
  }
  .b-guide-tile--featured--tall .b-rule--narrow {
    margin: 1.5rem 3.4rem 2.2rem;
  }
  .b-guide-tile--featured--tall .b-guide-tile__teaser {
    max-width: 70.6%;
    margin: 2.1rem 3.4rem 2.9rem;
  }
  .b-guide-tile--featured--tall .b-guide-tile__strategies-link {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 3rem 3.5rem 3.4rem;
  }
  .b-guide-tile--featured--tall .b-guide-tile__strategies-link > a {
    position: relative;
  }
  .b-guide-tile--featured--tall .b-guide-tile__strategies-link .h-icon {
    position: absolute;
    top: -0.2rem;
    right: 0;
    width: 1.2em;
    height: 1.2em;
  }
  .b-guide-tile--listing .b-guide-tile__image {
    height: 100%;
  }
  .b-guide-tile--listing .b-guide-tile__title {
    margin-top: 4rem;
  }
  .b-guide-tile--listing .b-guide-tile__teaser {
    margin-top: 4.4rem;
  }
  .b-guide-tile--listing .b-guide-tile__strategies-link {
    margin-top: 3rem;
  }
}

.b-content-reveal + .b-content-reveal {
  border-top: 0;
}
.b-content-reveal__header {
  position: relative;
  display: block;
  margin: 0;
}
.b-content-reveal__header button {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  position: relative;
  display: inline-block;
  border-bottom: 1px solid #1f1e24;
  background-color: transparent;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  color: #1f1e24;
  text-align: left;
}
.b-content-reveal__header button .b-content-reveal__icon.h-icon--chevron {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.b-content-reveal__header button.is-opened .b-content-reveal__icon.h-icon--chevron {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.b-content-reveal__header button.is-opened .b-content-reveal__icon.h-icon--triangle {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.b-content-reveal__header button:hover {
  cursor: pointer;
}
.b-content-reveal__content {
  padding-bottom: 3rem;
}
.b-content-reveal__content ol {
  padding-left: 3.75rem;
}
.b-content-reveal__icon {
  width: 0.65em;
  height: 0.65em;
}
.js-enabled .b-content-reveal__icon {
  display: inline;
}
@media screen and (min-width:750px) {
  .b-content-reveal__header button {
    padding-right: 7.5rem;
  }
  .js-disabled .b-content-reveal__header {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .js-enabled .b-content-reveal__header button {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.b-tag {
  display: block;
}
.b-tag__content {
  display: inline-block;
  vertical-align: middle;
  padding: 0 1rem;
  border-radius: 1.25rem;
  color: #1f1e24;
}
.b-tag--new .b-tag__content {
  background-color: #a4e001;
}
.b-tag--popular .b-tag__content {
  background-color: #fe9500;
}
.b-tag--updated .b-tag__content {
  background-color: #fbe255;
}

.b-note-js {
  position: relative;
  padding: 3.5rem 3.25rem 1.375rem 2rem;
}
.b-note-js.h-global-margin {
  margin-top: 4.8rem;
}
.b-note-js__close {
  position: absolute;
  top: 0.65rem;
  right: 0.8rem;
  height: auto;
  padding: 1rem;
  background-color: transparent;
}
.b-note-js__close .h-icon {
  width: 0.75em;
}
.b-note-js__note:first-child {
  margin-top: 0;
}
.b-note-js__note:last-child {
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .b-note-js {
    padding-top: 1.4rem;
  }
  .b-note-js.h-global-margin {
    margin-top: 5.5rem;
  }
}

.b-guide-list-search-and-filter__fieldset {
  border-bottom: 0.125rem solid black;
}
.b-guide-list-search-and-filter__results {
  margin-bottom: 3.5rem;
}
.b-guide-list-search-and-filter__sortby .p--sort-by {
  margin: 0;
}
.b-guide-list-search-and-filter .p--large {
  margin-top: 0;
}
.b-guide-list-search-and-filter .b-search-field {
  margin-top: -0.7rem;
  margin-bottom: 3rem;
}
.b-guide-list-search-and-filter--guide {
  margin-top: 2rem;
  margin-bottom: 0;
}
.b-guide-list-search-and-filter--guide .b-guide-list-search-and-filter__filters {
  margin-top: 1.5rem;
}
.b-guide-list-search-and-filter--guide .b-guide-list-search-and-filter__filters .b-filter__label {
  padding-bottom: 0.6em;
}
.b-guide-list-search-and-filter--guide-listing {
  margin-bottom: 2.2rem;
}
.b-guide-list-search-and-filter--home {
  margin-bottom: 3.5rem;
}
.b-guide-list-search-and-filter--search--narrow {
  margin-top: 3rem;
}
.b-guide-list-search-and-filter--search--narrow .b-search-field {
  margin-top: 0;
}
@media screen and (min-width:750px) {
  .b-guide-list-search-and-filter .b-search-field {
    margin-top: 1.8rem;
    margin-bottom: 2.5rem;
  }
  .b-guide-list-search-and-filter__results {
    margin-bottom: 4rem;
  }
  .b-guide-list-search-and-filter__see-all {
    margin-bottom: 10rem;
  }
  .b-guide-list-search-and-filter--guide {
    margin-top: 1.8rem;
  }
  .b-guide-list-search-and-filter--guide .b-guide-list-search-and-filter__legend {
    display: block;
    margin-top: 1.1rem;
  }
  .b-guide-list-search-and-filter--guide .b-guide-list-search-and-filter__filters {
    margin-top: 0;
  }
  .b-guide-list-search-and-filter--guide-listing {
    margin-bottom: 5.1rem;
  }
  .b-guide-list-search-and-filter--guide-listing .b-search-field {
    margin-bottom: 7rem;
  }
  .b-guide-list-search-and-filter--home {
    margin-top: 0;
    margin-bottom: 4rem;
  }
  .b-guide-list-search-and-filter--home .b-guide-list-search-and-filter__title {
    margin-bottom: 0;
  }
  .b-guide-list-search-and-filter--home .b-search-field {
    margin-top: 1.6rem;
  }
  .b-guide-list-search-and-filter--home .p--large--home {
    margin-top: 1rem;
    margin-bottom: 7.5rem;
  }
}

.b-filter__label {
  display: block;
  padding-bottom: 0.875rem;
  border-bottom: 0.625rem solid transparent;
  color: #0099d9;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.b-filter__label.a--no-visited:visited {
  color: #0099d9;
}
.b-filter__label.a--visited {
  color: #895bc7;
}
del.b-filter__label {
  font-weight: 300;
  color: #b7b7b7;
}

.b-filter__input:focus + .b-filter__label {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.b-filter__input:not([disabled]) + .b-filter__label {
  cursor: pointer;
}
.b-filter:hover .b-filter__label {
  border-bottom-color: inherit;
}
.b-filter:hover input:disabled ~ .b-filter__label {
  border-bottom-color: transparent;
}
.b-filter input:checked:not([disabled]) ~ .b-filter__label {
  border-bottom-color: inherit;
  color: black;
}
.b-filter input:checked:not([disabled]) ~ .b-filter__label.a--visited {
  color: #895bc7;
}
.b-filter input:disabled ~ .b-filter__label {
  font-weight: 300;
  color: #b7b7b7;
}
@media screen and (min-width:750px) {
  .b-filter__label {
    padding-bottom: 1.45rem;
  }
}

.b-video-js__inner {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56%;
  background-color: #1f1e24;
}
.b-video-js__iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
}
.b-video-js__trigger {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0;
  border: 0;
  outline: none;
  margin: 0;
  text-indent: -999em;
  opacity: 1;
  cursor: pointer;
}
.b-modal-js--present .b-video-js__trigger {
  background-color: #1f1e24;
}
.b-video-js__trigger:hover .b-video-js__icon {
  color: #58cdfe;
}
.b-video-js__trigger .b-picture {
  height: 100%;
}
.b-video-js__trigger .b-picture__image {
  min-height: 100%;
}
.b-video-js__trigger .h-icon--text {
  display: none;
}
.b-video-js__poster {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}
.b-video-js__poster img {
  display: block;
  width: 100%;
  height: 100%;
}
.b-video-js__icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: block;
  width: 12rem;
  height: 12rem;
  margin: auto;
  color: white;
  opacity: 1;
}
.b-video-js__transcript-icon {
  -webkit-transition: -webkit-transform 0.1s linear;
  transition: -webkit-transform 0.1s linear;
  transition: transform 0.1s linear;
  transition: transform 0.1s linear, -webkit-transform 0.1s linear;
}
.b-video-js__hideshow {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  padding: 0 2rem 2rem 3rem;
  background-color: #1f1e24;
}
.b-video-js__hideshow__title {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  margin: 0 0 1rem;
}
.b-video-js__hideshow__title button {
  cursor: pointer;
}
.b-video-js__hideshow .is-opened .b-video-js__transcript-icon {
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}
.b-video-js--active .b-video-js__trigger {
  height: 0;
  opacity: 0;
}
@media screen and (min-width:320px) {
  .b-video-js__hideshow {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
  }
  .b-video-js__hideshow__title {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
  }
}
@media screen and (min-width:750px) {
  .b-modal-js--present .b-video-js__icon {
    width: 26rem;
    height: 26rem;
  }
  .b-video-js--large .b-video-js__icon {
    width: 25.375rem;
    height: 25.375rem;
  }
  .b-video-js--wide .b-video-js__icon {
    width: 21.5rem;
    height: 21.5rem;
  }
}

.b-scroll-trigger-js {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 5rem;
  height: 100%;
  -webkit-transition: opacity 0.1s ease-in-out;
  transition: opacity 0.1s ease-in-out;
  pointer-events: none;
}
.b-scroll-trigger-js__button {
  position: absolute;
  top: 48%;
  padding: 1.25rem 1.5rem;
  border: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.5rem;
  background-color: rgba(0, 153, 217, 0.8);
  opacity: 0;
  -webkit-transition: background 0.1s ease-in-out;
  transition: background 0.1s ease-in-out;
  cursor: pointer;
}
.b-scroll-trigger-js__button:focus {
  opacity: 1;
}
.b-scroll-trigger-js__icon {
  vertical-align: -0.125em;
  width: 0.95em;
  height: 0.95em;
  color: white;
}
.b-scroll-trigger-js__left {
  right: auto;
  left: 0;
}
.b-scroll-trigger-js--active {
  pointer-events: auto;
}
.b-scroll-trigger-js--active .b-scroll-trigger-js__button {
  opacity: 1;
}
.b-scroll-trigger-js--active:hover button, .b-scroll-trigger-js--active:focus button {
  background-color: #0099d9;
}
@media screen and (min-width:750px) {
  .b-scroll-trigger-js__icon {
    vertical-align: -0.2em;
  }
}

.b-text-promo__link a {
  line-height: 3rem;
}
@media screen and (min-width:750px) {
  .b-text-promo {
    margin-top: 7.1rem;
    margin-bottom: 5.2rem;
  }
  .b-text-promo__title {
    margin-top: 0.35rem;
  }
  .b-text-promo__content .h-list--numbered > li {
    margin-bottom: 2rem;
  }
  .b-text-promo__link {
    margin-top: 0.7rem;
  }
}

@media screen and (min-width:1024px) {
  .b-fill--dark-stripe .b-nav-primary .p--brand a:after {
    background: url(../img/home.svg) no-repeat;
    background-size: auto 14px;
    opacity: 0.4;
  }
}
a.navbar-burger.burger.menu-invisible {
  display: none;
}

.b-nav-primary .b-nav-primary__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1023px) {
  .b-nav-primary .b-nav-primary__logo {
    display: none;
  }
}
.b-nav-primary .b-nav-primary__brand {
  overflow: visible;
}
.b-nav-primary .l-2--header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.b-nav-primary .l-2--header > .l-2__col:last-child {
  text-align: right;
}
.b-nav-primary .b-rule {
  position: relative;
  height: 0.375rem;
}
.b-nav-primary .b-rule::after {
  position: absolute;
  right: -20px;
  left: -20px;
}
.b-nav-primary .p--brand {
  margin: 0;
}
.b-nav-primary .p--brand a {
  display: block;
  position: relative;
}
.b-nav-primary .p--brand a:after {
  position: absolute;
  width: 18px;
  height: 18px;
  background: url(../img/home-dark.svg) no-repeat;
  background-position: right center;
  background-size: auto 12px;
  content: "";
  bottom: 0;
  display: block;
  left: -22px;
}
.b-nav-primary__list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.b-nav-primary__list__search .b-button--icon-circle--small .b-button__content {
  padding: 0.1em 0;
}
.b-nav-primary__list > li {
  margin-left: 1rem;
}
.b-nav-primary__list > li:first-child {
  margin-left: 0;
}
@media screen and (min-width:750px) {
  .b-nav-primary .p--brand a:after {
    background: url(../img/home-dark.svg) no-repeat;
    background-size: auto 14px;
    opacity: 0.9;
  }
  .b-nav-primary .l-2--header {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .b-nav-primary__logo {
    width: 22.5rem;
  }
  .b-nav-primary__list__search .b-button--icon-circle--small .b-button__content {
    position: relative;
    bottom: -0.05em;
  }
  .b-nav-primary__list > li {
    margin-left: 2rem;
  }
  .b-nav-primary__list > li:first-child {
    margin-left: 0;
  }
}
@media screen and (min-width:1024px) {
  .b-nav-primary__list > li {
    margin-left: 5rem;
  }
}

.b-introduction__title .b-tag {
  line-height: 1;
}
.b-introduction--error {
  margin-bottom: 4.5rem;
}
.b-introduction--error .b-introduction__title {
  margin-top: 5.6rem;
  margin-bottom: 4rem;
}
.b-introduction--help {
  margin-bottom: 4.375rem;
}
.b-introduction--help .b-introduction__title {
  margin-top: 5.6rem;
  margin-bottom: 5rem;
}
.b-introduction--guide {
  margin-top: 0;
  margin-bottom: 5.5rem;
}
.b-introduction--guide .b-introduction__title {
  margin-bottom: 3.75rem;
}
.b-introduction--guide .b-introduction__intro-1 {
  margin-bottom: 3.125rem;
}
.b-introduction--guide-listing .b-introduction__title {
  margin-top: 5.375rem;
  margin-bottom: 3.75rem;
}
.b-introduction--guide-listing .b-introduction__intro-1 {
  margin-bottom: 4.375rem;
}
.b-introduction--home {
  margin-top: 0;
  margin-bottom: 5.25rem;
}
.b-introduction--home .b-introduction__title {
  margin-bottom: 3rem;
}
.b-introduction--home video {
  max-width: calc(100% - 60px);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  aspect-ratio: 570/280;
  background: #fff;
}
@media screen and (min-width:750px) {
  .b-introduction--home video {
    max-width: 100%;
  }
}
.b-introduction--home .b-introduction--tagline {
  text-align: center;
  font-size: 18px;
  color: #000;
  margin-top: 8px;
  line-height: 20px;
  padding-top: 12px;
  padding-bottom: 28px;
}
.b-introduction--home .b-introduction--tagline:before {
  width: 54px;
  height: 2px;
  background-color: #707070;
  content: "";
  margin: 0 auto;
  display: block;
  position: relative;
  top: -16px;
}
.b-introduction--home .b-introduction--home-video {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 570/280;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.b-introduction--home .video--control {
  cursor: pointer;
  width: 24px;
  border: none;
  padding: 0;
  height: 24px;
  display: block;
  position: absolute;
  top: calc(50% - 12px);
  background-color: transparent;
  right: 0;
  aspect-ratio: 570/280;
  background-image: url(../../images/pause-button.svg);
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width:750px) {
  .b-introduction--home .video--control {
    right: -30px;
  }
}
.b-introduction--home .video--control:hover, .b-introduction--home .video--control:focus {
  background-image: url(../../images/pause-button-hover.svg);
}
.b-introduction--home .video--control.is--paused {
  background-image: url(../../images/play-button.svg);
}
.b-introduction--home .video--control.is--paused:hover, .b-introduction--home .video--control.is--paused:focus {
  background-image: url(../../images/play-button.svg);
}
.b-introduction--home .p--intro {
  font-size: 2.2rem;
  line-height: 1.76;
  opacity: 0.9;
}
@media screen and (min-width:750px) {
  .b-introduction--home .p--intro {
    padding-top: 3rem;
  }
}
.b-introduction--home-inner {
  max-width: 570px;
  margin: 0 auto;
}
.b-introduction--suggestion {
  margin-bottom: 5.5rem;
}
.b-introduction--suggestion .b-introduction__title {
  margin-top: 4.5rem;
  margin-bottom: 4.25rem;
}
.b-introduction--suggestion .b-introduction__intro-1 {
  margin-bottom: 3.125rem;
}
.b-introduction--understand {
  margin-bottom: 5.5rem;
}
.b-introduction--understand .b-introduction__title {
  margin-top: 4.5rem;
  margin-bottom: 4.25rem;
}
.b-introduction--understand .b-introduction__intro-1 {
  margin-bottom: 3.125rem;
}
@media screen and (min-width:750px) {
  .b-introduction .b-introduction--tagline {
    font-size: 24px;
    margin-top: 24px;
    line-height: 28px;
    padding-top: 28px;
    padding-bottom: 16px;
  }
  .b-introduction .b-introduction--tagline:before {
    top: -40px;
  }
  .b-introduction__title .b-tag {
    line-height: 0.85;
  }
  .b-introduction--error {
    margin-bottom: 6.25rem;
  }
  .b-introduction--error .b-introduction__title {
    margin-bottom: 7.75rem;
  }
  .b-introduction--guide {
    margin-top: 5.6rem;
    margin-bottom: 0.5rem;
  }
  .b-introduction--guide .b-introduction__image {
    margin-bottom: 5.3rem;
  }
  .b-introduction--guide .b-introduction__title {
    margin-bottom: 4.25rem;
  }
  .b-introduction--guide .b-introduction__intro-1 {
    margin-top: 0;
  }
  .b-introduction--guide .b-introduction__intro-1.p--intro {
    line-height: 3.625rem;
  }
  .b-introduction--guide + .b-nav-in-page {
    margin-top: 0;
  }
  .b-introduction--guide-listing .b-introduction__title {
    margin-bottom: 4.25rem;
  }
  .b-introduction--guide-listing .b-introduction__intro-1 {
    margin-bottom: 0;
  }
  .b-introduction--guide-listing .b-introduction__intro-2 {
    margin-top: 3rem;
    margin-bottom: 2rem;
  }
  .b-introduction--guide-listing .b-introduction__intro-link {
    margin-top: 2rem;
  }
  .b-introduction--help {
    margin-bottom: 1rem;
  }
  .b-introduction--help .b-introduction__title {
    margin-bottom: -0.25rem;
  }
  .b-introduction--home {
    margin-bottom: 8.75rem;
  }
  .b-introduction--home .b-picture {
    margin-bottom: 13.125rem;
  }
  .b-introduction--home .b-introduction__title {
    margin-bottom: 0;
  }
  .b-introduction--home .b-introduction__intro-1 {
    margin-top: 0;
  }
  .b-introduction--suggestion {
    margin-top: 3.3rem;
    margin-bottom: 4.7rem;
  }
  .b-introduction--suggestion .b-introduction__title {
    margin-top: 3rem;
    margin-bottom: 6.625rem;
  }
  .b-introduction--suggestion .b-introduction__intro-1 {
    margin-top: 0;
  }
  .b-introduction--suggestion .b-introduction__intro-1.p--intro {
    line-height: 4rem;
  }
  .b-introduction--understand {
    margin-top: 3.3rem;
    margin-bottom: 4.7rem;
  }
  .b-introduction--understand .b-introduction__title {
    margin-top: 3rem;
    margin-bottom: 6.625rem;
  }
  .b-introduction--understand .b-introduction__intro-1 {
    margin-top: 0;
  }
  .b-introduction--understand .b-introduction__intro-1.p--intro {
    line-height: 4rem;
  }
}

*::-webkit-media-controls-panel {
  display: none !important;
  -webkit-appearance: none;
}

/* Old shadow dom for play button */
*::-webkit-media-controls-play-button {
  display: none !important;
  -webkit-appearance: none;
}

/* New shadow dom for play button */
/* This one works! */
*::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

.b-rule::after {
  display: block;
  content: "";
  border-color: #1f1e24;
  border-bottom-style: solid;
  border-width: 0;
}
.b-rule--light::after {
  opacity: 0.3;
}
.b-rule--lighter::after {
  opacity: 0.1;
}
.b-rule--link::after {
  border-color: #0099d9;
}
.b-rule--narrow {
  width: 11rem;
  margin: 2rem 0;
}
.b-rule--thick::after {
  border-bottom-width: 0.375rem;
}
.b-rule--thin::after {
  border-bottom-width: 0.125rem;
}
@media screen and (min-width:750px) {
  .b-modal-js--present .b-rule--narrow {
    width: 22.5rem;
  }
  .b-rule--thick::after {
    border-bottom-width: 0.625rem;
  }
  .b-modal-js--present .b-rule--thick::after {
    border-bottom-width: 0.8rem;
  }
  .b-rule--vertical {
    position: relative;
  }
  .b-rule--vertical::after {
    display: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1.75rem;
    border-right-style: solid;
    border-right-width: 0.125rem;
    opacity: 0.3;
  }
  .l-2--slide .b-rule--vertical::after {
    display: block;
  }
  .b-modal-js--present .l-2--slide .b-rule--vertical::after {
    top: 0.5rem;
    left: -2.55rem;
  }
  .l-2--slide--present-wide .b-rule--vertical::after {
    display: block;
  }
  .b-modal-js--present .l-2--slide--present-wide .b-rule--vertical::after {
    display: none;
  }
}

.b-search-result {
  padding: 0.25rem 2.5rem 3rem;
  margin-bottom: 1.7rem;
  background-color: white;
}
.b-search-result__button {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.b-search-result__category {
  margin-top: 2.8rem;
  margin-bottom: 0.7rem;
}
.b-search-result__description {
  margin-top: -0.2rem;
}
.b-search-result__details {
  margin-top: 1.8rem;
}
.b-search-result__expand {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.b-search-result__expand-target + .b-search-result__button {
  margin-top: 0.8rem;
}
.b-search-result__image {
  margin: -0.25rem -2.5rem 0;
}
.b-search-result__guide-cover {
  min-width: 20rem;
}
.b-search-result__guide-cover + .b-search-result__guide-title .b-search-result__category {
  margin-top: 1.8rem;
}
.b-search-result__match {
  margin-bottom: 0;
}
.b-search-result__title + .b-search-result__match {
  margin-top: 2.4rem;
}
.b-search-result__match__icon {
  margin-right: 0.7rem;
}
.b-search-result__match mark {
  font-weight: bold;
}
.b-search-result__meta {
  margin-top: 0;
  margin-bottom: 0.8rem;
}
.b-search-result__more-link {
  margin-top: 2.6rem;
  margin-bottom: 0;
}
.b-search-result__picture--help + .b-search-result__help-solution {
  margin-top: 2rem;
}
.b-search-result__teaser {
  margin-top: 1.2rem;
  margin-bottom: 2rem;
}
.b-search-result__title {
  margin-top: 0;
  margin-bottom: 1.2rem;
}
.b-search-result__title + .b-search-result__expand {
  margin-top: 1.1rem;
}
.b-search-result > .l-2__col > *:last-child,
.b-search-result > .l-3__col > *:last-child {
  margin-bottom: 0;
}
.b-search-result--merge {
  margin-top: -1.7rem;
}
@media screen and (min-width:750px) {
  .b-search-result {
    padding: 3.5rem 0 2.8rem;
    margin-bottom: 1.5rem;
  }
  .b-search-result__button {
    margin-bottom: 0.7rem;
  }
  .b-search-result__category {
    margin-top: 0;
    margin-right: 5rem;
    margin-left: 5rem;
  }
  .b-search-result__description {
    margin-bottom: 1.8rem;
  }
  .js-enabled .b-search-result__expand .b-content-reveal__header button {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
  .b-search-result__guide-cover + .b-search-result__guide-title .b-search-result__category {
    margin-top: -0.9rem;
    margin-bottom: 0.9rem;
  }
  .b-search-result__image {
    margin: -0.3rem 15% 0;
  }
  .b-search-result__title ~ .b-search-result__match {
    margin-top: 2.4rem;
  }
  .b-search-result__picture--help {
    margin-bottom: 3rem;
  }
  .b-search-result__teaser {
    margin-top: 3.3rem;
  }
  .b-search-result--guide .b-search-result__category {
    margin-right: 0;
    margin-left: 0;
  }
  .b-search-result--help .b-search-result__details .l-1__col {
    margin-bottom: 0;
  }
  .b-search-result--help .b-search-result__details .b-picture__image {
    width: auto;
  }
  .b-search-result--help .b-search-result__match {
    display: inline-block;
    margin-top: 0.9rem;
  }
  .b-search-result--help .b-search-result__match + .b-search-result__expand {
    display: inline-block;
    margin-top: 0.9rem;
  }
  .b-search-result--help .b-search-result__match + .b-search-result__expand::before {
    position: relative;
    top: 0.2em;
    display: inline-block;
    content: "•";
    margin-right: 0.4rem;
    margin-left: 0.2rem;
    font-size: 3rem;
    color: #b2b2b2;
  }
  .b-search-result--help .b-search-result__match + .b-search-result__expand .b-hide-show-js-expandmore {
    display: inline-block;
  }
  .b-search-result--resource .b-search-result__expand-target:not([data-hidden]) + .l-2--search--result .b-search-result__button {
    margin-top: -1.1rem;
  }
  .b-search-result--resource .b-search-result__match {
    display: inline-block;
    margin-top: 0.9rem;
  }
  .b-search-result--resource .b-search-result__match + .b-search-result__expand {
    display: inline-block;
    margin-top: 0.9rem;
  }
  .b-search-result--resource .b-search-result__match + .b-search-result__expand::before {
    position: relative;
    top: 0.2em;
    display: inline-block;
    content: "•";
    margin-right: 0.4rem;
    margin-left: 0.2rem;
    font-size: 3rem;
    color: #b2b2b2;
  }
  .b-search-result--resource .b-search-result__match + .b-search-result__expand .b-hide-show-js-expandmore {
    display: inline-block;
  }
  .b-search-result--resource .b-search-result__title {
    margin-top: -0.1rem;
  }
}

.b-nav-in-page-pinned-js {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
}
.b-nav-in-page-pinned-js.b-fill--dark-light-stripe {
  overflow: visible;
}
.b-nav-in-page-pinned-js__top__rule {
  margin-top: 0.7rem;
}
.b-nav-in-page-pinned-js__menu {
  position: relative;
}
.b-nav-in-page-pinned-js__menu__dropdown {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  padding: 1.7rem 1.875rem 1.2rem 2.5rem;
  border-bottom: 1px solid #b2b2b2;
  background-color: white;
  -webkit-box-shadow: 0 0.25rem 1rem rgba(31, 30, 36, 0.08);
          box-shadow: 0 0.25rem 1rem rgba(31, 30, 36, 0.08);
}
.b-nav-in-page-pinned-js__menu__dropdown__header__label {
  margin-top: 0;
  margin-bottom: 1.2rem;
}
.b-nav-in-page-pinned-js__menu__dropdown__header p {
  margin: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__header__inview {
  margin-right: 6rem;
}
.b-nav-in-page-pinned-js__menu__dropdown__button {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__button button {
  width: 100%;
  padding: 1.7rem 1.875rem 1.2rem 2.5rem;
  border-bottom: 0;
  line-height: 0;
  color: #0099d9;
  text-align: right;
}
.js-enabled .b-nav-in-page-pinned-js__menu__dropdown__button button {
  border: none;
}
.b-nav-in-page-pinned-js__menu__dropdown__button button::before {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.03rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 700;
  color: #1f1e24;
  content: " ";
}
.b-nav-in-page-pinned-js__menu__dropdown__button button .h-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  width: 0.9em;
  height: 0.9em;
}
.ie11 .b-nav-in-page-pinned-js__menu__dropdown__button button .h-icon.h-icon--chevron {
  background-image: url("../img/icons/chevron-blue.svg");
}
.b-nav-in-page-pinned-js__menu__dropdown__button button.is-opened .h-icon {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.b-nav-in-page-pinned-js__menu__dropdown__list {
  margin-top: 2rem;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__item {
  margin-bottom: 1.6rem;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link {
  position: relative;
  display: block;
  padding-left: 2.5rem;
  margin-right: 4rem;
  margin-left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link.b-link-icon--start {
  margin-left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link.b-link-icon--start .h-icon--arrow {
  margin-left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link:hover .b-link-icon__liner {
  border-bottom: 0.125rem solid;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link.b-nav-in-page-pinned-js--is-inview, .b-nav-in-page-pinned-js__menu__dropdown__list__link.b-nav-in-page-pinned-js--is-inview .a {
  font-weight: 700;
  color: #1f1e24;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link__icon {
  position: absolute;
  top: 0.05em;
  left: 0;
  width: 0.75em;
  margin-left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link__icon.h-icon--arrow {
  fill: #0099d9;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link__icon.h-icon--bullet {
  width: 0.5rem;
  margin-left: 0.55rem;
}
.b-nav-in-page-pinned-js__rule {
  height: 1px;
  overflow: hidden;
}
.b-nav-in-page-pinned-js .h-show--is-open {
  display: none;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open {
  display: none;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open {
  display: block;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class^=l-1--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class^=l-2--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class^=l-3--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class^=l-4--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:749px) {
  .b-nav-in-page-pinned-js {
    background-color: white;
  }
  .b-nav-in-page-pinned-js.b-fill--dark-light-stripe {
    background-color: white;
  }
  .b-nav-in-page-pinned-js .b-rule.b-fill--dark-light-stripe {
    background-color: whitesmoke;
  }
  .b-nav-in-page-pinned-js > .l-outer-container {
    padding: 0;
  }
  .b-nav-in-page-pinned-js__top {
    margin: 0;
  }
  .b-nav-in-page-pinned-js__top__link {
    position: relative;
    padding: 1.7rem 5rem 1.7rem 0;
  }
  .b-nav-in-page-pinned-js__top__link.b-link-icon--end {
    margin-right: 0;
  }
  .b-nav-in-page-pinned-js__top__icon {
    position: absolute;
    top: 2rem;
    right: 0;
  }
  .b-nav-in-page-pinned-js__top__icon.b-link-icon__icon {
    width: 0.8em;
    height: 0.8em;
  }
  .b-nav-in-page-pinned-js__menu__dropdown__list {
    margin-top: 2.6rem;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide {
    display: block;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class^=l-1--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class^=l-2--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class^=l-3--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class^=l-4--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open.h-hide--page-below-wide {
    display: none;
  }
}
@media screen and (min-width:750px) {
  .b-nav-in-page-pinned-js .l-2--content--guide {
    background-color: white;
  }
  .b-nav-in-page-pinned-js__icon {
    width: 0.85em;
  }
  .b-nav-in-page-pinned-js__label {
    margin-top: 2.6rem;
    margin-bottom: 2rem;
  }
  .b-nav-in-page-pinned-js .b-rule--thin {
    margin-top: 1.4rem;
  }
  .b-nav-in-page-pinned-js__menu__dropdown {
    top: 1.25rem;
    padding: 1.15rem 1.875rem 0.9rem;
    border: 1px solid #dddddd;
    border-radius: 0.25rem;
  }
  .b-nav-in-page-pinned-js__menu__dropdown__list {
    margin-top: 1.7rem;
  }
  .b-nav-in-page-pinned-js__menu__dropdown__list__item {
    margin-bottom: 1.8rem;
  }
  .l-2--page--guide .b-nav-in-page-pinned-js__rule--offset {
    position: relative;
    left: calc(50% - 29.375rem);
  }
  .b-nav-in-page-pinned-js .b-content-reveal__header button {
    padding: 1.15rem 1.875rem 0.9rem;
  }
  .b-nav-in-page-pinned-js--is-open .b-nav-in-page-pinned-js__menu__dropdown__button {
    left: auto;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up {
    display: block;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class^=l-1--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class^=l-2--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class^=l-3--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class^=l-4--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open.h-hide--page-wide-and-up {
    display: none;
  }
  .b-nav-in-page-pinned-js--pinned .l-2--page--guide {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .b-nav-in-page-pinned-js--pinned .l-2--page--guide > .l-2__col {
    margin-bottom: 0;
  }
}

.pattern-color {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4rem;
}
.pattern-color__name {
  margin: 1rem 0 0;
  font-size: 2rem;
}
.pattern-color__item {
  -ms-flex-preferred-size: calc((100% * 0.2) - (32px * (1 - 0.2)));
      flex-basis: calc((100% * 0.2) - (32px * (1 - 0.2)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.2) - (32px * (1 - 0.2)));
  margin-bottom: 32px;
  margin: 1rem;
  text-align: center;
}
.pattern-color__item * {
  margin: 0 auto;
}
.pattern-color__item *:first-child {
  border: 1px solid #ddd;
}
.pattern-color__swatch {
  display: block;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
}
.pattern-color__variable {
  margin-top: -0.5rem;
  margin-bottom: 0;
  font-family: monospace;
  font-size: 1.5rem;
  line-height: 1.5;
}
.pattern-color__hex {
  margin-top: 0;
  margin-bottom: 0;
  font-family: monospace;
  font-size: 1.5rem;
  line-height: 1.5;
}

.pattern-color__item--fill-brand .pattern-color__swatch {
  background-color: #46c655;
}
.pattern-color__item--fill-brand .pattern-color__name::before {
  content: "Fill: Brand";
}
.pattern-color__item--fill-brand .pattern-color__hex::before {
  content: "hex: #46c655";
}
.pattern-color__item--fill-brand .pattern-color__variable::before {
  content: "color(fill-brand)";
}

.pattern-color__item--fill-lightest .pattern-color__swatch {
  background-color: #fff;
}
.pattern-color__item--fill-lightest .pattern-color__name::before {
  content: "Fill: Lightest";
}
.pattern-color__item--fill-lightest .pattern-color__hex::before {
  content: "hex: #fff";
}
.pattern-color__item--fill-lightest .pattern-color__variable::before {
  content: "color(fill-lightest)";
}

.pattern-color__item--fill-lighter .pattern-color__swatch {
  background-color: #f5f5f5;
}
.pattern-color__item--fill-lighter .pattern-color__name::before {
  content: "Fill: Lighter";
}
.pattern-color__item--fill-lighter .pattern-color__hex::before {
  content: "hex: #f5f5f5";
}
.pattern-color__item--fill-lighter .pattern-color__variable::before {
  content: "color(fill-lighter)";
}

.pattern-color__item--fill-light .pattern-color__swatch {
  background-color: #f2f1ec;
}
.pattern-color__item--fill-light .pattern-color__name::before {
  content: "Fill: Light";
}
.pattern-color__item--fill-light .pattern-color__hex::before {
  content: "hex: #f2f1ec";
}
.pattern-color__item--fill-light .pattern-color__variable::before {
  content: "color(fill-light)";
}

.pattern-color__item--fill-light-on-dark .pattern-color__swatch {
  background-color: #f2f1ec;
}
.pattern-color__item--fill-light-on-dark .pattern-color__name::before {
  content: "Fill: Light, on Dark";
}
.pattern-color__item--fill-light-on-dark .pattern-color__hex::before {
  content: "hex: #f2f1ec";
}
.pattern-color__item--fill-light-on-dark .pattern-color__variable::before {
  content: "color(fill-light-on-dark)";
}

.pattern-color__item--fill-mid .pattern-color__swatch {
  background-color: #ddd;
}
.pattern-color__item--fill-mid .pattern-color__name::before {
  content: "Fill: Mid";
}
.pattern-color__item--fill-mid .pattern-color__hex::before {
  content: "hex: #ddd";
}
.pattern-color__item--fill-mid .pattern-color__variable::before {
  content: "color(fill-mid)";
}

.pattern-color__item--fill-dark .pattern-color__swatch {
  background-color: #1f1e24;
}
.pattern-color__item--fill-dark .pattern-color__name::before {
  content: "Fill: Dark";
}
.pattern-color__item--fill-dark .pattern-color__hex::before {
  content: "hex: #1f1e24";
}
.pattern-color__item--fill-dark .pattern-color__variable::before {
  content: "color(fill-dark)";
}

.pattern-color__item--fill-darker .pattern-color__swatch {
  background-color: #000;
}
.pattern-color__item--fill-darker .pattern-color__name::before {
  content: "Fill: Darker";
}
.pattern-color__item--fill-darker .pattern-color__hex::before {
  content: "hex: #000";
}
.pattern-color__item--fill-darker .pattern-color__variable::before {
  content: "color(fill-darker)";
}

.pattern-color__item--fill-tag .pattern-color__swatch {
  background-color: #fbe255;
}
.pattern-color__item--fill-tag .pattern-color__name::before {
  content: "Fill: Tag";
}
.pattern-color__item--fill-tag .pattern-color__hex::before {
  content: "hex: #fbe255";
}
.pattern-color__item--fill-tag .pattern-color__variable::before {
  content: "color(fill-tag)";
}

.pattern-color__item--fill-theme1 .pattern-color__swatch {
  background-color: #f277c6;
}
.pattern-color__item--fill-theme1 .pattern-color__name::before {
  content: "Fill: Quote Theme 1";
}
.pattern-color__item--fill-theme1 .pattern-color__hex::before {
  content: "hex: #f277c6";
}
.pattern-color__item--fill-theme1 .pattern-color__variable::before {
  content: "color(fill-theme1)";
}

.pattern-color__item--fill-theme2 .pattern-color__swatch {
  background-color: #f2c835;
}
.pattern-color__item--fill-theme2 .pattern-color__name::before {
  content: "Fill: Quote Theme 2";
}
.pattern-color__item--fill-theme2 .pattern-color__hex::before {
  content: "hex: #f2c835";
}
.pattern-color__item--fill-theme2 .pattern-color__variable::before {
  content: "color(fill-theme2)";
}

.pattern-color__item--fill-theme3 .pattern-color__swatch {
  background-color: #fe9500;
}
.pattern-color__item--fill-theme3 .pattern-color__name::before {
  content: "Fill: Quote Theme 3";
}
.pattern-color__item--fill-theme3 .pattern-color__hex::before {
  content: "hex: #fe9500";
}
.pattern-color__item--fill-theme3 .pattern-color__variable::before {
  content: "color(fill-theme3)";
}

.pattern-color__item--fill-theme4 .pattern-color__swatch {
  background-color: #a4e001;
}
.pattern-color__item--fill-theme4 .pattern-color__name::before {
  content: "Fill: Quote Theme 4";
}
.pattern-color__item--fill-theme4 .pattern-color__hex::before {
  content: "hex: #a4e001";
}
.pattern-color__item--fill-theme4 .pattern-color__variable::before {
  content: "color(fill-theme4)";
}

.pattern-color__item--fill-theme5 .pattern-color__swatch {
  background-color: #b7ede4;
}
.pattern-color__item--fill-theme5 .pattern-color__name::before {
  content: "Fill: Quote Theme 5";
}
.pattern-color__item--fill-theme5 .pattern-color__hex::before {
  content: "hex: #b7ede4";
}
.pattern-color__item--fill-theme5 .pattern-color__variable::before {
  content: "color(fill-theme5)";
}

.pattern-color__item--link .pattern-color__swatch {
  background-color: #0099d9;
}
.pattern-color__item--link .pattern-color__name::before {
  content: "Link";
}
.pattern-color__item--link .pattern-color__hex::before {
  content: "hex: #0099d9";
}
.pattern-color__item--link .pattern-color__variable::before {
  content: "color(link)";
}

.pattern-color__item--link-light .pattern-color__swatch {
  background-color: #58cdfe;
}
.pattern-color__item--link-light .pattern-color__name::before {
  content: "Link (on Dark Fill)";
}
.pattern-color__item--link-light .pattern-color__hex::before {
  content: "hex: #58cdfe";
}
.pattern-color__item--link-light .pattern-color__variable::before {
  content: "color(link-light)";
}

.pattern-color__item--link-visited .pattern-color__swatch {
  background-color: #895bc7;
}
.pattern-color__item--link-visited .pattern-color__name::before {
  content: "Link: Visited";
}
.pattern-color__item--link-visited .pattern-color__hex::before {
  content: "hex: #895bc7";
}
.pattern-color__item--link-visited .pattern-color__variable::before {
  content: "color(link-visited)";
}

.pattern-color__item--link-light-visited .pattern-color__swatch {
  background-color: #ba94ed;
}
.pattern-color__item--link-light-visited .pattern-color__name::before {
  content: "Link: Light, Visited (on Dark Fill)";
}
.pattern-color__item--link-light-visited .pattern-color__hex::before {
  content: "hex: #ba94ed";
}
.pattern-color__item--link-light-visited .pattern-color__variable::before {
  content: "color(link-light-visited)";
}

.pattern-color__item--mark .pattern-color__swatch {
  background-color: #fff185;
}
.pattern-color__item--mark .pattern-color__name::before {
  content: "Highlight";
}
.pattern-color__item--mark .pattern-color__hex::before {
  content: "hex: #fff185";
}
.pattern-color__item--mark .pattern-color__variable::before {
  content: "color(mark)";
}

.pattern-color__item--outline .pattern-color__swatch {
  background-color: transparent;
}
.pattern-color__item--outline .pattern-color__name::before {
  content: "Outline";
}
.pattern-color__item--outline .pattern-color__hex::before {
  content: "hex: transparent";
}
.pattern-color__item--outline .pattern-color__variable::before {
  content: "color(outline)";
}

.pattern-color__item--print-meta .pattern-color__swatch {
  background-color: #777;
}
.pattern-color__item--print-meta .pattern-color__name::before {
  content: "Print meta";
}
.pattern-color__item--print-meta .pattern-color__hex::before {
  content: "hex: #777";
}
.pattern-color__item--print-meta .pattern-color__variable::before {
  content: "color(print-meta)";
}

.pattern-color__item--print-meta-url .pattern-color__swatch {
  background-color: #212121;
}
.pattern-color__item--print-meta-url .pattern-color__name::before {
  content: "Print meta: URL";
}
.pattern-color__item--print-meta-url .pattern-color__hex::before {
  content: "hex: #212121";
}
.pattern-color__item--print-meta-url .pattern-color__variable::before {
  content: "color(print-meta-url)";
}

.pattern-color__item--print-meta-url-fill .pattern-color__swatch {
  background-color: #ededed;
}
.pattern-color__item--print-meta-url-fill .pattern-color__name::before {
  content: "Print meta: URL fill";
}
.pattern-color__item--print-meta-url-fill .pattern-color__hex::before {
  content: "hex: #ededed";
}
.pattern-color__item--print-meta-url-fill .pattern-color__variable::before {
  content: "color(print-meta-url-fill)";
}

.pattern-color__item--rule-thin-dark .pattern-color__swatch {
  background-color: #242424;
}
.pattern-color__item--rule-thin-dark .pattern-color__name::before {
  content: "Rule: Thin + Dark";
}
.pattern-color__item--rule-thin-dark .pattern-color__hex::before {
  content: "hex: #242424";
}
.pattern-color__item--rule-thin-dark .pattern-color__variable::before {
  content: "color(rule-thin-dark)";
}

.pattern-color__item--rule-thin-light .pattern-color__swatch {
  background-color: #b2b2b2;
}
.pattern-color__item--rule-thin-light .pattern-color__name::before {
  content: "Rule: Thin + Light";
}
.pattern-color__item--rule-thin-light .pattern-color__hex::before {
  content: "hex: #b2b2b2";
}
.pattern-color__item--rule-thin-light .pattern-color__variable::before {
  content: "color(rule-thin-light)";
}

.pattern-color__item--rule-thin-lighter .pattern-color__swatch {
  background-color: #ddd;
}
.pattern-color__item--rule-thin-lighter .pattern-color__name::before {
  content: "Rule: Thin + Lighter";
}
.pattern-color__item--rule-thin-lighter .pattern-color__hex::before {
  content: "hex: #ddd";
}
.pattern-color__item--rule-thin-lighter .pattern-color__variable::before {
  content: "color(rule-thin-lighter)";
}

.pattern-color__item--success .pattern-color__swatch {
  background-color: #00a914;
}
.pattern-color__item--success .pattern-color__name::before {
  content: "Success";
}
.pattern-color__item--success .pattern-color__hex::before {
  content: "hex: #00a914";
}
.pattern-color__item--success .pattern-color__variable::before {
  content: "color(success)";
}

.pattern-color__item--type .pattern-color__swatch {
  background-color: #1f1e24;
}
.pattern-color__item--type .pattern-color__name::before {
  content: "Type";
}
.pattern-color__item--type .pattern-color__hex::before {
  content: "hex: #1f1e24";
}
.pattern-color__item--type .pattern-color__variable::before {
  content: "color(type)";
}

.pattern-color__item--type-light .pattern-color__swatch {
  background-color: #fff;
}
.pattern-color__item--type-light .pattern-color__name::before {
  content: "Type: Light";
}
.pattern-color__item--type-light .pattern-color__hex::before {
  content: "hex: #fff";
}
.pattern-color__item--type-light .pattern-color__variable::before {
  content: "color(type-light)";
}

.pattern-color__item--type-mid .pattern-color__swatch {
  background-color: #808080;
}
.pattern-color__item--type-mid .pattern-color__name::before {
  content: "Type: Mid";
}
.pattern-color__item--type-mid .pattern-color__hex::before {
  content: "hex: #808080";
}
.pattern-color__item--type-mid .pattern-color__variable::before {
  content: "color(type-mid)";
}

.pattern-color__item--type-dark .pattern-color__swatch {
  background-color: #000;
}
.pattern-color__item--type-dark .pattern-color__name::before {
  content: "Type: Dark";
}
.pattern-color__item--type-dark .pattern-color__hex::before {
  content: "hex: #000";
}
.pattern-color__item--type-dark .pattern-color__variable::before {
  content: "color(type-dark)";
}

.pattern-color__item--type-brand .pattern-color__swatch {
  background-color: #00a914;
}
.pattern-color__item--type-brand .pattern-color__name::before {
  content: "Type: Brand";
}
.pattern-color__item--type-brand .pattern-color__hex::before {
  content: "hex: #00a914";
}
.pattern-color__item--type-brand .pattern-color__variable::before {
  content: "color(type-brand)";
}

.pattern-color__item--type-disabled .pattern-color__swatch {
  background-color: #b7b7b7;
}
.pattern-color__item--type-disabled .pattern-color__name::before {
  content: "Disabled (filter)";
}
.pattern-color__item--type-disabled .pattern-color__hex::before {
  content: "hex: #b7b7b7";
}
.pattern-color__item--type-disabled .pattern-color__variable::before {
  content: "color(type-disabled)";
}

.icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4rem;
}
.icons__item {
  -ms-flex-preferred-size: calc((100% * 0.2) - (32px * (1 - 0.2)));
      flex-basis: calc((100% * 0.2) - (32px * (1 - 0.2)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.2) - (32px * (1 - 0.2)));
  margin-bottom: 32px;
  text-align: center;
}
.icons__item * {
  margin: 0 auto;
}
.icons__item--loading-spinner-large .h-icon, .icons__item--loading-spinner-small-white .h-icon {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: loading-spinner-animation;
          animation-name: loading-spinner-animation;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}
.icons__icon {
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
}
.icons__icon > .h-icon {
  font-size: 80px;
}
.icons__name {
  margin: 1rem 0 0;
}
.icons__id {
  margin-top: 5px;
  margin-bottom: 0;
}
.icons__hex {
  margin-top: 0;
  margin-bottom: 0;
}

@keyframes loading-spinner-animation {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.grid-pattern .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.grid-pattern [class*=grid-] {
  padding: 10px;
  background: #eee;
  color: #222;
}
.grid-pattern .grid-1of2 {
  -ms-flex-preferred-size: calc((100% * 0.5) - (32px * (1 - 0.5)));
      flex-basis: calc((100% * 0.5) - (32px * (1 - 0.5)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5) - (32px * (1 - 0.5)));
  margin-bottom: 32px;
}
.grid-pattern .grid-1of3 {
  -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
      flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
  margin-bottom: 32px;
}
.grid-pattern .grid-1of4 {
  -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
      flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
  margin-bottom: 32px;
}
.grid-pattern .grid-1of12 {
  -ms-flex-preferred-size: calc((100% * 0.0833333333) - (32px * (1 - 0.0833333333)));
      flex-basis: calc((100% * 0.0833333333) - (32px * (1 - 0.0833333333)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.0833333333) - (32px * (1 - 0.0833333333)));
  margin-bottom: 32px;
}

@media screen and (min-width:750px) {
  .l-1--header--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--header--content > .l-1__col {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-1--header--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--header--guide > .l-1__col {
    -ms-flex-preferred-size: calc((100% * 0.625) - (32px * (1 - 0.625)));
        flex-basis: calc((100% * 0.625) - (32px * (1 - 0.625)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.625) - (32px * (1 - 0.625)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-1--header--wide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--header--wide > .l-1__col {
    -ms-flex-preferred-size: calc((100% * 1) - (32px * (1 - 1)));
        flex-basis: calc((100% * 1) - (32px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (32px * (1 - 1)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:1024px) {
  .l-1--page--guide--pinned {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--page--guide .l-1--page--guide--pinned {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .l-1--page--guide--pinned > .l-1__col {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 0;
  }
}
.l-1--page--narrow {
  margin-bottom: 10rem;
}
@media screen and (min-width:1024px) {
  .l-1--page--narrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--page--narrow > .l-1__col {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-1--search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-1--search > .l-1__col {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 32px;
  }
  .b-modal-js--search .l-1--search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width:750px) {
  .l-1--search-results-summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-1--search-results-summary > .l-1__col {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-1--search--result-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--search--result-content > .l-1__col {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 32px;
  }
}

@media screen and (min-width:750px) {
  .l-2--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--content > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 32px;
  }
  .l-2--content > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-2--content--example-home {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--content--example-home > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 0;
  }
  .l-2--content--example-home > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--content--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--content--guide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.375) - (32px * (1 - 0.375)));
        flex-basis: calc((100% * 0.375) - (32px * (1 - 0.375)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.375) - (32px * (1 - 0.375)));
    margin-bottom: 0;
  }
  .l-2--content--guide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.625) - (32px * (1 - 0.625)));
        flex-basis: calc((100% * 0.625) - (32px * (1 - 0.625)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.625) - (32px * (1 - 0.625)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--filter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--filter > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 0;
  }
  .l-2--page--guide .l-2--filter > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.375) - (32px * (1 - 0.375)));
        flex-basis: calc((100% * 0.375) - (32px * (1 - 0.375)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.375) - (32px * (1 - 0.375)));
    margin-bottom: 0;
  }
  .l-2--filter > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 0;
  }
  .l-2--page--guide .l-2--filter > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.625) - (32px * (1 - 0.625)));
        flex-basis: calc((100% * 0.625) - (32px * (1 - 0.625)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.625) - (32px * (1 - 0.625)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--footer > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 32px;
    margin-right: 32px;
  }
  .l-2--footer > .l-2__col:first-child:nth-child(odd), .l-2--footer > .l-2__col:first-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--footer > .l-2__col:first-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--footer > .l-2__col:first-child:last-child {
    margin-right: 0;
  }
  .l-2--footer > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
        flex-basis: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
    margin-bottom: 32px;
    margin-right: 32px;
  }
  .l-2--footer > .l-2__col:last-child:nth-child(odd), .l-2--footer > .l-2__col:last-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--footer > .l-2__col:last-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--footer > .l-2__col:last-child:last-child {
    margin-right: 0;
  }
}
@media print {
  .l-2--footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--footer > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 32px;
  }
  .l-2--footer > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 32px;
  }
}
.l-2--guide-tile--featured {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--featured > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
      flex-basis: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
  margin-bottom: 0;
}
.l-2--guide-tile--featured > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
      flex-basis: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
  margin-bottom: 0;
  padding-right: 2rem;
}
@media screen and (min-width:750px) {
  .l-2--guide-tile--featured {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--guide-tile--featured > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.3609625668) - (0px * (1 - 0.3609625668)));
        flex-basis: calc((100% * 0.3609625668) - (0px * (1 - 0.3609625668)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3609625668) - (0px * (1 - 0.3609625668)));
    margin-bottom: 0;
  }
  .l-2--guide-tile--featured > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.5989304813) - (0px * (1 - 0.5989304813)));
        flex-basis: calc((100% * 0.5989304813) - (0px * (1 - 0.5989304813)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5989304813) - (0px * (1 - 0.5989304813)));
    margin-bottom: 0;
  }
}
.l-2--guide-tile--featured--next-steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--featured--next-steps > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.3561151079) - (0px * (1 - 0.3561151079)));
      flex-basis: calc((100% * 0.3561151079) - (0px * (1 - 0.3561151079)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.3561151079) - (0px * (1 - 0.3561151079)));
  margin-bottom: 0;
}
.l-2--guide-tile--featured--next-steps > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.5575539568) - (0px * (1 - 0.5575539568)));
      flex-basis: calc((100% * 0.5575539568) - (0px * (1 - 0.5575539568)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5575539568) - (0px * (1 - 0.5575539568)));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--guide-tile--featured--next-steps > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.2185430464) - (0px * (1 - 0.2185430464)));
        flex-basis: calc((100% * 0.2185430464) - (0px * (1 - 0.2185430464)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.2185430464) - (0px * (1 - 0.2185430464)));
    margin-bottom: 0;
  }
  .l-2--guide-tile--featured--next-steps > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.710816777) - (0px * (1 - 0.710816777)));
        flex-basis: calc((100% * 0.710816777) - (0px * (1 - 0.710816777)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.710816777) - (0px * (1 - 0.710816777)));
    margin-bottom: 0;
  }
}
.l-2--guide-tile--featured--tall {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--featured--tall > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
      flex-basis: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
  margin-bottom: 0;
}
.l-2--guide-tile--featured--tall > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
      flex-basis: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
  margin-bottom: 0;
  padding-right: 2rem;
}
@media screen and (min-width:750px) {
  .l-2--guide-tile--featured--tall {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .l-3--guide-tiles .l-2--guide-tile--featured--tall {
    min-height: 100%;
  }
  .ie11 .l-2--guide-tile--featured--tall {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .l-2--guide-tile--featured--tall > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 1) - (0px * (1 - 1)));
        flex-basis: calc((100% * 1) - (0px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (0px * (1 - 1)));
    margin-bottom: 0;
    height: 46.25rem;
    max-height: 46.25rem;
  }
  .l-2--guide-tile--featured--tall > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 1) - (0px * (1 - 1)));
        flex-basis: calc((100% * 1) - (0px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (0px * (1 - 1)));
    margin-bottom: 0;
    padding-right: 0;
  }
  .l-2--guide-tile--featured--tall__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%;
    min-height: 100%;
  }
  .l-2--guide-tile--featured--tall__inner > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 1) - (0px * (1 - 1)));
        flex-basis: calc((100% * 1) - (0px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (0px * (1 - 1)));
    margin-bottom: 0;
  }
  .l-2--guide-tile--featured--tall__inner > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 1) - (0px * (1 - 1)));
        flex-basis: calc((100% * 1) - (0px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (0px * (1 - 1)));
    margin-bottom: 0;
  }
}
.l-2--guide-tile--listing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--listing > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 1) - (0px * (1 - 1)));
      flex-basis: calc((100% * 1) - (0px * (1 - 1)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 1) - (0px * (1 - 1)));
  margin-bottom: 0;
}
.l-2--guide-tile--listing > .l-2__col:last-child {
  display: none;
}
.l-2--guide-tile--listing__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--listing__inner > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
      flex-basis: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.3714285714) - (0px * (1 - 0.3714285714)));
  margin-bottom: 0;
}
.l-2--guide-tile--listing__inner > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
      flex-basis: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5428571429) - (0px * (1 - 0.5428571429)));
  margin-bottom: 0;
  padding-right: 2rem;
}
@media screen and (min-width:750px) {
  .l-2--guide-tile--listing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--guide-tile--listing > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
        flex-basis: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-2--guide-tile--listing > .l-2__col:first-child:nth-child(odd), .l-2--guide-tile--listing > .l-2__col:first-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--guide-tile--listing > .l-2__col:first-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--guide-tile--listing > .l-2__col:first-child:last-child {
    margin-right: 0;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 0;
    margin-right: 32px;
    display: block;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child:nth-child(odd), .l-2--guide-tile--listing > .l-2__col:last-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child:last-child {
    margin-right: 0;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child[class^=l-1--], .l-2--guide-tile--listing > .l-2__col:last-child[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child[class^=l-2--], .l-2--guide-tile--listing > .l-2__col:last-child[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child[class^=l-3--], .l-2--guide-tile--listing > .l-2__col:last-child[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child[class^=l-4--], .l-2--guide-tile--listing > .l-2__col:last-child[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-2--guide-tile--listing__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--guide-tile--listing__inner > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.5053763441) - (0px * (1 - 0.5053763441)));
        flex-basis: calc((100% * 0.5053763441) - (0px * (1 - 0.5053763441)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5053763441) - (0px * (1 - 0.5053763441)));
    margin-bottom: 0;
  }
  .l-2--guide-tile--listing__inner > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.400921659) - (0px * (1 - 0.400921659)));
        flex-basis: calc((100% * 0.400921659) - (0px * (1 - 0.400921659)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.400921659) - (0px * (1 - 0.400921659)));
    margin-bottom: 0;
    padding-right: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--intro--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--guide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.5) - (32px * (1 - 0.5)));
        flex-basis: calc((100% * 0.5) - (32px * (1 - 0.5)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5) - (32px * (1 - 0.5)));
    margin-bottom: 32px;
  }
  .l-2--intro--guide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.375) - (32px * (1 - 0.375)));
        flex-basis: calc((100% * 0.375) - (32px * (1 - 0.375)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.375) - (32px * (1 - 0.375)));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-2--intro--guide-listing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--guide-listing > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 0;
  }
  .l-2--intro--guide-listing > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--intro--help {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--help > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 1) - (32px * (1 - 1)));
        flex-basis: calc((100% * 1) - (32px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (32px * (1 - 1)));
    margin-bottom: 32px;
  }
  .l-2--intro--help > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 1) - (32px * (1 - 1)));
        flex-basis: calc((100% * 1) - (32px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (32px * (1 - 1)));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-2--intro--home {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--home > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.5) - (32px * (1 - 0.5)));
        flex-basis: calc((100% * 0.5) - (32px * (1 - 0.5)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5) - (32px * (1 - 0.5)));
    margin-bottom: 32px;
  }
  .l-2--intro--home > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 32px;
  }
}
.l-2--intro--search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--intro--search > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
      flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
  margin-bottom: 32px;
}
.l-2--intro--search > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
      flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
  margin-bottom: 32px;
}
@media screen and (min-width:750px) {
  .l-2--intro--suggestion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--suggestion > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.625) - (32px * (1 - 0.625)));
        flex-basis: calc((100% * 0.625) - (32px * (1 - 0.625)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.625) - (32px * (1 - 0.625)));
    margin-bottom: 0;
  }
  .l-2--intro--suggestion > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.375) - (32px * (1 - 0.375)));
        flex-basis: calc((100% * 0.375) - (32px * (1 - 0.375)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.375) - (32px * (1 - 0.375)));
    margin-bottom: 0;
    text-align: right;
  }
}
@media screen and (min-width:1024px) {
  .l-2--intro--suggestion > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 0;
  }
}
.l-2--search--header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--search--header > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
      flex-basis: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5833333333) - (32px * (1 - 0.5833333333)));
  margin-bottom: 0;
}
.l-2--search--header > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
      flex-basis: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--share-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--share-slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.625) - (32px * (1 - 0.625)));
        flex-basis: calc((100% * 0.625) - (32px * (1 - 0.625)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.625) - (32px * (1 - 0.625)));
    margin-bottom: 0;
  }
  .l-2--share-slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.375) - (32px * (1 - 0.375)));
        flex-basis: calc((100% * 0.375) - (32px * (1 - 0.375)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.375) - (32px * (1 - 0.375)));
    margin-bottom: 0;
    text-align: right;
  }
}
@media screen and (min-width:1024px) {
  .l-2--share-slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--modal--header--present {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--modal--header--present > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.9166666667) - (32px * (1 - 0.9166666667)));
        flex-basis: calc((100% * 0.9166666667) - (32px * (1 - 0.9166666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.9166666667) - (32px * (1 - 0.9166666667)));
    margin-bottom: 0;
  }
  .l-2--modal--header--present > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.0833333333) - (32px * (1 - 0.0833333333)));
        flex-basis: calc((100% * 0.0833333333) - (32px * (1 - 0.0833333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.0833333333) - (32px * (1 - 0.0833333333)));
    margin-bottom: 0;
    text-align: right;
  }
}
@media screen and (min-width:750px) {
  .l-2--modal--pagination--present {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--modal--pagination--present > .l-2__col {
    -ms-flex-preferred-size: calc((100% * 0.5) - (32px * (1 - 0.5)));
        flex-basis: calc((100% * 0.5) - (32px * (1 - 0.5)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5) - (32px * (1 - 0.5)));
    margin-bottom: 0;
  }
  .l-2--modal--pagination--present > .l-2__col:last-child {
    text-align: right;
  }
}
.l-2--header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--header > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.3571428571) - (0px * (1 - 0.3571428571)));
      flex-basis: calc((100% * 0.3571428571) - (0px * (1 - 0.3571428571)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.3571428571) - (0px * (1 - 0.3571428571)));
  margin-bottom: 0;
}
.l-2--header > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.6428571429) - (0px * (1 - 0.6428571429)));
      flex-basis: calc((100% * 0.6428571429) - (0px * (1 - 0.6428571429)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.6428571429) - (0px * (1 - 0.6428571429)));
  margin-bottom: 0;
}
@media screen and (min-width:1024px) {
  .l-2--header > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 0;
  }
  .l-2--header > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 0;
  }
}
.l-2--nav--primary--home {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--nav--primary--home > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.5) - (32px * (1 - 0.5)));
      flex-basis: calc((100% * 0.5) - (32px * (1 - 0.5)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5) - (32px * (1 - 0.5)));
  margin-bottom: 32px;
}
.l-2--nav--primary--home > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.5) - (32px * (1 - 0.5)));
      flex-basis: calc((100% * 0.5) - (32px * (1 - 0.5)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5) - (32px * (1 - 0.5)));
  margin-bottom: 32px;
}
@media screen and (min-width:750px) {
  .l-2--nav--primary--home > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.1666666667) - (32px * (1 - 0.1666666667)));
        flex-basis: calc((100% * 0.1666666667) - (32px * (1 - 0.1666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.1666666667) - (32px * (1 - 0.1666666667)));
    margin-bottom: 32px;
  }
  .l-2--nav--primary--home > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-2--next-steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--next-steps > .l-2__col {
    -ms-flex-preferred-size: calc((100% * 0.5) - (32px * (1 - 0.5)));
        flex-basis: calc((100% * 0.5) - (32px * (1 - 0.5)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5) - (32px * (1 - 0.5)));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-2--next-steps > .l-2__col:nth-child(odd), .l-2--next-steps > .l-2__col:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--next-steps > .l-2__col:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--next-steps > .l-2__col:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:1024px) {
  .l-2--page--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--page--guide > .l-2__col.l-order--1 {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 32px;
  }
  .l-2--page--guide > .l-2__col.l-order--2 {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 32px;
    margin-bottom: 12rem;
  }
}
.l-2--resource {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--resource > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
      flex-basis: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
  margin-bottom: 0;
}
.l-2--resource > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
      flex-basis: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--resource {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--resource > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.0895721925) - (0px * (1 - 0.0895721925)));
        flex-basis: calc((100% * 0.0895721925) - (0px * (1 - 0.0895721925)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.0895721925) - (0px * (1 - 0.0895721925)));
    margin-bottom: 32px;
  }
  .l-2--resource > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.8475935829) - (0px * (1 - 0.8475935829)));
        flex-basis: calc((100% * 0.8475935829) - (0px * (1 - 0.8475935829)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.8475935829) - (0px * (1 - 0.8475935829)));
    margin-bottom: 32px;
  }
}
.l-2--resource-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--resource-content > .l-2__col:first-child, .l-2--resource-content > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 1) - (0px * (1 - 1)));
      flex-basis: calc((100% * 1) - (0px * (1 - 1)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 1) - (0px * (1 - 1)));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--resource-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--resource-content > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.5714285714) - (32px * (1 - 0.5714285714)));
        flex-basis: calc((100% * 0.5714285714) - (32px * (1 - 0.5714285714)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5714285714) - (32px * (1 - 0.5714285714)));
    margin-bottom: 32px;
  }
  .l-2--resource-content > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.2857142857) - (32px * (1 - 0.2857142857)));
        flex-basis: calc((100% * 0.2857142857) - (32px * (1 - 0.2857142857)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.2857142857) - (32px * (1 - 0.2857142857)));
    margin-bottom: 32px;
  }
}
.l-2--resource--slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--resource--slide > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
      flex-basis: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
  margin-bottom: 0;
}
.l-2--resource--slide > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
      flex-basis: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--resource--slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--resource--slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.1488888889) - (0px * (1 - 0.1488888889)));
        flex-basis: calc((100% * 0.1488888889) - (0px * (1 - 0.1488888889)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.1488888889) - (0px * (1 - 0.1488888889)));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--resource--slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.1917808219) - (0px * (1 - 0.1917808219)));
        flex-basis: calc((100% * 0.1917808219) - (0px * (1 - 0.1917808219)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.1917808219) - (0px * (1 - 0.1917808219)));
    margin-bottom: 0;
  }
  .l-2--resource--slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.7977777778) - (0px * (1 - 0.7977777778)));
        flex-basis: calc((100% * 0.7977777778) - (0px * (1 - 0.7977777778)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.7977777778) - (0px * (1 - 0.7977777778)));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--resource--slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.7575342466) - (0px * (1 - 0.7575342466)));
        flex-basis: calc((100% * 0.7575342466) - (0px * (1 - 0.7575342466)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.7575342466) - (0px * (1 - 0.7575342466)));
    margin-bottom: 0;
  }
}
.l-2--resource--slide--large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--resource--slide--large > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
      flex-basis: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.1964285714) - (0px * (1 - 0.1964285714)));
  margin-bottom: 0;
}
.l-2--resource--slide--large > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
      flex-basis: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.7178571429) - (0px * (1 - 0.7178571429)));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--resource--slide--large {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--resource--slide--large > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.2079646018) - (0px * (1 - 0.2079646018)));
        flex-basis: calc((100% * 0.2079646018) - (0px * (1 - 0.2079646018)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.2079646018) - (0px * (1 - 0.2079646018)));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--resource--slide--large > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.3397260274) - (0px * (1 - 0.3397260274)));
        flex-basis: calc((100% * 0.3397260274) - (0px * (1 - 0.3397260274)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3397260274) - (0px * (1 - 0.3397260274)));
    margin-bottom: 0;
  }
  .l-2--resource--slide--large > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.7212389381) - (0px * (1 - 0.7212389381)));
        flex-basis: calc((100% * 0.7212389381) - (0px * (1 - 0.7212389381)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.7212389381) - (0px * (1 - 0.7212389381)));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--resource--slide--large > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.5890410959) - (0px * (1 - 0.5890410959)));
        flex-basis: calc((100% * 0.5890410959) - (0px * (1 - 0.5890410959)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5890410959) - (0px * (1 - 0.5890410959)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--search--result {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--search--result > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.1713780919) - (0px * (1 - 0.1713780919)));
        flex-basis: calc((100% * 0.1713780919) - (0px * (1 - 0.1713780919)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.1713780919) - (0px * (1 - 0.1713780919)));
    margin-bottom: 0;
    margin-right: 0px;
    min-width: 20rem;
  }
  .l-2--search--result > .l-2__col:first-child:nth-child(odd), .l-2--search--result > .l-2__col:first-child:nth-child(even) {
    margin-right: 0px;
  }
  .l-2--search--result > .l-2__col:first-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--search--result > .l-2__col:first-child:last-child {
    margin-right: 0;
  }
  .l-2--search--result > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.75) - (32px * (1 - 0.75)));
        flex-basis: calc((100% * 0.75) - (32px * (1 - 0.75)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.75) - (32px * (1 - 0.75)));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-2--search--result > .l-2__col:last-child:nth-child(odd), .l-2--search--result > .l-2__col:last-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--search--result > .l-2__col:last-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--search--result > .l-2__col:last-child:last-child {
    margin-right: 0;
  }
}
.l-2--search--result-with-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--search--result-with-image > .l-2__col:first-child {
  -ms-flex-preferred-size: calc((100% * 0.3333333333) - (0px * (1 - 0.3333333333)));
      flex-basis: calc((100% * 0.3333333333) - (0px * (1 - 0.3333333333)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.3333333333) - (0px * (1 - 0.3333333333)));
  margin-bottom: 32px;
  min-width: 20rem;
}
.l-2--search--result-with-image > .l-2__col:last-child {
  -ms-flex-preferred-size: calc((100% * 0.5833333333) - (0px * (1 - 0.5833333333)));
      flex-basis: calc((100% * 0.5833333333) - (0px * (1 - 0.5833333333)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5833333333) - (0px * (1 - 0.5833333333)));
  margin-bottom: 32px;
}
@media screen and (min-width:750px) {
  .l-2--search--result-with-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--search--result-with-image > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.1713780919) - (0px * (1 - 0.1713780919)));
        flex-basis: calc((100% * 0.1713780919) - (0px * (1 - 0.1713780919)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.1713780919) - (0px * (1 - 0.1713780919)));
    margin-bottom: 0;
    margin-right: 0px;
  }
  .l-2--search--result-with-image > .l-2__col:first-child:nth-child(odd), .l-2--search--result-with-image > .l-2__col:first-child:nth-child(even) {
    margin-right: 0px;
  }
  .l-2--search--result-with-image > .l-2__col:first-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--search--result-with-image > .l-2__col:first-child:last-child {
    margin-right: 0;
  }
  .l-2--search--result-with-image > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.75) - (32px * (1 - 0.75)));
        flex-basis: calc((100% * 0.75) - (32px * (1 - 0.75)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.75) - (32px * (1 - 0.75)));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-2--search--result-with-image > .l-2__col:last-child:nth-child(odd), .l-2--search--result-with-image > .l-2__col:last-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--search--result-with-image > .l-2__col:last-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--search--result-with-image > .l-2__col:last-child:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.375) - (32px * (1 - 0.375)));
        flex-basis: calc((100% * 0.375) - (32px * (1 - 0.375)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.375) - (32px * (1 - 0.375)));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 0;
  }
  .l-2--slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.625) - (32px * (1 - 0.625)));
        flex-basis: calc((100% * 0.625) - (32px * (1 - 0.625)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.625) - (32px * (1 - 0.625)));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
        flex-basis: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.6666666667) - (32px * (1 - 0.6666666667)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--slide--present-wide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--slide--present-wide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 0.375) - (32px * (1 - 0.375)));
        flex-basis: calc((100% * 0.375) - (32px * (1 - 0.375)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.375) - (32px * (1 - 0.375)));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--slide--present-wide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc((100% * 1) - (32px * (1 - 1)));
        flex-basis: calc((100% * 1) - (32px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (32px * (1 - 1)));
    margin-bottom: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .l-2--slide--present-wide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 0.625) - (32px * (1 - 0.625)));
        flex-basis: calc((100% * 0.625) - (32px * (1 - 0.625)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.625) - (32px * (1 - 0.625)));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--slide--present-wide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc((100% * 1) - (32px * (1 - 1)));
        flex-basis: calc((100% * 1) - (32px * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (32px * (1 - 1)));
    margin-bottom: 0;
  }
}
.l-2--split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--split > .l-2__col {
  -ms-flex-preferred-size: calc((100% * 0.5) - (1rem * (1 - 0.5)));
      flex-basis: calc((100% * 0.5) - (1rem * (1 - 0.5)));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc((100% * 0.5) - (1rem * (1 - 0.5)));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--split--content-wide-and-up {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--split--content-wide-and-up > .l-2__col {
    -ms-flex-preferred-size: calc((100% * 0.5) - (1rem * (1 - 0.5)));
        flex-basis: calc((100% * 0.5) - (1rem * (1 - 0.5)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.5) - (1rem * (1 - 0.5)));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--vsplit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 100%;
  }
  .l-2--vsplit > .l-2__col {
    -ms-flex-preferred-size: calc((100% * 1) - (0 * (1 - 1)));
        flex-basis: calc((100% * 1) - (0 * (1 - 1)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 1) - (0 * (1 - 1)));
    margin-bottom: 0;
  }
  .l-2--vsplit > .l-2__col:last-child {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}

.l-4--guide-list-filters {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.l-4--guide-list-filters > li {
  margin: 0;
}
.l-4--guide-list-filters > .l-4__col {
  margin-right: 1rem;
}
.l-4--guide-list-filters > .l-4__col.h-visuallyhidden, .l-4--guide-list-filters > .l-4__col:last-child {
  margin-right: 0;
}
@media screen and (min-width:750px) {
  .l-4--guide-list-filters {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: auto;
  }
  .l-4--guide-list-filters > .l-4__col {
    margin-right: 6rem;
  }
  .l-4--guide-list-filters > .l-4__col.h-visuallyhidden, .l-4--guide-list-filters > .l-4__col:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) and (max-width:899px) {
  .l-4--guide-list-filters {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: auto;
  }
  .l-4--guide-list-filters > .l-4__col {
    margin-right: 4rem;
  }
  .l-4--guide-list-filters > .l-4__col.h-visuallyhidden, .l-4--guide-list-filters > .l-4__col:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width:750px) {
  .l-3--guide-tiles {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-3--guide-tiles > .l-3__col {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (1.5rem * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (1.5rem * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (1.5rem * (1 - 0.3333333333)));
    margin-bottom: 1.5rem;
    margin-right: 1.5rem;
  }
  .l-3--guide-tiles > .l-3__col:nth-child(odd), .l-3--guide-tiles > .l-3__col:nth-child(even) {
    margin-right: 1.5rem;
  }
  .l-3--guide-tiles > .l-3__col:nth-child(3n) {
    margin-right: 0;
  }
  .l-3--guide-tiles > .l-3__col:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) {
  .l-3--nav--in-page {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-left: -0.5rem;
  }
  .l-3--nav--in-page > .l-3__col {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 32px;
    margin-right: 32px;
    margin-bottom: 2rem;
  }
  .l-3--nav--in-page > .l-3__col:nth-child(odd), .l-3--nav--in-page > .l-3__col:nth-child(even) {
    margin-right: 32px;
  }
  .l-3--nav--in-page > .l-3__col:nth-child(3n) {
    margin-right: 0;
  }
  .l-3--nav--in-page > .l-3__col:last-child {
    margin-right: 0;
  }
}
.b-modal-js--search .l-3--search--result {
  background-color: white;
}
@media screen and (min-width:750px) {
  .l-3--search--result {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-3--search--result > .l-3__col:nth-child(1) {
    -ms-flex-preferred-size: calc((100% * 0.1696113074) - (0px * (1 - 0.1696113074)));
        flex-basis: calc((100% * 0.1696113074) - (0px * (1 - 0.1696113074)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.1696113074) - (0px * (1 - 0.1696113074)));
    margin-bottom: 0;
    margin-right: 0px;
  }
  .l-3--search--result > .l-3__col:nth-child(1):nth-child(odd), .l-3--search--result > .l-3__col:nth-child(1):nth-child(even) {
    margin-right: 0px;
  }
  .l-3--search--result > .l-3__col:nth-child(1):nth-child(3n) {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(1):last-child {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(2) {
    -ms-flex-preferred-size: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
        flex-basis: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-3--search--result > .l-3__col:nth-child(2):nth-child(odd), .l-3--search--result > .l-3__col:nth-child(2):nth-child(even) {
    margin-right: 32px;
  }
  .l-3--search--result > .l-3__col:nth-child(2):nth-child(3n) {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(2):last-child {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(3) {
    -ms-flex-preferred-size: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
        flex-basis: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.3333333333) - (32px * (1 - 0.3333333333)));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-3--search--result > .l-3__col:nth-child(3):nth-child(odd), .l-3--search--result > .l-3__col:nth-child(3):nth-child(even) {
    margin-right: 32px;
  }
  .l-3--search--result > .l-3__col:nth-child(3):nth-child(3n) {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(3):last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) {
  .l-3--text-promo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-3--text-promo > .l-3__col:nth-child(1) {
    -ms-flex-preferred-size: calc((100% * 0.25) - (32px * (1 - 0.25)));
        flex-basis: calc((100% * 0.25) - (32px * (1 - 0.25)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.25) - (32px * (1 - 0.25)));
    margin-bottom: 32px;
  }
  .l-3--text-promo > .l-3__col:nth-child(2) {
    -ms-flex-preferred-size: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
        flex-basis: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.4166666667) - (32px * (1 - 0.4166666667)));
    margin-bottom: 32px;
  }
  .l-3--text-promo > .l-3__col:nth-child(3) {
    -ms-flex-preferred-size: calc((100% * 0.1666666667) - (32px * (1 - 0.1666666667)));
        flex-basis: calc((100% * 0.1666666667) - (32px * (1 - 0.1666666667)));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc((100% * 0.1666666667) - (32px * (1 - 0.1666666667)));
    margin-bottom: 32px;
  }
}

/* 5px gap, verticial alignment */
/* stylelint-disable-next-line unit-blacklist */
.navbar-header .search-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: var(--header-height);
  width: var(--header-height);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-search-pane {
  position: fixed;
  top: 0;
  right: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  width: calc(100vw - var(--header-height));
  height: 100vh;
  pointer-events: none;
  opacity: 0;
  background: #2C2C2C;
  z-index: 100;
  max-width: 500px;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895);
  transition: -webkit-transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895);
  transition: transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895);
  transition: transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895), -webkit-transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895);
}
.header-search-pane ol {
  margin: 0;
  padding: 0;
}
.header-search-pane .ais-Stats-text {
  color: #fff;
  padding: 20px 20px 9px 20px;
  display: block;
  font-size: 0.722rem;
  line-height: 1.3846;
}
.header-search-pane .ais-Pagination-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
}
.header-search-pane .ais-Pagination-item--disabled {
  display: none;
}
.header-search-pane .ais-Pagination-link {
  color: #fff;
  margin: 2px;
  border: 1px solid #5e5e5e;
  background: #4a4a4a;
  font-weight: bold;
  padding: 3px 5px;
  border-radius: 2px;
  font-size: 0.8333rem;
  line-height: 1.3333;
}
.header-search-pane .ais-Hits-item a {
  color: #fff;
  display: block;
  padding: 9px 20px 9px 20px;
  border-bottom: 1px solid #4a4a4a;
}
.header-search-pane .ais-Hits-item a:hover, .header-search-pane .ais-Hits-item a:focus {
  text-decoration: none;
  background: rgba(255, 255, 255, 0.2);
}
.header-search-pane .ais-Hits-item .hit-name {
  font-size: 0.9rem;
  line-height: 1.5625;
  letter-spacing: -0.016rem;
  font-weight: bold;
  color: #fff;
}
.header-search-pane .ais-Hits-item .hit-description {
  color: #fff;
  font-size: 0.722rem;
  line-height: 1.3846;
}
.header-search-pane .ais-Hits-item .hit-link {
  margin: 0;
  opacity: 0.7;
  padding-bottom: 10px;
  white-space: pre;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
  padding-top: 5px;
  font-size: 0.722rem;
  line-height: 1.3846;
}

.header-search-results-container {
  overflow-y: auto;
  height: calc(100vh - var(--header-height));
}

.header-search-input .ais-SearchBox-input {
  background: none;
  color: #fff;
  width: 100%;
  border: none;
  height: var(--header-height);
  line-height: var(--header-height);
  padding: 0 var(--header-height) 0 15px;
  border-bottom: 1px solid #5e5e5e;
  margin-bottom: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.header-search-input .ais-SearchBox-input:focus {
  outline: none;
}
.header-search-input .ais-SearchBox-submit {
  display: none;
}

.search-pane-open .header-search-pane {
  pointer-events: initial;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}
.search-pane-open .body {
  opacity: 0.2;
}

.header-search_close {
  font-size: 25px;
  line-height: var(--header-height);
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  width: var(--header-height);
  color: #fff;
  height: var(--header-height);
}

/* clears the 'X' from Internet Explorer */
.ais-SearchBox-input[type=search]::-ms-clear,
.ais-SearchBox-input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

/* clears the 'X' from Chrome */
.ais-SearchBox-input[type=search]::-webkit-search-decoration,
.ais-SearchBox-input[type=search]::-webkit-search-cancel-button,
.ais-SearchBox-input[type=search]::-webkit-search-results-button,
.ais-SearchBox-input[type=search]::-webkit-search-results-decoration {
  display: none;
}

:root {
  --header-height: 80px;
  --header-background: #fff;
  --header-text-color: #2C2C2C;
  --header-link-color: #1470E1;
  --header-icon-color: #1470E1;
  --header-link-hover-color: #1470E1;
  --header-logo-url: url("/_resources/vendor/education-nz/moe-standard-header/client/img/MOE_icon_logo_black.svg");
}
@media all and (max-width: 960px) {
  :root {
    --header-height: 60px;
  }
}

body[data-dark-header] {
  --header-background: #2C2C2C;
  --header-text-color: #fff;
  --header-link-color: #fff;
  --header-icon-color: #fff;
  --header-link-hover-color: #fff;
  --header-logo-url: url("/_resources/vendor/education-nz/moe-standard-header/client/img/MOE_icon_logo_white.svg");
}

body[data-header-static] .navbar {
  position: static;
}
body[data-header-static] .body {
  padding-top: 0;
}

/**
 * Styles for the generic MoE header.
 *
 * Note that these styles will use helper classes rather than breakpoints in
 * many cases since to allow for easier per-site changes the mobile menu can be
 * customised via HTML data attributes - e.g data-menu-mobile-breakpoint="1180"
 *
 * Other classes are applied to the <html> to indicate state
 *
 * - `search-pane-open`
 * - `menu-is-active`
 */
body,
html {
  overflow-x: hidden;
}

body {
  overscroll-behavior-y: none;
}

.nonvisual-indicator,
.visuallyhidden,
.visually-hidden,
.access,
.hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  display: block !important;
}

.navbar {
  background: var(--header-background);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 40;
  height: var(--header-height);
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 960px) {
  .navbar {
    background: var(--header-background);
  }
}
.navbar > .container {
  margin: 0 0;
  max-width: 100% !important;
}
@media all and (max-width: 960px) {
  .navbar > .container {
    display: block;
  }
}
.navbar a {
  -webkit-transition: all 350ms ease-in;
  transition: all 350ms ease-in;
  color: var(--header-link-color);
}
.navbar.navbar__size_small {
  --header-height: 54px;
}

/* space for the fixed header, fades out when the menu is open */
.body {
  padding-top: var(--header-height);
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

.navbar + div {
  margin-top: var(--header-height);
}

.navbar-brand--logo {
  background: var(--header-logo-url) left center no-repeat;
  background-size: var(--header-height) var(--header-height);
  height: var(--header-height);
  width: var(--header-height);
  margin-right: 20px;
}

.navbar-brand {
  height: var(--header-height);
  line-height: var(--header-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: left;
  font-weight: 900;
  white-space: pre;
  color: var(--header-text-color);
  letter-spacing: -0.038rem;
  text-decoration: none;
  border: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 960px) {
  .navbar-brand span {
    display: block;
    white-space: normal;
    line-height: 1;
  }
}
@media all and (max-width: 960px) {
  .navbar-brand {
    font-size: 0.94rem;
  }
}
@media all and (max-width: 560px) {
  .navbar-brand {
    font-size: 0.722rem;
  }
}
.navbar-brand:hover, .navbar-brand:focus, .navbar-brand:active {
  color: var(--header-text-color);
}

.navbar-menu--holder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.navbar-menu {
  -ms-overflow-style: none;
  /* stylelint-disable-next-line property-no-unknown */
  scrollbar-width: none;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: var(--header-height);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.navbar-menu::-webkit-scrollbar {
  width: 0 !important;
}
.navbar-menu .has-dropdown .navbar-dropdown {
  top: calc(100% + 0.25rem);
}
.navbar-menu .has-dropdown .navbar-link {
  padding-right: 1.1rem;
}
.navbar-menu .has-dropdown .is-expanded + .navbar-dropdown {
  top: calc(100% + 0.3rem);
  opacity: 1;
  pointer-events: auto;
  display: block;
}
.navbar-menu .has-dropdown:last-child {
  /* last one goes left rather than right */
}
.navbar-menu .has-dropdown:last-child .navbar-dropdown {
  left: auto;
  right: 0;
}
.navbar-menu .has-dropdown:last-child .navbar-dropdown .arrow-up {
  left: auto;
  right: 25%;
}
.navbar-menu .navbar-item,
.navbar-menu .navbar-link {
  display: block;
  line-height: 1.5;
  letter-spacing: -0.012rem;
  padding: 0.2777rem 0;
  color: var(--header-text-color);
  position: relative;
}
@media all and (min-width: 960px) {
  .navbar-menu .navbar-item,
.navbar-menu .navbar-link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0.2777rem;
    margin-left: 0.2777rem;
  }
}
.navbar-menu .navbar-item:hover, .navbar-menu .navbar-item:focus, .navbar-menu .navbar-item:active,
.navbar-menu .navbar-link:hover,
.navbar-menu .navbar-link:focus,
.navbar-menu .navbar-link:active {
  border: none;
}
.navbar-menu a {
  text-decoration: none;
  border: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.navbar-menu .navbar-seperator {
  font-size: 0;
  width: 1px;
  overflow: hidden;
  display: inline-block;
  border-left: 1px solid #EAEAEA;
  margin: 0 0.5276222222rem;
  height: 100%;
}
.navbar-menu .navbar-seperator + a {
  font-weight: 400;
  color: var(--header-link-color);
  text-decoration: underline;
}
.navbar-menu .navbar-seperator + a:hover, .navbar-menu .navbar-seperator + a:focus {
  text-decoration: none;
}
.navbar-menu > a:first-child:hover, .navbar-menu > a:first-child:active, .navbar-menu > a:first-child:focus {
  color: var(--header-link-hover-color);
  background: none;
}
.navbar-menu > a:hover, .navbar-menu > a:active, .navbar-menu > a:focus, .navbar-menu > .navbar-item > a:hover, .navbar-menu > .navbar-item > a:active, .navbar-menu > .navbar-item > a:focus {
  color: var(--header-link-hover-color);
}
.navbar-menu li {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media all and (max-width: 960px) {
  .navbar-menu {
    background: #EAEAEA;
    padding: 20px;
  }
  .navbar-menu .navbar-link {
    padding-left: 0;
    cursor: pointer;
    display: block;
  }
  .navbar-menu .navbar-link.is-active {
    background: transparent;
  }
  .navbar-menu .navbar-dropdown {
    padding-left: 0;
    padding-right: 0;
  }
}

.navbar.navbar.has-shadow {
  background-color: #f5f5f5;
  border-top: 1px solid #eaeaea;
}

.navbar-item:hover .navbar-link {
  background: transparent !important;
}

.navbar-link {
  padding: 0.5rem;
}
.navbar-link:hover, .navbar-link:focus {
  background: transparent !important;
}
.navbar-link .navbar-toggle-children {
  width: 1rem;
  height: 0.4rem;
  display: block;
  cursor: pointer;
  position: absolute;
  top: calc(50% - 0.3rem);
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.navbar-link .navbar-toggle-children:after {
  border-right: 0;
  border-top: 0;
  display: block;
  height: 0.4rem;
  width: 0.4rem;
  pointer-events: none;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  content: "";
  border: 2px solid #1470E1;
  border-right: 0;
  border-top: 0;
}
@media all and (max-width: 960px) {
  .navbar-link .navbar-toggle-children:after {
    right: 5px;
  }
}
.navbar-link.is-expanded .navbar-toggle-children {
  top: calc(50% - 0.1rem);
}
.navbar-link.is-expanded .navbar-toggle-children:after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  top: 2px;
}

.navbar-end {
  margin-left: 0;
  font-size: 0.833rem;
  font-weight: 600;
}

/* dropdown menu */
.navbar-dropdown {
  padding: 0.5554rem;
  border-radius: 0.25rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  top: calc(100% - 0.25rem);
  max-width: 320px;
  display: block;
  opacity: 0;
  pointer-events: none;
  background-color: white;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
          box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
  left: 0;
  min-width: 100%;
  position: absolute;
  top: 100%;
  z-index: 20;
  min-width: 140px;
  font-size: 0.8333rem;
  line-height: 1.3333;
}
.navbar-dropdown hr {
  display: inline-block;
  border: none;
  border-bottom: 1px solid #eaeaea;
  margin: 0.25rem 0 0.5rem 0.5rem;
  background: none;
}
.navbar-dropdown a {
  color: var(--header-text-color);
}
.navbar-dropdown .arrow-up {
  width: 1rem;
  height: 1rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-right: 0;
  border-bottom: 0;
  border-top: 2px solid rgba(234, 234, 234, 0.5);
  border-left: 2px solid rgba(234, 234, 234, 0.5);
  position: absolute;
  top: -0.55rem;
  background: #fff;
  left: 25%;
}
.navbar-dropdown .navbar-dropdown-col ol {
  padding: 0;
  margin: 0;
}
.navbar-dropdown .navbar-dropdown-link {
  padding: 0.5554rem 0.5rem;
  white-space: nowrap;
  display: block;
  font-weight: 400;
  -webkit-transition: 0.2s all ease-out;
  transition: 0.2s all ease-out;
  border-radius: 2px;
  font-size: 0.8333rem;
  line-height: 1.3333;
}
.navbar-dropdown .navbar-dropdown-link:hover, .navbar-dropdown .navbar-dropdown-link:focus, .navbar-dropdown .navbar-dropdown-link:active {
  border: none;
  background-color: #FAFAFA;
  color: #1470E1;
}
@media all and (max-width: 960px) {
  .navbar-dropdown .navbar-dropdown-link {
    font-size: 0.722rem;
    line-height: 1.3846;
  }
  .navbar-dropdown .navbar-dropdown-link:hover, .navbar-dropdown .navbar-dropdown-link:focus, .navbar-dropdown .navbar-dropdown-link:active {
    background-color: transparent;
  }
}
.navbar-dropdown > .navbar-item {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  font-weight: 400;
}
.navbar-dropdown > .navbar-item.is-active {
  color: #2C2C2C;
  font-weight: 700;
}
.navbar-dropdown > .navbar-item:hover, .navbar-dropdown > .navbar-item:focus, .navbar-dropdown > .navbar-item:active {
  border: none;
  color: #1470E1;
}

.navbar-item {
  padding: 0;
  color: #2C2C2C;
  font-size: 0.833rem;
}
@media all and (max-width: 960px) {
  .navbar-item.has-dropdown {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media all and (max-width: 960px) {
  .navbar-item.is-active {
    background: transparent;
  }
}
.navbar-item.is-expanded + .navbar-dropdown {
  display: block !important;
}
.navbar-item.is-expanded > .navbar-toggle-children::after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  top: calc(1.75rem + 5px);
}
.navbar-item > a {
  color: #2C2C2C;
  text-decoration: none;
}
@media all and (min-width: 960px) {
  .navbar-item > a:hover, .navbar-item > a:active, .navbar-item > a:focus {
    color: #1470E1;
    background: none;
  }
}

.navbar-item img {
  max-height: none;
}

.navbar-header__no-search .navbar-menu {
  padding-right: 20px;
}

/* hamburger */
.navbar-burger {
  cursor: pointer;
  height: var(--header-height);
  position: relative;
  width: 50px;
  margin-left: auto;
  color: var(--header-icon-color);
}
.navbar-burger span {
  background-color: currentColor;
  display: block;
  height: 3px;
  left: 50%;
  margin-left: -10px;
  position: absolute;
  border-radius: 2px;
  color: var(--header-icon-color);
  top: 50%;
  -webkit-transition: none 86ms ease-out;
  transition: none 86ms ease-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  width: 20px;
}
.navbar-burger span:nth-of-type(1) {
  margin-top: -8px;
}
.navbar-burger span:nth-of-type(2) {
  margin-top: -1px;
}
.navbar-burger span:nth-of-type(3) {
  margin-top: 6px;
}

/* Menu exists, but should not be open quite yet */
.menu-offscreen-ready .navbar-menu {
  -webkit-transform: translateX(100vw);
          transform: translateX(100vw);
  opacity: 0;
  position: fixed;
  -webkit-transition: opacity 0.2s ease-in, -webkit-transform 0.4s ease-out;
  transition: opacity 0.2s ease-in, -webkit-transform 0.4s ease-out;
  transition: opacity 0.2s ease-in, transform 0.4s ease-out;
  transition: opacity 0.2s ease-in, transform 0.4s ease-out, -webkit-transform 0.4s ease-out;
}

/* Prep mobile menu */
.menu-load {
  /* dropdowns inside the menu are not actually dropdowns */
  /* mobile menu show children */
  /* hamburger */
}
.menu-load .navbar-menu {
  background: #FFF;
  position: fixed;
  top: var(--header-height);
  display: block;
  height: calc(100vh - var(--header-height));
  margin: 0;
  padding: 1.1108rem 1.1108rem 80px 1.1108rem;
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
  pointer-events: none;
  width: calc(100% - var(--header-height));
  overflow-y: scroll;
  left: var(--header-height);
  opacity: 1;
  pointer-events: auto;
}
@media all and (max-width: 960px) {
  .menu-load .navbar-menu {
    width: 100%;
    left: 0;
    padding: 1.1108rem 1.1108rem calc(var(--header-height) + 20px);
  }
}
.menu-load .navbar-menu .navbar-link {
  padding-left: 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu-load .navbar-item.has-dropdown {
  padding-top: 0;
  padding-bottom: 0;
  display: block;
}
.menu-load .navbar-link,
.menu-load .navbar-item {
  color: #2C2C2C;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  opacity: 0;
  line-height: 2.2216rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu-load .navbar-link.has-dropdown,
.menu-load .navbar-item.has-dropdown {
  display: block;
}
.menu-load .navbar-dropdown-link {
  color: #050505;
}
.menu-load .navbar-toggle-children {
  margin-left: 5px;
  position: relative;
}
.menu-load .arrow-up {
  display: none;
}
.menu-load .navbar-dropdown {
  background: transparent;
  border-radius: 0;
  position: relative;
  display: none;
  padding-top: 0;
  padding-left: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  max-width: none;
  font-size: 0.8333rem;
  line-height: 1.3333;
}
.menu-load .navbar-dropdown:hover, .menu-load .navbar-dropdown:focus, .menu-load .navbar-dropdown:active {
  background-color: transparent;
}
.menu-load .navbar-dropdown a:hover, .menu-load .navbar-dropdown a:focus {
  background: transparent;
}
.menu-load .is-expanded .navbar-toggle-children:after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  top: calc(50% - 0.2rem);
}
.menu-load .is-expanded + .navbar-dropdown {
  display: block;
}
.menu-load .navbar-menu--holder .navbar-burger span:nth-of-type(1) {
  margin-top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.menu-load .navbar-menu--holder .navbar-burger span:nth-of-type(2) {
  opacity: 0;
}
.menu-load .navbar-menu--holder .navbar-burger span:nth-of-type(3) {
  margin-top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/* Menu is open! */
.menu-is-active {
  overflow-y: hidden;
}
.menu-is-active .navbar-menu {
  opacity: 1;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}
.menu-is-active .body {
  opacity: 0.2;
}
.menu-is-active .navbar-link,
.menu-is-active .navbar-item {
  opacity: 1;
}

/**
 * Menu is not active, but any items which are too long should now be hidden
 */
html:not(.menu-is-active) .menu-invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  display: block;
}
html:not(.menu-is-active) .menu-invisible.navbar-burger {
  position: relative;
}

.navbar-items__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.navbar-items__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media all and (max-width: 960px) {
  .navbar-menu--linksonly {
    display: none;
  }
}
body {
  --header-height: 60px;
}

.navbar-brand {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
  font-size: 16px;
}

.navbar-menu a {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
  font-size: 14px;
  -webkit-transition: none;
  transition: none;
}
.navbar-menu a:after {
  content: "";
  display: block;
  width: 12px;
  height: 16px;
  margin-right: 8px;
  color: #fff;
  margin-left: 4px;
  background-image: url("../../images/external-link.svg");
  background-size: 12px auto;
  background-repeat: no-repeat;
  background-position: center center;
}
.navbar-menu a:hover, .navbar-menu a:focus {
  color: #1470E1;
}
.navbar-menu a:hover:after, .navbar-menu a:focus:after {
  background-image: url("../../images/external-link-blue.svg");
}

.navbar + div {
  margin-top: 0;
}

[data-classname=InclusiveHomepage] .navbar {
  -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
          box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
  background-color: #26252a;
}
[data-classname=InclusiveHomepage] .b-nav-primary__brand {
  display: none;
}
[data-classname=InclusiveHomepage] .b-nav-primary .b-rule {
  display: none !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2Rpc3Qvc3R5bGUuY3NzIiwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjtBQUVBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRTtFQUFtQjtFQUNuQjtFQUFnQztBRENsQzs7QUNFQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRTtBRERGOztBQ0lBOztFQUFBO0FBSUE7RUFDRTtBREZGOztBQ0tBOzs7RUFBQTtBQUtBO0VBQ0U7RUFDQTtBREhGOztBQ01BOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRTtVQUFBO0VBQXlCO0VBQ3pCO0VBQVc7RUFDWDtFQUFtQjtBREZyQjs7QUNLQTs7O0VBQUE7QUFLQTtFQUNFO0VBQW1DO0VBQ25DO0VBQWdCO0FERGxCOztBQ0lBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FESEY7O0FDTUE7OztFQUFBO0FBS0E7RUFDRTtFQUFxQjtFQUNyQjtFQUE0QjtFQUM1QjtVQUFBO0VBQW1DO0FERHJDOztBQ0lBOztFQUFBO0FBSUE7O0VBRUU7QURGRjs7QUNLQTs7O0VBQUE7QUFLQTs7O0VBR0U7RUFBbUM7RUFDbkM7RUFBZ0I7QUREbEI7O0FDSUE7O0VBQUE7QUFJQTtFQUNFO0FERkY7O0FDS0E7OztFQUFBO0FBS0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QURIRjs7QUNNQTtFQUNFO0FESEY7O0FDTUE7RUFDRTtBREhGOztBQ01BOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FETEY7O0FDUUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTs7Ozs7RUFLRTtFQUFzQjtFQUN0QjtFQUFpQjtFQUNqQjtFQUFtQjtFQUNuQjtFQUFXO0FESGI7O0FDTUE7OztFQUFBO0FBS0E7O0VBQ1E7RUFDTjtBREhGOztBQ01BOzs7RUFBQTtBQUtBOztFQUNTO0VBQ1A7QURIRjs7QUNNQTs7RUFBQTtBQUlBOzs7O0VBSUU7QURKRjs7QUNPQTs7RUFBQTtBQUlBOzs7O0VBSUU7RUFDQTtBRExGOztBQ1FBOztFQUFBO0FBSUE7Ozs7RUFJRTtBRE5GOztBQ1NBOztFQUFBO0FBSUE7RUFDRTtBRFBGOztBQ1VBOzs7OztFQUFBO0FBT0E7RUFDRTtVQUFBO0VBQXdCO0VBQ3hCO0VBQWdCO0VBQ2hCO0VBQWdCO0VBQ2hCO0VBQWlCO0VBQ2pCO0VBQVk7RUFDWjtFQUFxQjtBREZ2Qjs7QUNLQTs7RUFBQTtBQUlBO0VBQ0U7QURIRjs7QUNNQTs7RUFBQTtBQUlBO0VBQ0U7QURKRjs7QUNPQTs7O0VBQUE7QUFLQTs7RUFFRTtVQUFBO0VBQXdCO0VBQ3hCO0VBQVk7QURIZDs7QUNNQTs7RUFBQTtBQUlBOztFQUVFO0FESkY7O0FDT0E7OztFQUFBO0FBS0E7RUFDRTtFQUErQjtFQUMvQjtFQUFzQjtBREh4Qjs7QUNNQTs7RUFBQTtBQUlBO0VBQ0U7QURKRjs7QUNPQTs7O0VBQUE7QUFLQTtFQUNFO0VBQTRCO0VBQzVCO0VBQWU7QURIakI7O0FDTUE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0U7QURMRjs7QUNRQTs7RUFBQTtBQUlBO0VBQ0U7QURORjs7QUNTQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRTtBRFJGOztBQ1dBOztFQUFBO0FBSUE7RUFDRTtBRFRGOztBRXJPRTtFQUNFO0VBS0U7RUFFRjtFQUNBO0FGbU9KO0FFNU9FO0VBQ0U7RUFLRTtFQUVGO0VBQ0E7QUZ5T0o7QUVsUEU7RUFDRTtFQUtFO0VBRUY7RUFDQTtBRitPSjtBRXhQRTtFQUNFO0VBR0U7RUFJRjtFQUNBO0FGcVBKO0FFOVBFO0VBQ0U7RUFLRTtFQUVGO0VBQ0E7QUYyUEo7QUVwUUU7RUFDRTtFQUtFO0VBRUY7RUFDQTtBRmlRSjtBRTFRRTtFQUNFO0VBS0U7RUFFRjtFQUNBO0FGdVFKO0FFaFJFO0VBQ0U7RUFLRTtFQUVGO0VBQ0E7QUY2UUo7QUV2UUU7RUFDRSwwQ0E1Q2E7RUE2Q2I7QUZ5UUo7O0FFM1FFO0VBQ0UsMENBNUNhO0VBNkNiO0FGOFFKOztBRWhSRTtFQUNFLDBDQTVDYTtFQTZDYjtBRm1SSjs7QUVyUkU7RUFDRSwwQ0E1Q2E7RUE2Q2I7QUZ3Uko7O0FFMVJFO0VBQ0UsMENBNUNhO0VBNkNiO0FGNlJKOztBRS9SRTtFQUNFLDBDQTVDYTtFQTZDYjtBRmtTSjs7QUVwU0U7RUFDRSwwQ0E1Q2E7RUE2Q2I7QUZ1U0o7O0FFelNFO0VBQ0UsMENBNUNhO0VBNkNiO0FGNFNKOztBRW5TRTtFQUNFO0VBS0U7RUFFRjtFQU1BO0FGNFJKO0FFMVNFO0VBQ0U7RUFLRTtFQUVGO0VBTUE7QUZrU0o7QUVoVEU7RUFDRTtFQUtFO0VBRUY7RUFNQTtBRndTSjtBRXRURTtFQUNFO0VBR0U7RUFJRjtFQU1BO0FGOFNKO0FFNVRFO0VBQ0U7RUFLRTtFQUVGO0VBTUE7QUZvVEo7QUVsVUU7RUFDRTtFQUtFO0VBRUY7RUFNQTtBRjBUSjtBRXhVRTtFQUNFO0VBS0U7RUFFRjtFQU1BO0FGZ1VKO0FFOVVFO0VBQ0U7RUFLRTtFQUVGO0VBTUE7QUZzVUo7QUVoVUU7RUFDRSwwQ0EzRWE7RUE0RWI7RUFDQTtBRmtVSjs7QUVyVUU7RUFDRSwwQ0EzRWE7RUE0RWI7RUFDQTtBRndVSjs7QUVyVEU7RUFDRTtFQUtFO0VBRUY7RUFDQTtBRm1USjtBRTVURTtFQUNFO0VBR0U7RUFJRjtFQUNBO0FGeVRKO0FFbFVFO0VBQ0U7RUFLRTtFQUVGO0VBQ0E7QUYrVEo7QUV4VUU7RUFDRTtFQUtFO0VBRUY7RUFDQTtBRnFVSjtBRTlVRTtFQUNFO0VBS0U7RUFFRjtFQUNBO0FGMlVKO0FFclVFO0VBQ0UsbUNBOUdlO0VBK0dmO0FGdVVKOztBRXpVRTtFQUNFLG1DQTlHZTtFQStHZjtBRjRVSjs7QUU5VUU7RUFDRSxtQ0E5R2U7RUErR2Y7QUZpVko7O0FFblZFO0VBQ0UsbUNBOUdlO0VBK0dmO0FGc1ZKOztBRXhWRTtFQUNFLG1DQTlHZTtFQStHZjtBRjJWSjs7QUcxaEJFOztFQUVFO0VBQ0E7QUg2aEJKOztBR2xoQkU7Ozs7Ozs7O0VBUUU7QUhxaEJKO0FHbmhCSTs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUg0aEJOO0FHdmhCSTtFQUNFO0FIeWhCTjtBR3JoQk07RUFDRTtBSHVoQlI7QUdqaEJJO0VBQ0U7QUhtaEJOO0FHL2dCTTtFQUNFO0FIaWhCUjtBRzNnQkk7RUFDRTtBSDZnQk47QUd6Z0JNO0VBQ0U7QUgyZ0JSO0FHcmdCSTtFQUNFO0FIdWdCTjtBR25nQk07RUFDRTtBSHFnQlI7QUcvZkk7RUFDRTtBSGlnQk47QUc3Zk07RUFDRTtBSCtmUjtBR3pmSTtFQUNFO0FIMmZOO0FHdmZNO0VBQ0U7QUh5ZlI7QUduZkk7RUFDRTtBSHFmTjtBR2pmTTtFQUNFO0FIbWZSO0FHN2VJO0VBQ0U7QUgrZU47QUczZU07RUFDRTtBSDZlUjs7QUlobUJBO0VBRUU7RUFHQTtFQUNBO0VBR0E7RUFHQTtBSjRsQkY7QUkxbEJFO0VBS0U7QUp3bEJKO0FJcmxCRTtFQTlCQTtVQUFBO0FKc25CRjtBSXBsQkU7RUFsQ0E7VUFBQTtBSnluQkY7QUlubEJFO0VBdENBO1VBQUE7QUo0bkJGO0FJamxCSTtFQUNFO0FKbWxCTjtBSWhsQkk7RUFDRTtBSmtsQk47QUkva0JJO0VBbkRGO1VBQUE7QUpxb0JGO0FJOWtCSTtFQXZERjtVQUFBO0FKd29CRjtBSTdrQkk7RUEzREY7VUFBQTtBSjJvQkY7QUk1a0JJO0VBL0RGO1VBQUE7QUo4b0JGO0FJeGtCSTtFQXRFRjtVQUFBO0FKaXBCRjtBSXRrQkU7RUFFRTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0FKdWtCSjs7QUlua0JBO0VBQ0U7SUFyRkE7WUFBQTtFSjRwQkE7QUFDRjs7QUl6a0JBO0VBQ0U7SUFyRkE7WUFBQTtFSjRwQkE7QUFDRjtBS25rQkE7RUF4Q0U7QUw4bUJGO0FLM21CSTtFQUVFO0VBQUE7RUFBQTtBTDRtQk47QUs5bUJJO0VBRUU7RUFBQTtFQUFBO0FMK21CTjtBS2puQkk7RUFFRTtFQUFBO0VBQUE7QUxrbkJOO0FLcG5CSTtFQUVFO0VBQUE7RUFBQTtBTHFuQk47O0FLOWtCQTtFQWhFSTtFQUVBO0FMaXBCSjs7QUt2a0JBO0VBL0RFO0FMMG9CRjtBS3RrQkk7RUFwRUY7QUw2b0JGO0FLbGtCSTtFQTNFRjtBTGdwQkY7O0FLOWpCQTtFQUNFO0FMaWtCRjs7QUs3akJBO0VBQ0U7RUFJQTtFQUNBO0FMNmpCRjtBSzFqQkU7O0VBRUU7QUw0akJKO0FNN3JCRTtFRHNIRjtJQWVJO0VMNGpCRjtFSzFqQkU7O0lBRUU7RUw0akJKO0FBQ0Y7O0FLdmpCQTtFQUNFO0FMMGpCRjs7QUt2akJBO0VBQ0U7QUwwakJGOztBS3RqQkE7RUFsSEU7QUw0cUJGO0FLenFCSTtFQUVFO0VBQUE7RUFBQTtBTDBxQk47QUs1cUJJO0VBRUU7RUFBQTtFQUFBO0FMNnFCTjtBSy9xQkk7RUFFRTtFQUFBO0VBQUE7QUxnckJOO0FLbHJCSTtFQUVFO0VBQUE7RUFBQTtBTG1yQk47QUtqa0JJO0VBdkhGO0FMMnJCRjtBS3hyQkk7RUFFRTtFQUFBO0VBQUE7QUx5ckJOO0FLM3JCSTtFQUVFO0VBQUE7RUFBQTtBTDRyQk47QUs5ckJJO0VBRUU7RUFBQTtFQUFBO0FMK3JCTjtBS2pzQkk7RUFFRTtFQUFBO0VBQUE7QUxrc0JOO0FLemtCSTtFQTlIRjtBTDBzQkY7QUt2c0JJO0VBRUU7RUFBQTtFQUFBO0FMd3NCTjtBSzFzQkk7RUFFRTtFQUFBO0VBQUE7QUwyc0JOO0FLN3NCSTtFQUVFO0VBQUE7RUFBQTtBTDhzQk47QUtodEJJO0VBRUU7RUFBQTtFQUFBO0FMaXRCTjs7QUtqbEJBO0VBdEhFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUwyc0JGO0FLeGxCSTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTHlsQk47QUtubEJJO0VBdklGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUw2dEJGOztBS3RsQkE7RUFuSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDZ0QkY7O0FNcHlCRTtFRDZNRTtJQTlLRjtFTDB3QkE7O0VLcmxCRTtJQTlLRjtFTHV3QkE7RUtwd0JFO0lBRUU7SUFBQTtJQUFBO0VMcXdCSjtFS3Z3QkU7SUFFRTtJQUFBO0lBQUE7RUx3d0JKO0VLMXdCRTtJQUVFO0lBQUE7SUFBQTtFTDJ3Qko7RUs3d0JFO0lBRUU7SUFBQTtJQUFBO0VMOHdCSjs7RUs5bEJFO0lBdEtGO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUx3d0JBO0FBQ0Y7QU1yMEJFO0VEb09FO0lBck1GO0VMMHlCQTs7RUs5bEJFO0lBck1GO0VMdXlCQTtFS3B5QkU7SUFFRTtJQUFBO0lBQUE7RUxxeUJKO0VLdnlCRTtJQUVFO0lBQUE7SUFBQTtFTHd5Qko7RUsxeUJFO0lBRUU7SUFBQTtJQUFBO0VMMnlCSjtFSzd5QkU7SUFFRTtJQUFBO0lBQUE7RUw4eUJKOztFS3ZtQkU7SUE3TEY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFTHd5QkE7QUFDRjtBTXIyQkU7RUQyUEU7SUFyTkY7RUxtMEJBO0VLaDBCRTtJQUVFO0lBQUE7SUFBQTtFTGkwQko7RUtuMEJFO0lBRUU7SUFBQTtJQUFBO0VMbzBCSjtFS3QwQkU7SUFFRTtJQUFBO0lBQUE7RUx1MEJKO0VLejBCRTtJQUVFO0lBQUE7SUFBQTtFTDAwQko7QUFDRjtBTXQzQkU7RURvUUU7SUE5TkY7RUxvMUJBO0VLajFCRTtJQUVFO0lBQUE7SUFBQTtFTGsxQko7RUtwMUJFO0lBRUU7SUFBQTtJQUFBO0VMcTFCSjtFS3YxQkU7SUFFRTtJQUFBO0lBQUE7RUx3MUJKO0VLMTFCRTtJQUVFO0lBQUE7SUFBQTtFTDIxQko7QUFDRjtBTXY0QkU7RUQ2UUU7SUF2T0Y7RUxxMkJBO0VLbDJCRTtJQUVFO0lBQUE7SUFBQTtFTG0yQko7RUtyMkJFO0lBRUU7SUFBQTtJQUFBO0VMczJCSjtFS3gyQkU7SUFFRTtJQUFBO0lBQUE7RUx5MkJKO0VLMzJCRTtJQUVFO0lBQUE7SUFBQTtFTDQyQko7QUFDRjtBTXg1QkU7RURzUkU7SUFoUEY7RUxzM0JBO0VLbjNCRTtJQUVFO0lBQUE7SUFBQTtFTG8zQko7RUt0M0JFO0lBRUU7SUFBQTtJQUFBO0VMdTNCSjtFS3ozQkU7SUFFRTtJQUFBO0lBQUE7RUwwM0JKO0VLNTNCRTtJQUVFO0lBQUE7SUFBQTtFTDYzQko7O0VLM29CRTtJQXhPRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VMdTNCQTtBQUNGO0FNcDdCRTtFRHNTRTtJQWpQRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VMbTRCQTtBQUNGO0FNaDhCRTtFRCtTRTtJQXpRRjtFTDg1QkE7RUszNUJFO0lBRUU7SUFBQTtJQUFBO0VMNDVCSjtFSzk1QkU7SUFFRTtJQUFBO0lBQUE7RUwrNUJKO0VLajZCRTtJQUVFO0lBQUE7SUFBQTtFTGs2Qko7RUtwNkJFO0lBRUU7SUFBQTtJQUFBO0VMcTZCSjtBQUNGO0FNajlCRTtFRHdURTtJQWxSRjtFTCs2QkE7RUs1NkJFO0lBRUU7SUFBQTtJQUFBO0VMNjZCSjtFSy82QkU7SUFFRTtJQUFBO0lBQUE7RUxnN0JKO0VLbDdCRTtJQUVFO0lBQUE7SUFBQTtFTG03Qko7RUtyN0JFO0lBRUU7SUFBQTtJQUFBO0VMczdCSjtBQUNGO0FNbCtCRTtFRGlVRTtJQTFVRjtJQWdCQTtJQUNBO0lBQ0E7RUxnK0JBOztFS2pxQkU7SUF6U0Y7RUw4OEJBO0FBQ0Y7QU05K0JFO0VEaVZFO0lBbFRGO0VMbTlCQTs7RUsxcEJFO0lBbFRGO0VMZzlCQTtFSzc4QkU7SUFFRTtJQUFBO0lBQUE7RUw4OEJKO0VLaDlCRTtJQUVFO0lBQUE7SUFBQTtFTGk5Qko7RUtuOUJFO0lBRUU7SUFBQTtJQUFBO0VMbzlCSjtFS3Q5QkU7SUFFRTtJQUFBO0lBQUE7RUx1OUJKOztFS25xQkU7SUExU0Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFTGk5QkE7QUFDRjtBTTlnQ0U7RUR3V0U7SUFqWEY7SUFnQkE7SUFDQTtJQUNBO0VMNGdDQTs7RUt0cUJFO0lBaFZGO0VMMC9CQTs7RUtucUJFO0lBaFZGO0VMdS9CQTtFS3AvQkU7SUFFRTtJQUFBO0lBQUE7RUxxL0JKO0VLdi9CRTtJQUVFO0lBQUE7SUFBQTtFTHcvQko7RUsxL0JFO0lBRUU7SUFBQTtJQUFBO0VMMi9CSjtFSzcvQkU7SUFFRTtJQUFBO0lBQUE7RUw4L0JKOztFSzVxQkU7SUF4VUY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFTHcvQkE7QUFDRjtBTXJqQ0U7RURzWUU7SUF2V0Y7RUwwaENBOztFSzVxQkU7SUF2V0Y7RUx1aENBO0VLcGhDRTtJQUVFO0lBQUE7SUFBQTtFTHFoQ0o7RUt2aENFO0lBRUU7SUFBQTtJQUFBO0VMd2hDSjtFSzFoQ0U7SUFFRTtJQUFBO0lBQUE7RUwyaENKO0VLN2hDRTtJQUVFO0lBQUE7SUFBQTtFTDhoQ0o7O0VLcnJCRTtJQS9WRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VMd2hDQTtBQUNGO0FNcmxDRTtFRDZaRTtJQXRhRjtJQWdCQTtJQUNBO0lBQ0E7RUxtbENBOztFS3hyQkU7SUFyWUY7RUxpa0NBOztFS3JyQkU7SUFyWUY7RUw4akNBO0VLM2pDRTtJQUVFO0lBQUE7SUFBQTtFTDRqQ0o7RUs5akNFO0lBRUU7SUFBQTtJQUFBO0VMK2pDSjtFS2prQ0U7SUFFRTtJQUFBO0lBQUE7RUxra0NKO0VLcGtDRTtJQUVFO0lBQUE7SUFBQTtFTHFrQ0o7O0VLOXJCRTtJQTdYRjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VMK2pDQTtBQUNGO0FNNW5DRTtFRDJiRTtJQXBjRjtJQWdCQTtJQUNBO0lBQ0E7RUwwbkNBO0FBQ0Y7QU83bENFO0VBQ0U7RUFDQTtFQUNBO0FQK2xDSjtBTzdsQ0k7RUFDRTtBUCtsQ047QU83bENNO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVA4bENSO0FPdGxDRTtFQXREQTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7QVArb0NGO0FPN29DRTtFQUNFO0FQK29DSjtBT3hsQ0U7RUFFRTtFQUNBO0VBQ0E7QVB5bENKO0FPdmxDSTtFQUNFO0VBQ0E7RUFDQTtBUHlsQ047QU92bENNO0VMcERGO0VBQ0E7RUFtQkEsd0JBRnFCO0VLcUNqQjtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsMENMckNTO0VLdUNUO0VBQ0E7RUFDQTtFQUNBO0FQdWxDUjtBT3JsQ1E7RUFDRTtVQUFBO0VBQ0E7QVB1bENWO0FPL2tDRTtFQWxIQTtFQUNBO0VBQ0E7QVBvc0NGO0FPbHNDRTtFQUNFO0FQb3NDSjtBT2xzQ0k7RUFDRTtBUG9zQ047QU92bENJO0VBQ0U7RUFDQTtFQUNBLHlCQWhJaUI7RUFpSWpCO0FQeWxDTjtBT3BsQ0U7RUFDRTtFQUNBO0VBQ0E7QVBzbENKO0FPcGxDSTtFQUNFO0FQc2xDTjtBT3BsQ007RUFDRTtBUHNsQ1I7QU0zdENFO0VDNEpJO0lBRUU7SUFDQTtFUGlrQ047RU85akNRO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VQK2pDVjtFT3RqQ007SUZuSk47RUw0c0NBO0VPampDSTtJQUNFO0lBQ0E7SUFDQTtFUG1qQ047RU9qakNNO0lGaEtOO0VMb3RDQTtFT2hqQ007SUFDRTtFUGtqQ1I7RU8zaUNJO0lBQ0U7RVA2aUNOO0VPMWlDSTtJQUNFO0VQNGlDTjtFT3ppQ1E7SUFFRTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7RVB3aUNWO0VPdGlDVTtJQUNFO0VQd2lDWjtFTzloQ0k7SUFDRTtFUGdpQ047RU83aENJO0lBQ0U7RVAraENOO0VPN2hDTTtJQUVFO0lBQ0E7SUFDQTtFUDhoQ1I7QUFDRjs7QVFueUNFO0VBQ0U7TUFBQTtVQUFBO0FSc3lDSjtBUW55Q0U7RUFDRTtNQUFBO1VBQUE7QVJxeUNKOztBU3h2Q0U7RUFDRTtBVDJ2Q0o7O0FTcnZDRTtFQUNFO0FUd3ZDSjs7QVNsdkNFO0VBQ0U7QVRxdkNKO0FNdHlDRTtFR3VESTtJQUNFO0VUa3ZDTjtBQUNGOztBVTVyQ0E7RUFDRTtBVityQ0Y7O0FNL3lDRTtFSW9IQTtJQUVJO0lBQ0E7UUFBQTtZQUFBO0VWOHJDSjtBQUNGOztBVTFyQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBVjZyQ0Y7O0FVcHJDRTtFUjNHRTtFQUNBO0VBbUJBLGdDQUZxQjtFUTRGckI7QVZ3ckNKO0FVcHJDRTtFQUNFLDBDUnZGYTtFUXdGYjtFQUNBO0VBQ0E7QVZzckNKOztBVTVxQ0U7RVJoSUU7RUFDQTtFQW1CQSw4QkFGcUI7RVFpSHJCO0FWZ3JDSjtBVTVxQ0U7RVJ2SUU7RUFDQTtFQW1CQSwyQkFGcUI7RVF3SHJCLDBDUjlHYTtFUStHYjtFQUNBO0FWK3FDSjtBVTNxQ0U7RVJoSkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVFpSXJCLG1DUnJIZTtFUXNIZjtBVjhxQ0o7QVU1cUNJO0VBQ0U7RUFDQSwwQ1I1SFc7RVE2SFg7QVY4cUNOO0FVMXFDSTtFQUNFO0FWNHFDTjtBVTFxQ007RUFFRSxtQ1JwSVc7QUYreUNuQjtBVXJxQ0U7RVJ4S0U7RUFDQTtFQW1CQSx3QkFGcUI7RVF5SnJCO0VBQ0E7RUFDQTtBVndxQ0o7QVVwcUNFO0VSakxFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRa0tyQjtBVnVxQ0o7QVVucUNFO0VSeExFO0VBQ0E7RUFtQkEsMkJBRnFCO0VReUtyQiwwQ1IvSmE7RVFnS2I7QVZzcUNKO0FVbHFDRTtFUmhNRTtFQUNBO0VBbUJBLGdDQUZxQjtFUWlMckI7QVZxcUNKOztBVTNwQ0U7RVI3TUU7RUFDQTtFUThNQTtBVitwQ0o7QVUzcENFO0VSbk5FO0VBQ0E7RUFtQkEsOEJBRnFCO0VRb01yQjtFQUNBO0FWOHBDSjtBVTFwQ0U7RVIzTkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVE0TXJCLG1DUmhNZTtFUWlNZjtFQUNBO0FWNnBDSjtBVTNwQ0k7RUFFRSxtQ1J0TWE7QUZrMkNuQjtBVXZwQ0U7RVJ6T0U7RUFDQTtFQW1CQSw4QkFGcUI7RVEwTnJCO0VBQ0E7QVYwcENKO0FNcjZDRTtFSThRSTtJUmhQRjtJQUNBO0lBbUJBLGdDQUZxQjtFRjIzQ3ZCO0FBQ0Y7QVV0cENFO0VSeFBFO0VBQ0E7RUFtQkEsOEJBRnFCO0VReU9yQjtFQUNBO0FWeXBDSjtBVXJwQ0U7RVJoUUU7RUFDQTtFQW1CQSxnQ0FGcUI7RVFpUHJCLDBDUnZPYTtFUXdPYjtBVndwQ0o7QVVwcENFO0VSeFFFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VReVByQiwwQ1IvT2E7RVFnUGI7QVZ1cENKO0FNajhDRTtFSThTQTtJUmhSRTtJQUNBO0lBbUJBLGdDQUZxQjtJUWtRbkI7RVZzcENKO0FBQ0Y7QVVqcENFO0VSMVJFO0VBQ0E7RUFtQkEsOEJBRnFCO0VRMlFyQjtFQUNBO0FWb3BDSjtBVWhwQ0U7RVJsU0U7RUFDQTtFQW1CQSwyQkFGcUI7RVFtUnJCO0VBQ0E7QVZtcENKOztBVXpvQ0U7RUFDRTtBVjRvQ0o7QVV4b0NFO0VSclRFO0VBQ0E7RUFtQkEsd0JBRnFCO0VRc1NyQjtFQUNBO0FWMm9DSjtBVXZvQ0U7RVI3VEU7RUFDQTtFQW1CQSwyQkFGcUI7RVE4U3JCO0FWMG9DSjs7QVVob0NFO0VSMVVFO0VBQ0E7RUFtQkEsOEJBRnFCO0VRMlRyQjtFQUNBO0FWb29DSjtBVWxvQ0k7RUFDRTtBVm9vQ047QVUvbkNFO0VSdFZFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRdVVyQjtBVmtvQ0o7QVVob0NJO0VBQ0U7QVZrb0NOOztBVXRuQ0U7RUFDRTtBVnluQ0o7QVVybkNFO0VBQ0U7QVZ1bkNKO0FVcm5DSTtFQUNFO0FWdW5DTjtBVXBuQ007RUFDRTtBVnNuQ1I7QVVobkNFO0VBQ0U7QVZrbkNKO0FVaG5DSTtFQUNFO0FWa25DTjtBVS9tQ007RUFDRTtBVmluQ1I7QVUxbUNJO0VBRUU7QVYybUNOO0FVcm1DRTtFQUNFO0FWdW1DSjtBVXJtQ0k7RUFDRTtBVnVtQ047QVVsbUNFO0VBQ0U7QVZvbUNKO0FVaG1DRTtFQUNFO0FWa21DSjs7QVV4bENFO0VSM2FFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRNFpyQiwwQ1JsWmE7QUY4K0NqQjtBVXhsQ0U7RVJsYkU7RUFDQTtFQW1CQSx3QkFGcUI7RVFtYXJCLDBDUnpaYTtFUTBaYjtFQUNBO0FWMmxDSjtBVXpsQ0k7RUFDRTtBVjJsQ047QVV0bENFO0VSL2JFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRZ2JyQiwwQ1J0YWE7RVF1YWI7RUFDQTtBVnlsQ0o7QVVybENFO0VSeGNFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VReWJyQiwwQ1IvYWE7QUZ1Z0RqQjtBVXBsQ0U7RVIvY0U7RUFDQTtFQW1CQSw4QkFGcUI7RVFnY3JCLDBDUnRiYTtFUXViYjtFQUNBO0FWdWxDSjtBVW5sQ0U7RVJ4ZEU7RUFDQTtFQW1CQSwyQkFGcUI7RVF5Y3JCLDBDUi9iYTtFUWdjYjtBVnNsQ0o7QVVwbENJOztFQUVFO0FWc2xDTjtBVW5sQ0k7RUFDRTtFQUNBO0VBQ0E7QVZxbENOO0FVaGxDRTtFUjNlRTtFQUNBO0VBbUJBLCtCQUZxQjtFUTRkckIsMENSbGRhO0VRbWRiO0VBQ0E7QVZtbENKO0FVamxDSTtFQUNFO0FWbWxDTjtBVTlrQ0U7RVJ4ZkU7RUFDQTtFQW1CQSx3QkFGcUI7RVF5ZXJCLDBDUi9kYTtFUWdlYjtBVmlsQ0o7QVU3a0NFO0VSaGdCRTtFQUNBO0VBbUJBLDJCQUZxQjtFUWlmckIsMENSdmVhO0VRd2ViO0FWZ2xDSjtBVTlrQ0k7RUFDRTtBVmdsQ047QVU5a0NNO0VBQ0U7QVZnbENSO0FVMWtDRTtFQUNFO0FWNGtDSjtBVTFrQ0k7RUFDRTtBVjRrQ047QVV2a0NFO0VBQ0U7QVZ5a0NKO0FVdmtDSTtFQUNFO0FWeWtDTjtBVXBrQ0U7RVJsaUJFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRbWhCckIsMENSemdCYTtFUTBnQmI7QVZ1a0NKO0FVcmtDSTtFQUNFO0FWdWtDTjtBVWxrQ0U7RVI5aUJFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRK2hCckI7QVZxa0NKO0FVamtDRTtFUnJqQkU7RUFDQTtFQW1CQSw4QkFGcUI7RVFzaUJyQiwwQ1I1aEJhO0VRNmhCYjtBVm9rQ0o7QVUvakNFO0VSOWpCRTtFQUNBO0VBbUJBLDJCQUZxQjtFUWdqQnJCLDBDUnRpQmE7RVF1aUJiO0VBQ0E7QVZpa0NKO0FVL2pDSTtFQUNFO0FWaWtDTjtBVTVqQ0U7RVI1a0JFO0VBQ0E7RUFtQkEsNkJBRnFCO0VRNmpCckIsMENSbmpCYTtFUW9qQmI7RUFDQTtBVitqQ0o7QVU3akNJO0VBQ0U7QVYrakNOO0FVempDRTtFUjFsQkU7RUFDQTtFQW1CQSw4QkFGcUI7RVEya0JyQiwwQ1Jqa0JhO0VRa2tCYjtFQUNBO0FWNGpDSjtBVXhqQ0U7RUFDRTtBVjBqQ0o7QVVwakNNO0VSMW1CRjtFQUNBO0VBbUJBLDhCQUZxQjtFUTRsQmpCLDBDUmxsQlM7RVFtbEJUO0VBQ0E7QVZzakNSOztBVTlpQ0U7RVJ4bkJFO0VBQ0E7QUYwcURKO0FVL2lDSTtFUjVuQkE7RUFDQTtFQW1CQSwyQkFGcUI7RVE2bUJuQjtFQUNBO0FWa2pDTjtBVTdpQ0U7RUFDRSwwQ1IxbUJhO0FGeXBEakI7QVU1aUNJO0VSem9CQTtFQUNBO0VBbUJBLGdDQUZxQjtFUTBuQm5CLDBDUmhuQlc7RVFpbkJYO0FWK2lDTjtBVTFpQ0k7RVJscEJBO0VBQ0E7RUFtQkEsd0JBRnFCO0VRbW9CbkIsMENSem5CVztFUTBuQlg7QVY2aUNOO0FVdmlDSTtFUjVwQkE7RUFDQTtFQW1CQSwyQkFGcUI7RVErb0JuQiwwQ1Jyb0JXO0VRc29CWDtFQUNBO0FWd2lDTjtBVXBpQ0k7RVJ2cUJBO0VBQ0E7RUFtQkEsd0JBRnFCO0VRd3BCbkIsMENSOW9CVztFUStvQlg7RUFDQTtBVnVpQ047QVVsaUNFO0VSanJCRTtFQUNBO0VBbUJBLHdCQUZxQjtFUWtxQnJCLDBDUnhwQmE7RVF5cEJiO0FWcWlDSjtBVWppQ0U7RVJycUJFLHdCQUZxQjtFUXlxQnJCLDBDUi9wQmE7RVFncUJiO0VBQ0E7QVZtaUNKO0FVL2hDRTtFUjdxQkUsd0JBRnFCO0VRaXJCckIsMENSdnFCYTtFUXdxQmI7RUFDQTtBVmlpQ0o7QVU3aENFO0VSenNCRTtFQUNBO0VBbUJBLHdCQUZxQjtFUStDdkIsMENSckNlO0VRc0NmO0VBQ0E7RUFDQTtBVjJxREY7QVVqaUNFO0VSOXNCRTtFQUNBO0VBbUJBLHdCQUZxQjtFUStyQnJCLDBDUnJyQmE7RVFzckJiO0VBQ0E7QVZvaUNKO0FVbGlDSTtFQUNFO0FWb2lDTjtBVWppQ0k7O0VBRUU7QVZtaUNOO0FVOWhDRTtFUmh1QkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVFpdEJyQiwwQ1J2c0JhO0VReXNCYjtFQUNBO0FWZ2lDSjtBVTVoQ0U7RVIxdUJFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRMnRCckIsMENSanRCYTtFUWt0QmI7QVYraENKO0FVNWhDSTtFQUNFO0FWOGhDTjtBVXpoQ0U7RVJ2dkJFO0VBQ0E7RVF3dkJBLDBDUjd0QmE7RVE4dEJiO0VBQ0E7QVY0aENKO0FVeGhDRTtFUi92QkU7RUFDQTtFQW1CQSwwQkFGcUI7RVFndkJyQjtBVjJoQ0o7QVVyaENJO0VSeHdCQTtFQUNBO0VBbUJBLGdDQUZxQjtFUXl2Qm5CLDBDUi91Qlc7RVFndkJYO0FWd2hDTjtBVXRoQ007RUFDRTtFQUNBO0FWd2hDUjtBVXRoQ1E7RUFDRTtBVndoQ1Y7QVVyaENRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWdWhDVjtBVWhoQ0U7RVJueUJFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRb3hCckI7RUFDQTtBVm1oQ0o7QVUvZ0NFO0VSM3lCRTtFQUNBO0VBbUJBLHdCQUZxQjtFUTR4QnJCO0FWa2hDSjtBVTlnQ0U7RVJsekJFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRbXlCckIsMENSenhCYTtBRjB5RGpCO0FVL2dDSTtFQUNFO0VBQ0E7QVZpaENOO0FVNWdDRTtFUjl6QkU7RUFDQTtFUSt6QkE7QVYrZ0NKO0FVM2dDRTtFUnAwQkU7RUFDQTtFUXEwQkEsMENSMXlCYTtFUTJ5QmI7RUFDQTtFQUNBO0FWOGdDSjtBVTFnQ0U7RVI3MEJFO0VBQ0E7RUFtQkEsd0JBRnFCO0FGMDBEekI7QVVqZ0NJO0VSMzFCQTtFQUNBO0VBbUJBLGdDQUZxQjtFUWkxQm5CLDBDUnYwQlc7RVF3MEJYO0FWKy9CTjtBVTcvQk07RUFDRTtFQUNBO0FWKy9CUjtBVTEvQkk7RUFDRTtBVjQvQk47QVV2L0JNO0VSbjNCRjtFQUNBO0FGNjJESjtBVXAvQk07RUFDRTtBVnMvQlI7QVVoL0JJO0VBQ0U7RUFDQTtFQUNBO0FWay9CTjtBVTMrQk07RUFDRTtBVjYrQlI7QVVwK0JJO0VScjVCQTtFQUNBO0VBbUJBLGdDQUZxQjtFUXU0Qm5CLDBDUjczQlc7RVE4M0JYO0FWcytCTjtBVXArQk07RUFDRTtFQUNBO0FWcytCUjtBVWgrQkU7RVJwNkJFO0VBQ0E7RUFtQkEsK0JBRnFCO0VRcTVCckIsMENSMzRCYTtFUTQ0QmI7RUFDQTtFQUNBO0FWbStCSjtBVS85QkU7RVI5NkJFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRKzVCckIsMENScjVCYTtFUXM1QmI7QVZrK0JKO0FVaCtCSTtFQUNFO0FWaytCTjtBVTc5QkU7RVIxN0JFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRMjZCckI7RUFDQTtBVmcrQko7QVU1OUJFO0VSbDhCRTtFQUNBO0VRbThCQSwwQ1J4NkJhO0VReTZCYjtBVis5Qko7QVU3OUJJO0VBQ0U7QVYrOUJOO0FVMTlCRTtFUjc4QkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVE4N0JyQiwwQ1JwN0JhO0VRcTdCYjtBVjY5Qko7QVUzOUJJO0VBQ0U7QVY2OUJOO0FVejlCSTtFQUNFO0FWMjlCTjtBVXQ5QkU7RVI5OUJFO0VBQ0E7RVErOUJBLDBDUnA4QmE7RVFxOEJiO0FWeTlCSjtBVXY5Qkk7RUFDRTtBVnk5Qk47QVVwOUJFO0VSeitCRTtFQUNBO0VBbUJBLDBCQUZxQjtFUTA5QnJCO0VBQ0E7QVZ1OUJKO0FVbjlCRTtFUmovQkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVFrK0JyQiwwQ1J4OUJhO0VReTlCYjtBVnM5Qko7QVVsOUJFO0VSei9CRTtFQUNBO0VBbUJBLDJCQUZxQjtFUTFCdkIsMENSb0NlO0VRbkNmO0VBQ0E7QVZ5OURGO0FVdjlERTtFQUNFO0FWeTlESjtBTXAvREU7RUl1aENBO0lSei9CRTtJQUNBO0lBbUJBLGdDQUZxQjtJUWZyQjtFVjA5REY7QUFDRjtBVWgrQkU7RVI5L0JFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRKytCckIsMENScitCYTtFUXMrQmI7QVZtK0JKO0FVLzlCRTtFQUNFLDBDUjMrQmE7RVE0K0JiO0VBQ0E7QVZpK0JKO0FVNzlCRTtFUjdnQ0U7RUFDQTtFQW1CQSx3QkFGcUI7QUY2OUR6QjtBTTdnRUU7RUkyaUNBO0lSN2dDRTtJQUNBO0lBbUJBLDJCQUZxQjtJUUpyQjtFVncrREY7RVV0K0RFO0lSaEJBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRQ25CO0lBQ0E7RVZ5K0RKO0VVditESTtJQUNFO0VWeStETjtBQUNGO0FVLytCRTtFUmxoQ0U7RUFDQTtFQW1CQSxnQ0FGcUI7RVFtZ0NyQiwwQ1J6L0JhO0VRMC9CYjtBVmsvQko7QVVoL0JJO0VBQ0U7RUFDQTtBVmsvQk47QVU3K0JFO0VSL2hDRTtFQUNBO0VBbUJBLCtCQUZxQjtFUWdoQ3JCLDBDUnRnQ2E7RVF1Z0NiO0FWZy9CSjtBVTUrQkU7RVJ2aUNFO0VBQ0E7RUFtQkEsd0JBRnFCO0VRd2hDckI7QVYrK0JKO0FVMytCRTtFUjlpQ0U7RUFDQTtFQW1CQSxnQ0FGcUI7RVEraENyQjtFQUNBLDBDUnRoQ2E7RVF1aENiO0VBQ0E7QVY4K0JKO0FVMStCRTtFUnhqQ0U7RUFDQTtFQW1CQSxnQ0FGcUI7RVF5aUNyQiwwQ1IvaENhO0VRZ2lDYjtFQUNBO0FWNitCSjtBVTMrQkk7RUFDRTtBVjYrQk47QVV4K0JFO0VScmtDRTtFQUNBO0VBbUJBLGdDQUZxQjtFUXNqQ3JCO0FWMitCSjtBVXorQkk7RUFDRTtBVjIrQk47O0FNcGxFRTtFSXVuQ0k7SUFDRTtFVmkrQk47RVUvOUJNO0lSeGtDSiw4QkFGcUI7RUY0aUV2QjtFVTU5Qkk7SUFDRTtFVjg5Qk47RVU1OUJNO0lBQ0U7RVY4OUJSO0FBQ0Y7QU1ubUVFO0VJK29DRTtJUmpuQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7SVFrbUNuQjtFVnc5Qko7RVVwOUJFO0lBQ0U7RVZzOUJKOztFVWg5QkU7SVIvbkNBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRZ25DbkI7RVZvOUJKO0VVaDlCRTtJQUNFO0VWazlCSjtFVTk4QkU7SVIzb0NBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRNG5DbkI7RVZpOUJKO0VVLzhCSTtJUmhwQ0Y7SUFDQTtJQW1CQSxnQ0FGcUI7SVFpb0NqQjtFVms5Qk47O0VVMzhCRTtJUjFwQ0E7SUFDQTtJUTJwQ0U7RVYrOEJKO0VVMzhCRTtJUmhxQ0E7SUFDQTtJQW1CQSwrQkFGcUI7SVFpcENuQjtFVjg4Qko7RVUxOEJFO0lSbnBDQSxnQ0FGcUI7RUZrbUV2QjtFVXg4QkU7SVI1cUNBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRNnBDbkI7RVYyOEJKO0VVejhCSTtJUmpyQ0Y7SUFDQTtJQW1CQSxnQ0FGcUI7SVFrcUNqQjtFVjQ4Qk47RVV2OEJFO0lSenJDQTtJQUNBO0lBbUJBLCtCQUZxQjtJUTBxQ25CO0VWMDhCSjtFVXQ4QkU7SVJoc0NBO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGeW5FdkI7RVVwOEJFO0lSdnNDQTtJQUNBO0lBbUJBLCtCQUZxQjtJUXdyQ25CO0lBQ0E7RVZ1OEJKOztFVWo4QkU7SVJqdENBO0lBQ0E7SUFtQkEsMkJBRnFCO0lRa3NDbkI7RVZxOEJKO0VVajhCRTtJUnh0Q0E7SUFDQTtJQW1CQSwrQkFGcUI7RUY0b0V2Qjs7RVU3N0JFO0lSanVDQTtJQUNBO0lBbUJBLCtCQUZxQjtFRmtwRXZCO0VVNzdCRTtJUnZ1Q0E7SUFDQTtJQW1CQSwrQkFGcUI7RUZ1cEV2Qjs7RVUxN0JFO0lSL3VDQTtJQUNBO0lBbUJBLDJCQUZxQjtJUWd1Q25CO0VWODdCSjtFVTE3QkU7SVJ0dkNBO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGbXFFdkI7RVV6N0JFO0lSNXZDQTtJQUNBO0lBbUJBLCtCQUZxQjtJUTZ1Q25CO0VWNDdCSjtFVXg3QkU7SVJud0NBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRb3ZDbkI7RVYyN0JKO0VVdjdCRTtJUjF3Q0E7SUFDQTtJQW1CQSwrQkFGcUI7RUZvckV2QjtFVXQ3QkU7SVJoeENBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRaXdDbkI7RVZ5N0JKO0VVcjdCRTtJUnZ4Q0E7SUFDQTtJQW1CQSwrQkFGcUI7SVF3d0NuQjtFVnc3Qko7RVV0N0JJO0lBQ0U7RVZ3N0JOO0VVbjdCRTtJUmx5Q0E7SUFDQTtJQW1CQSxnQ0FGcUI7SVFteENuQjtFVnM3Qko7RVVsN0JFO0lBQ0UsMENSOXdDVztJUSt3Q1g7SUFDQTtFVm83Qko7RVVoN0JFO0lBQ0UsMENScnhDVztJUXN4Q1g7SUFDQTtFVms3Qko7RVU5NkJFO0lSdnpDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRnd0RXZCO0VVNzZCRTtJUjd6Q0E7SUFDQTtJQW1CQSwwQkFGcUI7SVE4eUNuQiwwQ1JweUNXO0lRcXlDWDtJQUNBO0VWZzdCSjtFVTk2Qkk7SUFDRTtJQUNBO0VWZzdCTjtFVTM2QkU7SVIzMENBO0lBQ0E7SVE0MENFO0lBQ0E7RVY4NkJKO0VVMTZCRTtJUmwxQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUYrdUV2QjtFVXg2Qkk7SVJ6MUNGO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRMDBDakI7RVYyNkJOO0VVcjZCRTtJUmwyQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7SVFtMUNuQjtFVnc2Qko7RVVwNkJFO0lScjFDQSwrQkFGcUI7RUY4dkV2QjtFVWg2Qk07SVI1MUNKLDhCQUZxQjtFRml3RXZCO0VVLzVCUTtJUnAzQ047SUFDQTtJQW1CQSxnQ0FGcUI7SVFxMkNiO0lBQ0E7RVZrNkJWOztFVXo1QkU7SVJqNENBO0lBQ0E7SUFtQkEsMkJBRnFCO0VGOHdFdkI7RVUxNUJJO0lSdDRDRjtJQUNBO0VGbXlFRjtFVXY1QkU7SVI3NENBO0lBQ0E7SVE4NENFO0VWMDVCSjtFVXg1Qkk7SUFDRTtFVjA1Qk47RVVqNUJJO0lSMzVDRjtJQUNBO0lBbUJBLDhCQUZxQjtJUTg0Q2pCO0VWazVCTjtFVTk0Qkk7SVJwNkNGO0lBQ0E7SUFtQkEsMkJBRnFCO0lRcTVDakI7RVZpNUJOO0VVNTRCRTtJUjU2Q0E7SUFDQTtJQW1CQSwyQkFGcUI7SVE2NUNuQjtFVis0Qko7RVUzNEJFO0lSbjdDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRml6RXZCO0VVMTRCRTtJUno3Q0E7SUFDQTtJQW1CQSwrQkFGcUI7RUZzekV2QjtFVXo0QkU7SVIvN0NBO0lBQ0E7RUYyMEVGO0VVeDRCRTtJUnA4Q0E7SUFDQTtJQW1CQSxnQ0FGcUI7SVFxN0NuQjtFVjI0Qko7RVV2NEJFO0lSMzhDQTtJQUNBO0lBbUJBLGdDQUZxQjtJUTQ3Q25CO0VWMDRCSjtFVXg0Qkk7SVJoOUNGO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRaThDakI7RVYyNEJOO0VVdDRCRTtJUnA4Q0EsMkJBRnFCO0lReThDbkI7RVZ1NEJKO0VVcjRCSTtJUjc5Q0Y7SUFDQTtJQW1CQSxnQ0FGcUI7SVE4OENqQjtFVnc0Qk47RVVuNEJFO0lScitDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRjIxRXZCO0VVcDRCSTtJUnorQ0Y7SUFDQTtJQW1CQSx3QkFGcUI7SVEwOUNqQjtJQUNBO0VWdTRCTjtFVWo0Qkk7SVJuL0NGO0lBQ0E7SVFvL0NJO0VWbzRCTjtFVXYzQkk7SVJsZ0RGO0lBQ0E7SUFtQkEsd0JBRnFCO0lRdy9DakI7RVZxM0JOO0VVbjNCTTtJUjVnREo7SUFDQTtJQW1CQSw2QkFGcUI7SVE2L0NmO0lBQ0E7SUFDQTtFVnMzQlI7RVVoM0JJO0lSdmhERjtJQUNBO0VGMDRFRjtFVWgzQk07SUFDRTtFVmszQlI7RVU3MkJJO0lSamlERjtJQUNBO0VGaTVFRjtFVTUyQkk7SVJ0aURGO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRdWhEakI7RVYrMkJOO0VVNzJCTTtJUjNpREo7SUFDQTtJUTRpRE07RVZnM0JSO0VVMzJCSTtJUmxqREY7SUFDQTtJQW1CQSx3QkFGcUI7SVFtaURqQjtFVjgyQk47RVVwMkJNO0lSL2pESjtJQUNBO0lBbUJBLDhCQUZxQjtJUWdqRGY7RVZ1MkJSO0VVajJCRTtJUnhrREE7SUFDQTtJQW1CQSwrQkFGcUI7SVF5akRuQjtFVm8yQko7RVVoMkJFO0lSL2tEQTtJQUNBO0lBbUJBLDhCQUZxQjtJUWdrRG5CO0VWbTJCSjtFVS8xQkU7SVJ0bERBO0lBQ0E7SUFtQkEsd0JBRnFCO0lRdWtEbkI7RVZrMkJKO0VVOTFCRTtJUjdsREE7SUFDQTtJQW1CQSx3QkFGcUI7RUY4NkV2QjtFVTcxQkU7SVJubURBO0lBQ0E7SUFtQkEsMkJBRnFCO0lRb2xEbkI7RVZnMkJKO0VVNTFCRTtJUjFtREE7SUFDQTtJQW1CQSwyQkFGcUI7RUZ5N0V2QjtFVTMxQkU7SVJobkRBO0lBQ0E7SUFtQkEsMkJBRnFCO0lRaW1EbkI7RVY4MUJKO0VVMTFCRTtJUnZuREE7SUFDQTtJQW1CQSxnQ0FGcUI7RUZvOEV2QjtFVTMxQkk7SVIzbkRGO0lBQ0E7SUFtQkEsOEJBRnFCO0VGeThFdkI7RVV6MUJFO0lBQ0U7RVYyMUJKO0VVdjFCRTtJUnZvREE7SUFDQTtJQW1CQSwrQkFGcUI7RUZpOUV2QjtBQUNGO0FNbGdGRTtFSStxREU7SVJqcERBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRa29EbkI7RVZ1MUJKOztFVWoxQkU7SVIxcERBO0lBQ0E7SVEycERFO0lBQ0E7RVZxMUJKO0FBQ0Y7QU1qaEZFO0VJbXNERTtJUnJxREE7SUFDQTtJQW1CQSxnQ0FGcUI7RUZ1K0V2QjtBQUNGO0FNeGhGRTtFSTZzREU7SVIvcURBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRZ3FEbkI7RVYrMEJKO0FBQ0Y7QU1oaUZFO0VJd3RERTtJUjFyREE7SUFDQTtJQW1CQSxnQ0FGcUI7SVEycURuQjtFVjQwQko7QUFDRjtBTXhpRkU7RUltdURFO0lScnNEQTtJQUNBO0lBbUJBLCtCQUZxQjtJUXNyRG5CO0VWeTBCSjs7RVVuMEJFO0lSOXNEQTtJQUNBO0lBbUJBLDhCQUZxQjtFRnFnRnZCO0FBQ0Y7QU10akZFO0VJc3ZERTtJUnh0REE7SUFDQTtJQW1CQSxnQ0FGcUI7SVF5c0RuQjtFVm8wQko7QUFDRjtBTTlqRkU7RUlpd0RFO0lSbnVEQTtJQUNBO0lBbUJBLGdDQUZxQjtFRm9oRnZCO0FBQ0Y7QVdqbEZBO0VBQ0U7QVhtbEZGOztBVy9rRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQW5CbUI7RUFvQm5CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDhCQS9CeUI7RUFnQ3pCLGtCQTdCYztFQThCZDtBWGtsRkY7O0FXOWtGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QkEzQ3lCO0VBNEN6QjtFQUNBO0VBQ0E7RUFDQTtBWGlsRkY7O0FXN2tGQTtFQUNFO0lBQ0U7RVhnbEZGO0VXN2tGQTtJQUNFO0VYK2tGRjtBQUNGOztBV3RsRkE7RUFDRTtJQUNFO0VYZ2xGRjtFVzdrRkE7SUFDRTtFWCtrRkY7QUFDRjtBV3hrRkU7Ozs7O0VBRUU7RUFDQTtFQUNBO1VBQUE7RUFDQSwrQkFqRWU7VUFpRWYsdUJBakVlO0VBa0VmO1VBQUE7RUFDQTtVQUFBO0VBQ0EsMEJBbkVZO1VBbUVaLGtCQW5FWTtBWGdwRmhCOztBV3RrRkU7Ozs7O0VBRUU7VUFBQTtBWDRrRko7O0FXcmtGRTs7O0VBQ0U7QVgwa0ZKOztBV2xrRkU7OztFQUNFO0VBQ0E7RUFDQTtBWHVrRko7QVdwa0ZFOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHVDQTdHdUI7QVhxckYzQjs7QVdua0ZFO0VBQ0U7RUFDQTtFQUNBO0FYc2tGSjs7QVdsa0ZBO0VBQ0U7QVhxa0ZGOztBVzlqRkU7OztFQUNFO0VBQ0E7RUFDQTtBWG1rRko7QVdoa0ZFOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG9DQTVJdUI7QVhndEYzQjs7QVcvakZFO0VBQ0U7RUFDQTtFQUNBO0FYa2tGSjs7QVc5akZBO0VBQ0U7QVhpa0ZGOztBVzdqRkE7O0VBRUU7VUFBQTtBWGdrRkY7O0FXM2pGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO1VBQUE7QVg4akZKO0FXM2pGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUNBaEx1QjtBWDZ1RjNCOztBV3ZqRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0FYMGpGSjtBV3ZqRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNDQWxNdUI7QVgydkYzQjs7QVdsakZFOztFQUNFO0VBQ0E7QVhzakZKOztBV2pqRkU7RUFDRTtBWG9qRko7O0FXL2lGRTtFQUNFO0FYa2pGSjs7QVc1aUZFOztFQUNFO0VBQ0E7QVhnakZKOztBVzNpRkU7RUFDRTtBWDhpRko7O0FXemlGRTtFQUNFO0FYNGlGSjs7QVdwaUZFO0VBRUU7RUFDQTtFQUNBO1VBQUE7RUFDQSwrQkFuUGU7VUFtUGYsdUJBblBlO0VBb1BmO1VBQUE7RUFDQTtVQUFBO0VBQ0EsMEJBclBZO1VBcVBaLGtCQXJQWTtBWDJ4RmhCO0FXbGlGSTtFQUNFO0FYb2lGTjs7QVlseUZBO0VBQ0UsY1ZPWTtBRjh4RmQ7O0FZbHlGQTtFQUNFO0VBQ0EsbUJWR2M7QUZreUZoQjs7QVlseUZBOztFQUVFO0VBQ0E7RUFDQTtBWnF5RkY7QVlueUZFOztFQUNFO1VBQUE7QVpzeUZKOztBWWx5RkE7RUFDRTtNQUFBO1VBQUE7QVpxeUZGOztBWWx5RkE7RUFDRTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtBWnF5RkY7QVlueUZFO0VBTEY7SUFNRztJQUFBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7UUFBQTtZQUFBO0Vac3lGRDtBQUNGO0FZcHlGRTtFQUNFO0Fac3lGSjtBWW55RkU7RUFDRTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0FacXlGSjtBWW55Rkk7RUFORjtJQU9JO0Vac3lGSjtBQUNGO0FZcHlGSTtFQUNFO0Fac3lGTjtBWXB5Rk07RUFIRjtJQUlJO0VadXlGTjtBQUNGO0FZcHlGSTtFQUNFO0Fac3lGTjtBWWx5RkU7RUFDRTtFQUFBO0VBQ0E7QVpveUZKO0FZbHlGSTtFQUNFO0Fab3lGTjtBWWx5Rk07RUFIRjtJQUlJO0VacXlGTjtBQUNGO0FZbHlGSTtFQUNFO0Fab3lGTjs7QWF4MkZBO0VBQ0UsbUNYdUVpQjtFV3RFakI7RUFDQTtFQUVBO0VBQ0E7QWIwMkZGOztBYXQyRkE7O0VBRUUsMENYMERlO0FGK3lGakI7O0FhdDJGQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0JFLDBDWCtCZTtBRjAwRmpCOztBYXQyRkE7Ozs7Ozs7Ozs7OztFQVlFO0VBQ0E7QWJ5MkZGOztBYXQyRkE7RVhoQkk7RUFDQTtFQW1CQSxnQ0FGcUI7QUYwMkZ6QjtBTTE1RkU7RU84Q0Y7SVhoQkk7SUFDQTtJQW1CQSxnQ0FGcUI7SVdLckI7RWI0MkZGO0FBQ0Y7O0FhejJGQTtFWDNCSTtFQUNBO0VBbUJBLGdDQUZxQjtBRnczRnpCO0FNeDZGRTtFT3lERjtJWDNCSTtJQUNBO0lBbUJBLGdDQUZxQjtJV2dCckI7RWIrMkZGO0FBQ0Y7O0FhNTJGQTs7RVh0Q0k7RUFDQTtFQW1CQSxnQ0FGcUI7RVd3QnZCO0FiZzNGRjtBTXg3RkU7RU9vRUY7O0lYdENJO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGKzRGdkI7QUFDRjs7QWFoM0ZBOztFWGxESTtFQUNBO0VXb0RGO0FibzNGRjtBTXY4RkU7RU9nRkY7O0lYbERJO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGODVGdkI7QUFDRjs7QWFwM0ZBOztFWDdESTtFQUNBO0VXK0RGO0FidzNGRjtBTXQ5RkU7RU8yRkY7O0lYN0RJO0lBQ0E7SUFtQkEsK0JBRnFCO0VGNjZGdkI7QUFDRjs7QWF4M0ZBOztFWHhFSTtFQUNBO0VBbUJBLDhCQUZxQjtFVzBEdkI7RUFDQTtBYjQzRkY7O0FhejNGQTs7RVhoRkk7RUFDQTtFV2tGRjtFQUNBO0VBQ0E7QWI2M0ZGOztBYXgzRkU7O0VBQ0UsMENYL0RhO0VXZ0ViO0FiNDNGSjs7QWF4M0ZBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QWIyM0ZGO0FhejNGRTs7RUFDRTtBYjQzRko7O0FhdDNGSTtFQUdFO0FidTNGTjs7QWFsM0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FicTNGRjs7QVN4aEdJOzs7Ozs7RUFpQ0Y7QVRnZ0dGO0FTeGhHSTs7Ozs7O0VBbUJGO0VBQ0E7QVQ2Z0dGO0FTNWhHTTs7Ozs7O0VBbUJKO0FUaWhHRjtBU2hpR1E7Ozs7OztFQVVOO0VBQ0E7QVQ4aEdGOztBYTU0RkE7RUFFRTtFQUNBO0FiODRGRjs7QWMxa0dBO0VBQ0U7QWQ2a0dGOztBZXJpR0E7RUFDRTtBZndpR0Y7O0FlamlHQTtFQUNFO0VBQ0E7RUFDQTtBZm9pR0Y7QWVsaUdFO0VBQ0U7RUFDQTtFQUNBO0Fmb2lHSjs7QWVoaUdBOztFYlpJO0VBQ0E7RUFtQkEsMkJBRnFCO0VhRnZCO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0FmbWlHRjs7QWVoaUdBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZm1pR0Y7O0FlamdHQTtFQUNFO0Fmb2dHRjs7QWdCMW5HQTs7RUFFRTtBaEI2bkdGO0FnQjNuR0U7Ozs7RUFFRTtBaEIrbkdKO0FnQjVuR0U7O0VBQ0U7QWhCK25HSjs7QWdCMW5HQTtFQUNFO0FoQjZuR0Y7QWdCM25HRTs7RUFFRTtBaEI2bkdKO0FnQnhuR0U7RUFDRTtBaEIwbkdKOztBZ0J0bkdBO0VBQ0U7QWhCeW5HRjtBZ0J2bkdFO0VBQ0U7RUFDQTtFQUNBO0FoQnluR0o7QWdCdm5HSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQnluR047QU1ucEdFO0VVK0JFO0lBQ0U7RWhCdW5HSjtBQUNGOztBZ0JubkdBO0VBQ0U7RUFDQTtFQUNBO0FoQnNuR0Y7QWdCcG5HRTtFQUNFO0VBQ0E7QWhCc25HSjtBZ0JwbkdJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJzbkdOO0FNNXFHRTtFVXFDRjtJQXNCSTtFaEJxbkdGO0VnQm5uR0U7SUFDRTtFaEJxbkdKO0VnQm5uR0k7SUFDRTtFaEJxbkdOO0VnQmpuR0U7SUFDRTtFaEJtbkdKO0VnQmpuR0k7SUFDRTtJQUNBO0lBQ0E7RWhCbW5HTjtFZ0JqbkdNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWhCbW5HUjtBQUNGOztBaUJ4dEdBO0VBQ0U7QWpCMnRHRjtBaUJ6dEdFOztFQUVFO0VBQ0E7QWpCMnRHSjtBaUJ2dEdJO0VmdUNBO0VBQ0E7RUFtQkEsd0JBRnFCO0VRY3ZCLDBDUkplO0VROEJmO0VBQ0E7RU9oR0k7RUFDQTtFQUNBO0FqQjh0R047QVV6cEdFO0VBQ0U7RUFDQTtBVjJwR0o7QU03dEdFO0VXVEU7SWZ1Q0E7SUFDQTtJQW1CQSwyQkFGcUI7SVF3QnJCO0VWNHBHRjtFVTFwR0U7SVI1Q0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUZ5ckd2QjtBQUNGO0FpQjF1R0k7RWY4QkE7RUFDQTtFQW1CQSx3QkFGcUI7RVFjdkIsMENSSmU7RVF5QmY7RU9qRkk7RUFDQTtBakJndkdOO0FVbnJHRTtFQUNFO0VBQ0E7QVZxckdKO0FNdnZHRTtFV0FFO0lmOEJBO0lBQ0E7SUFtQkEsMkJBRnFCO0lRd0JyQjtFVnNyR0Y7RVVwckdFO0lSNUNBO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGbXRHdkI7QUFDRjtBaUIvdkdNO0VBQ0U7QWpCaXdHUjtBaUIxdkdROztFQUNFO0FqQjZ2R1Y7QWlCeHZHUTtFQUNFO0FqQjB2R1Y7QWlCcnZHSTtFZktBO0VBQ0E7RUFtQkEsd0JBRnFCO0VRY3ZCLDBDUkplO0FGMHRHakI7QVVwdEdFO0VBQ0U7RUFDQTtBVnN0R0o7QU14eEdFO0VXeUJFO0lmS0E7SUFDQTtJQW1CQSwyQkFGcUI7SVF3QnJCO0VWdXRHRjtFVXJ0R0U7SVI1Q0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUZvdkd2QjtBQUNGO0FpQnh3R0k7O0VBRUU7RUFDQTtFQUNBO0FqQjB3R047QWlCeHdHTTs7RUFDRTtBakIyd0dSO0FNL3lHRTtFV25CRjtJQTZESTtFakJ5d0dGO0VpQnZ3R0U7SUFFRTtZQUFBO0VqQnd3R0o7QUFDRjs7QWtCanpHQTtFQW5CSTtBbEJ3MEdKO0FNM3pHRTtFWU1GO0lBZE07RWxCdTBHSjtBQUNGO0FNaDBHRTtFWU1GO0lBVEk7SUFDQTtJQUdFO0VsQnEwR0o7QUFDRjs7QW1CMTFHQTtFQUNFO0VBQ0E7RUFDQTtBbkI2MUdGOztBb0J4MUdBO0VDQ0U7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQjIxR0Y7O0FvQjMxR0E7RUNIRTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCazJHRjs7QU0zMUdFO0VjR0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnExR1Q7O0VvQmoyR0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjYxR1Q7O0VvQnoyR0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnEyR1Q7O0VvQmozR0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjYyR1Q7O0VvQnozR0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnEzR1Q7O0VvQmo0R0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjYzR1Q7O0VvQno0R0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnE0R1Q7O0VvQmo1R0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjY0R1Q7O0VvQno1R0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnE1R1Q7O0VvQmo2R0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjY1R1Q7O0VvQno2R0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnE2R1Q7O0VvQmo3R0U7SUNFRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjY2R1Q7QUFDRjtBTTc3R0U7RWNXRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCczdHVDs7RW9CMTdHRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCODdHVDs7RW9CbDhHRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCczhHVDs7RW9CMThHRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCODhHVDs7RW9CbDlHRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCczlHVDs7RW9CMTlHRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCODlHVDs7RW9CbCtHRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcytHVDs7RW9CMStHRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCOCtHVDs7RW9CbC9HRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcy9HVDs7RW9CMS9HRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCOC9HVDs7RW9CbGdIRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCc2dIVDs7RW9CMWdIRTtJQ05GO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCOGdIVDtBQUNGO0F1Qm5qSEE7RUFDRTtFQUNBO0VBQ0E7QXZCcWpIRjtBdUJsakhFO0VBQ0U7QXZCb2pISjtBdUJqakhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0F2Qm1qSEo7QXVCaGpISTtFQUNFO0F2QmtqSE47QXVCL2lISTtFQUNFO0VBQ0E7RUFDQTtBdkJpakhOO0F1QjlpSE07RUFDRTtBdkJnakhSO0F1QjVpSEk7RUFDRTtFQUNBO0F2QjhpSE47QXVCM2lISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7QXZCNmlITjtBdUJ6aUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QXZCMmlISjtBdUJ6aUhJO0VBQ0U7RUFDQTtVQUFBO0F2QjJpSE47QXVCdGlISTtFQUNFO0F2QndpSE47O0F1Qm5pSEE7RUFDRTtFQUNBO0F2QnNpSEY7O0F1Qm5pSEE7RUFDRTtJQUNFO1lBQUE7RXZCc2lIRjtBQUNGOztBdUJ6aUhBO0VBQ0U7SUFDRTtZQUFBO0V2QnNpSEY7QUFDRjtBd0JsbkhFO0VBQ0U7QXhCb25ISjs7QXdCN2xIRTtFQUNFO0F4QmdtSEo7QXdCeGxISTtFQUNFO0F4QjBsSE47O0F3QnJqSEU7RUFDRTtBeEJ3akhKOztBeUIxbUhFO0VBQ0U7RUFDQTtBekI2bUhKO0F5QjNtSEk7RUFFRTtFQUNBO0F6QjRtSE47QXlCem1ISTtFQUNFO0VBQ0E7QXpCMm1ITjtBeUJqbUhNO0VwQkZKO0FMc21IRjtBeUIvbEhJO0VBQ0U7TUFBQTtVQUFBO0VBQ0E7QXpCaW1ITjtBeUI5bEhJO0VBQ0U7QXpCZ21ITjtBeUI3bEhRO0VBQ0U7QXpCK2xIVjtBeUI3bEhVO0VBQ0U7QXpCK2xIWjtBeUJ2bEhJO0VBQ0U7QXpCeWxITjtBeUJ0bEhRO0VBQ0U7QXpCd2xIVjtBeUJqbEhJO0VBQ0U7QXpCbWxITjtBeUJobEhRO0VBQ0U7QXpCa2xIVjtBeUI1a0hFO0VBQ0U7QXpCOGtISjtBeUI1a0hJO0VBQ0U7TUFBQTtVQUFBO0VBQ0E7QXpCOGtITjtBeUIza0hJO0VBQ0U7QXpCNmtITjtBeUIxa0hRO0VBQ0U7QXpCNGtIVjtBeUIxa0hVO0VBQ0U7QXpCNGtIWjtBeUJwa0hJO0VBQ0U7QXpCc2tITjtBTWpySEU7RW1CZ0lJO0lBQ0U7RXpCb2pITjtFeUJoakhNO0lBRUU7RXpCaWpIUjtFeUI1aUhNO0lBQ0U7RXpCOGlIUjtFeUJ4aUhFO0lBQ0U7RXpCMGlISjtFeUJ4aUhJO0lBQ0U7SUFDQTtJQUF3QjtJQUN4QjtFekIyaUhOO0V5QnZpSE07SUFDRTtFekJ5aUhSO0V5QnBpSE07SUFDRTtFekJzaUhSO0V5QmhpSFE7SUFDRTtFekJraUhWO0V5QjFoSFU7SUFDRTtJQUNBO0V6QjRoSFo7RXlCcGhIRTtJQUNFO0lBQ0E7RXpCc2hISjtFeUJwaEhJO0lBQ0U7SUFDQTtFekJzaEhOO0V5QnBoSE07SUFDRTtJQUFBO0lBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtFekJzaEhSO0V5QnBoSFE7SUFDRTtFekJzaEhWO0V5QmhoSE07SUFDRTtFekJraEhSO0V5QjVnSEk7SUFDRTtFekI4Z0hOO0V5QjNnSFE7SUFDRTtFekI2Z0hWO0V5QnRnSEU7SUFDRTtFekJ3Z0hKO0V5QnRnSEk7SUFDRTtJQUNBO0V6QndnSE47RXlCcGdITTtJQUNFO0V6QnNnSFI7RXlCamdITTtJQUNFO0V6Qm1nSFI7RXlCNy9HUTtJQUNFO0V6QisvR1Y7RXlCdi9HVTtJQUNFO0lBQ0E7RXpCeS9HWjtBQUNGOztBMEIxdkhFO0VBQ0U7RUFDQTtBMUI2dkhKO0EwQnp2SEk7RUFDRTtBMUIydkhOO0EwQnZ2SEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQnl2SEo7QTBCdnZISTtFQUNFO0ExQnl2SE47QTBCdnZITTtFQUNFO0VBQ0E7QTFCeXZIUjtBMEJwdkhNO0VBQ0U7QTFCc3ZIUjtBMEJqdkhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJtdkhKO0EwQmh2SEU7RUFDRTtBMUJrdkhKO0FNbHlIRTtFb0JxRUU7SUFDRTtFMUJndUhKO0UwQjd0SEU7SUFDRTtFMUIrdEhKO0FBQ0Y7O0EyQjd5SEU7RUFDRTtFQUNBO0EzQmd6SEo7QTJCenlIRTtFQUNFO0EzQjJ5SEo7QTJCeHlIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzQjB5SEo7QTJCdnlIRTtFQUNFO0VBQ0E7QTNCeXlISjtBMkJ0eUhFO0VBQ0U7QTNCd3lISjtBMkJueUhNO0VBQ0U7QTNCcXlIUjtBMkJueUhRO0VBQ0U7QTNCcXlIVjtBTXIwSEU7RXFCd0RFO0lBQ0U7SUFDQTtFM0JneEhKO0UyQjd3SEU7SUFDRTtJQUNBO0lBQ0E7RTNCK3dISjtFMkI1d0hFO0lBQ0U7SUFDQTtFM0I4d0hKO0UyQnp3SE07SUFDRTtFM0Iyd0hSO0UyQnp3SFE7SUFDRTtFM0Iyd0hWO0FBQ0Y7QTJCcndIRTtFQTlGRjtJQStGSTtJQUNBO0lBQ0E7SUFDQTtFM0J3d0hGO0UyQnR3SEU7SUFDRTtFM0J3d0hKO0UyQmx3SEk7SUFDRTtFM0Jvd0hOO0UyQmx3SE07SUFDRTtFM0Jvd0hSO0FBQ0Y7O0E0Qm4ySEE7RUFNRTtBNUJpMkhGO0E0QjMxSEU7RUFDRTtBNUI2MUhKOztBNkJ4MkhJO0VBQ0U7QTdCMjJITjtBNkJqMkhJO0VBQ0U7RUFDQTtFQUNBO0E3Qm0ySE47QTZCaDJISTtFQUNFO0VBQ0E7QTdCazJITjtBNkIvMUhJO0VBQ0U7QTdCaTJITjtBNkI1MUhJO0VBQ0U7RUFDQTtFQUNBO0E3QjgxSE47QTZCMzFISTtFQUNFO0E3QjYxSE47QTZCejFIRTtFQUNFO0VBQ0E7QTdCMjFISjtBNkJ2MUhJO0VBQ0U7RUFDQTtFQUNBO0E3QnkxSE47QU1uNUhFO0V1QmdGSTtJQUNFO0lBQ0E7RTdCczBITjtFNkJqMEhJO0lBQ0U7RTdCbTBITjtFNkI5ekhJO0lBQ0U7SUFDQTtFN0JnMEhOO0U2QjN6SEk7SUFDRTtFN0I2ekhOO0U2Qnh6SFE7SUFDRTtFN0IwekhWOztFNkJwekhFO0lBQ0U7RTdCdXpISjtFNkJuekhJO0lBQ0U7SUFDQTtFN0JxekhOO0U2Qmx6SEk7SUFDRTtFN0JvekhOO0U2Qi95SEk7SUFDRTtJQUNBO0U3Qml6SE47RTZCOXlISTtJQUNFO0U3Qmd6SE47RTZCNXlIRTtJQUNFO0U3Qjh5SEo7RTZCNXlISTtJQUNFO0lBQ0E7RTdCOHlITjtFNkIzeUhJO0lBQ0U7RTdCNnlITjtFNkIzeUhNO0lBQ0U7RTdCNnlIUjtBQUNGOztBOEJ0OEhBO0VBTUU7RUFDQTtBOUJvOEhGO0E4Qjk3SEU7RUFDRTtBOUJnOEhKO0E4Qjc3SEU7RUFDRTtBOUIrN0hKO0E4Qjc3SEk7RUFDRTtBOUIrN0hOO0E4QjE3SEU7RUFDRTtBOUI0N0hKO0E4Qno3SEU7RUFDRTtBOUIyN0hKO0E4Qng3SEU7RUFDRTtFQUNBO0E5QjA3SEo7QThCdjdIRTtFQUNFO0VBQ0E7QTlCeTdISjtBOEJwN0hNO0VBQ0U7QTlCczdIUjtBOEI5NkhJO0VBQ0U7QTlCZzdITjtBOEJ0NkhNO0VBQ0U7RUFDQTtBOUJ3NkhSO0E4Qmo2SE07RUFDRTtFQUNBO0E5Qm02SFI7QU0vK0hFO0V3QmlHRTtJQUNFO0U5Qmk1SEo7RThCOTRIRTtJQUNFO0lBQ0E7RTlCZzVISjtFOEI5NEhJO0lBQ0U7RTlCZzVITjtFOEI1NEhFO0lBQ0U7RTlCODRISjtFOEIzNEhFO0lBQ0U7RTlCNjRISjtFOEJ0NEhNOzs7SUFFRTtFOUJ5NEhSO0U4Qm40SEk7SUFDRTtFOUJxNEhOO0U4Qmw0SEk7SUFDRTtJQUNBO0U5Qm80SE47RThCbDRITTtJQUNFO0U5Qm80SFI7RThCLzNITTtJQUNFO0lBQ0E7RTlCaTRIUjtFOEIvM0hRO0lBQ0U7RTlCaTRIVjtFOEIxM0hJO0lBQ0U7RTlCNDNITjtFOEJ6M0hJO0lBQ0U7SUFDQTtFOUIyM0hOO0U4QnozSE07SUFDRTtFOUIyM0hSO0U4QnQzSE07SUFDRTtJQUNBO0U5QnczSFI7RThCdDNIUTtJQUNFO0U5QnczSFY7QUFDRjs7QStCN2hJRTtFQUNFO0VBQ0E7QS9CZ2lJSjtBK0I3aElFO0VBQ0U7QS9CK2hJSjtBK0I1aElFO0VBQ0U7QS9COGhJSjtBK0J0aElJO0VBQ0U7QS9Cd2hJTjtBTXRqSUU7RXlCa0RFO0lBQ0U7RS9CdWdJSjtFK0JwZ0lFO0lBQ0U7RS9Cc2dJSjtFK0JuZ0lFO0lBQ0U7SUFDQTtFL0JxZ0lKO0UrQmxnSUU7SUFDRTtJQUNBO0UvQm9nSUo7QUFDRjs7QWdDM2pJRTtFQUNFO0VBQ0E7QWhDOGpJSjtBTTNrSUU7RTBCbUNFO0lBQ0U7SUFDQTtFaEMyaUlKO0FBQ0Y7O0FpQ2psSUU7RUFDRTtBakNvbElKO0FpQ2psSUU7RUFDRTtFQUNBO0FqQ21sSUo7QU16bElFO0UyQmdCRTtJQUNFO0VqQzRrSUo7RWlDemtJRTtJQUNFO0lBQ0E7RWpDMmtJSjtFaUN6a0lJO0lBQ0U7RWpDMmtJTjtFaUN2a0lJO0lBQ0U7RWpDeWtJTjtFaUN2a0lNO0lBQ0U7RWpDeWtJUjtBQUNGOztBa0NobUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtVQUFBO0FsQ21tSUo7QWtDam1JSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7QWxDbW1JTjtBa0MvbElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDaW1JSjs7QW1DMW9JRTtFQUNFO0VBQ0E7QW5DNm9JSjtBbUMxb0lFO0VBQ0U7QW5DNG9JSjtBbUN6b0lFO0VBQ0U7QW5DMm9JSjtBbUN6b0lJO0VBQ0U7QW5DMm9JTjtBbUN0b0lJO0VBQ0U7QW5Dd29JTjtBTTNwSUU7RTZCMEJJO0lBQ0U7RW5Db29JTjtFbUNob0lNO0lBQ0U7RW5Da29JUjtFbUM1bklJO0lBQ0U7RW5DOG5JTjtFbUMxbklNO0lBQ0U7RW5DNG5JUjtBQUNGO0FNenFJRTtFNkJ5REU7SUFDRTtFbkNtbklKO0VtQ2puSUk7SUFDRTtFbkNtbklOO0FBQ0Y7O0FvQ2hySUE7RUFNRTtBcEM4cUlGO0FvQ3hxSUU7RUFDRTtBcEMwcUlKO0FvQ3RxSU07RUFDRTtBcEN3cUlSO0FvQ3JxSU07RUFDRTtBcEN1cUlSO0FvQ3BxSU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcENzcUlSO0FvQ2xxSUk7RUFDRTtBcENvcUlOO0FvQ2pxSUk7RUFDRTtBcENtcUlOO0FvQzNwSUU7RUFDRTtBcEM2cElKO0FNN3NJRTtFOEJDRjtJQWlFSTtFcEMrb0lGO0VvQzdvSUU7SUFLRTtJQUNBO0VwQzJvSUo7RW9DeG9JRTtJQUNFO0VwQzBvSUo7RW9DeG9JSTtJQUNFO0VwQzBvSU47RW9Ddm9JSTtJQUNFO0lBQ0E7RXBDeW9JTjtFb0N2b0lNO0lBQ0U7RXBDeW9JUjtFb0N0b0lNO0lBQ0U7SUFDQTtFcEN3b0lSO0VvQ3RvSVE7SUFDRTtFcEN3b0lWO0VvQ25vSUk7SUFDRTtFcENxb0lOO0VvQ25vSU07SUFDRTtFcENxb0lSO0VvQ2xvSU07SUFDRTtFcENvb0lSO0FBQ0Y7O0FxQ2x2SUE7RUFNRTtBckNndklGO0FxQzF1SUU7RUFDRTtBckM0dUlKO0FxQ3p1SUU7RUFDRTtFQUNBO0FyQzJ1SUo7QXFDeHVJRTtFQUNFO0FyQzB1SUo7QXFDdnVJRTtFQUNFO0FyQ3l1SUo7QU1wd0lFO0UrQkNGO0lBaURJO0VyQ3N0SUY7RXFDcHRJRTtJQUNFO0VyQ3N0SUo7RXFDbnRJRTtJQUNFO0VyQ3F0SUo7QUFDRjs7QXNDOXdJQTtFakM4QkU7QUxvdklGOztBc0Nud0lNO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QXRDcXdJUjtBTTF4SUU7RWdDZ0JJO0lwQm5CRjtJQUNBO0VsQml5SUY7QUFDRjtBTWh5SUU7RWdDMkJJO0lqQnJDSjtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCOHlJQTtFSzcxSEk7SWdCcmNKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCK3hJVDtFS2gySEk7SWdCemNKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7SWpCaWNIO0VMczJITjtBQUNGO0FzQ3p4SVE7RUFFRTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QXRDd3hJVjtBc0N0eElVO0VBQ0U7QXRDd3hJWjtBc0Mvd0lNO0VBQ0U7QXRDaXhJUjtBc0N2d0lNO0VBQ0U7QXRDeXdJUjtBc0Nwd0lNO0VBQ0U7QXRDc3dJUjtBc0MvdklJO0VBQ0U7QXRDaXdJTjtBc0M3dklFO0VBQ0U7QXRDK3ZJSjtBc0M3dklJO0VBQ0U7QXRDK3ZJTjtBc0N6dklJO0VBQ0U7QXRDMnZJTjtBc0N4dklJO0VBQ0U7QXRDMHZJTjtBc0N2dklJO0VBQ0U7RUFDQTtBdEN5dklOO0FzQy91SUU7RUFDRTtBdENpdklKO0FzQy91SUk7RUFDRTtBdENpdklOO0FzQzN1SUU7RUFDRTtFQUNBO0F0QzZ1SUo7QXNDeHVJRTtFQUNFO0VBQ0E7QXRDMHVJSjtBc0N4dUlJO0VBQ0U7QXRDMHVJTjtBc0N0dUlFO0VBQ0U7RUFDQTtBdEN3dUlKO0FzQ2x1SUk7RUFDRTtBdENvdUlOO0FzQzl0SUk7RUFDRTtBdENndUlOO0FzQzd0SUk7RUFDRTtFQUNBO0VBQ0E7QXRDK3RJTjtBc0M3dElNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Qyt0SVI7QXNDMXRJUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0QzR0SVY7QXNDeHRJWTtFQUNFO0F0QzB0SWQ7QXNDcnRJUTs7RUFHRTtBdENzdElWO0FzQ250SVE7RUFDRTtFQUNBO0F0Q3F0SVY7QXNDaHRJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0Q2t0SU47QXNDL3NJSTtFQUNFO0F0Q2l0SU47QXNDOXNJSTtFQUNFO0F0Q2d0SU47QXNDM3NJSTtFQUNFO0VBQ0E7QXRDNnNJTjtBc0Mzc0lNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QzZzSVI7QXNDdHNJSTtFQUNFO0F0Q3dzSU47QXNDcnNJSTtFQUNFO0F0Q3VzSU47QU1wN0lFO0VnQ2dRRTtJQUNFO0lBQ0E7RXRDdXJJSjtFc0NwcklFO0lBQ0U7RXRDc3JJSjtFc0NucklFO0lBQ0U7SUFDQTtFdENxcklKO0VzQ2hySU07SUFDRTtFdENrcklSO0VzQzdxSUU7SUFDRTtFdEMrcUlKO0VzQzFxSUk7SUFDRTtFdEM0cUlOO0VzQ3RxSUk7SUFDRTtFdEN3cUlOO0VzQ3JxSUk7SUFDRTtFdEN1cUlOO0VzQ25xSUU7SUFDRTtFdENxcUlKO0FBQ0Y7O0F1Q2w5SUE7RUFNRTtBdkNnOUlGO0F1Q3o4SUU7RUFFRTtBdkMwOElKO0F1Q3Y4SUU7RUFDRTtBdkN5OElKO0F1Q3Q4SUU7RUFDRTtFQUNBO0F2Q3c4SUo7QXVDcjhJSTtFQUVFO0F2Q3M4SU47QXVDbDhJRTtFQUNFO0VBQ0E7QXZDbzhJSjtBU2ovSUk7RUFpQ0Y7QVRtOUlGO0FTMytJSTtFQW1CRjtFQUNBO0FUMjlJRjtBUzErSU07RUFtQko7QVQwOUlGO0FTeitJUTtFQVVOO0VBQ0E7QVRrK0lGO0FNdC9JRTtFaUNDRjtJQTZESTtFdkM0N0lGO0V1QzE3SUU7SUFDRTtFdkM0N0lKO0V1Q3g3SUk7SUFDRTtFdkMwN0lOO0V1Q3Y3SUk7SUFDRTtFdkN5N0lOO0V1Q3A3SVE7SUFDRTtJQUNBO0V2Q3M3SVY7RXVDaDdJRTtJQUNFO0V2Q2s3SUo7RXVDaDdJSTtJQUNFO0lBQ0E7RXZDazdJTjtFdUM3NklFO0lBRUU7RXZDODZJSjtFdUM1NklhO0lBQ1A7RXZDODZJTjs7RXVDMTZJSTtJQUNFO0lBQ0E7RXZDNjZJTjtFdUMzNkllO0lBQ1A7SUFDQTtFdkM2NklSOztFdUN4NklFO0lBQ0U7RXZDMjZJSjtBQUNGOztBdUN2NklBO0VBQ0U7QXZDMDZJRjs7QXdDMWhKSTtFQUNFO0F4QzZoSk47QXdDemhKRTtFQUNFO0F4QzJoSko7QXdDdmhKSTtFQUNFO0F4Q3loSk47QXdDcmhKRTtFQUNFO0F4Q3VoSko7QU1uakpFO0VrQ0NGO0lBbURJO0V4Q21nSkY7RXdDamdKRTtJQUNFO0V4Q21nSko7RXdDaGdKRTtJQUNFO0V4Q2tnSko7RXdDLy9JRTtJQUNFO0V4Q2lnSko7RXdDNS9JRTtJQUNFO0V4QzgvSUo7RXdDNS9JSTtJQUNFO0V4QzgvSU47RXdDNS9JTTtJQUNFO0lBQ0E7RXhDOC9JUjtFd0MxL0lJO0lBQ0U7RXhDNC9JTjtFd0N6L0lJO0lBQ0U7RXhDMi9JTjtBQUNGOztBeUMxa0pFO0VBQ0U7QXpDNmtKSjtBeUN0a0pFO0VBQ0U7RUFDQTtFQUNBO0F6Q3drSko7QXlDcmtKRTtFQUNFO0F6Q3VrSko7QXlDbmtKSTtFQUNFO0F6Q3FrSk47QXlDaGtKSTtFQUNFO0F6Q2trSk47QXlDL2pKSTtFQUNFO0F6Q2lrSk47QU10bUpFO0VtQzhESTtJQUNFO0V6QzJpSk47RXlDdmlKRTtJQUNFO0V6Q3lpSko7RXlDdGlKRTtJQUNFO0lBQ0E7RXpDd2lKSjtFeUNyaUpFO0lBRUU7SUFDQTtFekNzaUpKO0FBQ0Y7O0EwQ3JuSkE7RUFNRTtFQUNBO0ExQ21uSkY7QTBDM21KSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExQzZtSk47QTBDem1KRTtFQUNFO0VBQ0E7QTFDMm1KSjtBMENwbUpJOztFQUVFO0ExQ3NtSk47QTBDbG1KTTtFQUNFO0ExQ29tSlI7QU01b0pFO0VvQ2dFRTtJQUNFO0lBQ0E7RTFDK2tKSjtBQUNGO0FNbHBKRTtFb0NDRjtJQXNFSTtFMUMra0pGO0UwQzdrSkU7SUFDRTtFMUMra0pKO0UwQzdrSkk7SUFDRTtJQUNBO0lBQ0E7RTFDK2tKTjtFMEM3a0pNO0lBQ0U7SUFDQTtJQUNBO0UxQytrSlI7RTBDdmtKTTtJQUNFO0UxQ3lrSlI7RTBDcGtKRTtJQUNFO0UxQ3NrSko7RTBDamtKTTtJQUNFO0lBQ0E7RTFDbWtKUjtFMEM5akpFO0lBQ0U7RTFDZ2tKSjtFMEMzakpNO0l4Q3ZGSjtJQUNBO0lBbUJBLGdDQUZxQjtJUWpDdkIsMENSMkNlO0lRMUNmO0lnQ3VHUTtFMUNpa0pSO0FBQ0Y7O0EyQ2xySkE7RUFNRTtBM0NnckpGO0EyQ3pxSkk7RUFDRTtBM0MycUpOO0EyQ3pxSk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCQWpDbUI7QTNDNHNKM0I7QTJDdHFKVTtFQUNFO0VBQ0E7RUFDQTtBM0N3cUpaO0EyQ3BxSlE7RUFDRTtBM0NzcUpWO0EyQ2pxSlE7RUFDRTtBM0NtcUpWO0EyQy9wSk07RUFDRTtFQUNBO0VBQ0E7QTNDaXFKUjtBMkMvcEpRO0VBQ0U7RUFDQTtBM0NpcUpWO0EyQ3ZwSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDeXBKSjtBMkN2cEpJO0VBQ0U7QTNDeXBKTjtBMkNycEpJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0NzcEpOO0EyQ25wSkk7RUFDRTtBM0NxcEpOO0EyQ2xwSkk7RUFDRTtBM0NvcEpOO0EyQ2pwSkk7RUFDRTtBM0NtcEpOO0EyQy9vSlU7RUFDRTtBM0NpcEpaO0EyQzVvSlU7RUFDRTtBM0M4b0paO0EyQ3hvSk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDMG9KUjtBMkN4b0pRO0VBQ0U7RUFDQTtBM0Mwb0pWO0EyQ3JvSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0N1b0pOO0EyQ3JvSk07RUFDRTtFQUNBO0VBQ0E7QTNDdW9KUjtBTW54SkU7RXFDa0tJO0lBQ0U7SUFDQSxpQkExS2dDO0UzQzh4SnRDO0UyQ2xuSk07SUFFRTtJQUNBLGlCQS9LOEI7RTNDa3lKdEM7RTJDL21KUTtJQUNFLGlCQXBMNEI7RTNDcXlKdEM7RTJDeG1KUTtJQUNFO0UzQzBtSlY7RTJDdG1KTTtJQUNFO0UzQ3dtSlI7RTJDdG1KUTtJQUVFO0lBQ0E7SUFDQSx1QkF2TXVCO0UzQzh5SmpDO0FBQ0Y7O0E0Q2h5SkU7RUFDRTtFQUNBO0E1Q215Sko7QTRDaHlKRTtFQUNFO0E1Q2t5Sko7QTRDL3hKRTtFQUNFO0E1Q2l5Sko7QTRDOXhKRTtFQUNFO0E1Q2d5Sko7QTRDNXhKSTtFQUNFO0E1Qzh4Sk47QU01ekpFO0VzQ3FERTtJQUNFO0lBQ0E7RTVDMHdKSjtFNEN2d0pFO0lBQ0U7RTVDeXdKSjtFNEN0d0pFO0lBQ0U7RTVDd3dKSjtBQUNGOztBNkMzdUpFO0VBeEdBO0VBQ0E7RUF5R0U7QTdDK3VKSjtBNkM1dUpFO0VBN0dBO0VBQ0E7QTdDNDFKRjtBNkM1dUpFO0VBakhBO0VBQ0E7QTdDZzJKRjtBNkM1dUpFO0VBckhBO0VBQ0E7QTdDbzJKRjtBNkM1dUpFO0VBekhBO0VBQ0E7QTdDdzJKRjtBNkM1dUpFO0VBN0hBO0VBQ0E7QTdDNDJKRjtBNkM1dUpFO0VBaklBO0VBQ0E7QTdDZzNKRjtBNkM1dUpFO0VBcklBO0VBQ0E7QTdDbzNKRjtBNkM1dUpFO0VBeklBO0VBQ0E7QTdDdzNKRjtBNkNyM0pJOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBN0N1M0pOO0E2Q3AzSkk7O0VBRUU7QTdDczNKTjtBNkNwM0pNOztFQUNFO0E3Q3UzSlI7QTZDbDNKTTtFQUNFO0E3Q28zSlI7QTZDbDNKUTtFQUNFO0E3Q28zSlY7QTZDajNKUTtFQUNFO0E3Q20zSlY7QTZDNzJKVTs7RUFFRTtBN0MrMkpaO0E2QzUySlU7RUFDRTtBN0M4MkpaO0E2Q3YySk07RUFDRTtBN0N5MkpSO0E2Q3YySlE7RUFDRTtBN0N5MkpWO0E2Q24ySk07RUFDRTtBN0NxMkpSO0E2Q24ySlE7RUFDRTtBN0NxMkpWO0E2Q2gySkk7RUFDRTtBN0NrMkpOO0E2Qy8xSkk7RUFDRTtBN0NpMkpOO0E2Qy8xSk07OztFQUdFO0E3Q2kySlI7QTZDNzFKSTtFQUNFO0VBQ0E7QTdDKzFKTjtBTWw3SkU7RXVDaUlFO0lBNUlGO0lBQ0E7RTdDaThKQTtFNkM5N0pFOzs7Ozs7Ozs7Ozs7Ozs7SUFlRTtFN0NnOEpKO0U2Qzc3SkU7O0lBRUU7RTdDKzdKSjtFNkM3N0pJOztJQUNFO0U3Q2c4Sk47RTZDMzdKSTtJQUNFO0U3QzY3Sk47RTZDMzdKTTtJQUNFO0U3QzY3SlI7RTZDMTdKTTtJQUNFO0U3QzQ3SlI7RTZDdDdKUTs7SUFFRTtFN0N3N0pWO0U2Q3I3SlE7SUFDRTtFN0N1N0pWO0U2Q2g3Skk7SUFDRTtFN0NrN0pOO0U2Q2g3Sk07SUFDRTtFN0NrN0pSO0U2QzU2Skk7SUFDRTtFN0M4NkpOO0U2QzU2Sk07SUFDRTtFN0M4NkpSO0U2Q3o2SkU7SUFDRTtFN0MyNkpKO0U2Q3g2SkU7SUFDRTtFN0MwNkpKO0U2Q3g2Skk7OztJQUdFO0U3QzA2Sk47RTZDdDZKRTtJQUNFO0lBQ0E7RTdDdzZKSjtBQUNGO0FNNS9KRTtFdUN1SUU7SUFsSkY7SUFDQTtFN0MyZ0tBO0U2Q3hnS0U7Ozs7Ozs7Ozs7Ozs7OztJQWVFO0U3QzBnS0o7RTZDdmdLRTs7SUFFRTtFN0N5Z0tKO0U2Q3ZnS0k7O0lBQ0U7RTdDMGdLTjtFNkNyZ0tJO0lBQ0U7RTdDdWdLTjtFNkNyZ0tNO0lBQ0U7RTdDdWdLUjtFNkNwZ0tNO0lBQ0U7RTdDc2dLUjtFNkNoZ0tROztJQUVFO0U3Q2tnS1Y7RTZDLy9KUTtJQUNFO0U3Q2lnS1Y7RTZDMS9KSTtJQUNFO0U3QzQvSk47RTZDMS9KTTtJQUNFO0U3QzQvSlI7RTZDdC9KSTtJQUNFO0U3Q3cvSk47RTZDdC9KTTtJQUNFO0U3Q3cvSlI7RTZDbi9KRTtJQUNFO0U3Q3EvSko7RTZDbC9KRTtJQUNFO0U3Q28vSko7RTZDbC9KSTs7O0lBR0U7RTdDby9KTjtFNkNoL0pFO0lBQ0U7SUFDQTtFN0NrL0pKO0FBQ0Y7QU10a0tFO0V1QzZJRTtJQXhKRjtJQUNBO0U3Q3FsS0E7RTZDbGxLRTs7Ozs7Ozs7Ozs7Ozs7O0lBZUU7RTdDb2xLSjtFNkNqbEtFOztJQUVFO0U3Q21sS0o7RTZDamxLSTs7SUFDRTtFN0NvbEtOO0U2Qy9rS0k7SUFDRTtFN0NpbEtOO0U2Qy9rS007SUFDRTtFN0NpbEtSO0U2QzlrS007SUFDRTtFN0NnbEtSO0U2QzFrS1E7O0lBRUU7RTdDNGtLVjtFNkN6a0tRO0lBQ0U7RTdDMmtLVjtFNkNwa0tJO0lBQ0U7RTdDc2tLTjtFNkNwa0tNO0lBQ0U7RTdDc2tLUjtFNkNoa0tJO0lBQ0U7RTdDa2tLTjtFNkNoa0tNO0lBQ0U7RTdDa2tLUjtFNkM3aktFO0lBQ0U7RTdDK2pLSjtFNkM1aktFO0lBQ0U7RTdDOGpLSjtFNkM1aktJOzs7SUFHRTtFN0M4aktOO0U2QzFqS0U7SUFDRTtJQUNBO0U3QzRqS0o7QUFDRjtBNkM1L0pNO0VBL0pKO0VBQ0E7QTdDOHBLRjtBNkMzcEtJOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBN0M2cEtOO0E2QzFwS0k7O0VBRUU7QTdDNHBLTjtBNkMxcEtNOztFQUNFO0E3QzZwS1I7QTZDeHBLTTtFQUNFO0E3QzBwS1I7QTZDeHBLUTtFQUNFO0E3QzBwS1Y7QTZDdnBLUTtFQUNFO0E3Q3lwS1Y7QTZDbnBLVTs7RUFFRTtBN0NxcEtaO0E2Q2xwS1U7RUFDRTtBN0NvcEtaO0E2QzdvS007RUFDRTtBN0Mrb0tSO0E2QzdvS1E7RUFDRTtBN0Mrb0tWO0E2Q3pvS007RUFDRTtBN0Myb0tSO0E2Q3pvS1E7RUFDRTtBN0Myb0tWO0E2Q3RvS0k7RUFDRTtBN0N3b0tOO0E2Q3JvS0k7RUFDRTtBN0N1b0tOO0E2Q3JvS007OztFQUdFO0E3Q3VvS1I7QTZDbm9LSTtFQUNFO0VBQ0E7QTdDcW9LTjtBNkMxaktNO0VBQ0U7QTdDNGpLUjtBNkN2aktFO0VBRUU7QTdDd2pLSjtBTTl0S0U7RXVDb0tBO0l4QnZIRTtJQUFBO0lBQ0E7RXJCcXJLRjtBQUNGO0FNcHVLRTtFdUNvS0E7SXhCaEhFO0VyQm9yS0Y7QUFDRjtBTXp1S0U7RXVDb0tBO0l4QnpHRTtFckJrcktGO0FBQ0Y7QU05dUtFO0V1Q29LQTtJeEJsR0U7RXJCZ3JLRjtBQUNGO0E2Q3prS0U7RUFFRTtFQUNBO0E3QzBrS0o7QU12dktFO0V1QzBLQTtJeEI3SEU7SUFBQTtJQUNBO0VyQjhzS0Y7QUFDRjtBTTd2S0U7RXVDMEtBO0l4QnRIRTtFckI2c0tGO0FBQ0Y7QU1sd0tFO0V1QzBLQTtJeEIvR0U7RXJCMnNLRjtBQUNGO0FNdndLRTtFdUMwS0E7SXhCeEdFO0VyQnlzS0Y7QUFDRjtBTTV3S0U7RXVDMEtBO0lBTUk7RTdDZ21LSjtBQUNGOztBOEM1d0tFO0VBQ0U7QTlDK3dLSjs7QThDM3dLQTtFQUNFO0E5Qzh3S0Y7QThDNXdLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E5Qzh3S0o7QThDM3dLRTtFQUNFO0E5QzZ3S0o7O0ErQy93S0U7RUFDRTtBL0NreEtKO0ErQzd3S0U7RUFDRTtBL0Mrd0tKO0ErQzF3S0U7RUFDRTtBL0M0d0tKO0ErQ253S007RUFDRTtBL0Nxd0tSO0ErQ2p3S0k7RTdDaEJBO0VBQ0E7RUFtQkEsZ0NBRnFCO0U2Q0NuQjtFQUNBO0EvQ293S047QStDL3ZLSTtFQUdFO0EvQyt2S047QStDNXZLSTtFQUlFO0VBQ0E7QS9DMnZLTjtBK0N4dktJO0VBR0U7RUFDQTtBL0N3dktOO0ErQ3J2S0k7RUFJRTtFQUNBO0EvQ292S047QStDbHZLTTtFQUdFO0EvQ2t2S1I7QStDMXVLSTtFQUNFO0VBQ0E7RUFDQTtBL0M0dUtOO0ErQ3p1S1E7RUFDRTtBL0MydUtWO0ErQ3B1S007O0VBQ0U7RUFDQTtBL0N1dUtSO0FNcjFLRTtFeUN5SUU7SUFDRTtFL0Mrc0tKO0UrQzVzS0U7SUFDRTtFL0M4c0tKO0FBQ0Y7QU03MUtFO0V5Q2tKSTs7O0k3Q3BIRjtJQUNBO0lBbUJBLDJCQUZxQjtFRnF6S3ZCO0FBQ0Y7QU10MktFO0V5Q3dKSTtJQUNFO0lBQ0E7SUFDQTtFL0NpdEtOO0UrQy9zS007SUFDRTtFL0NpdEtSO0UrQy9zS1E7SUFDRTtFL0NpdEtWO0FBQ0Y7QU1uM0tFO0V5Q3NLSTtJQUNFO0lBQ0E7RS9DZ3RLTjtFK0M3c0tRO0lBQ0U7SUFDQTtJQUNBO0UvQytzS1Y7QUFDRjtBTTkzS0U7RXlDbUxJO0k3Q3JKRjtJQUNBO0lBbUJBLGdDQUZxQjtJNkNzSWpCO0UvQytzS047QUFDRjtBTXQ0S0U7RXlDMkxJO0lBQ0U7RS9DOHNLTjtBQUNGO0FNMzRLRTtFeUMrTEk7SUFDRTtJQUNBO0UvQytzS047QUFDRjtBTWo1S0U7RXlDb01JO0lBQ0U7RS9DZ3RLTjtBQUNGO0FNdDVLRTtFeUM2TU07OztJN0MvS0o7SUFDQTtJQW1CQSwyQkFGcUI7SVF4Q3JCO0VWdTVLRjtBQUNGO0FNaDZLRTtFeUNrTlE7OztJQUNFO0UvQ210S1Y7QUFDRjs7QWdENTVLRTtFQUNFO0FoRCs1S0o7QWdENzVLSTtFQUNFO0FoRCs1S047QWdEMzVLRTtFQUNFO0VBQ0E7QWhENjVLSjtBZ0QxNUtFO0VBQ0U7QWhENDVLSjtBZ0QxNUtJO0VBQ0U7RUFDQTtBaEQ0NUtOO0FnRHg1S0U7RUFDRTtBaEQwNUtKO0FNNTdLRTtFMEN3REU7SUFDRTtFaER1NEtKO0VnRHA0S0U7SUFDRTtFaERzNEtKO0VnRG40S0U7SUFDRTtFaERxNEtKO0VnRGw0S0U7SUFDRTtJQUNBO0VoRG80S0o7RWdEbDRLSTtJQUNFO0lBQ0E7RWhEbzRLTjtFZ0RsNEtNO0lBQ0U7RWhEbzRLUjtFZ0QvM0tFO0lBQ0U7RWhEaTRLSjtBQUNGOztBaURwOUtBO0VBRUU7QWpEczlLRjtBaURoOUtFO0VBQ0U7RUFDQTtBakRrOUtKO0FpRC84S0U7O0VBRUU7QWpEaTlLSjtBaUQ5OEtFO0VBQ0U7RUFDQTtBakRnOUtKO0FNcitLRTtFMkNDRjtJQThDSTtJQUdBO0VqRHc3S0Y7RWlEdDdLRTtJQUNFO0lBQ0E7RWpEdzdLSjtFaURyN0tFO0lBQ0U7RWpEdTdLSjtBQUNGOztBa0R6L0tFO0VBQ0U7QWxENC9LSjtBa0R6L0tFO0VBQ0U7RUFDQTtBbEQyL0tKO0FrRHgvS0U7RUFDRTtBbEQwL0tKO0FrRHgvS0k7RUFDRTtBbEQwL0tOO0FrRHQvS0U7RUFDRTtBbER3L0tKO0FrRHQvS0k7O0VBRUU7QWxEdy9LTjs7QW1EcGdMQTtFQUNFO0VBQ0E7RUFDQTtBbkR1Z0xGO0FtRHJnTEU7RUFDRTtFQUNBO0VBQ0E7QW5EdWdMSjtBbURwZ0xFO0VBRUU7QW5EcWdMSjtBTXJoTEU7RTZDR0Y7SUEyQ0k7RW5EMitLRjtFbUR6K0tFO0lBRUU7RW5EMCtLSjtBQUNGO0FNN2hMRTtFNkN1REU7SUFFRTtFbkR3K0tKO0FBQ0Y7QU1saUxFO0U2Q0dGO0lBMkRJO0VuRHcrS0Y7RW1EdCtLRTtJQUVFO0VuRHUrS0o7QUFDRjs7QW9EemlMQTtFQUVFO0FwRDJpTEY7QW9EamlMRTtFQUNFO0VBQ0E7QXBEbWlMSjtBb0RoaUxFO0VBQ0U7QXBEa2lMSjtBb0QvaExFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcERpaUxKO0FvRHpoTEU7RUFDRTtBcEQyaExKO0FNL2pMRTtFOEN1REU7SUFDRTtJQUNBO0VwRDJnTEo7RW9EeGdMRTtJQUNFO0VwRDBnTEo7RW9EeGdMSTtJQUNFO0lBQ0E7RXBEMGdMTjtFb0R2Z0xJO0lBQ0U7RXBEeWdMTjtBQUNGOztBcURua0xBO0VBQ0U7QXJEc2tMRjs7QXFEbmtMQTtFaERxQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTGtpTEY7O0FxRDFrTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRDZrTEY7O0FxRDFrTEE7RUE5QkU7RUFBQTtFQWdDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHVCQW5ENkI7RUFvRDdCO0VBQ0E7QXJENmtMRjtBcUQza0xFO0VBQ0U7QXJENmtMSjtBcUQxa0xFO0VBQ0U7RUFDQTtFQUNBO0FyRDRrTEo7QXFEemtMRTtFaER6QkE7RWdEMkJFO0FyRDJrTEo7QXFEeGtMRTtFQUNFO0FyRDBrTEo7QXFEdmtMRTtFQUNFO0FyRHlrTEo7QXFEcmtMRTtFQUNFO0FyRHVrTEo7O0FxRG5rTEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBckRxa0xGO0FxRG5rTEU7RUFDRTtBckRxa0xKOztBcURqa0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRG9rTEY7QXFEamtMRTtFQUNFO0VBQ0E7RUFDQTtBckRta0xKOztBcUQvakxBO0VBRUU7RUFDQTtFQUNBO0VBQ0EsaUJBbEgwQjtFQW1IMUI7RUFDQSx1QkF0SCtCO0VBdUgvQjtFQUNBO0FyRGlrTEY7QXFEOWpMRTtFQUNFO0VBQ0E7RUFDQTtBckRna0xKO0FxRDVqTEU7RUFDRTtFQUNBO0VBQ0E7QXJEOGpMSjs7QXFEMWpMQTtFQWhJRTtFQUFBO0VBa0lBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRDZqTEY7QXFEM2pMRTtFaER0RkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTG9wTEY7QXFEaGtMRTtFQS9JQTtFQUFBO0VBa0pFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsdUJBaktpQztBckRrdUxyQztBcUQ5akxFO0VBQ0U7VUFBQTtBckRna0xKO0FxRDdqTEU7RUFDRTtVQUFBO0FyRCtqTEo7QXFENWpMRTtFQUNFO0VBQ0E7QXJEOGpMSjs7QXNEbHRMRTs7OztFQUlFO0F0RHF0TEo7QXNEaHRMRTtFQUNFO0F0RGt0TEo7QXNEN3NMTTtFQUNFO0VBQ0E7RUFDQTtBdEQrc0xSO0FTN3ZMSTtFQWlDRjtBVCt0TEY7QVN2dkxJO0VBbUJGO0VBQ0E7QVR1dUxGO0FTdHZMTTtFQW1CSjtBVHN1TEY7QVNydkxRO0VBVU47RUFDQTtBVDh1TEY7QXNEaHRMSTtFVDdERjtFQUNBO0VTOERJO0F0RG10TE47QXNEanRMTTtFVGpFSjtFQUNBO0VTa0VNO0VBQ0E7QXREb3RMUjtBc0RqdExNO0VBRUU7QXREa3RMUjtBc0Q5c0xRO0VBQ0UsbUJBdEUwQjtFQXVFMUI7QXREZ3RMVjtBc0Q1c0xNO0VUbkZKO0VBQ0E7RVNpQkE7RUFDQTtFQUNBO0VBa0VNO0VBQ0EsZUEvRTRCO0VBaUY1QixzQkFoRnNDO0F0RGd5TDlDO0FzRDNzTFE7RUFDRTtFQUNBO0F0RDZzTFY7QXNEeHNMUTtFQUNFO01BQUE7VUFBQTtFQUNBO0F0RDBzTFY7QXNEeHNMVTtFQUNFO0F0RDBzTFo7QXNEeHNMWTtFQUNFO0F0RDBzTGQ7QXNEbnNMTTtFVHBISjtFQUNBO0VTaUJBO0VBQ0E7RUFDQTtFQW1HTTtFQUNBO0VBRUEsbUJBaEhxQztBdER1ekw3QztBc0Rsc0xRO0VBQ0U7QXREb3NMVjtBc0Rqc0xRO0VBQ0U7TUFBQTtVQUFBO0VBQ0E7QXREbXNMVjtBc0Rqc0xVO0VBQ0U7QXREbXNMWjtBc0QzckxJO0VqRHRHRjtBTG95TEY7QXNEMXJMSTtFakRuR0Y7QUxneUxGO0FLN3hMSTtFQUVFO0VBQUE7RUFBQTtBTDh4TE47QUtoeUxJO0VBRUU7RUFBQTtFQUFBO0FMaXlMTjtBS255TEk7RUFFRTtFQUFBO0VBQUE7QUxveUxOO0FLdHlMSTtFQUVFO0VBQUE7RUFBQTtBTHV5TE47QXNEbnNMSTtFVDFKRjtFQUNBO0VTMkpJO0F0RHNzTE47QTZDOTFMSTs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7QTdDZzJMTjtBNkM3MUxJOztFQUVFO0E3QysxTE47QTZDNzFMTTs7RUFDRTtBN0NnMkxSO0E2QzMxTE07RUFDRTtBN0M2MUxSO0E2QzMxTFE7RUFDRTtBN0M2MUxWO0E2QzExTFE7RUFDRTtBN0M0MUxWO0E2Q3QxTFU7O0VBRUU7QTdDdzFMWjtBNkNyMUxVO0VBQ0U7QTdDdTFMWjtBNkNoMUxNO0VBQ0U7QTdDazFMUjtBNkNoMUxRO0VBQ0U7QTdDazFMVjtBNkM1MExNO0VBQ0U7QTdDODBMUjtBNkM1MExRO0VBQ0U7QTdDODBMVjtBNkN6MExJO0VBQ0U7QTdDMjBMTjtBNkN4MExJO0VBQ0U7QTdDMDBMTjtBNkN4MExNOzs7RUFHRTtBN0MwMExSO0E2Q3QwTEk7RUFDRTtFQUNBO0E3Q3cwTE47QXNEdndMSTtFVC9KRjtFQUNBO0VTZ0tJO0VBQW1CO0F0RDJ3THpCO0E2Q3g2TEk7Ozs7Ozs7Ozs7Ozs7OztFQWVFO0E3QzA2TE47QTZDdjZMSTs7RUFFRTtBN0N5NkxOO0E2Q3Y2TE07O0VBQ0U7QTdDMDZMUjtBNkNyNkxNO0VBQ0U7QTdDdTZMUjtBNkNyNkxRO0VBQ0U7QTdDdTZMVjtBNkNwNkxRO0VBQ0U7QTdDczZMVjtBNkNoNkxVOztFQUVFO0E3Q2s2TFo7QTZDLzVMVTtFQUNFO0E3Q2k2TFo7QTZDMTVMTTtFQUNFO0E3QzQ1TFI7QTZDMTVMUTtFQUNFO0E3QzQ1TFY7QTZDdDVMTTtFQUNFO0E3Q3c1TFI7QTZDdDVMUTtFQUNFO0E3Q3c1TFY7QTZDbjVMSTtFQUNFO0E3Q3E1TE47QTZDbDVMSTtFQUNFO0E3Q281TE47QTZDbDVMTTs7O0VBR0U7QTdDbzVMUjtBNkNoNUxJO0VBQ0U7RUFDQTtBN0NrNUxOO0FzRDEwTEk7RVR0S0Y7RUFDQTtFU3VLSTtBdEQ2MExOO0FzRDEwTEk7RUFDRTtBdEQ0MExOO0FzRHYwTFE7RUFDRTtBdER5MExWO0FzRG4wTE07RUFDRTtBdERxMExSO0FNbi9MRTtFZ0RxTEk7O0lBRUU7RXREaTBMTjtFc0Q1ekxRO0lBQ0U7RXREOHpMVjtBQUNGOztBdUQ1L0xFO0VBQ0U7QXZEKy9MSjtBTWhnTUU7RWlEV0U7SUFDRTtFdkR3L0xKO0V1RHQvTEk7SUFDRTtJQUNBO0V2RHcvTE47QUFDRjs7QXdEei9MRTtFQUNFO0F4RDQvTEo7QXdEei9MRTtFQUNFO0VBQ0EsbUN0RHNDZTtFc0RyQ2Y7RUFDQTtBeEQyL0xKO0F3RHYvTEk7RUFDRTtFQUNBO0VBRUE7QXhEdy9MTjtBd0R0L0xNO0VBRUU7RUFDQTtFQUNBO0F4RHUvTFI7QXdEai9MSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RG0vTE47QXdEai9MTTtFQUNFO0F4RG0vTFI7QXdENytMTTtFbkQ3Qko7QUw2Z01GO0F3RHorTEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RDIrTE47QXdEditMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RHkrTEo7QXdENzlMSTtFQUNFO0F4RCs5TE47QU1ya01FO0VrRE1GO0luQ2hCRTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7SW1DNkhFO1FBQUE7WUFBQTtFeER1OUxGO0V3RHI5TEU7SXREMUZBO0lBQ0E7RUZrak1GO0V3RHI5TEU7SUFDRTtRQUFBO1lBQUE7RXhEdTlMSjtFd0RuOUxJO0l0RG5HRjtJQUNBO0lBbUJBLDJCQUZxQjtJUTFCdkIsMENSb0NlO0lRbkNmO0lBQ0E7SThDMkdNO0V4RDA5TE47RVVua01BO0lBQ0U7RVZxa01GO0FBQ0Y7QU1qbU1FO0VrRGlJSTtJdERuR0Y7SUFDQTtJQW1CQSxnQ0FGcUI7SVFmckI7RVZ1a01GO0FBQ0Y7QU16bU1FO0VrRHFJTTtJQUVFO0lBQ0E7SUFDQTtFeERzK0xSO0FBQ0Y7QU1obk1FO0VrRCtJSTtJQUNFO0lBQ0E7SUFDQTtFeERvK0xOO0V3RGwrTE07SUFDRTtJQUNBO0V4RG8rTFI7RXdEbCtMUTtJQUNFO0lBQ0E7SUFDQTtFeERvK0xWO0FBQ0Y7QU1ob01FO0VrRGtLSTtJQUNFO0lBQ0E7RXhEaStMTjtBQUNGO0FNdG9NRTtFa0R3S0U7SUFDRTtJQUNBO0lBQ0E7RXhEaStMSjtBQUNGO0FNN29NRTtFa0RnTE07SXREbEpKO0lBQ0E7SXNEbUpNO0V4RGkrTFI7RXdELzlMUTtJQUNFO0V4RGkrTFY7RXdENTlMSTtJQUNFO0lBQ0E7RXhEODlMTjtBQUNGO0FNM3BNRTtFa0RpTUk7SUFDRTtFeEQ2OUxOO0FBQ0Y7O0F5RHpwTUU7RXZEdUJFO0VBQ0E7RXVEckJBO0VBQ0E7QXpENHBNSjtBeUR6cE1FO0VBQ0U7RUFDQTtFQUNBLGNBN0JhO0F6RHdyTWpCO0F5RHpwTUk7RUFDRTtBekQycE1OO0F5RHpwTU07RUFDRTtBekQycE1SO0F5RHhwTU07RUFDRTtBekQwcE1SO0F5RHZwTU07RUFDRTtBekR5cE1SO0F5RHRwTU07RUFDRTtBekR3cE1SO0F5RHJwTU07RUFDRTtBekR1cE1SO0F5RGxwTUU7RUFDRTtBekRvcE1KO0F5RGhwTUk7RUFDRTtBekRrcE1OO0F5RDlvTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJBcEV5QztFQXFFekM7RUFDQTtFQUNBLGlCQW5FWTtBekRtdE1oQjtBeUQ5b01JO0VBQ0U7QXpEZ3BNTjtBeUQ5b01NOztFcERyQ0o7QUx1ck1GO0F5RDNvTVE7RUFDRTtBekQ2b01WO0F5RHhvTUk7RUFDRTtBekQwb01OO0F5RHRvTUU7RUFDRTtBekR3b01KO0F5RHRvTUk7RUFDRTtFQUNBO0F6RHdvTU47QXlEcm9NUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6RHVvTVY7QXlEbG9NSTtFQUNFO0VBQ0E7RUFDQTtBekRvb01OO0F5RC9uTVE7RUFDRTtBekRpb01WO0F5RDNuTUU7RUFDRTtFQUNBO0F6RDZuTUo7QXlEMW5NRTtFQUNFO0F6RDRuTUo7QXlEdm5NRTtFdkRuR0U7RUFDQTtFdURvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0EvSWE7QXpEeXdNakI7QXlEeG5NSTtFQUNFO0VBQ0E7QXpEMG5NTjtBeUR2bk1JO0VBQ0U7RUFDQTtBekR5bk1OO0F5RHJuTUU7RXZEeEhFO0VBQ0E7RXVEeUhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0FsS2E7QXpEMHhNakI7QXlEcm5NRTtFdkRqSUU7RUFDQTtFdURrSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekR3bk1KO0F5RHRuTUk7RUFDRTtFQUNBLGNBOUtTO0F6RHN5TWY7QXlEcm5NSTtFQUNFO0F6RHVuTU47QXlEL21NRTtFQUNFO0F6RGluTUo7QXlEOW1NRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0F6RGduTUo7QXlEOW1NSTtFQUNFO0VBQ0E7QXpEZ25NTjtBeUQxbU1FO0VBQ0U7RUFDQTtBekQ0bU1KO0F5RDFtTUk7RUFDRTtFQUNBO0VBQ0E7RXBEakxKO0VvRG9MSTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFBQTtFQUFBO0VBQUE7RUFDQTtBekRzbU1OO0F5RHBtTU07RUFDRTtBekRzbU1SO0F5RGptTUU7RUFDRTtBekRtbU1KO0F5RDdsTUk7RUFDRTtFQUNBO0F6RCtsTU47QU1qMU1FO0VtRDJQRTtJQUNFO0V6RHlsTUo7QUFDRjtBTXQxTUU7RW1ES0Y7SXBDZkU7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lvQ3lRRTtRQUFBO1lBQUE7SUFDQTtRQUFBO0V6RDRsTUY7RXlEMWxNRTtJQUNFO0lBQ0E7SUFDQTtFekQ0bE1KO0V5RHhsTUU7SUFDRTtRQUFBO0V6RDBsTUo7RXlEdmxNRTtJQUNFO0lBQ0E7RXpEeWxNSjtFeUR2bE1JO0lBQ0U7RXpEeWxNTjtBQUNGOztBMEQzMk1BO0VBTUU7RUFDQSxtQkFuQm1CO0ExRDQzTXJCO0EwRGwyTUU7RUFDRTtFQUNBO0ExRG8yTUo7QTBEajJNRTtFeERPRTtFQUNBO0V3RE5BO0ExRG8yTUo7QTBEajJNRTtFQUNFLFdBcENtQjtBMUR1NE12QjtBMERoMk1FO0VBQ0U7QTFEazJNSjtBMEQxMU1FO0VBQ0U7QTFENDFNSjtBMER6MU1FO0VBQ0U7QTFEMjFNSjtBMERuMU1FO0VBQ0UsV0E3RHVCO0ExRGs1TTNCO0EwRGwxTUU7RUFDRSxXQWpFdUI7QTFEcTVNM0I7QTBEajFNRTtFQUNFLFdBckV1QjtBMUR3NU0zQjtBMERoMU1FO0VBQ0UsV0F6RXVCO0ExRDI1TTNCO0EwRC8wTUU7RUFDRSxXQTdFdUI7QTFEODVNM0I7QTBEejBNRTtFQUVFLFdBdkZ1QjtBMURpNk0zQjtBMER2ME1FO0VBQ0UsV0EzRnVCO0ExRG82TTNCOztBMkR6Nk1BO0VBQ0U7QTNENDZNRjtBMkQxNk1FO0VBQ0U7QTNENDZNSjs7QTJEdjZNRTtFQUNFO0EzRDA2TUo7O0E0RGo1TUE7RUFNRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0E1RCs0TUY7QTREeDRNTTs7RUFDRTtFQUNBO0VBQ0E7QTVEMjRNUjs7QTREMzNNRTtFQUNFO0VBQ0E7QTVEODNNSjtBNEQ1M01JO0VBQ0U7QTVEODNNTjtBNERyM01FO0VBQ0U7QTVEdTNNSjtBNEQvMk1FO0VBQ0U7RUFDQTtBNURpM01KO0E0RHoyTUU7RUFDRTtBNUQyMk1KO0E0RHoyTUk7RUFqR0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RDY4TUY7QTREMThNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RDQ4TUo7QTREajNNTTtFQUNFO0E1RG0zTVI7QTREaDNNTTtFQUNFO0E1RGszTVI7QTREOTJNSTtFQUNFO0VBQ0E7RUFDQTtBNURnM01OO0E0RDcyTU07RUFDRTtBNUQrMk1SO0E0RDMxTU07RUE5SUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBOElNO0VBQ0E7RUFDQTtBNUQrMU1SO0E0RDUrTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUQ4K01KO0E0RC8xTVk7RUFDRTtFQUNBO0VBQ0E7QTVEaTJNZDtBNERuMU1JO0VBQ0U7RUFDQTtBNURxMU1OO0E0RGoxTVU7RUFDRTtFQUNBO0VBQ0E7QTVEbTFNWjtBNERoMU1VO0VBQ0U7QTVEazFNWjtBNEQ1ME1RO0VBQ0U7QTVEODBNVjtBNEQzME1RO0VBQ0U7QTVENjBNVjtBNEQ3ek1NO0VBdk5KO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQXNOTTtFQUNBO0VBQ0E7RUFDQTtBNURrME1SO0E0RHhoTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUQwaE5KO0E0RHQwTVE7RUFDRTtBNUR3ME1WO0E0RHAwTU07RUFDRTtBNURzME1SO0E0RGowTVE7RUE5T047RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBNk9RO0E1RHMwTVY7QTREaGpORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RGtqTko7QTREdDBNUTtFQTNQTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUEyUFE7RUFDQTtBNUQwME1WO0E0RG5rTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNURxa05KO0E0RDEwTVE7RUExUU47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RHVsTkY7QTREcGxORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RHNsTko7QTREeDBNTTtFQUNFO0VBQ0E7RUFDQTtBNUQwME1SO0E0RGgwTUU7RTFEN1FFO0VBQ0E7RUFtQkEsd0JBRnFCO0UwRDhQckI7RUFDQTtFQUNBO0VBQ0E7RUFDQSwwQzFEeFBhO0UwRHlQYjtFQUNBO0VBQ0E7RUFDQTtBNURtME1KO0E0RGgwTU07RUFDRTtBNURrME1SO0E0RC96TU07RUFDRTtBNURpME1SO0E0RDd6TUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RCt6TU47QTREM3pNTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RDZ6TVI7QTREMXpNTTtFQUNFO0VBQ0E7QTVENHpNUjtBNER6ek1NO0VBQ0U7RUFDQTtBNUQyek1SO0E0RHZ6TUk7RUFDRTtBNUR5ek1OO0E0RHJ6TUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUR1ek1OO0E0RHp5TUk7RUFDRTtFQUNBO0VBQ0E7QTVEMnlNTjtBNER4eU1RO0VBQ0U7QTVEMHlNVjtBNERweU1VO0VBQ0U7RUFDQTtBNURzeU1aO0E0RGp5TU07RUFDRTtBNURteU1SO0E0RGh5TU07RUFDRTtFQUNBO0E1RGt5TVI7QTREaHlNUTtFQUNFO0E1RGt5TVY7QTREdHhNSTtFQUNFO0VBQ0E7RUFDQTtBNUR3eE1OO0E0RHJ4TVE7RUFDRTtFQUNBO0VBQ0E7QTVEdXhNVjtBNERueE1NO0VBQ0U7QTVEcXhNUjtBNERoeE1JO0VBQ0U7QTVEa3hNTjtBNERoeE1NO0VBQ0U7QTVEa3hNUjtBNEQvd01NO0VBQ0U7QTVEaXhNUjtBNEQ1d01JO0UxRC9aQTtFQUNBO0UwRGdhRTtFQUNBO0E1RCt3TU47QTREN3dNTTtFQUNFO0VBQ0E7RUFDQTtBNUQrd01SO0E0RDN3TVE7RUFDRTtBNUQ2d01WO0E0RGp3TUU7RTFEeGJFO0VBQ0E7RUFtQkEsZ0NBRnFCO0UwRHlhckI7RUFDQTtFQUNBO0VBQ0E7RUFDQSwwQzFEbmFhO0UwRG9hYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RG93TUo7QTREandNTTtFQUNFO0E1RG13TVI7QTREaHdNTTtFQUNFO0E1RGt3TVI7QTREOXZNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEZ3dNTjtBNEQ3dk1JO0VBQ0U7QTVEK3ZNTjtBNERqdk1JO0VBQ0U7RUFDQTtFQUNBO0E1RG12TU47QTREaHZNUTtFQUNFO0VBQ0E7RUFDQTtBNURrdk1WO0E0RHR1TUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RHd1TU47QTREdHVNTTtFQUNFO0VBQ0E7QTVEd3VNUjtBNERwdU1RO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEc3VNVjtBNERsdU1VO0VBQ0U7RUFDQTtBNURvdU1aO0E0RHh0TUU7RTFEL2hCRTtFQUNBO0UwRGdpQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBDMUQxZ0JhO0UwRDJnQmI7RUFDQTtFQUNBO0VBQ0E7QTVEMnRNSjtBNER6dE1JO0VBQ0U7RUFDQTtFQUNBO0E1RDJ0TU47QTREenRNTTtFQUNFO0E1RDJ0TVI7QTRENXNNSTtFQUNFO0VBQ0E7RUFDQTtBNUQ4c01OO0E0RDNzTVE7RUFDRTtFQUNBO0VBQ0E7QTVENnNNVjtBNERsc01JO0VBQ0U7QTVEb3NNTjtBNEQvck1JO0VBQ0U7QTVEaXNNTjtBTTN6TkU7RXNEeW9CUTtJQUNFO0U1RHFyTVY7RTREbnJNVTtJQUNFO0U1RHFyTVo7QUFDRjtBTW4wTkU7RXNEMHBCSTtJQXpwQko7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RHMwTkE7RTREbjBOQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0U1RHEwTkY7RTREOXFNUTtJQXRxQlI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RHUxTkE7RTREcDFOQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0U1RHMxTkY7O0U0RDFxTVk7SUEzckJaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUR5Mk5BO0U0RHQyTkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFNUR3Mk5GOztFNERycU1ZO0lBbHRCWjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVEMjNOQTtFNER4M05BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTVEMDNORjs7RTREenFNWTtJQUVFO0U1RDJxTWQ7O0U0RGpxTU07SUE1dUJOO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNURpNU5BO0U0RDk0TkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFNURnNU5GO0U0RHZxTVE7SUF4dkJSO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNURrNk5BO0U0RC81TkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFNURpNk5GO0U0RDNxTVE7SUFyd0JSO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNURtN05BO0U0RGg3TkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFNURrN05GO0U0RDlxTVE7SUFueEJSO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNURvOE5BO0U0RGo4TkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFNURtOE5GO0U0RDlxTU07SUFDRTtJQUNBO0U1RGdyTVI7RTRENXFNSTtJMUQ3d0JGO0lBQ0E7STBEOHdCSTtJQUNBO0lBQ0E7RTVEK3FNTjtFNEQ1cU1RO0lBQ0U7RTVEOHFNVjtFNEQxcU1NO0lBQ0U7SUFDQTtFNUQ0cU1SO0FBQ0Y7O0E2RC8rTkE7RUFDRTtFQUNBO0E3RGsvTkY7QTZEaC9ORTtFQUNFO0E3RGsvTko7QU05K05FO0V1RFRGO0lBZUk7RTdENCtORjtFNkQxK05FO0lBQ0U7RTdENCtOSjtBQUNGOztBOERsL05BO0VBTUU7RUFDQTtBOURnL05GO0E4RDErTkU7RUFDRTtFQUNBO0E5RDQrTko7QThEeCtORTtFQUNFO0E5RDArTko7QThEbitORTtFQUNFLG1CQXRDcUI7QTlEMmdPekI7QU1yZ09FO0V3RElGO0lBK0NJO0lBQ0E7SUFDQTtJQUNBO0U5RHM5TkY7RThEcDlORTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RHM5Tko7QUFDRjs7QStEdmhPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtBL0QwaE9KO0ErRHhoT0k7RUFDRTtFQUNBO0VBQ0E7QS9EMGhPTjtBK0R2aE9JO0VBQ0UsbUJBNUJ5QjtFQTZCekI7RUFDQTtVQUFBO0EvRHloT047O0FnRTloT0k7RUFDRTtFQUNBO0FoRWlpT047QWdFMWhPTTtFQUNFO0FoRTRoT1I7QWdFeGhPSTtFQUNFO0VBQ0E7QWhFMGhPTjtBZ0V2aE9NO0VBQ0U7QWhFeWhPUjtBZ0VyaE9JO0VBQ0U7RUFDQTtBaEV1aE9OO0FnRXJoT007RUFDRTtFQUNBO0VBQ0E7QWhFdWhPUjtBZ0VwaE9NO0VBQ0U7QWhFc2hPUjtBZ0VsaE9RO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEVvaE9WO0FnRWhoT1U7RUFDRTtBaEVraE9aO0FNbmxPRTtFMER5Rkk7SUFDRTtJQUNBO0VoRTYvTk47RWdFMy9OTTtJQUNFO0lBQ0E7RWhFNi9OUjtFZ0V4L05FO0lBQ0U7RWhFMC9OSjtFZ0V4L05JO0lBQ0U7SUFDQTtFaEUwL05OO0VnRXYvTkk7SUFDRTtFaEV5L05OO0FBQ0Y7O0FpRXRtT0E7RUFNRTtBakVvbU9GO0FpRTVsT0U7RUFFRTtBakU2bE9KO0FpRXpsT0k7RUFDRTtBakUybE9OO0FpRXZsT0U7RUFDRTtBakV5bE9KO0FpRXRsT0U7RUFDRTtFQUNBO0FqRXdsT0o7QWlFcmxPSTtFQUVFO0FqRXNsT047QWlFbGxPRTtFQUNFO0VBQ0E7QWpFb2xPSjtBaUVqbE9FO0VBQ0U7QWpFbWxPSjtBaUU1a09NO0VBRUU7QWpFNmtPUjtBaUV4a09NO0VBQ0U7QWpFMGtPUjtBaUUvak9ZO0UvRDNDUjtFQUNBO0VBbUJBLHdCQUZxQjtBRjZsT3pCO0FNN29PRTtFMkR5RVU7SS9EM0NSO0lBQ0E7SUFtQkEsMkJBRnFCO0lRSnJCO0VWd21PRjtFVXRtT0U7SVJoQkE7SUFDQTtJQW1CQSxnQ0FGcUI7SVFDbkI7SUFDQTtFVnltT0o7RVV2bU9JO0lBQ0U7RVZ5bU9OO0FBQ0Y7QWlFL2tPTTtFQUNFO0FqRWlsT1I7QWlFOWtPTTtFQUNFO0VBQ0E7RUFDQTtBakVnbE9SO0FpRTNrT007RS9EOURGO0VBQ0E7RUFtQkEsd0JBRnFCO0FGNG5PekI7QU01cU9FO0UyRDRGSTtJL0Q5REY7SUFDQTtJQW1CQSwyQkFGcUI7SVFKckI7RVZ1b09GO0VVcm9PRTtJUmhCQTtJQUNBO0lBbUJBLGdDQUZxQjtJUUNuQjtJQUNBO0VWd29PSjtFVXRvT0k7SUFDRTtFVndvT047QUFDRjtBaUUxbE9VO0UvRHRFTjtFQUNBO0VBbUJBLHdCQUZxQjtBRm1wT3pCO0FNbnNPRTtFMkRvR1E7SS9EdEVOO0lBQ0E7SUFtQkEsMkJBRnFCO0lRSnJCO0VWOHBPRjtFVTVwT0U7SVJoQkE7SUFDQTtJQW1CQSxnQ0FGcUI7SVFDbkI7SUFDQTtFVitwT0o7RVU3cE9JO0lBQ0U7RVYrcE9OO0FBQ0Y7QWlFMW1PUTtFQUNFO0FqRTRtT1Y7QWlFdm1PSTtFQUNFO0VBQ0E7QWpFeW1PTjtBaUVwbU9RO0VBQ0U7QWpFc21PVjtBaUUvbE9RO0VBQ0U7QWpFaW1PVjtBaUU1bE9JO0VBQ0U7QWpFOGxPTjtBaUV6bE9RO0VBQ0U7QWpFMmxPVjtBaUV0bE9JO0VBQ0U7QWpFd2xPTjtBaUVubE9RO0VBQ0U7QWpFcWxPVjtBaUVobE9JO0VBQ0U7QWpFa2xPTjtBaUVobE9NO0VBRUU7QWpFaWxPUjtBaUU3a09JO0VBQ0U7QWpFK2tPTjtBaUU3a09NO0VBQ0U7QWpFK2tPUjtBaUU1a09NO0VBR0U7QWpFNGtPUjtBaUUvak9JOztFQUVFO0FqRWlrT047QWlFOWpPUTs7RUFDRTtBakVpa09WO0FpRTNqT007RUFDRTtBakU2ak9SO0FTanhPSTtFQWlDRjtBVG12T0Y7QVMzd09JO0VBbUJGO0VBQ0E7QVQydk9GO0FTMXdPTTtFQW1CSjtBVDB2T0Y7QVN6d09RO0VBVU47RUFDQTtBVGt3T0Y7QU10eE9FO0UyRENGO0lBc09JO0VqRW1qT0Y7RWlFampPRTtJQUNFO0VqRW1qT0o7RWlFN2lPSTtJQUNFO0lBQ0E7RWpFK2lPTjtFaUU3aU9NO0lBQ0U7RWpFK2lPUjtFaUU1aU9NO0lBQ0U7RWpFOGlPUjtFaUUxaU9RO0lBRUU7RWpFMmlPVjtFaUVqaU9RO0lBQ0U7SUFDQTtFakVtaU9WO0VpRTdoT0U7SUFDRTtFakUraE9KO0VpRTVoT0U7SUFDRTtFakU4aE9KO0VpRTVoT0k7SUFDRTtJQUNBO0VqRThoT047RWlFemhPSTtJQUNFO0VqRTJoT047RWlFdGhPSTtJQUdFO0VqRXNoT047RWlFbmhPUTtJQUNFO0VqRXFoT1Y7RWlFbGhPUTtJQUNFO0VqRW9oT1Y7RWlFN2dPUTtJQUNFO0VqRStnT1Y7RWlFeGdPUTtJQUNFO0VqRTBnT1Y7RWlFbmdPRTtJQUVFO0VqRW9nT0o7RWlFbGdPSTtJQUNFO0VqRW9nT047RWlFaGdPSTtJQUNFO0lBQ0E7RWpFa2dPTjtFaUVoZ09lO0lBQ1A7SUFDQTtFakVrZ09SOztFaUU3L05FOztJQUVFO0VqRWdnT0o7RWlFNy9ORTtJQUNFO0lBQ0E7RWpFKy9OSjtFaUU3L05JO0lBQ0U7RWpFKy9OTjtFaUU3L05NOztJQUVFO0VqRSsvTlI7RWlFei9OSTtJQUNFO0lBQ0E7RWpFMi9OTjtFaUVyL05JO0lBQ0U7RWpFdS9OTjtFaUVwL05JO0lBQ0U7RWpFcy9OTjtFaUVwL05NO0lBQ0U7RWpFcy9OUjtFaUVqL05NO0lBQ0U7RWpFbS9OUjtFaUVqL05RO0lBQ0U7RWpFbS9OVjtFaUVqL05VO0lBQ0U7RWpFbS9OWjtFaUU5K05NO0lBQ0U7RWpFZy9OUjtFaUU5K05RO0lBQ0U7RWpFZy9OVjtFaUU5K05VO0lBQ0U7RWpFZy9OWjtFaUV6K05NO0lBQ0U7RWpFMitOUjtFaUV6K05RO0lBQ0U7RWpFMitOVjtFaUV6K05VO0lBQ0U7RWpFMitOWjtFaUVuK05RO0lBQ0U7RWpFcStOVjtBQUNGOztBa0VuNU9BO0VBQ0U7RUFDQTtFQUNBO0FsRXM1T0Y7QU0xNU9FO0U0RENGO0lBZ0NJO0lBQ0E7SUFDQTtFbEU2M09GO0VrRTMzT0U7SUFFRTtFbEU0M09KO0FBQ0Y7QU1wNk9FO0U0RENGO0lBMkNJO0lBQ0E7SUFDQTtFbEU0M09GO0FBQ0Y7O0FtRTU0T0E7RUFNRTtBbkUwNE9GO0FtRW40T0k7RUFDRTtBbkVxNE9OO0FtRWw0T0k7RUFDRTtBbkVvNE9OO0FtRWg0T0U7RUFDRTtBbkVrNE9KO0FtRWg0T0k7RUFDRTtFQUNBO0VBQ0E7S0FBQTtBbkVrNE9OO0FtRTkzT0U7RUFDRTtFQUNBO0FuRWc0T0o7QW1FNzNPRTtFQUNFO0FuRSszT0o7QW1FNzNPSTtFQUNFO0FuRSszT047QW1FdjNPRTtFQUNFO0FuRXkzT0o7QW1FcjNPSTtFQUNFO0FuRXUzT047QU03OE9FO0U2RHlHRTtJQUNFO0VuRXUyT0o7QUFDRjtBTWw5T0U7RTZEaUhJO0lBQ0U7RW5FbzJPTjtFbUVoMk9NO0lBQ0U7RW5FazJPUjtFbUU3MU9FO0lBQ0U7RW5FKzFPSjtFbUU3MU9JO0lBQ0U7RW5FKzFPTjtFbUU1MU9JO0lBQ0U7SUFDQTtFbkU4MU9OO0VtRTMxT0k7SUFDRTtFbkU2MU9OO0VtRXoxT0k7SUFDRTtJQUNBO0VuRTIxT047RW1FdjFPRTtJQUNFO0lBQ0E7SUFDQTtFbkV5MU9KO0VtRXYxT0k7SUFDRTtFbkV5MU9OO0VtRXQxT0k7SUFDRTtJQUNBO0VuRXcxT047RW1FcjFPSTtJQUNFO0VuRXUxT047RW1FcDFPSTtJQUNFO0lBQ0E7RW5FczFPTjtFbUVuMU9JO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkVxMU9OO0VtRW4xT007SUFDRTtFbkVxMU9SO0VtRWwxT007SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuRW8xT1I7RW1FOTBPSTtJQUNFO0VuRWcxT047RW1FNzBPSTtJQUNFO0VuRSswT047RW1FNTBPSTtJQUNFO0VuRTgwT047RW1FMzBPSTtJQUNFO0VuRTYwT047QUFDRjs7QW9FbmhQRTtFQUNFO0FwRXNoUEo7QW9FL2dQRTtFQUdFO0VBQ0E7RUFDQTtBcEUrZ1BKO0FvRTFnUEk7RWxFSUE7RUFDQTtFa0VIRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBDbEUwQlc7RWtFekJYO0VBQ0E7RUFDQTtBcEU2Z1BOO0FvRTFnUFE7RUFDRTtVQUFBO0FwRTRnUFY7QW9FcGdQVTtFQUNFO1VBQUE7QXBFc2dQWjtBb0VuZ1BVO0VBQ0U7VUFBQTtBcEVxZ1BaO0FvRWhnUE07RUFDRTtBcEVrZ1BSO0FvRTcvT0U7RUFDRTtBcEUrL09KO0FvRTcvT0k7RUFDRTtBcEUrL09OO0FvRTMvT0U7RUFDRTtFQUNBO0FwRTYvT0o7QW9Fei9PSTtFQUNFO0FwRTIvT047QU16a1BFO0U4RDBHSTtJQUNFO0VwRWsrT047RW9FLzlPYTtJQUNQO0lBQ0E7RXBFaStPTjs7RW9FOTlPYTtJQUNQO0lBQ0E7RXBFaStPTjtBQUNGOztBcUVwbFBBO0VBU0U7QXJFK2tQRjtBcUUxa1BFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckU0a1BKO0FxRXBrUEk7RUFDRTtBckVza1BOO0FxRWprUEk7RUFDRTtBckVta1BOO0FxRTlqUEk7RUFDRTtBckVna1BOOztBc0UxbVBBO0VBTUU7RUFDQTtBdEV3bVBGO0FzRXRtUEU7RUFDRTtBdEV3bVBKO0FzRXJtUEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFdW1QSjtBc0VybVBJO0VBQ0U7QXRFdW1QTjtBc0U5bFBJO0VBQ0U7QXRFZ21QTjtBc0U3bFBJO0VBQ0U7QXRFK2xQTjtBTXBvUEU7RWdFQ0Y7SUE0REk7RXRFMmtQRjtFc0V6a1BFO0lBQ0U7RXRFMmtQSjtBQUNGOztBdUVsb1BFO0VBQ0U7QXZFcW9QSjtBdUVsb1BFO0VBQ0U7QXZFb29QSjtBdUVob1BJO0VBQ0U7QXZFa29QTjtBdUU5blBFO0VBQ0U7QXZFZ29QSjtBdUU3blBFO0VBQ0U7RUFDQTtBdkUrblBKO0F1RXhuUEU7RUFDRTtFQUNBO0F2RTBuUEo7QXVFeG5QSTtFQUNFO0F2RTBuUE47QXVFeG5QTTtFQUNFO0F2RTBuUFI7QXVFcm5QRTtFQUNFO0F2RXVuUEo7QXVFcG5QRTtFQUNFO0F2RXNuUEo7QXVFbm5QRTtFQUNFO0F2RXFuUEo7QXVFbm5QSTtFQUNFO0F2RXFuUE47QU1uclBFO0VpRWtGRTtJQUNFO0lBQ0E7RXZFb21QSjtFdUVqbVBFO0lBQ0U7RXZFbW1QSjtFdUVobVBFO0lBQ0U7RXZFa21QSjtFdUUvbFBFO0lBQ0U7RXZFaW1QSjtFdUUvbFBJO0lBQ0U7SUFDQTtFdkVpbVBOO0V1RTlsUEk7SUFDRTtFdkVnbVBOO0V1RTVsUEU7SUFDRTtFdkU4bFBKO0V1RTVsUEk7SUFDRTtFdkU4bFBOO0V1RTFsUEU7SUFDRTtJQUNBO0V2RTRsUEo7RXVFMWxQSTtJQUNFO0V2RTRsUE47RXVFemxQSTtJQUNFO0V2RTJsUE47RXVFeGxQSTtJQUNFO0lBQ0E7RXZFMGxQTjtBQUNGOztBd0U1c1BFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO01BQUE7VUFBQTtBeEUrc1BKO0F3RTNzUE07RUFDRTtBeEU2c1BSO0F3RXpzUEk7RUFDRTtBeEUyc1BOO0F3RXBzUE07RUF6Q0o7RUFDQTtBeEVndlBGOztBd0Voc1BNO0UvRDVCSjtFQUNBO0FUZ3VQRjtBd0UvclBNO0VBQ0U7QXhFaXNQUjtBd0UvcVBJO0VBQ0U7QXhFaXJQTjtBd0UzcVBRO0VBQ0U7QXhFNnFQVjtBd0VwcVBRO0VBRUU7RUFDQTtBeEVxcVBWO0F3RW5xUFU7RUFFRTtBeEVvcVBaO0F3RTVwUE07RUExR0o7RUFDQTtBeEV5d1BGO0FNeHdQRTtFa0VxSEU7SUFDRTtFeEVzcFBKO0FBQ0Y7O0F5RW53UEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCQXZCZTtBekU2eFBuQjtBeUVud1BFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekVxd1BKO0F5RWx3UEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RW93UEo7QXlFandQSTtFQUNFLHlCQXZEYTtBekUwelBuQjtBeUUvdlBNO0VBQ0U7QXpFaXdQUjtBeUU3dlBJO0VBQ0U7QXpFK3ZQTjtBeUU1dlBJO0VBQ0U7QXpFOHZQTjtBeUUzdlBJO0VBQ0U7QXpFNnZQTjtBeUV6dlBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekUydlBKO0F5RXp2UEk7RUFDRTtFQUNBO0VBQ0E7QXpFMnZQTjtBeUV2dlBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQXBHaUI7RUFxR2pCO0F6RXl2UEo7QXlFdHZQRTtFQUNFO0VBQUE7RUFBQTtFQUFBO0F6RXd2UEo7QXlFcnZQRTtFdkV4RUU7RUFDQTtFdUV5RUE7RUFDQSx5QkFoSHdCO0F6RXcyUDVCO0F5RXR2UEk7RXZFN0VBO0VBQ0E7RXVFOEVFO0F6RXl2UE47QXlFdnZQTTtFQUNFO0F6RXl2UFI7QXlFcHZQTTtFQUNFO1VBQUE7QXpFc3ZQUjtBeUV4dVBJO0VBQ0U7RUFDQTtBekUwdVBOO0FNaDNQRTtFbUVxSkU7SXZFdkhBO0lBQ0E7RUZzMVBGO0V5RTd0UEk7SXZFMUhGO0lBQ0E7RUYwMVBGO0FBQ0Y7QU0xM1BFO0VtRWdLSTtJQUNFO0lBQ0E7RXpFNnRQTjtFeUV4dFBJO0lBQ0U7SUFDQTtFekUwdFBOO0V5RXJ0UEk7SUFDRTtJQUNBO0V6RXV0UE47QUFDRjs7QTBFMzNQQTtFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFBQTtFQUNBO0ExRXczUEY7QTBFbDNQRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esd0NBM0N3QjtFQTRDeEI7RUFDQTtFQUFBO0VBQ0E7QTFFbzNQSjtBMEUvMlBJO0VBQ0U7QTFFaTNQTjtBMEU3MlBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsWUExRDBCO0ExRXk2UDlCO0EwRTUyUEU7RUFDRTtFQUNBO0ExRTgyUEo7QTBFbjJQRTtFQUNFO0ExRXEyUEo7QTBFbjJQSTtFQUNFO0ExRXEyUE47QTBFaDJQTTtFQUNFLHlCQXJGd0I7QTFFdTdQaEM7QU12N1BFO0VvRXFHRTtJQUNFO0UxRXExUEo7QUFDRjs7QTJFOTZQSTtFQUNFO0EzRWk3UE47QU1oOFBFO0VxRUdGO0lBbUNJO0lBQ0E7RTNFODVQRjtFMkU1NVBFO0lBQ0U7RTNFODVQSjtFMkV6NVBNO0lBQ0U7RTNFMjVQUjtFMkV0NVBFO0lBQ0U7RTNFdzVQSjtBQUNGOztBTS84UEU7RXNFQUE7SUFDRTtJQUNBO0lBQ0E7RTVFbTlQRjtBQUNGO0E0RS84UEE7RUFDRTtBNUVpOVBGOztBNEU1OFBFO0VBQ0U7RUFBQTtFQUFBO0E1RSs4UEo7QTRFNThQRTtFQUNFO0lBQ0U7RTVFODhQSjtBQUNGO0E0RTM4UEU7RUFDRTtBNUU2OFBKO0E0RXY4UEU7RUFDRTtNQUFBO1VBQUE7RUFDQTtFQUNBO0E1RXk4UEo7QTRFdDhQTTtFQUNFO0E1RXc4UFI7QTRFbjhQRTtFQUNFO0VBQ0E7QTVFcThQSjtBNEVuOFBJO0VBQ0U7RUFDQTtFQUNBO0E1RXE4UE47QTRFajhQRTtFQUNFO0E1RW04UEo7QTRFajhQSTtFQUNFO0VBQ0E7QTVFbThQTjtBNEVqOFBNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFbThQUjtBNEU5N1BFO0VBRUU7RUFBQTtFQUFBO0VBQ0E7TUFBQTtVQUFBO0E1RSs3UEo7QTRFMzdQUTtFQUVFO0E1RTQ3UFY7QTRFdjdQSTtFQUNFO0E1RXk3UE47QTRFdjdQTTtFQUNFO0E1RXk3UFI7QU12aFFFO0VzRWtIRTtJQUNFO0lBQ0E7SUFDQTtFNUV3NlBKO0U0RXI2UEU7SUFDRTtJQUNBO0U1RXU2UEo7RTRFcDZQRTtJQUNFO0U1RXM2UEo7RTRFLzVQUTtJQUVFO0lBQ0E7RTVFZzZQVjtFNEUzNVBJO0lBQ0U7RTVFNjVQTjtFNEUzNVBNO0lBQ0U7RTVFNjVQUjtBQUNGO0FNL2lRRTtFc0V5Skk7SUFDRTtFNUV5NVBOO0FBQ0Y7O0E2RTdnUUk7RUFDRTtBN0VnaFFOO0E2RXhnUUU7RUFDRTtBN0UwZ1FKO0E2RXhnUUk7RUFDRTtFQUNBO0E3RTBnUU47QTZFdGdRRTtFQUNFO0E3RXdnUUo7QTZFdGdRSTtFQUNFO0VBQ0E7QTdFd2dRTjtBNkVwZ1FFO0VBQ0U7RUFDQTtBN0VzZ1FKO0E2RXBnUUk7RUFDRTtBN0VzZ1FOO0E2RW5nUUk7RUFDRTtBN0VxZ1FOO0E2RS8vUEk7RUFDRTtFQUNBO0E3RWlnUU47QTZFOS9QSTtFQUNFO0E3RWdnUU47QTZFNS9QRTtFQUNFO0VBQ0E7QTdFOC9QSjtBNkU1L1BJO0VBQ0U7QTdFOC9QTjtBNkUzL1BJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RTYvUE47QU10bVFFO0V1RW1HRTtJQVNJO0U3RTgvUE47QUFDRjtBNkUzL1BJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdFNi9QTjtBNkUzL1BNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0U2L1BSO0E2RXovUEk7RUFDRTtFQUNBO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7TUFBQTtVQUFBO0E3RTIvUE47QTZFeC9QSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdFMC9QTjtBTXJwUUU7RXVFNklFO0lBaUJJO0U3RTIvUE47QUFDRjtBNkV6L1BNO0VBRUU7QTdFMC9QUjtBNkV2L1BNO0VBQ0U7QTdFeS9QUjtBNkV2L1BRO0VBRUU7QTdFdy9QVjtBNkVuL1BJO0VBQ0k7RUFDQTtFQUNBO0E3RXEvUFI7QU14cVFFO0V1RWdMRTtJQU1NO0U3RXMvUFI7QUFDRjtBNkVsL1BFO0VBQ0U7RUFDQTtBN0VvL1BKO0E2RWovUEU7RUFDRTtBN0VtL1BKO0E2RWovUEk7RUFDRTtFQUNBO0E3RW0vUE47QTZFaC9QSTtFQUNFO0E3RWsvUE47QTZFMytQRTtFQUNFO0E3RTYrUEo7QTZFMytQSTtFQUNFO0VBQ0E7QTdFNitQTjtBNkUxK1BJO0VBQ0U7QTdFNCtQTjtBTXJzUUU7RXVFa09FO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0VzK1BKO0U2RXArUEk7SUFDRTtFN0VzK1BOO0U2RWgrUEk7SUFDRTtFN0VrK1BOO0U2RTk5UEU7SUFDRTtFN0VnK1BKO0U2RTk5UEk7SUFDRTtFN0VnK1BOO0U2RTU5UEU7SUFDRTtJQUNBO0U3RTg5UEo7RTZFNTlQSTtJQUNFO0U3RTg5UE47RTZFMzlQSTtJQUNFO0U3RTY5UE47RTZFMTlQSTtJQUNFO0U3RTQ5UE47RTZFMTlQTTtJQUNFO0U3RTQ5UFI7RTZFeDlQSTtJQUNFO0U3RTA5UE47RTZFcjlQSTtJQUNFO0U3RXU5UE47RTZFcDlQSTtJQUNFO0U3RXM5UE47RTZFbjlQSTtJQUNFO0lBQ0E7RTdFcTlQTjtFNkVsOVBJO0lBQ0U7RTdFbzlQTjtFNkVoOVBFO0lBQ0U7RTdFazlQSjtFNkVoOVBJO0lBQ0U7RTdFazlQTjtFNkU5OFBFO0lBQ0U7RTdFZzlQSjtFNkU5OFBJO0lBQ0U7RTdFZzlQTjtFNkU3OFBJO0lBQ0U7RTdFKzhQTjtFNkU1OFBJO0lBQ0U7RTdFODhQTjtFNkUxOFBFO0lBQ0U7SUFDQTtFN0U0OFBKO0U2RTE4UEk7SUFDRTtJQUNBO0U3RTQ4UE47RTZFejhQSTtJQUNFO0U3RTI4UE47RTZFejhQTTtJQUNFO0U3RTI4UFI7RTZFdDhQRTtJQUNFO0lBQ0E7RTdFdzhQSjtFNkV0OFBJO0lBQ0U7SUFDQTtFN0V3OFBOO0U2RXI4UEk7SUFDRTtFN0V1OFBOO0U2RXI4UE07SUFDRTtFN0V1OFBSO0FBQ0Y7O0E2RWg4UEE7RUFDRTtFQUNBO0E3RW04UEY7O0E2RWg4UEE7QUFDQTtFQUNFO0VBQ0E7QTdFbThQRjs7QTZFaDhQQTtBQUVBO0FBQ0E7RUFDRTtFQUNBO0E3RWs4UEY7O0E4RTV6UUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RSt6UUo7QThFMXpRSTtFQUNFO0E5RTR6UU47QThFdHpRSTtFQUNFO0E5RXd6UU47QThFbHpRSTtFQUNFO0E5RW96UU47QThFL3lRRTtFQUNFO0VBQ0E7QTlFaXpRSjtBOEU1eVFJO0VBQ0U7QTlFOHlRTjtBOEV4eVFJO0VBQ0U7QTlFMHlRTjtBTXIxUUU7RXdFdURJO0lBQ0U7RTlFaXlRTjtFOEUzeFFJO0lBQ0U7RTlFNnhRTjtFOEV6eFFNO0lBQ0U7RTlFMnhRUjtFOEVyeFFFO0lBQ0U7RTlFdXhRSjtFOEVyeFFJO0l6RTlDSjtJeUVnRE07SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFdXhRTjtFOEVyeFFNO0lBQ0U7RTlFdXhRUjtFOEVyeFFRO0lBQ0U7SUFDQTtFOUV1eFFWO0U4RW54UU07SUFDRTtFOUVxeFFSO0U4RW54UVE7SXpFcEVSO0VMMDFRQTtBQUNGOztBK0V6M1FBO0VBTUU7RUFDQTtFQUNBO0EvRXUzUUY7QStFajNRRTtFQUNFO0VBQ0E7QS9FbTNRSjtBK0VoM1FFO0VBQ0U7RUFDQTtBL0VrM1FKO0ErRS8yUUU7RUFDRTtBL0VpM1FKO0ErRTkyUUU7RUFDRTtBL0VnM1FKO0ErRTcyUUU7RUFDRTtFQUNBO0EvRSsyUUo7QStFMzJRSTtFQUNFO0EvRTYyUU47QStFejJRRTtFQUNFO0EvRTIyUUo7QStFeDJRRTtFQUNFO0EvRTAyUUo7QStFcjJRTTtFQUNFO0EvRXUyUVI7QStFbDJRRTtFQUNFO0EvRW8yUUo7QStFbDJRSTtFQUNFO0EvRW8yUU47QStFajJRSTtFQUNFO0EvRW0yUU47QStFaDJRSTtFQUNFO0EvRWsyUU47QStFOTFRRTtFQUNFO0VBQ0E7QS9FZzJRSjtBK0U3MVFFO0VBQ0U7RUFDQTtBL0UrMVFKO0ErRTExUU07RUFDRTtBL0U0MVFSO0ErRXYxUUU7RUFDRTtFQUNBO0EvRXkxUUo7QStFdDFRRTtFQUNFO0VBQ0E7QS9FdzFRSjtBK0V0MVFJO0VBQ0U7QS9FdzFRTjtBK0VsMVFJOztFQUNFO0EvRXExUU47QStFNzBRRTtFQUNFO0EvRSswUUo7QU12OFFFO0V5RUNGO0lBeUlJO0lBQ0E7RS9FaTBRRjtFK0UvelFFO0lBQ0U7RS9FaTBRSjtFK0U5elFFO0lBQ0U7SUFDQTtJQUNBO0UvRWcwUUo7RStFN3pRRTtJQUNFO0UvRSt6UUo7RStFenpRUTtJQUNFO0lBQ0E7SUFDQTtFL0UyelFWO0UrRW56UU07SUFDRTtJQUNBO0UvRXF6UVI7RStFaHpRRTtJQUNFO0UvRWt6UUo7RStFN3lRSTtJQUNFO0UvRSt5UU47RStFMXlRSTtJQUNFO0UvRTR5UU47RStFeHlRRTtJQUNFO0UvRTB5UUo7RStFdHlRSTtJQUNFO0lBQ0E7RS9Fd3lRTjtFK0VseVFNO0lBQ0U7RS9Fb3lRUjtFK0VqeVFNO0lBQ0U7RS9FbXlRUjtFK0UveFFJO0lBQ0U7SUFDQTtFL0VpeVFOO0UrRTl4UUk7SUFDRTtJQUNBO0UvRWd5UU47RStFOXhRTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9FZ3lRUjtFK0U3eFFNO0lBQ0U7RS9FK3hRUjtFK0VweFFVO0lBRUU7RS9FcXhRWjtFK0Uvd1FJO0lBQ0U7SUFDQTtFL0VpeFFOO0UrRTl3UUk7SUFDRTtJQUNBO0UvRWd4UU47RStFOXdRTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9FZ3hRUjtFK0U3d1FNO0lBQ0U7RS9FK3dRUjtFK0Uzd1FJO0lBQ0U7RS9FNndRTjtBQUNGOztBZ0Z4aFJBO0VBUUU7RUFDQTtFQUNBO0VBQ0E7QWhGb2hSRjtBZ0ZqaFJFO0VBRUU7QWhGa2hSSjtBZ0YvL1FJO0VBQ0U7QWhGaWdSTjtBZ0YzL1FFO0VBQ0U7QWhGNi9RSjtBZ0Z6L1FJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQ0FoRTJDO0VBaUUzQztFQUNBO0VBQ0E7VUFBQTtBaEYyL1FOO0FnRm4vUVE7RUFFRTtFQUVBO0FoRm0vUVY7QWdGLytRUTtFQUNFO0FoRmkvUVY7QWdGNStRUTtFQUNFO0FoRjgrUVY7QWdGbCtRTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FoRm0rUVI7QWdGaCtRUTtFQUNFO0VBQ0Esc0NBaEh1QztFQWlIdkM7RUFDQTtFQUNBO0VBQ0E7QWhGaytRVjtBZ0YvOVFVO0VBQ0U7QWhGaStRWjtBZ0Y1OVFVO0U5RWxHTjtFQUNBO0VBbUJBLHdCQUZxQjtFUStDdkIsMENSckNlO0VRc0NmO0VBQ0E7RUFDQTtFc0VnQ1U7QWhGbytRWjtBZ0ZoK1FVO0U1RWxKUjtVQUFBO0U0RW9KVTtFQUNBO0FoRmsrUVo7QWdGOTlRYztFQUNFO0FoRmcrUWhCO0FnRno5UVk7RTVFaktWO1VBQUE7QUo2blJGO0FnRm45UU07RUFDRTtBaEZxOVFSO0FnRmo5UVE7RUFDRTtBaEZtOVFWO0FnRjk4UVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRmc5UVY7QWdGNzhRVTtFQUNFO0FoRis4UVo7QWdGNzhRWTtFQUNFO0FoRis4UWQ7QWdGejhRWTtFQUNFO0FoRjI4UWQ7QWdGcDhRWTtFQUVFO0VBQ0E7QWhGcThRZDtBZ0Y3N1FVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYrN1FaO0FnRjE3UVk7RUFDRTtBaEY0N1FkO0FnRng3UVk7RUFDRTtFQUNBO0FoRjA3UWQ7QWdGbDdRRTtFQUNFO0VBQ0E7QWhGbzdRSjtBZ0YxNlFFO0UzRXBOQTtBTGlvUkY7QWdGdjZRTTtFM0UxTko7QUxvb1JGO0FnRnQ2UU07RTNFdk5KO0FMZ29SRjtBSzduUkk7RUFFRTtFQUFBO0VBQUE7QUw4blJOO0FLaG9SSTtFQUVFO0VBQUE7RUFBQTtBTGlvUk47QUtub1JJO0VBRUU7RUFBQTtFQUFBO0FMb29STjtBS3RvUkk7RUFFRTtFQUFBO0VBQUE7QUx1b1JOO0FNbHJSRTtFMEVlRjtJQTZQSTtFaEYwNlFGO0VnRng2UUU7SUFDRTtFaEYwNlFKO0VnRnQ2UUk7SUFDRTtFaEZ3NlFOO0VnRmw2UUU7SUFDRTtFaEZvNlFKO0VnRmo2UUU7SUFDRTtFaEZtNlFKO0VnRmo2UUk7SUFFRTtJQUNBO0VoRms2UU47RWdGaDZRTTtJQUNFO0VoRms2UVI7RWdGOTVRSTtJQUNFO0lBQ0E7SUFDQTtFaEZnNlFOO0VnRjk1UU07SUFDRTtJQUNBO0VoRmc2UVI7RWdGejVRTTtJQUNFO0VoRjI1UVI7RWdGbjVRUTtJM0U1UlI7RUxrclJBO0VLL3FSRTtJQUVFO0lBQUE7SUFBQTtFTGdyUko7RUtsclJFO0lBRUU7SUFBQTtJQUFBO0VMbXJSSjtFS3JyUkU7SUFFRTtJQUFBO0lBQUE7RUxzclJKO0VLeHJSRTtJQUVFO0lBQUE7SUFBQTtFTHlyUko7RWdGNTVRUTtJM0V6U1I7RUx3c1JBO0FBQ0Y7QU14dVJFO0UwRWtWRTtJQUNFO0VoRnk1UUo7RWdGdDVRRTtJQUNFO0VoRnc1UUo7RWdGcjVRRTtJQUNFO0lBQ0E7RWhGdTVRSjtFZ0ZwNVFFO0lBQ0U7RWhGczVRSjtFZ0ZsNVFJO0lBQ0U7SUFDQSxnQ0FsVzBDO0lBbVcxQztJQUNBO0VoRm81UU47RWdGbDVRTTtJQUNFO0VoRm81UVI7RWdGbDVRUTtJQUNFO0VoRm81UVY7RWdGcDRRTTtJQUNFO0lBQ0E7RWhGczRRUjtFZ0Y5M1FNO0lBQ0UsZ0NBcll3QztFaEZxd1JoRDtFZ0ZyM1FRO0lBQ0U7RWhGdTNRVjtFZ0ZoM1FRO0kzRXRYUjtFTHl1UkE7RUt0dVJFO0lBRUU7SUFBQTtJQUFBO0VMdXVSSjtFS3p1UkU7SUFFRTtJQUFBO0lBQUE7RUwwdVJKO0VLNXVSRTtJQUVFO0lBQUE7SUFBQTtFTDZ1Uko7RUsvdVJFO0lBRUU7SUFBQTtJQUFBO0VMZ3ZSSjtFZ0Z6M1FRO0kzRW5ZUjtFTCt2UkE7RWdGcDNRSTtJQUNFO0lBQUE7UUFBQTtZQUFBO0VoRnMzUU47RWdGcDNRTTtJQUNFO0VoRnMzUVI7QUFDRjs7QWlGaHpSQTtFNURDRTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7RTRERkE7QWpGc3pSRjtBaUZwelJFO0VBQ0U7RUFDQTtBakZzelJKO0FpRm56UkU7RTVET0E7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxtQkNNUztFMkRmUDtFQUNBO0FqRnl6Uko7QWlGdnpSSTtFQUNFO0FqRnl6Uk47QWlGdnpSTTtFQUNFO0FqRnl6UlI7QWlGcHpSRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRnN6Uko7QWlGbnpSRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGcXpSSjtBaUZselJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZvelJKOztBaUYzeVJJO0VBQ0U7QWpGOHlSTjtBaUYxeVJNO0VBQ0U7QWpGNHlSUjtBaUZ2eVJNO0VBQ0U7QWpGeXlSUjtBaUZweVJNO0VBQ0U7QWpGc3lSUjs7QWlGeHpSSTtFQUNFO0FqRjJ6Uk47QWlGdnpSTTtFQUNFO0FqRnl6UlI7QWlGcHpSTTtFQUNFO0FqRnN6UlI7QWlGanpSTTtFQUNFO0FqRm16UlI7O0FpRnIwUkk7RUFDRTtBakZ3MFJOO0FpRnAwUk07RUFDRTtBakZzMFJSO0FpRmowUk07RUFDRTtBakZtMFJSO0FpRjl6Uk07RUFDRTtBakZnMFJSOztBaUZsMVJJO0VBQ0U7QWpGcTFSTjtBaUZqMVJNO0VBQ0U7QWpGbTFSUjtBaUY5MFJNO0VBQ0U7QWpGZzFSUjtBaUYzMFJNO0VBQ0U7QWpGNjBSUjs7QWlGLzFSSTtFQUNFO0FqRmsyUk47QWlGOTFSTTtFQUNFO0FqRmcyUlI7QWlGMzFSTTtFQUNFO0FqRjYxUlI7QWlGeDFSTTtFQUNFO0FqRjAxUlI7O0FpRjUyUkk7RUFDRTtBakYrMlJOO0FpRjMyUk07RUFDRTtBakY2MlJSO0FpRngyUk07RUFDRTtBakYwMlJSO0FpRnIyUk07RUFDRTtBakZ1MlJSOztBaUZ6M1JJO0VBQ0U7QWpGNDNSTjtBaUZ4M1JNO0VBQ0U7QWpGMDNSUjtBaUZyM1JNO0VBQ0U7QWpGdTNSUjtBaUZsM1JNO0VBQ0U7QWpGbzNSUjs7QWlGdDRSSTtFQUNFO0FqRnk0Uk47QWlGcjRSTTtFQUNFO0FqRnU0UlI7QWlGbDRSTTtFQUNFO0FqRm80UlI7QWlGLzNSTTtFQUNFO0FqRmk0UlI7O0FpRm41Ukk7RUFDRTtBakZzNVJOO0FpRmw1Uk07RUFDRTtBakZvNVJSO0FpRi80Uk07RUFDRTtBakZpNVJSO0FpRjU0Uk07RUFDRTtBakY4NFJSOztBaUZoNlJJO0VBQ0U7QWpGbTZSTjtBaUYvNVJNO0VBQ0U7QWpGaTZSUjtBaUY1NVJNO0VBQ0U7QWpGODVSUjtBaUZ6NVJNO0VBQ0U7QWpGMjVSUjs7QWlGNzZSSTtFQUNFO0FqRmc3Uk47QWlGNTZSTTtFQUNFO0FqRjg2UlI7QWlGejZSTTtFQUNFO0FqRjI2UlI7QWlGdDZSTTtFQUNFO0FqRnc2UlI7O0FpRjE3Ukk7RUFDRTtBakY2N1JOO0FpRno3Uk07RUFDRTtBakYyN1JSO0FpRnQ3Uk07RUFDRTtBakZ3N1JSO0FpRm43Uk07RUFDRTtBakZxN1JSOztBaUZ2OFJJO0VBQ0U7QWpGMDhSTjtBaUZ0OFJNO0VBQ0U7QWpGdzhSUjtBaUZuOFJNO0VBQ0U7QWpGcThSUjtBaUZoOFJNO0VBQ0U7QWpGazhSUjs7QWlGcDlSSTtFQUNFO0FqRnU5Uk47QWlGbjlSTTtFQUNFO0FqRnE5UlI7QWlGaDlSTTtFQUNFO0FqRms5UlI7QWlGNzhSTTtFQUNFO0FqRis4UlI7O0FpRmorUkk7RUFDRTtBakZvK1JOO0FpRmgrUk07RUFDRTtBakZrK1JSO0FpRjc5Uk07RUFDRTtBakYrOVJSO0FpRjE5Uk07RUFDRTtBakY0OVJSOztBaUY5K1JJO0VBQ0U7QWpGaS9STjtBaUY3K1JNO0VBQ0U7QWpGKytSUjtBaUYxK1JNO0VBQ0U7QWpGNCtSUjtBaUZ2K1JNO0VBQ0U7QWpGeStSUjs7QWlGMy9SSTtFQUNFO0FqRjgvUk47QWlGMS9STTtFQUNFO0FqRjQvUlI7QWlGdi9STTtFQUNFO0FqRnkvUlI7QWlGcC9STTtFQUNFO0FqRnMvUlI7O0FpRnhnU0k7RUFDRTtBakYyZ1NOO0FpRnZnU007RUFDRTtBakZ5Z1NSO0FpRnBnU007RUFDRTtBakZzZ1NSO0FpRmpnU007RUFDRTtBakZtZ1NSOztBaUZyaFNJO0VBQ0U7QWpGd2hTTjtBaUZwaFNNO0VBQ0U7QWpGc2hTUjtBaUZqaFNNO0VBQ0U7QWpGbWhTUjtBaUY5Z1NNO0VBQ0U7QWpGZ2hTUjs7QWlGbGlTSTtFQUNFO0FqRnFpU047QWlGamlTTTtFQUNFO0FqRm1pU1I7QWlGOWhTTTtFQUNFO0FqRmdpU1I7QWlGM2hTTTtFQUNFO0FqRjZoU1I7O0FpRi9pU0k7RUFDRTtBakZralNOO0FpRjlpU007RUFDRTtBakZnalNSO0FpRjNpU007RUFDRTtBakY2aVNSO0FpRnhpU007RUFDRTtBakYwaVNSOztBaUY1alNJO0VBQ0U7QWpGK2pTTjtBaUYzalNNO0VBQ0U7QWpGNmpTUjtBaUZ4alNNO0VBQ0U7QWpGMGpTUjtBaUZyalNNO0VBQ0U7QWpGdWpTUjs7QWlGemtTSTtFQUNFO0FqRjRrU047QWlGeGtTTTtFQUNFO0FqRjBrU1I7QWlGcmtTTTtFQUNFO0FqRnVrU1I7QWlGbGtTTTtFQUNFO0FqRm9rU1I7O0FpRnRsU0k7RUFDRTtBakZ5bFNOO0FpRnJsU007RUFDRTtBakZ1bFNSO0FpRmxsU007RUFDRTtBakZvbFNSO0FpRi9rU007RUFDRTtBakZpbFNSOztBaUZubVNJO0VBQ0U7QWpGc21TTjtBaUZsbVNNO0VBQ0U7QWpGb21TUjtBaUYvbFNNO0VBQ0U7QWpGaW1TUjtBaUY1bFNNO0VBQ0U7QWpGOGxTUjs7QWlGaG5TSTtFQUNFO0FqRm1uU047QWlGL21TTTtFQUNFO0FqRmluU1I7QWlGNW1TTTtFQUNFO0FqRjhtU1I7QWlGem1TTTtFQUNFO0FqRjJtU1I7O0FpRjduU0k7RUFDRTtBakZnb1NOO0FpRjVuU007RUFDRTtBakY4blNSO0FpRnpuU007RUFDRTtBakYyblNSO0FpRnRuU007RUFDRTtBakZ3blNSOztBaUYxb1NJO0VBQ0U7QWpGNm9TTjtBaUZ6b1NNO0VBQ0U7QWpGMm9TUjtBaUZ0b1NNO0VBQ0U7QWpGd29TUjtBaUZub1NNO0VBQ0U7QWpGcW9TUjs7QWlGdnBTSTtFQUNFO0FqRjBwU047QWlGdHBTTTtFQUNFO0FqRndwU1I7QWlGbnBTTTtFQUNFO0FqRnFwU1I7QWlGaHBTTTtFQUNFO0FqRmtwU1I7O0FpRnBxU0k7RUFDRTtBakZ1cVNOO0FpRm5xU007RUFDRTtBakZxcVNSO0FpRmhxU007RUFDRTtBakZrcVNSO0FpRjdwU007RUFDRTtBakYrcFNSOztBaUZqclNJO0VBQ0U7QWpGb3JTTjtBaUZoclNNO0VBQ0U7QWpGa3JTUjtBaUY3cVNNO0VBQ0U7QWpGK3FTUjtBaUYxcVNNO0VBQ0U7QWpGNHFTUjs7QWlGOXJTSTtFQUNFO0FqRmlzU047QWlGN3JTTTtFQUNFO0FqRityU1I7QWlGMXJTTTtFQUNFO0FqRjRyU1I7QWlGdnJTTTtFQUNFO0FqRnlyU1I7O0FpRjNzU0k7RUFDRTtBakY4c1NOO0FpRjFzU007RUFDRTtBakY0c1NSO0FpRnZzU007RUFDRTtBakZ5c1NSO0FpRnBzU007RUFDRTtBakZzc1NSOztBa0Z6d1NBO0U3REZFO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtFNkRDQTtBbEYrd1NGO0FrRjd3U0U7RTdEU0E7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxtQkNNUztFNERqQlA7QWxGbXhTSjtBa0ZqeFNJO0VBQ0U7QWxGbXhTTjtBa0Y5d1NNO0VBQ0U7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtBbEZneFNSO0FrRjN3U0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEY2d1NKO0FrRjN3U0k7RUFDRTtBbEY2d1NOO0FrRnp3U0U7RUFDRTtBbEYyd1NKO0FrRnh3U0U7RUFDRTtFQUNBO0FsRjB3U0o7QWtGdndTRTtFQUNFO0VBQ0E7QWxGeXdTSjs7QWtGcndTQTtFQUNFO0lBQ0U7WUFBQTtFbEZ3d1NGO0FBQ0Y7QW1GbnpTRTtFOURYQTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCaTBTRjtBbUZyelNFO0VBQ0U7RUFDQTtFQUNBO0FuRnV6U0o7QW1GcHpTRTtFOUROQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0QnV6U1g7QW1GdnpTRTtFOURWQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0Qjh6U1g7QW1GMXpTRTtFOURkQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0QnEwU1g7QW1GN3pTRTtFOURsQkE7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxtQkNNUztBdEI0MFNYOztBTTMxU0U7RThFSEE7SS9EUEE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjAyU0E7RW9GaDJTSTtJL0RFSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCK0RMbUQ7RXBGczJTbkQ7QUFDRjtBTTMyU0U7RThFaUJBO0kvRDNCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCeTNTQTtFb0YzMVNJO0kvRGxCSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCK0Rla0Q7RXBGaTJTbEQ7QUFDRjtBTTEzU0U7RThFcUNBO0kvRC9DQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCdzRTQTtFb0Z0MVNJO0kvRHRDSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCK0RtQ2tEO0VwRjQxU2xEO0FBQ0Y7QU16NFNFO0U4RXlEQTtJL0RuRUE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnU1U0E7RW9GaDFTSTtJQUNFO0lBQUE7UUFBQTtZQUFBO0VwRmsxU047RW9GLzBTSTtJL0QvREo7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQitENERtRDtFcEZxMVNuRDtBQUNGO0FvRnQwU0U7RUFFRTtBcEZ1MFNKO0FNOTVTRTtFOEVxRkE7SS9EL0ZBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckI0NlNBO0VvRngwU0k7SS9EeEZKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNjVTVDtBQUNGO0FNNzZTRTtFOEU0R0E7SS9EdEhBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckIyN1NBO0VvRmwwU0k7SS9EN0dKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNDZTVDtFb0ZyMFNJO0kvRGhJSjtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCdzhTQTtBQUNGO0FNbDhTRTtFOEVxSUE7SS9EL0lBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJnOVNBO0VvRjl6U0k7SS9EdElKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0IrRG1JbUQ7RXBGbzBTbkQ7QUFDRjtBTWo5U0U7RThFeUpBO0kvRG5LQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCKzlTQTtFb0Z6elNJO0kvRDFKSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qmc5U1Q7QUFDRjs7QU1oK1NFO0UrRUZBO0loRVJBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckIrK1NBO0VxRm4rU007SWhFQU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJnK1NUO0VxRnQrU007SWhFSk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJ1K1NUO0FBQ0Y7QU12L1NFO0UrRXdCQTtJaEVsQ0E7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnFnVEE7RXFGLzlTTTtJaEUxQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFdUJxRDtFckZxK1NyRDtFcUZsK1NNO0loRTlCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0UyQnFEO0VyRncrU3JEO0FBQ0Y7QU03Z1RFO0UrRWtEQTtJaEU1REE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjJoVEE7RXFGMzlTTTtJaEVwRE47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFaURvRDtFckZpK1NwRDtFcUY5OVNNO0loRXhETjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VxRG9EO0VyRm8rU3BEO0FBQ0Y7QU1uaVRFO0UrRWlGQTtJaEUzRkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQmlqVEE7RXFGbDlTTTtJaEVuRk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFaUZxRDtFckZ1OVNyRDtFcUZwOVNRO0loRXhGUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VxRnNEO0VyRjA5U3REO0VxRnQ5U007SWhFN0ZOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTJGcUQ7RXJGMjlTckQ7RXFGeDlTUTtJaEVsR1I7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFK0ZzRDtFckY4OVN0RDtBQUNGO0FNdmtURTtFK0VzSEE7SWhFaElBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJxbFRBO0VxRmo5U007SWhFeEhOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7SURLTCxrQkNMSztFdEJ1a1RUO0VxQmhrVEk7SUFFRSxrQkNURztFdEIwa1RUO0VxQjdqVEU7SUFDRTtFckIralRKO0VxQjVqVEU7SUFDRTtFckI4alRKO0VxRjk5U007SWhFNUhOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7SURLTCxrQkNMSztFdEJ3bFRUO0VxQmpsVEk7SUFFRSxrQkNURztFdEIybFRUO0VxQjlrVEU7SUFDRTtFckJnbFRKO0VxQjdrVEU7SUFDRTtFckIra1RKO0FBQ0Y7QXFGMStTSTtFQWpCRjtJaEVoSUE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQituVEE7RXFGNStTTTtJaEV2SU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJnblRUO0VxRi8rU007SWhFM0lOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCdW5UVDtBQUNGO0FxRnA5U0U7RWhFN0xBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJvcFRGO0FxRnQ5U007RWhFbExKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRStLMkQ7QXJGNDlTN0Q7QXFGejlTTTtFaEV0TEo7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFbUwyRDtFQUVyRDtBckY4OVNSO0FNNXBURTtFK0VtTEE7SWhFN0xBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckIwcVRBO0VxRjU5U007SWhFbE1OO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRStMNkQ7RXJGaytTN0Q7RXFGLzlTTTtJaEV0TU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFbU02RDtFckZxK1M3RDtBQUNGO0FxRng5U0U7RWhFcE9BO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckIrclRGO0FxRno5U007RWhFMU5KO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRXVOMEQ7QXJGKzlTNUQ7QXFGNTlTTTtFaEU5Tko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFMk4yRDtBckZrK1M3RDtBTXRzVEU7RStFMk9NO0loRXRPTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VtTzREO0VyRmsrUzVEO0VxRi85U007SWhFMU9OO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXVPNkQ7RXJGcStTN0Q7QUFDRjtBcUZ6OFNFO0VoRXZSQTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCbXVURjtBcUYxOFNNO0VoRTdRSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0UwUTJEO0FyRmc5UzdEO0FxRjc4U007RWhFalJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRThRMkQ7RUFFckQ7QXJGazlTUjtBTTN1VEU7RStFNlFBO0loRXZSQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7SWdFMlNJO1FBQUE7RXJGKzhTSjtFcUZwOVNJO0lBQ0U7RXJGczlTTjtFcUZoOVNJO0lBQ0U7SUFBQTtRQUFBO1lBQUE7RXJGazlTTjtFcUY3OFNNO0loRXZTTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VvUzJEO0lBQ25EO0lBQ0E7RXJGbTlTUjtFcUYvOFNNO0loRTlTTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0UyUzJEO0lBQ25EO0VyRnE5U1I7RXFGaDlTSTtJaEVwVUo7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lnRW1VTTtJQUNBO0VyRnE5U047RXFGajlTUTtJaEU1VFI7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFeVQyRDtFckZ1OVMzRDtFcUZuOVNRO0loRWpVUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U4VDJEO0VyRnk5UzNEO0FBQ0Y7QXFGMTdTRTtFaEVqWEE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQjh5VEY7QXFGMzdTTTtFaEV2V0o7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFb1cyRDtBckZpOFM3RDtBcUY5N1NNO0VoRmpWSjtBTGt4VEY7QXFGeDdTSTtFaEVuWUY7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQjh6VEY7QXFGejdTUTtFaEV6WE47TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFdVg2RDtBckY4N1MvRDtBcUYzN1NRO0VoRTlYTjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0U0WDZEO0VBRXJEO0FyRis3U1Y7QU10MFRFO0UrRXVXQTtJaEVqWEE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQm8xVEE7RXFGNTdTTTtJaEU1WU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFeVlpRjtJaEU5WDdFLGtCQ0xLO0V0QnMwVFQ7RXFCL3pUSTtJQUVFLGtCQ1RHO0V0QnkwVFQ7RXFCNXpURTtJQUNFO0VyQjh6VEo7RXFCM3pURTtJQUNFO0VyQjZ6VEo7RXFGejhTTTtJaEVoWk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFNllpRjtJaEVsWTdFLGtCQ0xLO0lqQnVCVDtFTGkwVEE7RXFCajFUSTtJQUVFLGtCQ1RHO0V0QjIxVFQ7RXFCOTBURTtJQUNFO0VyQmcxVEo7RXFCNzBURTtJQUNFO0VyQiswVEo7RUt2MFRFO0lBRUU7SUFBQTtJQUFBO0VMdzBUSjtFSzEwVEU7SUFFRTtJQUFBO0lBQUE7RUwyMFRKO0VLNzBURTtJQUVFO0lBQUE7SUFBQTtFTDgwVEo7RUtoMVRFO0lBRUU7SUFBQTtJQUFBO0VMaTFUSjtFcUZoK1NJO0loRXRhSjtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCeTRUQTtFcUZqK1NRO0loRTVaUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0UwWitEO0VyRnMrUy9EO0VxRm4rU1E7SWhFamFSO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRStaK0Q7SUFDckQ7RXJGdytTVjtBQUNGO0FNbDVURTtFK0V3YkE7SWhFbGNBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJnNlRBO0VxRjE5U007SWhFMWJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCaTVUVDtFcUY3OVNNO0loRTliTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qnc1VFQ7QUFDRjtBTXg2VEU7RStFa2RBO0loRTVkQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCczdUQTtFcUZ0OVNNO0loRXBkTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VpZHFEO0VyRjQ5U3JEO0VxRng5U007SWhFemROO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXNkcUQ7RXJGODlTckQ7QUFDRjtBTTk3VEU7RStFOGVBO0loRXhmQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCNDhUQTtFcUZoOVNNO0loRWhmTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjY3VFQ7RXFGbjlTTTtJaEVwZk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJvOFRUO0FBQ0Y7QU1wOVRFO0UrRXdnQkE7SWhFbGhCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCaytUQTtFcUY1OFNNO0loRTFnQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJtOVRUO0VxRi84U007SWhFOWdCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjA5VFQ7QUFDRjtBcUZ4OFNFO0VoRTVpQkE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQnUvVEY7QXFGejhTTTtFaEVsaUJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsbUJDTVM7QXRCdytUWDtBcUY1OFNNO0VoRXRpQko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxtQkNNUztBdEIrK1RYO0FNOS9URTtFK0V5akJBO0loRW5rQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjRnVUE7RXFGcjhTTTtJaEUzakJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXdqQm9EO0VyRjI4U3BEO0VxRng4U007SWhFL2pCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U4akJvRDtJQUM1QztFckY0OFNSO0FBQ0Y7QU1yaFVFO0UrRWlsQk07SWhFNWtCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V5a0JvRDtFckYyOFNwRDtBQUNGO0FxRjk3U0U7RWhFMW1CQTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCMmlVRjtBcUYvN1NNO0VoRWhtQko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFNmxCbUQ7QXJGcThTckQ7QXFGbDhTTTtFaEVwbUJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRWltQm1EO0FyRnc4U3JEO0FNbGpVRTtFK0V1bkJBO0loRWpvQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQmdrVUE7RXFGMzdTTTtJaEV6bkJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXNuQm9EO0VyRmk4U3BEO0VxRjk3U007SWhFN25CTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U0bkJvRDtJQUM1QztFckZrOFNSO0FBQ0Y7QU16a1VFO0UrRStvQk07SWhFMW9CTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V1b0JvRDtFckZpOFNwRDtBQUNGO0FNbGxVRTtFK0U4cEJBO0loRXhxQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQmdtVUE7RXFGcDdTTTtJaEVocUJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTZwQnNEO0VyRjA3U3REO0VxRnY3U007SWhFcHFCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VpcUJxRDtJQUM3QztFckY2N1NSO0FBQ0Y7QU16bVVFO0UrRXlyQkE7SWhFbnNCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCdW5VQTtFcUZqN1NJO0loRTFyQko7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFdXJCa0Q7RXJGdTdTbEQ7RXFGcjdTTTtJQUNFO0VyRnU3U1I7QUFDRjtBcUYxNlNFO0VoRTN0QkE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQndvVUY7QXFGMzZTTTtFaEVqdEJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRThzQnlEO0FyRmk3UzNEO0FxRjk2U007RWhFcnRCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0VrdEJ5RDtBckZvN1MzRDtBTS9vVUU7RStFa3VCTTtJaEU3dEJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTB0QnFEO0VyRm83U3JEO0VxRmo3U007SWhFanVCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U4dEJxRDtFckZ1N1NyRDtBQUNGO0FxRjE2U0U7RWhFL3ZCQTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCNHFVRjtBcUYzNlNNO0VoRXJ2Qko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxtQkNNUztBdEI2cFVYO0FxRjk2U007RWhFenZCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0Qm9xVVg7QU1uclVFO0UrRXN3Qk07SWhFandCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjRxVVQ7RXFGajdTTTtJaEVyd0JOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCbXJVVDtBQUNGO0FNbnNVRTtFK0U2eEJBO0loRXZ5QkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQml0VUE7RXFGdjZTSTtJaEU5eEJKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTJ4QjhFO0loRWh4QjFFLGtCQ0xLO0V0Qm1zVVQ7RXFCNXJVSTtJQUVFLGtCQ1RHO0V0QnNzVVQ7RXFCenJVRTtJQUNFO0VyQjJyVUo7RXFCeHJVRTtJQUNFO0VyQjByVUo7QUFDRjtBTTV0VUU7RStFbXpCQTtJaEU3ekJBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckIwdVVBO0VLenhUSTtJZ0JyY0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEIydFVUO0VLNXhUSTtJZ0J6Y0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztJakJpY0g7RUxreVROO0FBQ0Y7QXFGcDdTRTtFaEV6MEJBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJnd1VGO0FxRnI3U007RWhFL3pCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0U0ekIwRDtBckYyN1M1RDtBcUZ4N1NNO0VoRW4wQko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFZzBCMkQ7QXJGODdTN0Q7QU12d1VFO0UrRSt6QkE7SWhFejBCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCcXhVQTtFcUY1N1NNO0loRTcwQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJzd1VUO0VxRi83U007SWhFajFCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjZ3VVQ7QUFDRjtBcUZ2N1NFO0VoRWgzQkE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQjB5VUY7QXFGdDdTTTtFaEV4MkJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRXMyQnVEO0FyRjI3U3pEO0FNMXlVRTtFK0VzMkJBO0loRWgzQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnd6VUE7RXFGejdTTTtJaEVuM0JOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCeXlVVDtFcUY1N1NNO0loRXYzQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJnelVUO0FBQ0Y7QXFGcjdTRTtFaEVyNUJBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckI2MFVGO0FxRnI3U007RWhFNTRCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0V5NEIwRDtBckYyN1M1RDtBcUZ4N1NNO0VoRWg1Qko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFNjRCMkQ7QXJGODdTN0Q7QU1wMVVFO0UrRTI0QkE7SWhFcjVCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCazJVQTtFcUY1N1NNO0loRTE1Qk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFdTVCNEQ7RXJGazhTNUQ7RXFGaDhTUTtJaEU3NUJSO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTA1QitEO0VyRnM4Uy9EO0VxRmw4U007SWhFbDZCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0UrNUI2RDtFckZ3OFM3RDtFcUZ0OFNRO0loRXI2QlI7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFazZCK0Q7RXJGNDhTL0Q7QUFDRjtBcUY5N1NFO0VoRXA4QkE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQnE0VUY7QXFGOTdTTTtFaEUzN0JKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRXc3QjBEO0FyRm84UzVEO0FxRmo4U007RWhFLzdCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0U0N0IyRDtBckZ1OFM3RDtBTTU0VUU7RStFMDdCQTtJaEVwOEJBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckIwNVVBO0VxRnI4U007SWhFejhCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VzOEI0RDtFckYyOFM1RDtFcUZ6OFNRO0loRTU4QlI7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFeThCK0Q7RXJGKzhTL0Q7RXFGMzhTTTtJaEVqOUJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTg4QjZEO0VyRmk5UzdEO0VxRi84U1E7SWhFcDlCUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VpOUIrRDtFckZxOVMvRDtBQUNGO0FNaDdVRTtFK0V5K0JBO0loRW4vQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjg3VUE7RXFGdjhTTTtJaEUzK0JOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXkrQjBGO0loRTk5QnRGLGlCZ0U4OUJxQztJQUNqQztFckY2OFNSO0VxQjE2VUk7SUFFRSxpQmdFMDlCbUM7RXJGaTlTekM7RXFCdjZVRTtJQUNFO0VyQnk2VUo7RXFCdDZVRTtJQUNFO0VyQnc2VUo7RXFGbjlTTTtJaEVqL0JOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTgrQmlGO0loRW4rQjdFLGtCQ0xLO0V0Qms4VVQ7RXFCMzdVSTtJQUVFLGtCQ1RHO0V0QnE4VVQ7RXFCeDdVRTtJQUNFO0VyQjA3VUo7RXFCdjdVRTtJQUNFO0VyQnk3VUo7QUFDRjtBcUZyOVNFO0VoRWhoQ0E7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQncrVUY7QXFGcDlTTTtFaEV4Z0NKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsbUJDTVM7RStEZ2dDSDtBckYwOVNSO0FxRnY5U007RWhFN2dDSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0QmkrVVg7QU1oL1VFO0UrRXNnQ0E7SWhFaGhDQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCOC9VQTtFcUYxOVNNO0loRXhoQ047UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFc2hDMEY7SWhFM2dDdEYsaUJnRTJnQ3FDO0VyRmcrU3pDO0VxQnorVUk7SUFFRSxpQmdFdWdDbUM7RXJGbStTekM7RXFCdCtVRTtJQUNFO0VyQncrVUo7RXFCcitVRTtJQUNFO0VyQnUrVUo7RXFGdCtTTTtJaEU3aENOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTBoQ2lGO0loRS9nQzdFLGtCQ0xLO0V0QmlnVlQ7RXFCMS9VSTtJQUVFLGtCQ1RHO0V0Qm9nVlQ7RXFCdi9VRTtJQUNFO0VyQnkvVUo7RXFCdC9VRTtJQUNFO0VyQncvVUo7QUFDRjtBTTFoVkU7RStFaWpDQTtJaEUzakNBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJ3aVZBO0VxRnorU007SWhFbmpDTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VnakNvRDtFckYrK1NwRDtFcUY1K1NRO0loRXZqQ1I7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFb2pDdUQ7RXJGay9TdkQ7RXFGOStTTTtJaEU1akNOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXlqQ29EO0VyRm8vU3BEO0VxRmovU1E7SWhFaGtDUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U2akN1RDtFckZ1L1N2RDtBQUNGO0FNOWpWRTtFK0VxbENBO0loRS9sQ0E7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjRrVkE7RXFGeitTTTtJaEV2bENOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRW9sQ29EO0VyRisrU3BEO0VxRjUrU1E7SWhFM2xDUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V3bENzRDtJQUM1QztRQUFBO1lBQUE7RXJGay9TVjtFcUY5K1NNO0loRWptQ047UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFOGxDb0Q7RXJGby9TcEQ7RXFGai9TUTtJaEVybUNSO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRWttQ3NEO0VyRnUvU3REO0FBQ0Y7QXFGeitTRTtFaEVwb0NBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJnblZGO0FxRjUrU0k7RWhFeG5DRjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0VxbkNnRTtBckZrL1NsRTtBTWhuVkU7RStFMG9DQTtJaEVwcENBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckI4blZBO0VxRnorU0k7SWhFem9DSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0Vzb0NrRTtFckYrK1NsRTtBQUNGO0FNL25WRTtFK0U0cENBO0loRXRxQ0E7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lnRXNxQ0k7RXJGdytTSjtFcUZ0K1NJO0loRTVwQ0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFeXBDOEQ7RXJGNCtTOUQ7RXFGMStTTTtJQUNFO1FBQUE7RXJGNCtTUjtBQUNGOztBc0Yvb1ZFO0UvRVNBO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFK0VSRTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7QXRGbXBWSjtBTzNvVkU7RUFDRTtBUDZvVko7QXNGcHBWSTtFQUNFO0F0RnNwVk47QXNGbnBWTTtFQUVFO0F0Rm9wVlI7QU1ucVZFO0VnRkdBO0lBaUJJO1FBQUE7WUFBQTtJQUNBO0V0Rm1wVko7RXNGanBWSTtJQUNFO0V0Rm1wVk47RXNGaHBWTTtJQUVFO0V0RmlwVlI7QUFDRjtBTS9xVkU7RWdGR0E7SUFnQ0k7UUFBQTtZQUFBO0lBQ0E7RXRGZ3BWSjtFc0Y5b1ZJO0lBQ0U7RXRGZ3BWTjtFc0Y3b1ZNO0lBRUU7RXRGOG9WUjtBQUNGOztBTTNyVkU7RWlGREE7SWxFVEE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjBzVkE7RXVGOXJWSTtJbEVBSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLHFCa0VIaUc7SWxFYzdGLG9Ca0Vkb0U7RXZGcXNWeEU7RXFCcnJWSTtJQUVFLG9Ca0VsQmtFO0V2RndzVnhFO0VxQmxyVkU7SUFDRTtFckJvclZKO0VxQmpyVkU7SUFDRTtFckJtclZKO0FBQ0Y7QU1ydFZFO0VpRnFCQTtJbEUvQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lrRWlDSTtFdkZtc1ZKO0V1RmpzVkk7SWxFdkJKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7SURLTCxrQkNMSztJaUVlSDtFdkZ3c1ZOO0VxQmh0Vkk7SUFFRSxrQkNURztFdEIwdFZUO0VxQjdzVkU7SUFDRTtFckIrc1ZKO0VxQjVzVkU7SUFDRTtFckI4c1ZKO0FBQ0Y7QXVGbnNWSTtFQUNFO0F2RnFzVk47QU1udlZFO0VpRjJDQTtJbEVyREE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQml3VkE7RXVGcHNWTTtJbEVqRE47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmtFK0MwRjtJbEVwQ3RGLGlCa0VvQ3FDO0V2RjBzVnpDO0VxQjV1Vkk7SUFFRSxpQmtFZ0NtQztFdkY2c1Z6QztFcUJ6dVZFO0lBQ0U7RXJCMnVWSjtFcUJ4dVZFO0lBQ0U7RXJCMHVWSjtFdUZodFZNO0lsRXRETjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCa0VtRGlGO0lsRXhDN0Usa0JDTEs7RXRCb3dWVDtFcUI3dlZJO0lBRUUsa0JDVEc7RXRCdXdWVDtFcUIxdlZFO0lBQ0U7RXJCNHZWSjtFcUJ6dlZFO0lBQ0U7RXJCMnZWSjtFdUY3dFZNO0lsRTFETjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCa0V1RGlGO0lsRTVDN0Usa0JDTEs7RXRCcXhWVDtFcUI5d1ZJO0lBRUUsa0JDVEc7RXRCd3hWVDtFcUIzd1ZFO0lBQ0U7RXJCNndWSjtFcUIxd1ZFO0lBQ0U7RXJCNHdWSjtBQUNGO0FNOXlWRTtFaUY4RUE7SWxFeEZBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckI0elZBO0V1Rmh1Vk07SWxFaEZOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNnlWVDtFdUZudVZNO0lsRXBGTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qm96VlQ7RXVGdHVWTTtJbEV4Rk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEIyelZUO0FBQ0Y7O0F3RjUxVitCO0FBbUIvQjtBQ3pCQTtFQUNFO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtNQUFBO1VBQUE7RUFDQTtNQUFBO1VBQUE7QXpGdTJWRjs7QXlGcDJWQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CQzZCZTtFRDVCZjtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7QXpGdTJWRjtBeUZyMlZFO0VBQ0U7RUFDQTtBekZ1MlZKO0F5RnAyVkU7RUFDRTtFQUNBO0VBQ0E7RUU3QkYsbUJDTWtCO0VETGxCLG1CQ2dCb0I7QTVGbzNWdEI7QXlGbjJWRTtFQUNFO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0F6RnEyVko7QXlGbDJWRTtFQUNFO0F6Rm8yVko7QXlGajJWRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CQ0hhO0VESWI7RUFDQTtFQUNBO0VFL0NGLG9CQ0VpQjtFRERqQixtQkNZbUI7QTVGdTRWckI7QXlGLzFWSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6RmkyVk47QXlGLzFWTTtFQUVFO0VBQ0E7QXpGZzJWUjtBeUYzMVZJO0VFOURGLGlCQ0ZnQjtFREdoQixtQkNRa0I7RURQbEI7RUYrREk7RUFDQTtBekY4MVZOO0F5RjMxVkk7RUFDRTtFRWhGSixtQkNNa0I7RURMbEIsbUJDZ0JvQjtBNUY4NVZ0QjtBeUYzMVZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRTVGSixtQkNNa0I7RURMbEIsbUJDZ0JvQjtBNUYwNlZ0Qjs7QXlGejFWQTtFQUNFO0VBQ0E7QXpGNDFWRjs7QXlGeDFWRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtBekYyMVZKO0F5RnoxVkk7RUFDRTtBekYyMVZOO0F5RnYxVkU7RUFDRTtBekZ5MVZKOztBeUZwMVZFO0VBQ0U7RUFDQTtVQUFBO0VBQ0E7QXpGdTFWSjtBeUZwMVZFO0VBQ0U7QXpGczFWSjs7QXlGbDFWQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZxMVZGOztBeUZsMVZBO0FBQ0E7O0VBRUU7RUFDQTtFQUNBO0F6RnExVkY7O0F5RmwxVkE7QUFDQTs7OztFQUlFO0F6RnExVkY7O0E2RnYvVkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0YwL1ZGO0E4RjE3VkU7RUR2RUY7SUFVSTtFN0YyL1ZGO0FBQ0Y7O0E2RngvVkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGMi9WRjs7QTZGdi9WRTtFQUNFO0E3RjAvVko7QTZGdi9WRTtFQUNFO0E3RnkvVko7O0E2RnIvVkE7Ozs7Ozs7Ozs7O0VBQUE7QUFZQTs7RUFFRTtBN0Z3L1ZGOztBNkZyL1ZBO0VBQ0U7QTdGdy9WRjs7QTZGci9WQTs7Ozs7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGdy9WRjs7QTZGci9WQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO01BQUE7VUFBQTtBN0Z3L1ZGO0E4RmxnV0U7RURERjtJQWNJO0U3RnkvVkY7QUFDRjtBNkZ2L1ZFO0VBS0U7RUFDQTtBN0ZxL1ZKO0E4RjNnV0U7RURnQkE7SUFFSTtFN0Y2L1ZKO0FBQ0Y7QTZGdi9WRTtFQUNFLHFDRTVGZTtFRjRGZiw2QkU1RmU7RUY2RmY7QTdGeS9WSjtBNkZ0L1ZFO0VBQ0U7QTdGdy9WSjs7QTZGcC9WQTtBQUNBO0VBQ0k7RUFDQTtFQUFBO0E3RnUvVko7O0E2RnAvVkE7RUFDRTtBN0Z1L1ZGOztBNkZwL1ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Z1L1ZGOztBNkZwL1ZBO0VBQ0U7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7TUFBQTtVQUFBO0E3RnUvVkY7QThGdmpXRTtFRGtFQTtJQUVJO0lBQ0E7SUFDQTtFN0Z1L1ZKO0FBQ0Y7QThGOWpXRTtFRHFERjtJQXNCSTtFN0Z1L1ZGO0FBQ0Y7QThGbmtXRTtFRHFERjtJQTBCSSxtQkRqSmdCO0U1RnlvV2xCO0FBQ0Y7QTZGdC9WRTtFQUdFO0E3RnMvVko7O0E2RmwvVkE7RUFDRTtFQUFBO0VBQUE7QTdGcS9WRjs7QTZGbC9WQTtFR3BHRTtFQUdBO0VBQ0E7RUhtR0E7TUFBQTtVQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtNQUFBO1VBQUE7QTdGcy9WRjtBZ0d2bVdFO0VBQ0U7QWhHeW1XSjtBNkZ0L1ZJO0VBQ0U7QTdGdy9WTjtBNkZyL1ZJO0VBQ0U7QTdGdS9WTjtBNkZwL1ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTdGcy9WTjtBNkZuL1ZJO0VBQ0k7QTdGcS9WUjtBNkZwL1ZRO0VBQ0k7RUFDQTtBN0ZzL1ZaO0E2RnAvVlk7RUFDSTtFQUNBO0E3RnMvVmhCO0E2RmgvVkU7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RmsvVko7QThGcHNXRTtFRDJNQTs7SUFVSTtRQUFBO1lBQUE7SUFDQTtJQUFBO0lBQUE7SUFDQTtJQUNBO0U3Rm8vVko7QUFDRjtBNkZsL1ZJOzs7O0VBR0U7QTdGcS9WTjtBNkZqL1ZFO0VBQ0U7RUFDQTtFR3ZNRjtFQUNBO0VBQ0E7QWhHMnJXRjtBNkZsL1ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGby9WSjtBNkZsL1ZJO0VBQ0k7RUFDQTtFQUNBO0E3Rm8vVlI7QTZGbC9WUTtFQUVJO0E3Rm0vVlo7QTZGNytWSTtFQUdFO0VBQ0E7QTdGNitWTjtBNkZ2K1ZJO0VBR0U7QTdGdStWTjtBNkZuK1ZFO0VBQ0U7RUFDQTtFQUNBO0E3RnErVko7QThGL3FXRTtFRDZGRjtJQWlISSxtQkhoT2E7SUdpT2I7RTdGcStWRjtFNkZuK1ZFO0lBQ0U7SUFDQTtJQUNBO0U3RnErVko7RTZGbitWSTtJQUNFO0U3RnErVk47RTZGaitWRTtJQUNFO0lBQ0E7RTdGbStWSjtBQUNGOztBNkYvOVZBO0VBQ0U7RUFDQTtBN0ZrK1ZGOztBNkYvOVZBO0VBQ0U7QTdGaytWRjs7QTZGLzlWQTtFQUNFO0E3RmsrVkY7QTZGaCtWRTtFQUVFO0E3RmkrVko7QTZGOTlWRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7TUFBQTtVQUFBO0E3RmcrVko7QTZGOTlWSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RmcrVk47QThGM3VXRTtFRDhQRTtJQWdCSTtFN0ZpK1ZOO0FBQ0Y7QTZGNTlWSTtFQUNFO0E3Rjg5Vk47QTZGNTlWTTtFQUNFO1VBQUE7RUFDQTtBN0Y4OVZSOztBNkZ4OVZBO0VBQ0U7RUFDQTtFQUNBLGdCRDFVc0I7QTVGcXlXeEI7O0E2Rng5VkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VGMVhBLG9CQ0VpQjtFRERqQixtQkNZbUI7QTVGMDBXckI7QTZGejlWRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGMjlWSjtBNkZ4OVZFO0VBQ0U7QTdGMDlWSjtBNkZ2OVZFO0VBQ0U7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rnk5Vko7QTZGcjlWSTtFQUNFO0VBQ0E7QTdGdTlWTjtBNkZuOVZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUZyYUYsb0JDRWlCO0VERGpCLG1CQ1ltQjtBNUYrMldyQjtBNkZuOVZJO0VBR0U7RUFDQSx5QkgzWFU7RUc0WFYsY0huWlc7QTFGczJXakI7QThGOXpXRTtFRDRWQTtJRnBhQSxtQkNNa0I7SURMbEIsbUJDZ0JvQjtFNUYwM1dwQjtFNkZsOVZJO0lBR0U7RTdGazlWTjtBQUNGO0E2Rjk4VkU7RUFDRTtFQUNBO0VBQ0EsZ0JEdGFrQjtBNUZzM1d0QjtBNkY5OFZJO0VBQ0UsY0gxWlc7RUcyWlgsZ0JEdmFhO0E1RnUzV25CO0E2Rjc4Vkk7RUFHRTtFQUNBLGNIL2FXO0ExRjQzV2pCOztBNkZ4OFZBO0VBQ0U7RUFDQSxjSHphZTtFRzBhZjtBN0YyOFZGO0E4RjExV0U7RURpWkE7SUFFSTtJQUNBO0U3RjI4Vko7QUFDRjtBOEZoMldFO0VEd1pBO0lBRUk7RTdGMDhWSjtBQUNGO0E2RnQ4Vkk7RUFDRTtBN0Z3OFZOO0E2RnI4Vkk7RUFDRTtVQUFBO0VBQ0E7QTdGdThWTjtBNkZuOFZFO0VBQ0UsY0hyY2E7RUdzY2I7QTdGcThWSjtBOEZ4N1dFO0VEc2ZJO0lBR0UsY0h6ZFM7SUcwZFQ7RTdGbThWTjtBQUNGOztBNkY5N1ZBO0VBQ0U7QTdGaThWRjs7QTZGOTdWQTtFQUNFO0E3Rmk4VkY7O0E2Rjk3VkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0ZpOFZGO0E2Ri83VkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtBN0ZpOFZKO0E2Ri83Vkk7RUFDRTtBN0ZpOFZOO0E2Rjk3Vkk7RUFDRTtBN0ZnOFZOO0E2Rjc3Vkk7RUFDRTtBN0YrN1ZOOztBNkYxN1ZBO0FBRUU7RUFDRTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0E3RjQ3Vko7O0E2Rng3VkE7QUFDQTtFQWdFRTtFQTRCQTtFQVlBO0E3RnMxVkY7QTZGNzdWRTtFQUNFLGdCSGxnQlU7RUdtZ0JWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGKzdWSjtBOEY5N1dFO0VEaWZBO0lBaUJJO0lBQ0E7SUFDQTtFN0ZnOFZKO0FBQ0Y7QTZGOTdWSTtFQUNFO0VBQ0E7RUFDQTtFQUFBO0VBQUE7QTdGZzhWTjtBNkY1N1ZFO0VBQ0U7RUFDQTtFQUNBO0E3Rjg3Vko7QTZGMzdWRTs7RUFFRSxjSGpqQmE7RUdrakJiO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7TUFBQTtVQUFBO0E3RjY3Vko7QTZGMzdWSTs7RUFDRTtBN0Y4N1ZOO0E2RjE3VkU7RUFDRSxjSGxrQlU7QTFGOC9XZDtBNkZ6N1ZFO0VBQ0U7RUFDQTtBN0YyN1ZKO0E2Rng3VkU7RUFDRTtBN0YwN1ZKO0E2RnQ3VkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFRjduQkYsb0JDRWlCO0VERGpCLG1CQ1ltQjtBNUYwaVhyQjtBNkZ0N1ZJO0VBR0U7QTdGczdWTjtBNkZsN1ZNO0VBRUU7QTdGbTdWUjtBNkY1NlZJO0VBQ0U7VUFBQTtFQUNBO0E3Rjg2Vk47QTZGMzZWSTtFQUNFO0E3RjY2Vk47QTZGdjZWSTtFQUNFO0VBQ0E7VUFBQTtBN0Z5NlZOO0E2RnQ2Vkk7RUFDRTtBN0Z3NlZOO0E2RnI2Vkk7RUFDRTtFQUNBO1VBQUE7QTdGdTZWTjs7QTZGbDZWQTtBQUNBO0VBQ0U7QTdGcTZWRjtBNkZuNlZFO0VBQ0U7RUFDQTtVQUFBO0E3RnE2Vko7QTZGbDZWRTtFQUNFO0E3Rm82Vko7QTZGajZWRTs7RUFFRTtBN0ZtNlZKOztBNkYvNVZBOztFQUFBO0FBSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGaTZWSjtBNkYvNVZJO0VBQ0U7QTdGaTZWTjs7QTZGNTVWQTtFQUNFO0VBQUE7RUFBQTtBN0YrNVZGOztBNkY1NVZBO0VBQ0U7RUFBQTtFQUFBO0E3Ris1VkY7O0E4RnRqWEU7RUQycEJBO0lBQ0U7RTdGKzVWRjtBQUNGO0FBdGhYQTtFQUNFO0FBd2hYRjs7QUFwaFhBO0VBQ0U7RUFDQTtFQUNBO0FBdWhYRjs7QUFwaFhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFBQTtBQXVoWEY7QUFyaFhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXVoWEo7QUFwaFhFO0VBRUU7QUFxaFhKO0FBbmhYSTtFQUNFO0FBcWhYTjs7QUEvZ1hBO0VBQ0U7QUFraFhGOztBQTlnWEU7RUFDRTtVQUFBO0VBQ0E7QUFpaFhKO0FBOWdYRTtFQUNFO0FBZ2hYSjtBQTVnWEk7RUFDRTtBQThnWE4sQyIsInNvdXJjZXMiOlsid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvbWFpbi5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fZGVidWcuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2hlbHBlcnMvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9oZWxwZXJzL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL3Rvb2xzL19tZWRpYS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2hlbHBlcnMvX29yZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9oZWxwZXJzL19zdGF0ZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fdHlwZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fdG9vbHRpcHMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2Jhc2UvX2dsb2JhbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvYmFzZS9fdHlwZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvYmFzZS9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9iYXNlL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9iYXNlL19saXN0cy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvYmFzZS9fdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2xheW91dC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9sYXlvdXQvX292ZXJmbG93LWxpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9sYXlvdXQvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL3Rvb2xzL19jYWxjLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL3ZhcmlhYmxlcy9fZ2VuZXJhbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvbGF5b3V0L19hamF4LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9sYXlvdXQvX3otaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc2hhcmUtYW5kLW91dHB1dC1idXR0b25zL19iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtaW4tcGFnZS9fYi1uYXYtaW4tcGFnZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1mb290ZXIvX2ItZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXRhYmxlLWpzL19iLXRhYmxlLWpzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtaGVhZGVyL19iLWNvbnRlbnQtaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXJlc291cmNlL19iLXJlc291cmNlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWhlbHAtaXRlbS9fYi1oZWxwLWl0ZW0uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC1zdWItaGVhZGVyL19iLWNvbnRlbnQtc3ViLWhlYWRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtcmVzdWx0cy1zdW1tYXJ5L19iLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnkuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItaGlkZS1zaG93L19iLWhpZGUtc2hvdy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtc3VnZ2VzdGlvbnMvX2Itc2VhcmNoLXN1Z2dlc3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWV4YW1wbGUtZW1iZWQvX2ItZXhhbXBsZS1lbWJlZC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtaGVhZGVyL19iLXNlYXJjaC1oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWd1aWRlLXNpZGViYXIvX2ItbmF2LWd1aWRlLXNpZGViYXIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItZXhhbXBsZS1zbGlkZS9fYi1leGFtcGxlLXNsaWRlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXN0cmF0ZWd5L19iLXN0cmF0ZWd5LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXVuZGVyc3RhbmQtb3ZlcnZpZXcvX2ItdW5kZXJzdGFuZC1vdmVydmlldy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1jYXB0aW9uL19iLWNhcHRpb24uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItcHJvY2Vzcy1saXN0L19iLXByb2Nlc3MtbGlzdC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1leGFtcGxlLWhvbWUvX2ItZXhhbXBsZS1ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWZpbGwvX2ItZmlsbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1waWN0dXJlL19iLXBpY3R1cmUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC9fYi1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLW5leHQtc3RlcHMvX2ItbmV4dC1zdGVwcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1ob3ctdG8tdXNlLXRoZS1zaXRlL19iLWhvdy10by11c2UtdGhlLXNpdGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbGluay1pY29uL19iLWxpbmstaWNvbi5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1iYWNrLXRvLXRvcC9fYi1iYWNrLXRvLXRvcC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1maWx0ZXItbm90aWNlL19iLWZpbHRlci1ub3RpY2Uuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbW9kYWwtanMvX2ItdmVuZG9yLW1vZGFhbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1tb2RhbC1qcy9fYi1tb2RhbC1qcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uby1yZXN1bHRzLW1lc3NhZ2UvX2Itbm8tcmVzdWx0cy1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXNlYXJjaC1maWVsZC9fYi1zZWFyY2gtZmllbGQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLWZpZWxkL19iLXNlYXJjaGZpZWxkLS10eXBlYWhlYWQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL19iLWV4YW1wbGVfL19iLWV4YW1wbGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItdGtpLWJhci9fYi10a2ktYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWJ1dHRvbi9fYi1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItcGFnaW5hdGlvbi9fYi1wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWFsZXJ0L19iLWFsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXNraXAtbGlua3MvX2Itc2tpcC1saW5rcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zdWdnZXN0aW9uL19iLXN1Z2dlc3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Ita25vd2xlZGdlLXNsaWRlL19iLWtub3dsZWRnZS1zbGlkZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uZXh0LXN0ZXBzLWFuZC1ob3ctdG8tdXNlLXRoZS1zaXRlL19iLW5leHQtc3RlcHMtYW5kLWhvdy10by11c2UtdGhlLXNpdGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItZ3VpZGUtdGlsZS9fYi1ndWlkZS10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtcmV2ZWFsL19iLWNvbnRlbnQtcmV2ZWFsLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXRhZy9fYi10YWcuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itbm90ZS1qcy9fYi1ub3RlLWpzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIvX2ItZ3VpZGUtbGlzdC1zZWFyY2gtYW5kLWZpbHRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1maWx0ZXIvX2ItZmlsdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXZpZGVvL19iLXZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXNjcm9sbC10cmlnZ2VyLWpzL19iLXNjcm9sbC10cmlnZ2VyLWpzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXRleHQtcHJvbW8vX2ItdGV4dC1wcm9tby5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtcHJpbWFyeS9fYi1uYXYtcHJpbWFyeS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1pbnRyb2R1Y3Rpb24vX2ItaW50cm9kdWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXJ1bGUvX2ItcnVsZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtcmVzdWx0L19iLXNlYXJjaC1yZXN1bHQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWluLXBhZ2UtcGlubmVkLWpzL19iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9jb2xvcnMvX2NvbG9ycy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9pY29ucy9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvZ3JpZC9fZ3JpZC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9sYXlvdXRzL2wtMS9fbC0xLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2xheW91dHMvbC0yL19sLTIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvbGF5b3V0cy9sLTQvX2wtNC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9sYXlvdXRzL2wtMy9fbC0zLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1zdGFuZGFyZC1oZWFkZXIvY2xpZW50L3Njc3Mvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy92YXJpYWJsZXMvY29sb3Vycy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLWRlc2lnbi1zeXN0ZW0vY2xpZW50L3Njc3MvbWl4aW5zL3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1kZXNpZ24tc3lzdGVtL2NsaWVudC9zY3NzL3ZhcmlhYmxlcy90eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2Utc3RhbmRhcmQtaGVhZGVyL2NsaWVudC9zY3NzL2hlYWRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLWRlc2lnbi1zeXN0ZW0vY2xpZW50L3Njc3MvbWl4aW5zL2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy92YXJpYWJsZXMvdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1kZXNpZ24tc3lzdGVtL2NsaWVudC9zY3NzL21peGlucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBNYWluIFN0eWxlc2hlZXRzIEltcG9ydFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZnJvbSB3aGljaCBhbGwgb3RoZXIgc3R5bGVzaGVldHMgYXJlIGltcG9ydGVkLlxuXG5AY2hhcnNldCBcInV0Zi04XCI7XG5cbi8vIEVudHJ5IHBvaW50XG5AaW1wb3J0XG5cImxpYlwiLFxuXCJ0b29sc1wiLFxuXCJ2YXJpYWJsZXNcIixcblwiaGVscGVyc1wiLFxuXCJiYXNlXCIsXG5cImxheW91dFwiO1xuXG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy9fYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtaW4tcGFnZS9fYi1uYXYtaW4tcGFnZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWZvb3Rlci9fYi1mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi10YWJsZS1qcy9fYi10YWJsZS1qcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtaGVhZGVyL19iLWNvbnRlbnQtaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItcmVzb3VyY2UvX2ItcmVzb3VyY2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1oZWxwLWl0ZW0vX2ItaGVscC1pdGVtLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC1zdWItaGVhZGVyL19iLWNvbnRlbnQtc3ViLWhlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnkvX2Itc2VhcmNoLXJlc3VsdHMtc3VtbWFyeS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWhpZGUtc2hvdy9fYi1oaWRlLXNob3cuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtc3VnZ2VzdGlvbnMvX2Itc2VhcmNoLXN1Z2dlc3Rpb25zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZXhhbXBsZS1lbWJlZC9fYi1leGFtcGxlLWVtYmVkLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLWhlYWRlci9fYi1zZWFyY2gtaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWd1aWRlLXNpZGViYXIvX2ItbmF2LWd1aWRlLXNpZGViYXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1leGFtcGxlLXNsaWRlL19iLWV4YW1wbGUtc2xpZGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zdHJhdGVneS9fYi1zdHJhdGVneS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXVuZGVyc3RhbmQtb3ZlcnZpZXcvX2ItdW5kZXJzdGFuZC1vdmVydmlldy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWNhcHRpb24vX2ItY2FwdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXByb2Nlc3MtbGlzdC9fYi1wcm9jZXNzLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1leGFtcGxlLWhvbWUvX2ItZXhhbXBsZS1ob21lLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZmlsbC9fYi1maWxsLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItcGljdHVyZS9fYi1waWN0dXJlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC9fYi1jb250ZW50LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbmV4dC1zdGVwcy9fYi1uZXh0LXN0ZXBzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItaG93LXRvLXVzZS10aGUtc2l0ZS9fYi1ob3ctdG8tdXNlLXRoZS1zaXRlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbGluay1pY29uL19iLWxpbmstaWNvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWJhY2stdG8tdG9wL19iLWJhY2stdG8tdG9wLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZmlsdGVyLW5vdGljZS9fYi1maWx0ZXItbm90aWNlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbW9kYWwtanMvX2ItdmVuZG9yLW1vZGFhbC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW1vZGFsLWpzL19iLW1vZGFsLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itbm8tcmVzdWx0cy1tZXNzYWdlL19iLW5vLXJlc3VsdHMtbWVzc2FnZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNlYXJjaC1maWVsZC9fYi1zZWFyY2gtZmllbGQuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtZmllbGQvX2Itc2VhcmNoZmllbGQtLXR5cGVhaGVhZC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9fYi1leGFtcGxlXy9fYi1leGFtcGxlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItdGtpLWJhci9fYi10a2ktYmFyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItYnV0dG9uL19iLWJ1dHRvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXBhZ2luYXRpb24vX2ItcGFnaW5hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWFsZXJ0L19iLWFsZXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2tpcC1saW5rcy9fYi1za2lwLWxpbmtzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbW9kYWwtcGFnaW5hdGlvbi1qcy9fYi1tb2RhbC1wYWdpbmF0aW9uLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc3VnZ2VzdGlvbi9fYi1zdWdnZXN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Ita25vd2xlZGdlLXNsaWRlL19iLWtub3dsZWRnZS1zbGlkZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW5leHQtc3RlcHMtYW5kLWhvdy10by11c2UtdGhlLXNpdGUvX2ItbmV4dC1zdGVwcy1hbmQtaG93LXRvLXVzZS10aGUtc2l0ZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWljb24vX2ItaWNvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9fYmxvY2tzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZ3VpZGUtdGlsZS9fYi1ndWlkZS10aWxlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC1yZXZlYWwvX2ItY29udGVudC1yZXZlYWwuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi10YWcvX2ItdGFnLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itbm90ZS1qcy9fYi1ub3RlLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZ3VpZGUtbGlzdC1zZWFyY2gtYW5kLWZpbHRlci9fYi1ndWlkZS1saXN0LXNlYXJjaC1hbmQtZmlsdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZmlsdGVyL19iLWZpbHRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXZpZGVvL19iLXZpZGVvLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2Nyb2xsLXRyaWdnZXItanMvX2Itc2Nyb2xsLXRyaWdnZXItanMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi10ZXh0LXByb21vL19iLXRleHQtcHJvbW8uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtcHJpbWFyeS9fYi1uYXYtcHJpbWFyeS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWludHJvZHVjdGlvbi9fYi1pbnRyb2R1Y3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1ydWxlL19iLXJ1bGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtcmVzdWx0L19iLXNlYXJjaC1yZXN1bHQuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtaW4tcGFnZS1waW5uZWQtanMvX2ItbmF2LWluLXBhZ2UtcGlubmVkLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvdGFibGVzL190YWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9mb3Jtcy9fZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9saXN0cy9fbGlzdHMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9fc3R5bGUtcGF0dGVybnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9jb2xvcnMvX2NvbG9ycy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2ljb25zL19pY29ucy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL3R5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9ncmlkL19ncmlkLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wNy1oZWxwL19jLTA3LWhlbHAuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAzLWd1aWRlL19jLTAzLTAwLWd1aWRlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wMC1jb21tb24vX2MtMDAtMDQtbmV4dC1zdGVwcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTEwLWtub3dsZWRnZS1zbGlkZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTExLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTA1LXJlc291cmNlcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTAxLXByaW1hcnktbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTEzLWluLXBhZ2UtbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTA4LWV4YW1wbGUtc2xpZGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0wOS1leGFtcGxlLWVtYmVkLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wMC1jb21tb24vX2MtMDAtMDctZ3VpZGUtdGlsZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTAwLWNvbW1vbi1jb21wb25lbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wMC1jb21tb24vX2MtMDAtMDYtZ3VpZGUtbGlzdC1zZWFyY2gtYW5kLWZpbHRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTAzLWd1aWRlLXNpZGViYXItbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTAyLWZvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTEyLWludHJvZHVjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDUtc3VnZ2VzdGlvbi9fYy0wNS0wMC1zdWdnZXN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8xMC1zZWFyY2gtbW9kYWwvX2MtMTAtMDAtc2VhcmNoLW1vZGFsLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvbGF5b3V0cy9sLTEvX2wtMS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2xheW91dHMvbC0yL19sLTIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9sYXlvdXRzL2wtNC9fbC00LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvbGF5b3V0cy9sLTMvX2wtMy5zY3NzXCI7XG5cbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1kZXNpZ24tc3lzdGVtL2NsaWVudC9zY3NzL3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy9taXhpbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLXN0YW5kYXJkLWhlYWRlci9jbGllbnQvc2Nzcy9oZWFkZXIuc2Nzc1wiO1xuXG5ib2R5IHtcbiAgLS1oZWFkZXItaGVpZ2h0OiA2MHB4O1xufVxuXG5cbi5uYXZiYXItYnJhbmQge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdCwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLm5hdmJhci1tZW51IGEge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdCwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9leHRlcm5hbC1saW5rLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogIzE0NzBFMTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2V4dGVybmFsLWxpbmstYmx1ZS5zdmdcIik7XG4gICAgfVxuICB9XG59XG5cblxuLm5hdmJhciArIGRpdiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbltkYXRhLWNsYXNzbmFtZT1JbmNsdXNpdmVIb21lcGFnZV0ge1xuICAubmF2YmFyIHtcbiAgICBib3gtc2hhZG93OiAwIDFweCA4cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjI1MmE7XG4gIH1cblxuICAuYi1uYXYtcHJpbWFyeV9fYnJhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYi1uYXYtcHJpbWFyeSB7XG4gICAgLmItcnVsZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIFR5cG9ncmFwaGljXG4vLyBcbi8vIFNlZSBhbHNvIC4uL2Jhc2UvX3R5cGUuc2Nzc1xuLy8gU2VlIGFsc28gLi4vaGVscGVycy9fdHlwZS5zY3NzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHbG9iYWwgc2l6aW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZy1mb250LWJhc2U6IDhweDtcbiRnLWxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGFyIFNjYWxlIFR5cG9ncmFwaHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRoZXNlIGFyZSBzZXR0aW5ncyBmb3IgdGhlIG1vZHVsYXIgc2NhbGUgcGx1Z2luIGFuZCB0aGVyZWZvcmUgdXNlIHRoZWlyXG4vLyBvd24gbmFtaW5nIGNvbnZlbnRpb24uXG4kbXMtYmFzZTogYnUoMik7XG4kbXMtZmx1aWQ6IGZhbHNlO1xuJG1zLXJhdGlvOiAkbWFqb3Itc2Vjb25kO1xuXG4vLyBVc2VkIHRvIG1hdGNoIGEgcG9pbnQgb24gdGhlIHNjYWxlIHRvIGEgc3RhbmRhcmQgbGluZSBoZWlnaHQgdXNpbmcgYmFzZSB1bml0c1xuLy8gVGhpcyBoYXMgYmVlbiBjdXN0b21pc2VkIHRvIG1hdGNoIHRoZSBsaW5lIGhlaWdodHMgdXNlZCBpbiB0aGUgZGVzaWduLlxuJGctZm9udC1zY2FsZS1zaXppbmc6IChcbiAgLTM6IGJ1KDIpLFxuICAtMjogYnUoMiksXG4gIC0xOiBidSgyLjI1KSxcbiAgMDogIGJ1KDMpLFxuICAxOiAgYnUoMy41KSxcbiAgMjogIGJ1KDMpLFxuICAzOiAgYnUoMy41KSxcbiAgNDogIGJ1KDMuNSksXG4gIDU6ICBidSgzLjUpLFxuICA2OiAgYnUoNSksXG4gIDc6ICBidSg1KSxcbiAgODogIGJ1KDUuNSksXG4gIDk6ICBidSg1LjUpLFxuICAxMDogIGJ1KDgpLFxuICAxMTogIGJ1KDcuNzUpLFxuICAxMjogIGJ1KDEwKSxcbiAgMTM6ICBidSgxMSksXG4gIDE0OiAgYnUoMTIpLFxuICAxNTogIGJ1KDEzKSxcbiAgMTY6ICBidSgxMylcbik7XG5cbkBtaXhpbiBmb250LXNjYWxlKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRnLWZvbnQtc2NhbGUtc2l6aW5nLCAka2V5KSB7XG4gICAgZm9udC1zaXplOiBtcygka2V5KTtcbiAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkZy1mb250LXNjYWxlLXNpemluZywgJGtleSk7XG4gIH1cbn1cblxuLy8gQ29udmVydCBQaG90b3Nob3AgbGV0dGVyc3BhY2luZyBpbnRvIHJlbXNcbi8vXG4vLyBAcGFyYW0gc3RyaW5nICAkbGV0dGVyLXNwYWNpbmctcHgtcHNkICBQaXhlbCBhbW91bnQgY29waWVkIGZyb20gUGhvdG9zaG9wL0ludmlzaW9uXG4vLyBAcGFyYW0gaW50ICAgICAkbXMtc2l6ZSAgICAgICAgICAgICAgICBNb2R1bGFyIFNjYWxlIHZhbHVlXG4vLyBAc2VlIGh0dHBzOi8vY29kZXBlbi5pby9hbHlkYS9wZW4vZ0d6Ykxcbi8vIEBleGFtcGxlXG4vLyAgQGluY2x1ZGUgZm9udC1zY2FsZSgxMSk7XG4vLyAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDExKTtcbkBtaXhpbiBsZXR0ZXItc3BhY2luZygkbGV0dGVyLXNwYWNpbmctcHgtcHNkLCAkbXMtc2l6ZSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGctZm9udC1zY2FsZS1zaXppbmcsICRtcy1zaXplKSB7XG4gICAgJGZvbnQtc2l6ZS1yZW06IG1zKCRtcy1zaXplKTsgLy8gTnJlbVxuICAgICRmb250LXNpemUtcHg6ICgoJGZvbnQtc2l6ZS1yZW0vMXJlbSkgKiAkZy1mb250LWJhc2UpOyAvLyAxcmVtIC0+IDhweFxuICAgICRsZXR0ZXItc3BhY2luZy1weDogKCRsZXR0ZXItc3BhY2luZy1weC1wc2QgKiAkZm9udC1zaXplLXB4IC8gMTAwMCk7XG4gICAgJGxldHRlci1zcGFjaW5nLXJlbTogKCgoJGxldHRlci1zcGFjaW5nLXB4IC8gJGctZm9udC1iYXNlKS8xcHgpICogMXJlbSk7XG5cbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLXJlbTtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRnLWZvbnQtcHJpbWFyeTogTW9udHNlcnJhdCwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRnLWZvbnQtc2Vjb25kYXJ5OiBNYXJ0ZWwsIEdlb3JnaWEsIHNlcmlmO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBGYWNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBOb3RlIHRoZXNlIGFyZSBub3QgdmFyaWFibGVzLCBidXQgYXJlIHVzZWQgbGlrZSB2YXJpYWJsZXMgc28gaW5jbHVkZWQgaW4gdGhpcyBsb2NhdGlvbi5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFByaW1hcnlcbi8vIGh0dHBzOi8vZm9udHMuZ29vZ2xlLmNvbS9zcGVjaW1lbi9Nb250c2VycmF0XG4vLyBodHRwOi8vZ29vZ2xlLXdlYmZvbnRzLWhlbHBlci5oZXJva3VhcHAuY29tL2ZvbnRzL21vbnRzZXJyYXQ/c3Vic2V0cz1sYXRpbi1leHQsbGF0aW5cbi8vIGh0dHA6Ly9tYW9yaS50eXBlaXQub3JnL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gMTAwOiBUaGluXG4vLyAyMDA6IEV4dHJhLUxpZ2h0XG4vLyAzMDA6IExpZ2h0XG4vLyA0MDAgKFJlZ3VsYXIpXG4vLyA1MDA6IE1lZGl1bVxuLy8gNjAwOiBTZW1pLUJvbGRcbi8vIDcwMDogQm9sZFxuLy8gODAwOiBFeHRyYS1Cb2xkXG4kcHJpbWFyeS13ZWlnaHRzOiAxMDAsIDIwMCwgMzAwLCByZWd1bGFyLCA1MDAsIDYwMCwgNzAwLCA4MDA7XG5cbkBlYWNoICR3ZWlnaHQgaW4gJHByaW1hcnktd2VpZ2h0cyB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcblxuICAgIEBpZiAkd2VpZ2h0ID09IFwicmVndWxhclwiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfSBAZWxzZSB7XG4gICAgICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgICB9XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHNyYzogdXJsKCRnLWZvbnQtcGF0aCArIFwibW9udHNlcnJhdC9tb250c2VycmF0LXYxMi1sYXRpbl9sYXRpbi1leHQtI3skd2VpZ2h0fS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKCRnLWZvbnQtcGF0aCArIFwibW9udHNlcnJhdC9tb250c2VycmF0LXYxMi1sYXRpbl9sYXRpbi1leHQtI3skd2VpZ2h0fS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIH1cbn1cblxuLy8gY3JlYXRlIHRlc3QgY2xhc3Nlc1xuQGVhY2ggJHdlaWdodCBpbiAkcHJpbWFyeS13ZWlnaHRzIHtcbiAgLmZvbnQtcHJpbWFyeS0jeyR3ZWlnaHR9IHtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICB9XG59XG5cbi8vIDIwMDogRXh0cmEtTGlnaHQgSXRhbGljXG4vLyA0MDAgKFJlZ3VsYXIgSXRhbGljKVxuJHByaW1hcnktd2VpZ2h0cy1pdGFsaWM6IDIwMCwgcmVndWxhcjtcblxuQGVhY2ggJHdlaWdodCBpbiAkcHJpbWFyeS13ZWlnaHRzIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuXG4gICAgQGlmICR3ZWlnaHQgPT0gXCJyZWd1bGFyXCIge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICAgIH1cbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICBAaWYgJHdlaWdodCA9PSBcInJlZ3VsYXJcIiB7XG4gICAgICAkd2VpZ2h0OiBcIlwiO1xuICAgIH1cblxuICAgIHNyYzogdXJsKCRnLWZvbnQtcGF0aCArIFwibW9udHNlcnJhdC9tb250c2VycmF0LXYxMi1sYXRpbl9sYXRpbi1leHQtI3skd2VpZ2h0fWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKCRnLWZvbnQtcGF0aCArIFwibWFydGVsL21hcnRlbC12Mi1sYXRpbl9sYXRpbi1leHQtI3skd2VpZ2h0fWl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIH1cbn1cblxuLy8gY3JlYXRlIHRlc3QgY2xhc3Nlc1xuQGVhY2ggJHdlaWdodCBpbiAkcHJpbWFyeS13ZWlnaHRzLWl0YWxpYyB7XG4gIC5mb250LXByaW1hcnktaXRhbGljLSN7JHdlaWdodH0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZWNvbmRhcnlcbi8vIGh0dHBzOi8vZm9udHMuZ29vZ2xlLmNvbS9zcGVjaW1lbi9NYXJ0ZWxcbi8vIGh0dHA6Ly9nb29nbGUtd2ViZm9udHMtaGVscGVyLmhlcm9rdWFwcC5jb20vZm9udHMvbWFydGVsP3N1YnNldHM9bGF0aW4tZXh0LGxhdGluXG4vLyBodHRwOi8vbWFvcmkudHlwZWl0Lm9yZy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIDMwMDogbGlnaHRcbi8vIG5vcm1hbDogcmVndWxhclxuLy8gNjAwOiBzZW1pLWJvbGRcbi8vIDgwMDogZXh0cmEtYm9sZFxuLy8gOTAwOiBibGFja1xuJHNlY29uZGFyeS13ZWlnaHRzOiAzMDAsIHJlZ3VsYXIsIDYwMCwgODAwLCA5MDA7XG5cbkBlYWNoICR3ZWlnaHQgaW4gJHNlY29uZGFyeS13ZWlnaHRzIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTWFydGVsXCI7XG5cbiAgICBAaWYgJHdlaWdodCA9PSBcInJlZ3VsYXJcIiB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gICAgfVxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBzcmM6IHVybCgkZy1mb250LXBhdGggKyBcIm1hcnRlbC9tYXJ0ZWwtdjItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybCgkZy1mb250LXBhdGggKyBcIm1hcnRlbC9tYXJ0ZWwtdjItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICB9XG59XG5cbi8vIGNyZWF0ZSB0ZXN0IGNsYXNzZXNcbkBlYWNoICR3ZWlnaHQgaW4gJHNlY29uZGFyeS13ZWlnaHRzIHtcbiAgLmZvbnQtc2Vjb25kYXJ5LSN7JHdlaWdodH0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXNlY29uZGFyeTtcbiAgICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgfVxufVxuIiwiLy8gYWRkIGZpbGxzIHRvIGxheW91dCBjb2x1bW5zIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXNcblxuLmgtZGVidWctbGF5b3V0IHtcbiAgW2NsYXNzXj1cImwtXCJdLFxuICBbY2xhc3MqPVwiIGwtXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbGF5b3V0L2dyaWQtMTEzMi0xMi0zMi0wLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdC15OiByZXBlYXQ7XG4gIH1cblxuICAvLyBbY2xhc3MqPVwiX19jb2xcIl0ge1xuICAvLyAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDIwNCwgMCwgLjE1KTtcbiAgLy8gfVxufVxuXG4vLyB0eXBlXG5cbi5oLWRlYnVnLXR5cGUge1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwLFxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDAsIDIyMSk7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBoMSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiaDFcIjtcbiAgICB9XG5cbiAgICAmW2NsYXNzXSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImgxLlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJoMlwiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiaDIuXCIgYXR0cihjbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImgzXCI7XG4gICAgfVxuXG4gICAgJltjbGFzc10ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJoMy5cIiBhdHRyKGNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiaDRcIjtcbiAgICB9XG5cbiAgICAmW2NsYXNzXSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImg0LlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGg1IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJoNVwiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiaDUuXCIgYXR0cihjbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDYge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImg2XCI7XG4gICAgfVxuXG4gICAgJltjbGFzc10ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJoNi5cIiBhdHRyKGNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJwXCI7XG4gICAgfVxuXG4gICAgJltjbGFzc10ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJwLlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJsaVwiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwibGkuXCIgYXR0cihjbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBJY29uIEhlbHBlcnNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVycyBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gYWxsIGljb25zIGhhdmUgZGlmZmVyZW50IGRlZmF1bHQgcm90YXRpb25zXG4vLyBzbyB2aXN1YWxseSBjaGVjayB0aGF0IHRoZSByb3RhdGlvbiBpcyBhcyBkZXNpcmVkXG5AbWl4aW4gcm90YXRlLWljb24oJHJvdGF0aW9uKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKCN7JHJvdGF0aW9ufWRlZyk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVycyBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBEZWZhdWx0IGljb24gc3R5bGluZy4gU2VlIGh0dHBzOi8vZnZzY2guY29tL2NvZGUvc3ZnLWljb25zL2hvdy10by9cbi5oLWljb24ge1xuICAvLyBOaWNlIHZpc3VhbCBhbGlnbm1lbnQgZm9yIGljb25zIGFsb25nc2lkZSB0ZXh0LiAoSSBnb3QgYSBmZXcgcXVlc3Rpb25zIGFib3V0IHRoaXMgYW5kOiB3aXRoIG1vc3QgZm9udHMgYW5kIHN0eWxlcywgdGhpcyB3b3JrcyBiZXR0ZXIgdGhhbiBqdXN0IHZlcnRpY2FsLWFsaWduOm1pZGRsZS4gVHJ5IGl0IGFuZCBzZWUgd2hhdCB5b3UgbGlrZSBiZXN0LlxuICB2ZXJ0aWNhbC1hbGlnbjogLS4xNWVtO1xuXG4gIC8vIEluaGVyaXQgdGhlIHRleHTigJlzIHNpemUuIEFsc28gYWxsb3dzIHNpemluZyB0aGUgaWNvbiBieSBjaGFuZ2luZyBpdHMgZm9udC1zaXplLlxuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcblxuICAvLyBQYXRocyBhbmQgc3Ryb2tlcyB0aGF0IG92ZXJmbG93IHRoZSB2aWV3Qm94IGNhbiBzaG93IGluIElFLiBJZiB5b3UgdXNlIG5vcm1hbGl6ZS5jc3MsIGl0IGFscmVhZHkgc2V0cyB0aGlzLlxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIExldHMgdGhlIGljb24gaW5oZXJpdCB0aGUgdGV4dCBjb2xvci5cbiAgZmlsbDogY3VycmVudENvbG9yO1xuXG4gIGEgJixcbiAgYnV0dG9uICYsXG4gIGlucHV0ICYsXG4gIC5iLXNlYXJjaC1maWVsZCAmIHtcbiAgICAvLyBwcmV2ZW50IFNWRyBpY29ucyBmcm9tIGJsb2NraW5nIGFjY2VzcyB0byB0aGUgYnV0dG9uIGhvdHNwb3QgJ2JlaGluZCcgdGhlblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJi0tcm90YXRlLTkwIHtcbiAgICBAaW5jbHVkZSByb3RhdGUtaWNvbig5MCk7XG4gIH1cblxuICAmLS1yb3RhdGUtMTgwIHtcbiAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigxODApO1xuICB9XG5cbiAgJi0tcm90YXRlLTI3MCB7XG4gICAgQGluY2x1ZGUgcm90YXRlLWljb24oMjcwKTtcbiAgfVxuXG4gICYtLWFycm93IHtcbiAgICBhICYge1xuICAgICAgZmlsbDogY29sb3IodHlwZSk7XG4gICAgfVxuXG4gICAgLmItYnV0dG9uICYge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgICYtLXVwIHtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZS1pY29uKC05MCk7XG4gICAgfVxuXG4gICAgJi0tZG93biB7XG4gICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbig5MCk7XG4gICAgfVxuXG4gICAgJi0tbGVmdCB7XG4gICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigxODApO1xuICAgIH1cblxuICAgICYtLXVwLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZS1pY29uKC00NSk7XG4gICAgfVxuICB9XG5cbiAgJi0tdHJpYW5nbGUge1xuXG4gICAgJi0tdXAge1xuICAgICAgQGluY2x1ZGUgcm90YXRlLWljb24oMTgwKTtcbiAgICB9XG4gIH1cblxuICAmLS1sb2FkaW5nLXNwaW5uZXItbGFyZ2UsXG4gICYtLWxvYWRpbmctc3Bpbm5lci1zbWFsbC13aGl0ZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tbmFtZTogbG9hZGluZy1zcGlubmVyLWFuaW1hdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nLXNwaW5uZXItYW5pbWF0aW9uIHtcbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlLWljb24oMzYwKTtcbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIExheW91dCBIZWxwZXJzXG4vL1xuLy8gU2VlIGFsc28gX3N0YXRlLnNjc3Ncbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIERlZmluZSBhbGwgaGVscGVycyByZWxhdGVkIHRvIGxheW91dCBpbiB0aGlzIHN0eWxlc2hlZXRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gb2Zmc2V0IHBhZGRpbmcgb2YgcGFyZW50IC5sLW91dGVyLWNvbnRhaW5lclxuQG1peGluIGgtZnVsbHdpZHRoKCRicmVha3BvaW50KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJG1hcmdpbjogXCJcIjtcblxuICBAaWYgKCRicmVha3BvaW50ID09IFwibmFycm93XCIpIHtcbiAgICAkbWFyZ2luOiAkZy1tYXJnaW4tbmFycm93O1xuICB9XG4gIEBlbHNlIGlmICgkYnJlYWtwb2ludCA9PSBcIndpZGVcIikge1xuICAgICRtYXJnaW46ICRnLW1hcmdpbi13aWRlO1xuICB9XG4gIEBlbHNlIGlmICgkYnJlYWtwb2ludCA9PSBcIndpZGVzdFwiKSB7XG4gICAgJG1hcmdpbjogJGctbWFyZ2luLXdpZGVzdDtcbiAgfVxuICBAZWxzZSBpZiAoJGJyZWFrcG9pbnQgPT0gXCJmdWxsXCIpIHtcbiAgICAkbWFyZ2luOiAxNDQ7XG4gIH1cblxuICByaWdodDogKC0jeyRtYXJnaW59cHgpO1xuICBsZWZ0OiAoLSN7JG1hcmdpbn1weCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAjezJweCAqICRtYXJnaW59KTtcbn1cblxuLy8gR2xvYmFsIG1hcmdpbiBzZXR0aW5nc1xuLy8gVGhlb3JldGljYWxseSB1c2VkIGJ5IGFsbCB0b3AgbGV2ZWwgYmxvY2tzXG4vLyBmb3IgY29uc2lzdGVudCBsYXlvdXRcbi8vIGJ1dCBsaW5lLWhlaWdodHMgY2FuIGFmZmVjdCB0aGlzXG5AbWl4aW4gaC1nbG9iYWwtbWFyZ2luKCRzaWRlKSB7XG4gIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImJvdHRvbVwiIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfSBAZWxzZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cbn1cblxuLy8gZHVlIHRvIG5vLWltcG9ydGFudFxuLy8gYXZvaWQgdXNpbmcgdGhpcyBoZWxwZXIgb24gYW4gZWxlbWVudCB0aGF0IGFsc28gdXNlcyBkaXNwbGF5LFxuLy8gdXNlIGl0IG9uIHRoZSBwYXJlbnQgaW5zdGVhZFxuQG1peGluIGgtaGlkZSgpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gZHVlIHRvIG5vLWltcG9ydGFudFxuLy8gYXZvaWQgdXNpbmcgdGhpcyBoZWxwZXIgb24gYW4gZWxlbWVudCB0aGF0IGFsc28gdXNlcyBkaXNwbGF5LFxuLy8gdXNlIGl0IG9uIHRoZSBwYXJlbnQgaW5zdGVhZFxuQG1peGluIGgtc2hvdygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA0IHtcbiAgICAmW2NsYXNzXj1cImwtI3skaX0tLVwiXSxcbiAgICAmW2NsYXNzKj1cIiBsLSN7JGl9LS1cIl0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuLy8gaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuLy8gRGVmaW5lZCBhcyBtaXhpbiBiZWNhdXNlIG9mdGVuIHVzZWQgYXQgZGlmZmVyZW50IG1lZGlhIGxldmVsc1xuXG5AbWl4aW4gaC12aXN1YWxseWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG59XG5cbkBtaXhpbiBoLXZpc3VhbGx5c2hvd24oKSB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgcGFkZGluZzogaW5oZXJpdDtcbiAgYm9yZGVyOiBpbmhlcml0O1xuICBtYXJnaW46IGluaGVyaXQ7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oLWJsb2NrIHtcbiAgQGluY2x1ZGUgaC1zaG93O1xufVxuXG4uaC1nbG9iYWwtbWFyZ2luIHtcbiAgQGluY2x1ZGUgaC1nbG9iYWwtbWFyZ2luKFwidG9wXCIpO1xuICBAaW5jbHVkZSBoLWdsb2JhbC1tYXJnaW4oXCJib3R0b21cIik7XG59XG5cbi8vIEhpZGluZyBhbmQgc2hvd2luZ1xuLy8gVG8gYXZvaWQgdXNlIG9mICFpbXBvcnRhbnQsIGl0IGlzIG5lY2Vzc2FyeSB0byBhcHBseSB0d28gY2xhc3Nlczpcbi8vXG4vLyAxLiBUaGUgZGVmYXVsdC9nZW5lcmljIHN0YXRlICguaC1oaWRlIG9ubHksIC5oLXNob3cgaXMgaW1wbGllZClcbi8vIDIuIFRoZSBjb250ZXh0dWFsL3NwZWNpZmljIHN0YXRlICguaC1zaG93LS13aWRlLCBoLWhpZGUtLW1vZGFsKVxuXG4vLyAuaC1oaWRlXG4uaC1oaWRlIHtcbiAgQGluY2x1ZGUgaC1oaWRlO1xuXG4gIC8vIC5oLWhpZGUtLW1vZGFsXG4gICYtLW1vZGFsIHtcbiAgICAuYi1tb2RhbC1qcyAmIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAvLyAuaC1oaWRlLS1tb2RhbC0tcHJlc2VudFxuICAmLS1tb2RhbC0tcHJlc2VudCB7XG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbi5oLWludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gTmVlZCB0byB0YXJnZXQgbWFpbiBlbGVtZW50cyB0byBwcmV2ZW50IGJhY2tncm91bmQgc2Nyb2xsIGluIGlvc1xuLmgtb3ZlcmxheS0taXMtYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBSZXF1aXJlZCBmb3Igd2Via2l0IGJ1ZyBpbiBpb3M5LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNzE1XG4gIC8vIEZpeCBkZXNjcmliZWQgaGVyZS4gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzI2NzU4NDkvc2NyZWVuLXpvb21zLWluLXdoZW4tYS1ib290c3RyYXAtbW9kYWwtaXMtb3BlbmVkLW9uLWlvcy05LXNhZmFyaVxuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG5cbiAgLy8gUmVxdWlyZWQgYmVjYXVzZSBTYWZhcmkgc3RpbGwgaXNudCBhYmxlIHRvIHByZXZlbnQgc2Nyb2xsIG9uIHVuZGVybGF5ZWQgZWxlbWVudHNcbiAgLmItbWVzc2FnZS1qcyxcbiAgLmgtaGlkZS0tb3ZlcmxheS1pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAuYi1tZXNzYWdlLWpzLFxuICAgIC5oLWhpZGUtLW92ZXJsYXktaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vLyAuaC1wcmludFxuLmgtcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG59XG5cbi5oLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8vIC5oLXNob3dcbi5oLXNob3cge1xuICBAaW5jbHVkZSBoLXNob3c7XG5cbiAgLy8gLmgtc2hvdy0tbW9kYWxcbiAgJi0tbW9kYWwge1xuICAgIC5iLW1vZGFsLWpzICYge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oLXNob3ctLW1vZGFsLS1wcmVzZW50XG4gICYtLW1vZGFsLS1wcmVzZW50IHtcbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cbn1cblxuLy8gLmgtdmlzdWFsbHloaWRkZW5cbi5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcblxuICAmLmgtZm9jdXNhYmxlIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY2xpcDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyAuaC12aXN1YWxseWhpZGRlbi0tbW9kYWxcbiAgJi0tbW9kYWwge1xuICAgIC5iLW1vZGFsICYge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gLmgtdmlzdWFsbHlzaG93blxuLmgtdmlzdWFsbHlzaG93biB7XG4gIEBpbmNsdWRlIGgtdmlzdWFsbHlzaG93bjtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gIC5oLWhpZGUge1xuICAgICYtLWNvbnRlbnQtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG5cbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tY29udGVudC1iZWxvdy13aWRlXG4gICAgJi0tY29udGVudC1iZWxvdy13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLWNvbnRlbnQtYmVsb3ctd2lkZVxuICAgICYtLWNvbnRlbnQtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gIC5oLWhpZGUge1xuICAgIC8vIC5oLWhpZGUtLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAmLS1jb250ZW50LXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgJi0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG5cbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgJi0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLW5hcnJvdy1hbmQtdXApIHtcbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tcGFnZS1uYXJyb3ctYW5kLXVwXG4gICAgJi0tcGFnZS1uYXJyb3ctYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZWxvdy1uYXJyb3dpc2gpIHtcbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tcGFnZS1uYXJyb3dcbiAgICAmLS1wYWdlLW5hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtbmFycm93aXNoLWFuZC11cCkge1xuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLW5hcnJvd2lzaC1hbmQtdXBcbiAgICAmLS1wYWdlLW5hcnJvd2lzaC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJldHdlZW4tbmFycm93aXNoLWFuZC13aWRlaXNoKSB7XG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2UtbmFycm93aXNoXG4gICAgJi0tcGFnZS1uYXJyb3dpc2gge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgICAvLyAuaC12aXN1YWxseWhpZGRlbi0tcGFnZS1uYXJyb3dpc2hcbiAgICAmLS1wYWdlLW5hcnJvd2lzaCB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJlbG93LXdpZGVpc2gpIHtcbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1wYWdlLWJlbG93LXdpZGVpc2hcbiAgICAmLS1wYWdlLWJlbG93LXdpZGVpc2gge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlaXNoLWFuZC11cCkge1xuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVpc2gtYW5kLXVwXG4gICAgJi0tcGFnZS13aWRlaXNoLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmV0d2Vlbi13aWRlaXNoLWFuZC13aWRlKSB7XG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZWlzaFxuICAgICYtLXBhZ2Utd2lkZWlzaCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmVsb3ctd2lkZSkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS1iZWxvdy13aWRlXG4gICAgJi0tcGFnZS1iZWxvdy13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtZnVsbHdpZHRoKFwibmFycm93XCIpO1xuICAgIH1cbiAgfVxuXG4gIC5oLWhpZGUge1xuICAgIC8vIC5oLWhpZGUtLXBhZ2UtYmVsb3ctd2lkZVxuICAgICYtLXBhZ2UtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgLmgtaGlkZSB7XG4gICAgLy8gLmgtaGlkZS0tcGFnZS13aWRlLWFuZC11cFxuICAgICYtLXBhZ2Utd2lkZS1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgIH1cbiAgfVxuXG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZS1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLXBhZ2Utd2lkZS1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtdmlzdWFsbHloaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmV0d2Vlbi13aWRlLWFuZC13aWRlc3QpIHtcbiAgLmgtZnVsbHdpZHRoIHtcbiAgICAvLyAuaC1mdWxsd2lkdGgtLXBhZ2Utd2lkZVxuICAgICYtLXBhZ2Utd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWZ1bGx3aWR0aChcIndpZGVcIik7XG4gICAgfVxuICB9XG5cbiAgLmgtaGlkZSB7XG4gICAgLy8gLmgtaGlkZS0tcGFnZS13aWRlXG4gICAgJi0tcGFnZS13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVcbiAgICAmLS1wYWdlLXdpZGUge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgICAvLyAuaC12aXN1YWxseWhpZGRlbi0tcGFnZS13aWRlXG4gICAgJi0tcGFnZS13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtdmlzdWFsbHloaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZXN0LWFuZC11cCkge1xuICAuaC1oaWRlIHtcbiAgICAvLyAuaC1oaWRlLS1wYWdlLXdpZGVzdC1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGVzdC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgIH1cbiAgfVxuXG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZXN0LWFuZC11cFxuICAgICYtLXBhZ2Utd2lkZXN0LWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG5cbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1wYWdlLXdpZGVzdC1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGVzdC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZXR3ZWVuLXdpZGVzdC1hbmQtZnVsbCkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS13aWRlc3RcbiAgICAmLS1wYWdlLXdpZGVzdCB7XG4gICAgICBAaW5jbHVkZSBoLWZ1bGx3aWR0aChcIndpZGVzdFwiKTtcbiAgICB9XG4gIH1cblxuICAuaC1oaWRlIHtcbiAgICAvLyAuaC1oaWRlLS1wYWdlLXdpZGVzdFxuICAgICYtLXBhZ2Utd2lkZXN0IHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVzdFxuICAgICYtLXBhZ2Utd2lkZXN0IHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLXBhZ2Utd2lkZXN0XG4gICAgJi0tcGFnZS13aWRlc3Qge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1mdWxsLWFuZC11cCkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS1mdWxsXG4gICAgJi0tcGFnZS1mdWxsIHtcbiAgICAgIEBpbmNsdWRlIGgtZnVsbHdpZHRoKFwiZnVsbFwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gbWl4aW5zIGFsbG93cyBsYXlvdXQgdG8gYmUgYXBwbGllZCB0byBlbGVtZW50IHdoaWNoIGR5bmFtaWNhbGx5IHBpblxuLy8gdGhpcyBtaXhpbiBpcyBub3QgZm91bmQgaWYgc3RvcmVkIGluIF9sLTIuc2Nzc1xuLy8gbm90ZSB0aGF0IHRoZSAubC0yIG1vZGlmaWVyIGlzIGhhcmRjb2RlZCBoZXJlXG5AbWl4aW4gbC0yLS1wYWdlLS1ndWlkZSgpIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgICYubC1vcmRlci0tMSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyAxMik7XG4gICAgICB9XG5cbiAgICAgICYubC1vcmRlci0tMiB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBNZWRpYSBRdWVyeSBGdW5jdGlvbnMgYW5kIE1peGluc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gR2VuZXJhdGVzIG1lZGlhIHF1ZXJpZXMgYW5kIHRoZWlyIGRlY2xhcmF0aW9ucy5cbkBmdW5jdGlvbiBuZXctYnJlYWtwb2ludCgkdHlwZSwgJHZhbHVlLCAkdmFsdWUyOiBmYWxzZSkge1xuICAkcXVlcnk6IGZhbHNlO1xuICBAaWYgJHZhbHVlMiB7XG4gICAgJHZhbHVlMjogKCR2YWx1ZTIpO1xuICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZSArIFwiKSBhbmQgKG1heC13aWR0aDpcIiArICR2YWx1ZTI7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAoI3skdHlwZX09PW1heCkge1xuICAgICAgJHZhbHVlOiAoJHZhbHVlKTtcbiAgICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcXVlcnk7XG59XG5cbi8vIFBvcHVsYXRlcyB0aGUgbWVkaWEgcXVlcnkgd2l0aCBicmVha3BvaW50cy5cbkBtaXhpbiBtZWRpYSgkcXVlcnkpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKCRxdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gTGlzdCBoZWxwZXJzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBMaXN0IGhlbHBlcnNcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTAwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEhlbHBlciB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBIZWxwZXIgbmFtZVxuJGgtbGlzdC1xdWVzdGlvbi1maWxsOiBjb2xvcihmaWxsLWxpZ2h0KTtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlciBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGgtbGlzdC0tcmVzZXQoKSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBoLWxpc3QtLWlubGluZSgpIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgPiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oLWxpc3Qge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmgtbGlzdC0tY2hlY2tcbiAgJi0tY2hlY2sge1xuICAgIHBhZGRpbmctbGVmdDogYnUoNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIC8vIHdpZHRoICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICB3aWR0aDogYnUoNC4zKTtcbiAgICAgICAgaGVpZ2h0OiBidSgyLjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjc1KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC00LjMpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGctaW1hZ2UtcGF0aCArIFwiaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAyNSU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYnUoMi41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaC1saXN0LS1pbmxpbmVcbiAgLy8gZGlzcGxheTppbmxpbmUtZmxleCBpcyBwcmVmZXJhYmxlIHRvIGRpc3BsYXk6aW5saW5lXG4gIC8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggLmgtaGlkZSBhbmQgLmgtc2hvd1xuICAmLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGgtbGlzdC0taW5saW5lO1xuICB9XG5cbiAgLy8gLmgtbGlzdC0tbnVtYmVyZWRcbiAgJi0tbnVtYmVyZWQge1xuICAgIC8vIDpiZWZvcmUgd2lkdGggKyA6YmVmb3JlIG1hcmdpbi1yaWdodCA9IHBhZGRpbmctbGVmdFxuICAgIHBhZGRpbmctbGVmdDogYnUoNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG4gICAgY291bnRlci1yZXNldDogbGlzdC1udW1iZXJpbmc7XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtbnVtYmVyaW5nO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QtbnVtYmVyaW5nKTtcbiAgICAgICAgLy8gdmVydGljYWwgY2lyY2xlIGFsaWdubWVudFxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIC8vIHdpZHRoICsgbWFyZ2luLXJpZ2h0ICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICB3aWR0aDogYnUoMyk7XG4gICAgICAgIGhlaWdodDogYnUoMyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBidSgyKSAwIGJ1KC01KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1kYXJrKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgICAgLy8gdmVydGljYWwgdGV4dCBjZW50ZXJpbmcgPSBoZWlnaHQgKyAuMjVcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBpbmNsdWRlIHBhZGRpbmcgaW4gaGVpZ2h0XG4gICAgICAgICAgcGFkZGluZy10b3A6IGJ1KDEuNSk7IC8vIGNlbnRlciB0ZXh0IHdpdGhpbiBjaXJjbGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5oLWxpc3QtLXF1ZXN0aW9uc1xuICAvLyBub3RlOiB1c2VkIHdpdGggaC1saXN0LS1yZXNldFxuICAmLS1xdWVzdGlvbnMge1xuICAgIEBpbmNsdWRlIGgtbGlzdC0tcmVzZXQoKTtcblxuICAgID4gbGkge1xuICAgICAgcGFkZGluZzogYnUoMi4xMjUpIGJ1KDIuNSkgYnUoMS44MjUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoLWxpc3QtcXVlc3Rpb24tZmlsbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oLWxpc3QtLXJlc2V0XG4gICYtLXJlc2V0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC8vIC5oLWxpc3QtLWNoZWNrXG4gICAgJi0tY2hlY2sge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIC8vIDpiZWZvcmUgd2lkdGggKyA6YmVmb3JlIG1hcmdpbi1yaWdodCA9IHBhZGRpbmctbGVmdFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyB3aWR0aCAqIC0xID0gbWFyZ2luLWxlZnRcbiAgICAgICAgICAgIHdpZHRoOiBidSg4KTsgLy9cbiAgICAgICAgICAgIGhlaWdodDogYnUoMyk7IC8vXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBidSgtLjc1KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtOCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBidSgzLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLWlubGluZVxuICAgICYtLWlubGluZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgJi5oLWhpZGUtLWNvbnRlbnQtd2lkZS1hbmQtdXAge1xuICAgICAgICAgIEBpbmNsdWRlIGgtaGlkZTsgLy8gcHJldmVudCB0cnVtcGluZyBieSBkaXNwbGF5OmlubGluZS1ibG9ja1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmgtbGlzdC0taW5saW5lLW1lZGl1bVxuICAgICYtLWlubGluZS1tZWRpdW0ge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSgxKTtcblxuICAgICAgICAmLmgtaGlkZS0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICAgICAgQGluY2x1ZGUgaC1oaWRlOyAvLyBwcmV2ZW50IHRydW1waW5nIGJ5IGRpc3BsYXk6aW5saW5lLWJsb2NrXG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLW51bWJlcmVkXG4gICAgJi0tbnVtYmVyZWQge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoOCk7XG4gICAgICB9XG5cbiAgICAgID4gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyB2ZXJ0aWNhbCBjaXJjbGUgYWxpZ25tZW50XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLjRlbTtcbiAgICAgICAgICAgIC8vIHdpZHRoICsgbWFyZ2luLXJpZ2h0ICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICAgICAgd2lkdGg6IGJ1KDMuNSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGJ1KDMuNSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KDMuNSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLTcpO1xuICAgICAgICAgICAgLy8gdmVydGljYWwgdGV4dCBjZW50ZXJpbmcgPSBoZWlnaHQgKyAuMjVcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBidSgxLjg1KTsgLy8gY2VudGVyIHRleHQgd2l0aGluIGNpcmNsZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLXF1ZXN0aW9uc1xuICAgIC8vIG5vdGU6IHVzZWQgd2l0aCBoLWxpc3QtLXJlc2V0XG4gICAgJi0tcXVlc3Rpb25zIHtcbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoMyk7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgLy8gc2VlIGItcHJvY2Vzcy1saXN0XG4gICAgICAgICAgcGFkZGluZzogYnUoNC4xKSBidSgzLjkpIGJ1KDMuNSkgYnUoNS40KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIE9yZGVyIEhlbHBlcnNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIERlZmluZSBhbGwgaGVscGVycyByZWxhdGVkIHRvIGZsZXhib3ggc291cmNlIHJlLW9yZGVyaW5nIGluIHRoaXMgc3R5bGVzaGVldFxuXG4ubC1vcmRlciB7XG4gICYtLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgJi0tMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBTdGF0ZSBoZWxwZXJzXG4vLyBcbi8vIFNlZSBhbHNvIF9sYXlvdXQuc2Nzc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdGF0ZSBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGgtZm9jdXNhYmxlIHtcbiAgJjpmb2N1cyB7XG4gICAgLy8gb24gbW91c2Ugb3IgdG91Y2ggZm9jdXNcbiAgICAvLyBkbyBub3RoaW5nXG4gICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICBAaW5jbHVkZSBuby1mb2N1cy1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIG9uIGtleWJvYXJkIGludGVyYWN0aW9uXG4gICAgLy8gLmpzLXdhaS1vdXRsaW5lIGlzIGFwcGxpZWQgdG8gdGhlIGJvZHkgZWxlbWVudFxuXG4gICAgLy8gb24ga2V5Ym9hcmQgZm9jdXNcbiAgICAvLyBvdXRsaW5lIHRoaXMgZWxlbWVudFxuICAgIC5qcy13YWktb3V0bGluZSAmIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmU7XG5cbiAgICAgIC8vIG9uIGtleWJvYXJkIGZvY3VzXG4gICAgICAvLyBkb24ndCBvdXRsaW5lIHRoaXMgZWxlbWVudFxuICAgICAgJi5qcy13YWktbm8tb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vLWZvY3VzLW91dGxpbmU7XG5cbiAgICAgICAgLy8gYnV0IGRvIG91dGxpbmUgYSBzcGVjaWZpZWQgY2hpbGQgZWxlbWVudFxuICAgICAgICAuanMtd2FpLW91dGxpbmUtLXByb3h5IHtcbiAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1vdXRsaW5lKCkge1xuICAvLyBjb2xvdXJlZCBvdXRsaW5lXG4gIG91dGxpbmU6IDJweCBzb2xpZCBjb2xvcihsaW5rLWxpZ2h0KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuQG1peGluIG5vLWZvY3VzLW91dGxpbmUoKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3RhdGUgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQW55dGhpbmcgZm9jdXNlZCB3aGVuIGpzIGlzIGVuYWJsZWRcbi8vIHNob3VsZCB1c2UgdGhlIGFib3ZlIG1lY2hhbmlzbSB0byBhcHBseSBmb2N1cyBzdGF0ZVxuOmZvY3VzIHtcbiAgLmpzLWVuYWJsZWQgJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyAuaC1oaWRlLS1uby1qc1xuLmgtaGlkZS0tbm8tanMge1xuICAuanMtZGlzYWJsZWQgJiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG59XG5cbi8vIC5oLWhpZGUtLWpzXG4uaC1oaWRlLS1qcyB7XG4gIC5qcy1lbmFibGVkICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyAuaC1oaWRlLS1qcy0tcGFnZS1uYXJyb3dcbiAgJi0tcGFnZS1uYXJyb3cge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmVsb3ctd2lkZSkge1xuICAgICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gVHlwb2dyYXBoaWMgSGVscGVyc1xuLy9cbi8vIFNpdGUgZGVmYXVsdCB0eXBvZ3JhcGh5IHN0eWxlcy5cbi8vICogc3JjL3Njc3MvYmFzZS9fZ2xvYmFsLnNjc3MgKHN0eWxlcylcbi8vICogc3JjL3Njc3MvYmFzZS9fdHlwZS5zY3NzIChzdHlsZXMpXG4vLyAqIHNyYy9zY3NzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIChmb250cywgbW9kdWxhciBzY2FsZSlcbi8vICogc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuaHRtbCAoZWxlbWVudHMpXG4vL1xuLy8gU2VlIGFsc286XG4vLyAqIHNyYy9zY3NzL2hlbHBlcnMvX3ByaW50LnNjc3MgKHByaW50IGhpZGluZyAmIHNob3dpbmcpXG4vLyAqIHNyYy9zY3NzL2hlbHBlcnMvX3N0YXRlLnNjc3MgKGZvY3VzIHN0YXRlcylcbi8vICogc3JjL3Njc3MvaGVscGVycy9fdHlwZS5zY3NzIChjdXN0b20gdHJlYXRtZW50cylcbi8vICogc3JjL3Njc3MvcHJpbnQvcHJpbnQuc2NzcyAoZ2VuZXJpYyBzdHlsZXMpXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFR5cG9ncmFwaGljIEhlbHBlciBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIHAtLWNvbnRlbnQge1xuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgfVxufVxuXG5AbWl4aW4gcC0tY29udGVudC0tc21hbGwge1xuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gIH1cbn1cblxuQG1peGluIHAtLWNhcHRpb24tLXdpZGUoKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICBsaW5lLWhlaWdodDogYnUoMik7XG59XG5cbkBtaXhpbiBwLS1zZWFyY2gtaW5wdXQoKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICBmb250LXdlaWdodDogMzAwO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0zMHB4LCA0KTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy43NSk7XG4gIH1cbn1cblxuQG1peGluIHAtLXNsaWRlKCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAwKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG5cbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg2KTsgLy8gZGVzaWduIGlzIHNvbWV0aW1lcyA1Ljc1XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAmLmItcHJvY2Vzcy1saXN0X19zdGVwLWlubmVyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcC0tc2xpZGUtLXRkKCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG5cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcC0tc2xpZGUtLXRoKCkge1xuICBAaW5jbHVkZSBwLS1zbGlkZS0tdGQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBwLS1zbGlkZS0tdGgtLXRvcCgpIHtcbiAgQGluY2x1ZGUgcC0tc2xpZGUtLXRkO1xuICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1peGluIHAtLW5hdi0taW4tcGFnZS1waW5uZWQtdHJpZ2dlci10ZXh0KCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogY29sb3IodHlwZSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHlwb2dyYXBoaWMgSGVscGVyIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFR5cG9ncmFwaHkgaGVscGVyc1xuLy9cbi8vIFRoZXNlIGFkZCB2YXJpYW5jZSB0byB0aGUgYmFzZSBlbGVtZW50c1xuLy9cbi8vIFN0eWxlZ3VpZGU6IDk5LjEuMVxuXG4uaC1hbmNob3Ige1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmgtYnJlYWsge1xuICAmLS1jb250ZW50LW5hcnJvdyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgaHlwaGVuczogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLmgtZWxsaXBzaXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDEge1xuICAvLyAuaDEtLWhvbWVcbiAgJi0taG9tZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg5KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOSk7XG4gICAgY29sb3I6IGNvbG9yKHR5cGUtYnJhbmQpO1xuICB9XG5cbiAgLy8gLmgxLS1saWdodFxuICAmLS1saWdodCB7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoNSk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBoMlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oMiB7XG4gIC8vIC5oMi0tZ3VpZGVcbiAgJi0tZ3VpZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgfVxuXG4gIC8vIC5oMi0taG93LXRvLXVzZS10aGUtc2l0ZVxuICAmLS1ob3ctdG8tdXNlLXRoZS1zaXRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLy8gLmgyLS1uYXYtZ3VpZGUtc2lkZWJhci0taGVhZGVyXG4gICYtLW5hdi1ndWlkZS1zaWRlYmFyLS1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXNlY29uZGFyeTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLy8gLmgyLS1uYXYtZ3VpZGUtc2lkZWJhci0taGVhZGVyX19pbmRleG9mXG4gICAgJl9faW5kZXhvZiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJltjbGFzc149XCJoMi0tXCJdLFxuICAgICAgJltjbGFzcyo9XCIgaDItLVwiXSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXNlY29uZGFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaDItLW5hdi0taW4tcGFnZS1waW5uZWQtbGFiZWxcbiAgJi0tbmF2LS1pbi1wYWdlLXBpbm5lZC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1taWQpO1xuICB9XG5cbiAgLy8gLmgyLS1uZXh0LXN0ZXBzXG4gICYtLW5leHQtc3RlcHMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoOCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDgpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSg3LjI1KTtcbiAgfVxuXG4gIC8vIC5oMi0tc2VhcmNoXG4gICYtLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLy8gLmgyLS1zbGlkZVxuICAmLS1zbGlkZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg1KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDMge1xuICAvLyAuaDMtLWd1aWRlXG4gICYtLWd1aWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAuaDMtLWhlbHAtaXRlbVxuICAmLS1oZWxwLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjEyNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5oMy0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXJcbiAgJi0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1zZWNvbmRhcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgJltjbGFzc149XCJoMy0tXCJdLFxuICAgICZbY2xhc3MqPVwiIGgzLS1cIl0ge1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oMy0tcmVzb3VyY2VcbiAgJi0tcmVzb3VyY2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaDMtLXJlc291cmNlLS1sYXJnZVxuICAmLS1yZXNvdXJjZS0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLmgzLS1yZXN1bHRcbiAgJi0tcmVzdWx0IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAvLyAuaDMtLXJlc3VsdC0tZ3VpZGVcbiAgJi0tcmVzdWx0LS1ndWlkZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG5cbiAgLy8gLmgzLS1zdHJhdGVneVxuICAmLS1zdHJhdGVneSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0LjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oMy0tdGV4dC1wcm9tb1xuICAvLyBVc2VkIGluIC5iLXRleHQtcHJvbW8gKGhvbWUpXG4gICYtLXRleHQtcHJvbW8ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLy8gLmgzLS11bmRlcnN0YW5kLXN1bW1hcnlcbiAgJi0tdW5kZXJzdGFuZC1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGg0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmg0IHtcbiAgLy8gY3VycmVudCB0YWIgaW4gU29ydCBndWlkZXMgbmF2XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyAuaDQtLXN1Z2dlc3Rpb25zXG4gICYtLXN1Z2dlc3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAwKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi42MjUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAuaDQtLXVuZGVyc3RhbmQtbW9yZVxuICAmLS11bmRlcnN0YW5kLW1vcmUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IC8vIGFzIHBlciAuaDQsIGJ1dCB0byBhbGxvdyBoMyB1c2FnZVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDUge1xuICAvLyAuaDUtLXN1Z2dlc3Rpb25cbiAgJi0tc3VnZ2VzdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oNS0tc3VnZ2VzdGlvbi0tbGFyZ2VcbiAgJi0tc3VnZ2VzdGlvbi0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5hIHtcblxuICAvLyAuYS0taG92ZXJcbiAgJi0taG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIC5hLS1uby11bmRlcmxpbmVcbiAgJi0tbm8tdW5kZXJsaW5lIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIC8vIG5lc3RlZCBmYXV4IGxpbmtcbiAgICAgIC5hIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5hLS1uby11bmRlcmxpbmUtZXZlclxuICAmLS1uby11bmRlcmxpbmUtZXZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAvLyBuZXN0ZWQgZmF1eCBsaW5rXG4gICAgICAuYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5hLS1uby12aXNpdGVkXG4gICYtLW5vLXZpc2l0ZWQge1xuICAgICY6dmlzaXRlZCxcbiAgICAmOnZpc2l0ZWQgPiAuYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAuYS0tYWN0aXZlLXBhZ2Utb3ItcGFyZW50XG4gIC8vIEFwcGx5IHRoZSB1bmxpbmtlZCB0ZXh0IGNvbG91ciBzY2hlbWVcbiAgJi0tYWN0aXZlLXBhZ2Utb3ItcGFyZW50IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAuYS0tdW5kZXJsaW5lXG4gICYtLXVuZGVybGluZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLy8gLmEtLXZpc2l0ZWRcbiAgJi0tdmlzaXRlZCB7XG4gICAgY29sb3I6IGNvbG9yKGxpbmstdmlzaXRlZCk7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBwXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnAge1xuICAvLyAucC0tYWxlcnRcbiAgJi0tYWxlcnQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICB9XG5cbiAgLy8gLnAtLWJyYW5kXG4gICYtLWJyYW5kIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC00MHB4LCAxKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjI1KTtcbiAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tYnJvd3NlLWFsbC1ndWlkZXNcbiAgJi0tYnJvd3NlLWFsbC1ndWlkZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuODc1KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLnAtLWNhcHRpb25cbiAgJi0tY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0yKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICB9XG5cbiAgLy8gLnAtLWV4YW1wbGUtaG9tZS10aXRsZVxuICAmLS1leGFtcGxlLWhvbWUtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAucC0tZmlsdGVyXG4gICYtLWZpbHRlciB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgYSxcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgZGVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLWZpbHRlci1ub3RpY2VcbiAgJi0tZmlsdGVyLW5vdGljZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoNXB4LCAtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi4yNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1mb290ZXJcbiAgJi0tZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICB9XG5cbiAgLy8gLnAtLWZvb3Rlci1uYXZcbiAgJi0tZm9vdGVyLW5hdiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ndWlkZS1saW5rXG4gICYtLWd1aWRlLWxpbmsge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ndWlkZS1saW5rLS1mZWF0dXJlZC10YWxsXG4gICYtLWd1aWRlLWxpbmstLWZlYXR1cmVkLXRhbGwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbmNsdWRlc1xuICAmLS1pbmNsdWRlcyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbnRyb1xuICAmLS1pbnRybyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMy41KVxuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0zcHgsIDMpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tZ3VpZGVcbiAgJi0taW50cm8tLWd1aWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpO1xuICB9XG5cbiAgLy8gLnAtLWludHJvLS1uZXh0LXN0ZXBzXG4gIC8vIC5wLS1yZXR1cm5cbiAgJi0taW50cm8tLW5leHQtc3RlcHMsXG4gICYtLXJldHVybiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc29ycnlcbiAgJi0taW50cm8tLXNvcnJ5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAyKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0taW50cm8tLXN1YlxuICAvLyB1bmRlcnN0YW5kIHBhZ2VcbiAgJi0taW50cm8tLXN1YiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc3ViLS1oZWF2eVxuICAmLS1pbnRyby0tc3ViLS1oZWF2eSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc3VnZ2VzdGlvblxuICAmLS1pbnRyby0tc3VnZ2VzdGlvbiB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgJixcbiAgICAgICYuYi1jb250ZW50ID4gcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLWxhcmdlXG4gIC8vIC5wLS1sYXJnZS0taG9tZVxuICAvLyBEaXNwbGF5cyBsYXJnZSBvbiBjb250ZW50LXdpZGUtYW5kLXVwXG4gICYtLWxhcmdlLFxuICAmLS1sYXJnZS0taG9tZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMylcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMy41KVxuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXJcbiAgJi0tbmF2LWd1aWRlLXNpZGViYXIge1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG5cbiAgICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXItLWJhY2tcbiAgICAmLS1iYWNrIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tbW5hdlxuICAgIC8vIENsb3NlLCBIb21lLCBBbGwgZ3VpZGVzXG4gICAgJi0tbW5hdiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdHJhdGVneVxuICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tcmVzb3VyY2VzXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS11bmRlcnN0YW5kXG4gICAgJi0tc3RyYXRlZ3ksXG4gICAgJi0tcmVzb3VyY2VzLFxuICAgICYtLXVuZGVyc3RhbmQge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXItLXN1Z2dlc3Rpb25cbiAgICAmLS1zdWdnZXN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWd1aWRlLS11aS1saW5rXG4gICYtLW5hdi0tZ3VpZGUtLXVpLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWluLXBhZ2VcbiAgJi0tbmF2LS1pbi1wYWdlIHtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLnAtLW5hdi0taW4tcGFnZS1waW5uZWRcbiAgJi0tbmF2LS1pbi1wYWdlLXBpbm5lZCB7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWluLXBhZ2UtcGlubmVkLXRyaWdnZXItdGV4dFxuICAmLS1uYXYtLWluLXBhZ2UtcGlubmVkLXRyaWdnZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcC0tbmF2LS1pbi1wYWdlLXBpbm5lZC10cmlnZ2VyLXRleHQ7XG4gIH1cblxuICAvLyAucC0tbmF2LXByaW1hcnlcbiAgJi0tbmF2LXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgIH1cblxuICAgIGEsXG4gICAgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1uYXYtc2xpZGVcbiAgJi0tbmF2LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIC8vIGxpbmUtaGVpZ2h0OiBidSgyLjI1KTsgLy8gY29ycmVjdCBidXQgY3JlYXRlcyBwb29yIHVuZGVybGluZSBwb3NpdGlvblxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAvLyAucC0tbmV4dC1zdGVwLS1saW5rXG4gICYtLW5leHQtc3RlcC0tbGluayB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgLy8gLnAtLW5leHQtc3RlcC0tbGluay0tbGlnaHRcbiAgICAmLS1saWdodCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ub3RlXG4gICYtLW5vdGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgfVxuXG4gIC8vIC5wLS1wb3B1bGFyLXNlYXJjaFxuICAmLS1wb3B1bGFyLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDYuMzUpOyAvLyBkZXNpZ24gaXMgOC41XG4gIH1cblxuICAvLyAucC0tcHJpbnRcbiAgJi0tcHJpbnQge1xuICAgIC8vIC5wLS1wcmludC0tbWV0YVxuICAgICYtLW1ldGEge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgLTMpO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW50LW1ldGEpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCBidSguNSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogYnUoLjM3NSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbnQtbWV0YS11cmwtZmlsbCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBjb2xvcjogY29sb3IocHJpbnQtbWV0YS11cmwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLXF1b3RlXG4gICYtLXF1b3RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gIC8vIC5wLS1xdW90ZS1jaXRlXG4gICYtLXF1b3RlLWNpdGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDApO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIH1cblxuICAvLyAucC0tcXVvdGUtc291cmNlXG4gICYtLXF1b3RlLXNvdXJjZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0yKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZWFkLW1vcmVcbiAgJi0tcmVhZC1tb3JlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlcGVhdHNcbiAgJi0tcmVwZWF0cyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMik7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlc291cmNlLWRlc2NyaXB0aW9uXG4gICYtLXJlc291cmNlLWRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgfVxuXG4gIC8vIC5wLS1yZXNvdXJjZS1tZXRhXG4gICYtLXJlc291cmNlLW1ldGEge1xuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLWNvc3RcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlYWQtdGltZVxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1wdWJsaXNoZXJcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVnaXN0cmF0aW9uXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICYtLWNvc3QsXG4gICAgJi0tZmlsZS1zaXplLFxuICAgICYtLXB1Ymxpc2hlcixcbiAgICAmLS1yZWFkLXRpbWUsXG4gICAgJi0tcmVnaXN0cmF0aW9uLFxuICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuMTI1KTtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tY29zdFxuICAgICYtLWNvc3Qge1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1yZWFkLXRpbWVcbiAgICAmLS1yZWFkLXRpbWUge1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlZ2lzdHJhdGlvblxuICAgICYtLXJlZ2lzdHJhdGlvbiB7XG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgJi0tZmlsZS1zaXplIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1jb3N0XG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICYtLWNvc3QsXG4gICAgJi0tc3Vic2NyaXB0aW9uIHtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWJyYW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tc2xpZGVcbiAgJi0tcmVzb3VyY2UtbWV0YS0tc2xpZGUge1xuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zbGlkZS0tcmVhZC10aW1lXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlLS1wdWJsaXNoZXJcbiAgICAmLS1yZWFkLXRpbWUsXG4gICAgJi0tcHVibGlzaGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0xKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMi4xMjUpO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtY2F0ZWdvcnlcbiAgJi0tcmVzdWx0LWNhdGVnb3J5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygyNXB4LCAtMik7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlc3VsdC1jb3VudFxuICAmLS1yZXN1bHQtY291bnQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuODc1KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtZGVzY3JpcHRpb25cbiAgJi0tcmVzdWx0LWRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtbWF0Y2hcbiAgJi0tcmVzdWx0LW1hdGNoIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLXJlc3VsdC1tZXRhXG4gICYtLXJlc3VsdC1tZXRhIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuMTI1KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtbWV0YS0tcmVhZC10aW1lXG4gICAgJi0tcmVhZC10aW1lIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjc1KTtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzdWx0LW1vcmUtbGlua1xuICAmLS1yZXN1bHQtbW9yZS1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzdWx0LXNvbHV0aW9uXG4gICYtLXJlc3VsdC1zb2x1dGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDEpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjYyNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtdGVhc2VyXG4gICYtLXJlc3VsdC10ZWFzZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAtMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgfVxuXG4gIC8vIC5wLS1zZWFyY2gtaW5wdXRcbiAgJi0tc2VhcmNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBwLS1zZWFyY2gtaW5wdXQ7XG4gIH1cblxuICAvLyAucC0tc2VlLWFsbC1ndWlkZXNcbiAgJi0tc2VlLWFsbC1ndWlkZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC8vIC5wLS1zaG93LW1hdGVyaWFsLWZvclxuICAmLS1zaG93LW1hdGVyaWFsLWZvciB7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMS43NSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC8vIC5wLS1zbGlkZVxuICAmLS1zbGlkZSB7XG4gICAgQGluY2x1ZGUgcC0tc2xpZGUoKTtcbiAgfVxuXG4gIC8vIC5wLS1zbGlkZS1zb3VyY2VcbiAgJi0tc2xpZGUtc291cmNlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1zb3J0LWJ5XG4gICYtLXNvcnQtYnkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1zdHJhdGVneS1vdmVydmlld1xuICAmLS1zdHJhdGVneS1vdmVydmlldyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAwKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gIH1cblxuICAvLyAucC0tc3VnZ2VzdGlvbi0tY3VycmVudC1wYWdlXG4gICYtLXN1Z2dlc3Rpb24tLWN1cnJlbnQtcGFnZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIC0xKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgIG9wYWNpdHk6IC42O1xuICB9XG5cbiAgLy8gLnAtLXRhZ1xuICAmLS10YWcge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTsgLy8gYWRqdXN0ZWRcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS11bmRlcnN0YW5kXG4gICYtLXVuZGVyc3RhbmQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lZGlhIFF1ZXJpZXMgKGV4Y2VwdCBtaXhpbnMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gIC5wIHtcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YVxuICAgICYtLXJlc291cmNlLW1ldGEge1xuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLWNvc3RcbiAgICAgICYtLWNvc3Qge1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zdWJzY3JpcHRpb25cbiAgICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBuYXJyb3dpc2hcbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgLmgxIHtcbiAgICAvLyAuaDEtLWhvbWVcbiAgICAmLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMTQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTUwcHgsIDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgxMCk7XG4gICAgfVxuXG4gICAgLy8gLmgxLS1saWdodFxuICAgICYtLWxpZ2h0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg3Ljc1KTtcbiAgICB9XG4gIH1cblxuICAuaDIge1xuICAgIC8vIC5oMi0tbmF2LWd1aWRlLXNpZGViYXItLWhlYWRlclxuICAgICYtLW5hdi1ndWlkZS1zaWRlYmFyLS1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg1LjEyNSk7XG4gICAgfVxuXG4gICAgLy8gLmgyLS1zZWFyY2hcbiAgICAmLS1zZWFyY2gge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAvLyAuaDItLXNsaWRlXG4gICAgJi0tc2xpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg3KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA3KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0LjUpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaDMge1xuICAgIC8vIC5oMy0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvLyAuaDMtLWhlbHAtaXRlbVxuICAgICYtLWhlbHAtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXJcbiAgICAmLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3ViLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tcmVzb3VyY2UtLWxhcmdlXG4gICAgJi0tcmVzb3VyY2UtLWxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoNCk7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDgpO1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSg2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuaDMtLXJlc3VsdFxuICAgICYtLXJlc3VsdCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tcmVzdWx0LS1ndWlkZVxuICAgICYtLXJlc3VsdC0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICB9XG5cbiAgICAvLyAuaDMtLXRleHQtcHJvbW9cbiAgICAvLyBVc2VkIGluIC5iLXRleHQtcHJvbW8gKGhvbWUpXG4gICAgJi0tdGV4dC1wcm9tbyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAuaDQge1xuICAgIC8vIC5oNC0tc3VnZ2VzdGlvbnNcbiAgICAmLS1zdWdnZXN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgIH1cblxuICAgIC8vIC5oNC0tdW5kZXJzdGFuZC1tb3JlXG4gICAgJi0tdW5kZXJzdGFuZC1tb3JlIHtcbiAgICAgIC8vIGFzIHBlciByZWd1bGFyIC5oNDpcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG5cbiAgLmg1IHtcbiAgICAvLyAuaDUtLXN1Z2dlc3Rpb25cbiAgICAmLS1zdWdnZXN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLmg1LS1zdWdnZXN0aW9uLS1sYXJnZVxuICAgICYtLXN1Z2dlc3Rpb24tLWxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG5cbiAgLnAge1xuICAgIC8vIC5wLS1hbGVydFxuICAgICYtLWFsZXJ0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tYnJhbmRcbiAgICAmLS1icmFuZCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1icm93c2UtYWxsLWd1aWRlc1xuICAgICYtLWJyb3dzZS1hbGwtZ3VpZGVzIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1leGFtcGxlLWhvbWUtdGl0bGVcbiAgICAmLS1leGFtcGxlLWhvbWUtdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcbiAgICB9XG5cbiAgICAvLyAucC0tZmlsdGVyXG4gICAgJi0tZmlsdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWZpbHRlci1ub3RpY2VcbiAgICAmLS1maWx0ZXItbm90aWNlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTIpOyAvLyBndWlkZSBuYXZcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKDVweCwgLTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIH1cblxuICAgIC8vIC5wLS1mb290ZXJcbiAgICAmLS1mb290ZXIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tZm9vdGVyLW5hdlxuICAgICYtLWZvb3Rlci1uYXYge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvLyAucC0tZ3VpZGUtLWZlYXR1cmVkLXRhbGxcbiAgICAmLS1ndWlkZS0tZmVhdHVyZWQtdGFsbCB7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIC8vIC5wLS1ndWlkZS1saW5rLS1mZWF0dXJlZC10YWxsXG4gICAgJi0tZ3VpZGUtbGluay0tZmVhdHVyZWQtdGFsbCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWd1aWRlLWxpc3RpbmdcbiAgICAmLS1ndWlkZS1saXN0aW5nIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMSk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjEyNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvXG4gICAgJi0taW50cm8ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTsgLy9hcHBsaWVzIGxpbmUtaGVpZ2h0OiBidSgzLjUpXG4gICAgICBsaW5lLWhlaWdodDogYnUoNC41KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1ndWlkZVxuICAgICYtLWludHJvLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDQpO1xuICAgIH1cblxuICAgIC8vIC5wLS1pbnRyby0tc29ycnlcbiAgICAmLS1pbnRyby0tc29ycnkge1xuICAgICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTM1cHgsIDYpO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1zdWJcbiAgICAvLyB1bmRlcnN0YW5kIHBhZ2VcbiAgICAmLS1pbnRyby0tc3ViIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcbiAgICB9XG5cbiAgICAvLyAucC0taW50cm8tLXN1Yi0taGVhdnlcbiAgICAmLS1pbnRyby0tc3ViLS1oZWF2eSB7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1zdWdnZXN0aW9uXG4gICAgJi0taW50cm8tLXN1Z2dlc3Rpb24ge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAmLFxuICAgICAgICAmLmItY29udGVudCA+IHAge1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAyKTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSg1Ljc1KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWxhcmdlXG4gICAgLy8gLnAtLWxhcmdlLS1ob21lXG4gICAgLy8gRGlzcGxheXMgbGFyZ2Ugb24gY29udGVudC13aWRlLWFuZC11cFxuICAgICYtLWxhcmdlLFxuICAgICYtLWxhcmdlLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7IC8vIGFwcGxpZXMgbGluZS1oZWlnaHQ6IGJ1KDMuNSlcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWxhcmdlLS1ob21lXG4gICAgLy8gRGlzcGxheXMgbGFyZ2Ugb24gY29udGVudC13aWRlLWFuZC11cFxuICAgICYtLWxhcmdlLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7IC8vIGFwcGxpZXMgbGluZS1oZWlnaHQ6IGJ1KDMuNSlcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjI1KTsgLy8gcmVkdWNlZCBsaW5lIGhlaWdodFxuXG4gICAgICBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpOyAvLyByZWR1Y2VkIGxpbmUgaGVpZ2h0XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyXG4gICAgJi0tbmF2LWd1aWRlLXNpZGViYXIge1xuICAgICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdHJhdGVneVxuICAgICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1yZXNvdXJjZXNcbiAgICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tdW5kZXJzdGFuZFxuICAgICAgJi0tc3RyYXRlZ3ksXG4gICAgICAmLS1yZXNvdXJjZXMsXG4gICAgICAmLS11bmRlcnN0YW5kIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICB9XG5cbiAgICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3VnZ2VzdGlvblxuICAgICAgJi0tc3VnZ2VzdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtLWluLXBhZ2VcbiAgICAmLS1uYXYtLWluLXBhZ2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xNXB4LCAxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtcHJpbWFyeVxuICAgICYtLW5hdi1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNDBweCwgNSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLW5leHQtc3RlcC0tbGlua1xuICAgICYtLW5leHQtc3RlcC0tbGluayB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgIH1cblxuICAgIC8vIC5wLS1ub3RlXG4gICAgJi0tbm90ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIH1cblxuICAgIC8vIC5wLS1wb3B1bGFyLXNlYXJjaFxuICAgICYtLXBvcHVsYXItc2VhcmNoIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoNik7IC8vIGRlc2lnbiBpcyA4LjVcbiAgICB9XG5cbiAgICAvLyAucC0tcXVvdGVcbiAgICAmLS1xdW90ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNjI1KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1xdW90ZS1jaXRlXG4gICAgJi0tcXVvdGUtY2l0ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDAuNzUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDEpO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xNXB4LCA3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXF1b3RlLXNvdXJjZVxuICAgICYtLXF1b3RlLXNvdXJjZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMik7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjI1KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tcmVwZWF0c1xuICAgICYtLXJlcGVhdHMge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhXG4gICAgJi0tcmVzb3VyY2UtbWV0YSB7XG5cbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1jb3N0XG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVhZC10aW1lXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcHVibGlzaGVyXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVnaXN0cmF0aW9uXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tc3Vic2NyaXB0aW9uXG4gICAgICAmLS1jb3N0LFxuICAgICAgJi0tZmlsZS1zaXplLFxuICAgICAgJi0tcHVibGlzaGVyLFxuICAgICAgJi0tcmVhZC10aW1lLFxuICAgICAgJi0tcmVnaXN0cmF0aW9uLFxuICAgICAgJi0tc3Vic2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAyKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tY29zdFxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICAgJi0tY29zdCxcbiAgICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgICAmLS1maWxlLXNpemUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgIH1cblxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXB1Ymxpc2hlclxuICAgICAgJi0tcHVibGlzaGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjEyNSk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlYWQtdGltZVxuICAgICAgJi0tcmVhZC10aW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlXG4gICAgJi0tcmVzb3VyY2UtbWV0YS0tc2xpZGUge1xuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlLS1yZWFkLXRpbWVcbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zbGlkZS0tcHVibGlzaGVyXG4gICAgICAmLS1yZWFkLXRpbWUsXG4gICAgICAmLS1wdWJsaXNoZXIge1xuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAyKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc3VsdC1jYXRlZ29yeVxuICAgICYtLXJlc3VsdC1jYXRlZ29yeSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKDI1cHgsIC0xKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tcmVzdWx0LWNvdW50XG4gICAgJi0tcmVzdWx0LWNvdW50IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtZGVzY3JpcHRpb25cbiAgICAmLS1yZXN1bHQtZGVzY3JpcHRpb24ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc3VsdC1zb2x1dGlvblxuICAgICYtLXJlc3VsdC1zb2x1dGlvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtdGVhc2VyXG4gICAgJi0tcmVzdWx0LXRlYXNlciB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTVweCwgMSk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgfVxuXG4gICAgLy8gLnAtLXNlZS1hbGwtZ3VpZGVzXG4gICAgJi0tc2VlLWFsbC1ndWlkZXMge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICB9XG5cbiAgICAvLyAucC0tc2hvdy1tYXRlcmlhbC1mb3JcbiAgICAmLS1zaG93LW1hdGVyaWFsLWZvciB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDEuNzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1zbGlkZS1zb3VyY2VcbiAgICAmLS1zbGlkZS1zb3VyY2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTMpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1zdHJhdGVneS1vdmVydmlld1xuICAgICYtLXN0cmF0ZWd5LW92ZXJ2aWV3IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjYyNSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLXVuZGVyc3RhbmRcbiAgICAmLS11bmRlcnN0YW5kIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7XG4gIC5oMSB7XG4gICAgLy8gLmgxLS1ob21lXG4gICAgJi0taG9tZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDE2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01MHB4LCAxNik7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5wIHtcbiAgICAvLyAucC0taW50cm9cbiAgICAmLS1pbnRybyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQuNSk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlaXNoLWFuZC11cCkge1xuICAuaDIge1xuICAgIC8vIC5oMi0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDcpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDcpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1iZXR3ZWVuLXdpZGVpc2gtYW5kLXdpZGUpIHtcbiAgLmgyIHtcbiAgICAvLyAuaDItLWd1aWRlXG4gICAgJi0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjkpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1iZXR3ZWVuLW5hcnJvd2lzaC1hbmQtd2lkZWlzaCkge1xuICAuaDIge1xuICAgIC8vIC5oMi0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDUpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQuMSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWJldHdlZW4tNTAwLWFuZC1uYXJyb3dpc2gpIHtcbiAgLmgyIHtcbiAgICAvLyAuaDItLWd1aWRlXG4gICAgJi0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjcpO1xuICAgIH1cbiAgfVxuXG4gIC5wIHtcbiAgICAvLyAucC0tZmlsdGVyXG4gICAgJi0tZmlsdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWJldHdlZW4tbmFycm93aXNoLWFuZC1mdWxsKSB7XG4gIC8vIC5oMi0tc2xpZGVcbiAgLmgyIHtcbiAgICAmLS1zbGlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDUpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge1xuICAuaDEge1xuICAgIC8vIC5oMS0taG9tZVxuICAgICYtLWhvbWUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxNSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNTBweCwgMTUpO1xuICAgIH1cbiAgfVxufVxuIiwiJGVtLXNwYWNlci01OiAwLjVyZW07XG4kZW0tc3BhY2VyLTY6IDAuNnJlbTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiRib2R5LWZvbnQ6IE1vbnRzZXJyYXQsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHRvb2x0aXAtdGV4dC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiRib3JkZXItcmFkaXVzOiA0cHg7XG4kYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiR0b29sdGlwLWR1cmF0aW9uOiAyMDA7XG4kdG9vbHRpcC1kZWxheTogMDtcbiRzcGFjZXItMzogMC4zcmVtO1xuXG4udG9vbHRpcHBlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gVGhpcyBpcyB0aGUgdG9vbHRpcCBidWJibGVcbi50b29sdGlwcGVkOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJGVtLXNwYWNlci01ICRlbS1zcGFjZXItNjtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCAxMXB4LzEuNSAkYm9keS1mb250O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgY29sb3I6ICR0b29sdGlwLXRleHQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IGF0dHIoYXJpYS1sYWJlbCk7XG4gIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLyBUaGlzIGlzIHRoZSB0b29sdGlwIGFycm93XG4udG9vbHRpcHBlZDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwMDAxO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBjb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlcjogNnB4ICRib3JkZXItc3R5bGUgdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vIGRlbGF5IGFuaW1hdGlvbiBmb3IgdG9vbHRpcFxuQGtleWZyYW1lcyB0b29sdGlwLWFwcGVhciB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBUaGlzIHdpbGwgaW5kaWNhdGUgd2hlbiB3ZSdsbCBhY3RpdmF0ZSB0aGUgdG9vbHRpcFxuLnRvb2x0aXBwZWQ6aG92ZXIsXG4udG9vbHRpcHBlZDphY3RpdmUsXG4udG9vbHRpcHBlZDpmb2N1cyB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHRvb2x0aXAtYXBwZWFyO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHRvb2x0aXAtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tZGVsYXk6ICR0b29sdGlwLWRlbGF5O1xuICB9XG59XG5cbi50b29sdGlwcGVkLW5vLWRlbGF5OmhvdmVyLFxuLnRvb2x0aXBwZWQtbm8tZGVsYXk6YWN0aXZlLFxuLnRvb2x0aXBwZWQtbm8tZGVsYXk6Zm9jdXMge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICB9XG59XG5cbi50b29sdGlwcGVkLW11bHRpbGluZTpob3Zlcixcbi50b29sdGlwcGVkLW11bHRpbGluZTphY3RpdmUsXG4udG9vbHRpcHBlZC1tdWx0aWxpbmU6Zm9jdXMge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxufVxuXG4vLyBUb29sdGlwcGVkIHNvdXRoXG4udG9vbHRpcHBlZC1zLFxuLnRvb2x0aXBwZWQtc2UsXG4udG9vbHRpcHBlZC1zdyB7XG4gICY6OmFmdGVyIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogLTdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC02cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4udG9vbHRpcHBlZC1zZSB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2VyLTM7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtc3c6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJHNwYWNlci0zO1xufVxuXG4vLyBUb29sdGlwcyBhYm92ZSB0aGUgb2JqZWN0XG4udG9vbHRpcHBlZC1uLFxuLnRvb2x0aXBwZWQtbmUsXG4udG9vbHRpcHBlZC1udyB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTdweDtcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC02cHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4udG9vbHRpcHBlZC1uZSB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2VyLTM7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtbnc6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJHNwYWNlci0zO1xufVxuXG4vLyBNb3ZlIHRoZSB0b29sdGlwIGJvZHkgdG8gdGhlIGNlbnRlciBvZiB0aGUgb2JqZWN0LlxuLnRvb2x0aXBwZWQtczo6YWZ0ZXIsXG4udG9vbHRpcHBlZC1uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xufVxuXG4vLyBUb29sdGlwcGVkIHRvIHRoZSBsZWZ0XG4udG9vbHRpcHBlZC13IHtcbiAgJjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IDUwJTtcbiAgICBsZWZ0OiAtN3B4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cblxuLy8gdG9vbHRpcHBlZCB0byB0aGUgcmlnaHRcbi50b29sdGlwcGVkLWUge1xuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiA1MCU7XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogLTdweDtcbiAgICBib3R0b206IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4vLyBUb29sdGlwIGFsaWduIHJpZ2h0IGFuZCBsZWZ0XG4udG9vbHRpcHBlZC1hbGlnbi1yaWdodC0xLFxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMiB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMiB7XG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tbGVmdC0xLFxuLnRvb2x0aXBwZWQtYWxpZ24tbGVmdC0yLCB7XG4gICY6OmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi50b29sdGlwcGVkLWFsaWduLWxlZnQtMSB7XG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogNXB4O1xuICB9XG59XG5cbi50b29sdGlwcGVkLWFsaWduLWxlZnQtMiB7XG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogMTBweDtcbiAgfVxufVxuXG4vLyBTdGlja3kgdG9vbHRpcHNcbi8vXG4vLyBBbHdheXMgc2hvdyB0aGUgdG9vbHRpcC5cbi50b29sdGlwcGVkLXN0aWNreSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHRvb2x0aXAtYXBwZWFyO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHRvb2x0aXAtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tZGVsYXk6ICR0b29sdGlwLWRlbGF5O1xuICB9XG5cbiAgJi50b29sdGlwcGVkLW11bHRpbGluZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIEdsb2JhbCBTdHlsZXNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbmh0bWwge1xuICBmb250LXNpemU6ICRnLWZvbnQtYmFzZTtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogYnUoMik7XG4gIGxpbmUtaGVpZ2h0OiAkZy1saW5lLWhlaWdodDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cblxuLnVwcGVyLWZvb3RlciB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uZm9vdGVyLWxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgZ2FwOiA0cmVtO1xuICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZW1haGF1LWxvZ28ge1xuICAgIHRyYW5zaXRpb246IHVuc2V0O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggYmxhY2sgc29saWQ7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNHJlbTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLm1vZS1sb2dvIHtcbiAgICB0cmFuc2l0aW9uOiB1bnNldDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIEJhc2UgVHlwb2dyYXBoaWMgU3R5bGVzXG4vLyBcbi8vIFNlZSBhbHNvIC4uL2hlbHBlcnMvX3R5cGUuc2Nzc1xuLy8gU2VlIGFsc28gLi4vdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3Ncbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEFzIC5zYXNzLWxpbnQueW1sIHByb2hpYml0cyB0aGUgdXNlIG9mIEBleHRlbmRcbi8vIHRoZXNlIHJhdyBIVE1MIGVsZW1lbnRzIGFyZSBhbGlhc2VkXG4vLyB0byBtYXRjaGluZyBjbGFzc25hbWVzLlxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRnLWZvbnQtc2Vjb25kYXJ5O1xuICBjb2xvcjogY29sb3IodHlwZSk7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC8vIHNhc3MtbGludDplbmFibGUgbm8tdmVuZG9yLXByZWZpeGVzXG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYsXG5bY2xhc3NePVwiaDEtLVwiXSxcbltjbGFzcyo9XCIgaDEtLVwiXSxcbltjbGFzc149XCJoMi0tXCJdLFxuW2NsYXNzKj1cIiBoMi0tXCJdLFxuW2NsYXNzXj1cImgzLS1cIl0sXG5bY2xhc3MqPVwiIGgzLS1cIl0sXG5bY2xhc3NePVwiaDQtLVwiXSxcbltjbGFzcyo9XCIgaDQtLVwiXSxcbltjbGFzc149XCJoNS0tXCJdLFxuW2NsYXNzKj1cIiBoNS0tXCJdLFxuW2NsYXNzXj1cImg2LS1cIl0sXG5bY2xhc3MqPVwiIGg2LS1cIl0ge1xuICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYge1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogY29sb3IodHlwZSk7XG59XG5cbmgxIHtcbiAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDExKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMTEpO1xuICAgIG1hcmdpbjogMCAwIGJ1KDYpO1xuICB9XG59XG5cbi5oMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDExKTtcbiAgICBtYXJnaW46IDAgMCBidSg2KTtcbiAgfVxufVxuXG5oMixcbi5oMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgbWFyZ2luOiBidSg1LjkpIDAgYnUoMy42KTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOCk7XG4gIH1cbn1cblxuaDMsXG4uaDMge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICBsaW5lLWhlaWdodDogYnUoMy41KTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOCk7XG4gIH1cbn1cblxuaDQsXG4uaDQge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgfVxufVxuXG5oNSxcbi5oNSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICBtYXJnaW46IGJ1KDMuNSkgMCBidSgyLjMpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5oNixcbi5oNiB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gIG1hcmdpbjogYnUoNSkgMCBidSgzKTtcbiAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5wLFxuLnAge1xuICBhIHtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cblxuYSxcbi5hIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogY29sb3IobGluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIC4ycyBlYXNlLCBjb2xvciAuMnMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuYSB7XG4gICY6dmlzaXRlZCB7XG4gICAgJixcbiAgICAmID4gLmEsXG4gICAgJiBtYXJrIHtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgIH1cbiAgfVxufVxuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IodHlwZSk7XG4gIG1hcmdpbjogYnUoMSkgMDtcbn1cblxuYSxcbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3QsXG5bdGFiSW5kZXgqPVwiXCJdIHtcbiAgQGluY2x1ZGUgaC1mb2N1c2FibGU7XG59XG5cbm1hcmsge1xuICAvLyBvdmVycmlkZSBub3JtYWxpc2UuY3NzXG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKG1hcmspO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIEltYWdlIFN0eWxlc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLyBwaWN0dXJlIHtcbi8vXG4vLyB9XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gQmFzZSBGb3JtIFN0eWxlc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVGhlIGxpc3QgYmVsb3cgY292ZXJzIGFsbCBwb3NzaWJsZSBpbnB1dCB0eXBlcyBhbmQgdGhlaXIgc2VsZWN0b3JzLiBUaGVzZVxuLy8gY2FuIGJlIGNoZXJyeSBwaWNrZWQgdG8gZXh0ZW5kIGRlZmF1bHQgZm9ybSBzdHlsZXMuXG4vLyBidXR0b24sXG4vLyB0ZXh0YXJlYSxcbi8vIGlucHV0W3R5cGU9Y2hlY2tib3hcIl0sXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi8vIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLy8gaW5wdXRbdHlwZT1cImhpZGRlblwiXSxcbi8vIGlucHV0W3R5cGU9XCJpbWFnZVwiXSxcbi8vIGlucHV0W3R5cGU9XCJsaXN0XCJdLFxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi8vIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi8vIGlucHV0W3R5cGU9XCJyYW5nZVwiXSxcbi8vIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4vLyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLy8gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLy8gaW5wdXRbdHlwZT1cIndlZWtcIl1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9ybSBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuLy8gaW5wdXQgdHlwZXMgdGhhdCByZXF1aXJlIGtleWJvYXJkIGlucHV0XG4kZm9ybS1pbnB1dC10ZXh0OiBcImlucHV0W3R5cGU9J3RleHQnXSxpbnB1dFt0eXBlPSdwYXNzd29yZCddLGlucHV0W3R5cGU9J3NlYXJjaCddLGlucHV0W3R5cGU9J2VtYWlsJ10saW5wdXRbdHlwZT0nbnVtYmVyJ10saW5wdXRbdHlwZT0ndGVsJ10saW5wdXRbdHlwZT0ndXJsJ10saW5wdXRbdHlwZV49J2RhdGUnXSxpbnB1dFt0eXBlPSdtb250aCddLGlucHV0W3R5cGU9J3dlZWsnXSxpbnB1dFt0eXBlPSd0aW1lJ11cIjtcblxuLy8gSW5wdXQgdHlwZXMgdGhhdCBjb21tb25seSBhcHBlYXIgYXMgYnV0dG9uc1xuJGZvcm0taW5wdXQtYnV0dG9uczogXCJpbnB1dFt0eXBlPSdzdWJtaXQnXSxpbnB1dFt0eXBlPSdyZXNldCddLGlucHV0W3R5cGU9J2J1dHRvbiddXCI7XG5cbi8vIElucHV0IHR5cGVzIGdyb3VwZWQgYnkgYWxsIHR5cGVzIGJ1dCBOT1QgY2hlY2tib3ggb3IgcmFkaW8uXG4kZm9ybS1pbnB1dC1ub3QtcmFkaW8tbm90LWNoZWNrYm94OlxuXCJpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pXCI7XG5cbiN7JGZvcm0taW5wdXQtbm90LXJhZGlvLW5vdC1jaGVja2JveH0ge1xuICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlZmF1bHQgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuXG4gIC5maWVsZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwIDAgYnUoNCk7XG4gIH1cbn1cblxuI3skZm9ybS1pbnB1dC10ZXh0fSxcbnRleHRhcmVhIHtcbiAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IGJ1KDEuNSkgYnUoMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKHR5cGUpO1xuICAvLyBsaW5lLWhlaWdodDogYnUoMy43NSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiBkYXJrZW4oY29sb3IodHlwZSksIDUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuI3skZm9ybS1pbnB1dC1idXR0b25zfSxcbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IGJ1KDIpIGJ1KDMpO1xuICBjb2xvcjogZGFya2VuKGNvbG9yKHR5cGUpLCA1MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8vIGFwcGVhcmFuY2U6IHRleHRmaWVsZDsgRFM6IHdhcyBpbiBkdXBsaWNhdGUgcHJlY2VkaW5nIHJ1bGVcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRmllbGQgU3BlY2lmaWMgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl0ge1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJoaWRkZW5cIl0ge1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPVwiaW1hZ2VcIl0ge1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPVwibGlzdFwiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4vLyB9XG5cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIExpc3QgU3R5bGVzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiBidSgxKSAwIGJ1KDMuNyk7XG5cbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW46IGJ1KC41KSAwIDA7XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuICB9XG59XG5cbi8vIERlZmluaXRpb24gbGlzdHMgZGVmYXVsdCBzdHlsZXNcbmRsIHtcbiAgbWFyZ2luOiBidSgyKSAwO1xuXG4gIGR0LFxuICBkZCB7XG4gICAgbWF4LXdpZHRoOiBidSgyMCk7XG4gIH1cblxuICAvLyBkdCB7fVxuXG4gIGRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfVxufVxuXG5vbCB7XG4gIG1hcmdpbi1ib3R0b206IGJ1KDMuMjUpO1xuXG4gID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdC1udW1iZXJpbmc7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QtbnVtYmVyaW5nKSBcIi5cIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIHdpZHRoOiBidSgzKTtcbiAgICAgIGhlaWdodDogYnUoMyk7XG4gICAgICBtYXJnaW46IDAgYnUoLjUpIDAgYnUoLTMuNSk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgID4gbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMyk7XG4gICAgfVxuICB9XG59XG5cbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogYnUoNC4zKTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gID4gbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IGJ1KDQuMyk7XG4gICAgICBoZWlnaHQ6IGJ1KDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC00LjMpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRnLWltYWdlLXBhdGggKyBcImljb25zL2J1bGxldC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDAlIDI1JTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGJ1KDUpO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogYnUoNC40KTtcblxuICAgICAgJi5oLWxpc3QtLXJlc2V0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogYnUoNSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtNSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAyNSU7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgd2lkdGg6IGJ1KDQuNCk7XG4gICAgICAgICAgaGVpZ2h0OiBidSgyLjIpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtNC40KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgMjAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gQmFzZSBUYWJsZSBTdHlsZXNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuICB0aCxcbiAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHRoIHtcbiAgICAgIEBpbmNsdWRlIHAtLXNsaWRlLS10aC0tdG9wO1xuICAgICAgcGFkZGluZzogYnUoMS45KSBidSgyLjgpIGJ1KDEuNyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWRhcmspO1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgIH1cbiAgfVxuXG4gID4gdGJvZHkge1xuICAgIHRoIHtcbiAgICAgIEBpbmNsdWRlIHAtLXNsaWRlLS10aDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlcik7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiB0aCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIEBpbmNsdWRlIHAtLXNsaWRlLS10ZDtcbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiBidSgyLjYpIGJ1KDIuOCkgYnUoMi4yKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1saWdodGVyKTtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAvLyByZXZlYWwgdGFibGUgYm9yZGVyc1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gTGF5b3V0IE91dGVyIENvbnRhaW5lclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFRoZXNlIHN0eWxlcyBzZXQgdGhlIG91dGVyIGJvdW5kYXJ5IGZvciBhIGNlbnRlcmVkIHdlYiBwYWdlXG5cbi8vIG1peGlucyBhbGxvd3MgbGF5b3V0IHRvIGJlIGFwcGxpZWQgdG8gZWxlbWVudCB3aGljaCBkeW5hbWljYWxseSBwaW5cbkBtaXhpbiBsLW91dGVyLWNvbnRhaW5lcigkZW5hYmxlLXBhZGRpbmc6IHRydWUpIHtcblxuICBAaWYgJGVuYWJsZS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwICN7JGctbWFyZ2luLW5hcnJvd31weDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaWYgJGVuYWJsZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAgI3skZy1tYXJnaW4td2lkZX1weDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGVzdC1hbmQtdXApIHtcbiAgICBtYXgtd2lkdGg6IHJlbSgkZy1tYXJnaW4td2lkZXN0ICsgJGctd2lkdGgtd2lkZXN0ICsgJGctbWFyZ2luLXdpZGVzdCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAaWYgJGVuYWJsZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAgI3skZy1tYXJnaW4td2lkZX1weDtcbiAgICB9XG4gIH1cbn1cblxuLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgbC1vdXRlci1jb250YWluZXI7XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gT3ZlcmZsb3cgbGluZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi5sLW92ZXJmbG93LWxpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIENsYXNzIEJhc2VkIEdyaWQgTGF5b3V0IFN0eWxlc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTm90ZSB0aGVzZSBhcmUgdXNlZCB0byBsYXlvdXQgY29tcG9uZW50cyAvIGJsb2NrcyBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGluc2lkZSB0aGVcbi8vIGNvbXBvbmVudHMgLyBibG9ja3MgdGhlbXNlbHZlcy5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm93IERlY2xhcmF0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmwtcm93IHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbn1cblxuLmwtcm93LS1jZW50ZXJlZCB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KFwiY2VudGVyXCIpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29sdW1uIERlY2xhcmF0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtbmFycm93LWFuZC11cCkge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRnLWdyaWQtY29sdW1ucyB7XG4gICAgLmwtZ3JpZC1uYXJyb3ctI3skaX1vZiN7JGctZ3JpZC1jb2x1bW5zfSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigjeyRpfS8jeyRnLWdyaWQtY29sdW1uc30pO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRnLWdyaWQtY29sdW1ucyB7XG4gICAgLmwtZ3JpZC13aWRlLSN7JGl9b2YjeyRnLWdyaWQtY29sdW1uc30ge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oI3skaX0vI3skZy1ncmlkLWNvbHVtbnN9KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBDYWxjIEdyaWQgTWl4aW5zXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBDcmVhdGUgYSByb3cgLSBAaW5jbHVkZSBncmlkLXJvdygpO1xuLy8gQ3JlYXRlIGFuIGl0ZW0gLSBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gNCk7IG9wdGlvbmFsbHkgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDQsIDQwcHgpO1xuLy8gQ2FuIGFsc28gc3BlY2lmeSB0aGUganVzdGlmaWNhdGlvbiBpZiBmb3IgZXhhbXBsZSB5b3Ugd2FudCB0byBjZW50ZXIgdGhlIGNvbHVtbiBvbiBhIHBhZ2UuIGVnIEBpbmNsdWRlIGdyaWQtcm93KFwiY2VudGVyXCIpLlxuLy8gVG8gY3JlYXRlIGEgY29udGlub3VzIGxpc3Qgb2YgZ3JpZCBlbGVtZW50cyBpbiByb3dzIG9mIDMgbGF5ZWQgb3V0IGluIGEgZ3JpZFxuLy8gQ2FsbCB0aGUgd3JhcHBlciB1c2luZyAtIEBpbmNsdWRlIGdyaWQtcm93KFwiZmxleC1zdGFydFwiKTtcbi8vIFRoZW4gb24gdGhlIGNoaWxkcmVuIGNhbGwgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDMsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzKTtcbi8vIFRoZSBudGggd3JhcHBlciBzZWxlY3RvciB3aWxsIGJlIG92ZXJpZGVuIGVhY2ggdGltZSB5b3UgY2FsbCB0aGlzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cblxuQG1peGluIGdyaWQtcm93KCRqdXN0aWZ5OiBcInNwYWNlLWJldHdlZW5cIikge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogI3skanVzdGlmeX07XG59XG5cbi8vICRndXR0ZXIgLSBncmlkIGd1dHRlclxuLy8gJG1hcmdpbi1yaWdodC1mcmFjIC0gYWRkaXRpb25hbCBjb2x1bW4td2lkZSBndXR0ZXIgYmV0d2VlbiBsZWZ0IGp1c3RpZmllZCBpdGVtc1xuQG1peGluIHNwYW4tY29sdW1uKCRmcmFjLCAkZ3V0dGVyOiBmYWxzZSwgJGZsZXgtc3RhcnQ6IGZhbHNlLCAkbnRoOiAyLCAkbWFyZ2luLXJpZ2h0LWZyYWM6IGZhbHNlLCAkZ3V0dGVyLWJvdHRvbTogJGctZ3V0dGVyKSB7XG4gICRjdXJyZW50LWd1dHRlcjogJGctZ3V0dGVyOyAvLyBzZWUgc3JjL3Njc3MvdmFyaWFibGVzL19nZW5lcmFsLnNjc3NcblxuICBAaWYoJGd1dHRlcikge1xuICAgICRjdXJyZW50LWd1dHRlcjogJGd1dHRlcjtcbiAgfVxuXG4gIGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgKiAjeyRmcmFjfSkgLSAoI3skY3VycmVudC1ndXR0ZXJ9ICogKDEgLSAjeyRmcmFjfSkpKTtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKCgxMDAlICogI3skZnJhY30pIC0gKCN7JGN1cnJlbnQtZ3V0dGVyfSAqICgxIC0gI3skZnJhY30pKSk7XG4gIG1hcmdpbi1ib3R0b206ICRndXR0ZXItYm90dG9tO1xuXG4gIEBpZigkZmxleC1zdGFydCkge1xuICAgIEBpZigkbWFyZ2luLXJpZ2h0LWZyYWMpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAqICN7JG1hcmdpbi1yaWdodC1mcmFjfSkgLSAoI3skY3VycmVudC1ndXR0ZXJ9ICogKDEgLSAjeyRtYXJnaW4tcmlnaHQtZnJhY30pKSArICgjeyRjdXJyZW50LWd1dHRlcn0gKiAoI3skbnRofSAtIDEpKSk7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCksXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAqICN7JG1hcmdpbi1yaWdodC1mcmFjfSkgLSAoI3skY3VycmVudC1ndXR0ZXJ9ICogKDEgLSAjeyRtYXJnaW4tcmlnaHQtZnJhY30pKSArICgjeyRjdXJyZW50LWd1dHRlcn0gKiAoI3skbnRofSAtIDEpKSk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjdXJyZW50LWd1dHRlcjtcblxuICAgICAgJjpudGgtY2hpbGQob2RkKSxcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY3VycmVudC1ndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoI3skbnRofW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGlzIG5vdCBhbiBleGFjdCBzY2llbmNlLCBidXQgaXQgd29ya3Mgd2VsbCBlbm91Z2ggd2l0aCB0aGUgZGVzaWduXG4vLyAodmlld3BvcnQgYm91bmRhcnkgdG8gbWlkcG9pbnQgYmV0d2VlbiBzZWNvbmRhcnkgbmF2IGFuZCBtYWluIGNvbnRhaW5lcilcbkBtaXhpbiBzcGFuLWNvbHVtbi1ibGVlZC1maWxsKCRmcmFjLCAkaW5uZXItYmxlZWQtd2lkZTogYnUoMCksICRpbm5lci1ibGVlZC13aWRlc3Q6IGJ1KDApLCAkaW5uZXItYmxlZWQtZnVsbDogYnUoMCksICRjb2xvcjogIzAwMCkge1xuICAkcGFnZS13aWR0aDogMTAwJTtcblxuICAvLyB0aGUgZmlsbCBpc24ndCBhcHBsaWVkIG9uIG5hcnJvd1xuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgLy8gYXQgdGhlIHdpZGUgYnJlYWtwb2ludCB0aGUgbGVmdCBoYW5kIG1hcmdpbiBpcyBmaXhlZCBhbmQgdGhlIGNvbnRhaW5lciBzY2FsZXNcbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZXR3ZWVuLXdpZGUtYW5kLXdpZGVzdCkge1xuICAgIC8vIGZpeGVkIExIIG1hcmdpbiArIE4gY29sdW1ucyArIGV4dHJhXG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKCN7YnUoJGctbWFyZ2luLXdpZGUvOCl9ICsgI3skZnJhYyAqIDEwMH0lICsgI3skaW5uZXItYmxlZWQtd2lkZX0pIDEwMCU7XG4gIH1cblxuICAvLyBhdCB0aGUgd2lkZXN0IGJyZWFrcG9pbnQgdGhlIGxlZnQgaGFuZCBtYXJnaW4gaXMgZml4ZWQgYW5kIHRoZSBjb250YWluZXIgaXMgZml4ZWQsIGJ1dCB0aGVyZSBpcyBob3Jpem9udGFsIGJsZWVkXG4gIC8vIG5vdGUgdGhhdCAkZy13aWR0aC13aWRlc3QgZXhjbHVkZXMgZml4ZWQgJGctbWFyZ2luLXdpZGVzdCBtYXJnaW5zIFxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGVzdC1hbmQtdXApIHtcbiAgICAvLyBtaWRkbGUgb2YgcGFnZSAtIG1pZGRsZSBvZiBjb250YWluZXIgLSBOIGNvbHVtbnMgKyBMSCBtYXJnaW4gKyBleHRyYVxuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygjeyRwYWdlLXdpZHRoLzJ9IC0gKCN7YnUoJGctd2lkdGgtd2lkZXN0LzgpLzJ9IC0gI3tidSgoJGZyYWMgKiAkZy13aWR0aC13aWRlc3QpLzgpfSAtICN7YnUoJGctbWFyZ2luLXdpZGVzdC84KX0gLSAjeyRpbm5lci1ibGVlZC13aWRlc3R9KSkgMTAwJTtcbiAgfVxuXG4gIC8vIGF0IHRoZSB3aWRlIGJyZWFrcG9pbnQgdGhlIGxlZnQgaGFuZCBtYXJnaW4gaXMgZml4ZWQgYW5kIHRoZSBjb250YWluZXIgaXMgZml4ZWQsIGJ1dCB0aGVyZSBpcyBob3Jpem9udGFsIGJsZWVkXG4gIC8vIG5vdGUgdGhhdCAkZy13aWR0aC13aWRlc3QgZXhjbHVkZXMgZml4ZWQgJGctbWFyZ2luLXdpZGVzdCBtYXJnaW5zIFxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWZ1bGwtYW5kLXVwKSB7XG4gICAgLy8gbWlkZGxlIG9mIHBhZ2UgLSBtaWRkbGUgb2YgY29udGFpbmVyIC0gTiBjb2x1bW5zICsgTEggbWFyZ2luICsgZXh0cmFcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skcGFnZS13aWR0aC8yfSAtICgje2J1KCRnLXdpZHRoLXdpZGVzdC84KS8yfSAtICN7YnUoKCRmcmFjICogJGctd2lkdGgtd2lkZXN0KS84KX0gLSAje2J1KCRnLW1hcmdpbi13aWRlc3QvOCl9IC0gI3skaW5uZXItYmxlZWQtZnVsbH0pKSAxMDAlO1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gR2VuZXJhbCBWYXJpYWJsZXNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEEgZ3JvdXAgb2YgdmFyaWFibGVzIHRoYXQgZG8gbm90IHJlcXVpcmUgdGhlaXIgb3duIHN0eWxlc2hlZXQuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzc3QgUGF0aHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRnLWltYWdlLXBhdGg6IFwiLi4vaW1nL1wiO1xuJGctZm9udC1wYXRoOiBcIi4uL2ZvbnQvXCI7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVuaXRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCYXNlIHVuaXQuXG4kZy1idTogODtcblxuLy8gSGFsZiBiYXNlIHVuaXQuXG4kZy1oYnU6IDQ7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFuaW1hdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGctYW5pbS1ob3ZlcjogLjFzO1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHcmlkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZy1ncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuJGctZ3V0dGVyOiAkZy1idSAqIDQgKyBweCAhZGVmYXVsdDsgLy8gTXVzdCBiZSBhIHB4IHZhbHVlXG4kZy1ndXR0ZXItdW5pdGxlc3M6ICRnLWJ1ICogNCAhZGVmYXVsdDtcbiIsIi8vIEFqYXggb3ZlcmxheSBsb2FkZXJcblxuLmwtYWpheC1qcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IGJ1KDI0Ljc1ICsgMTMgKyAyNC43NSk7XG5cbiAgLy8gcGFyZW50IGVsZW1lbnRcbiAgJl9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBzZXQgdmVydGljYWwgc3RyZXRjaCBsaW1pdCBmb3Igc2VhcmNoIHJlc3VsdHMgc3Bpbm5lclxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAvLyBIYWNrIGZvciBpZTEwIGFzIGRvZXNudCBzdXBwb3J0IHBvaW50ZXIgZXZlbnRzXG4gICAgLmllMTAgJiB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi0taW4ge1xuICAgICAgbWluLWhlaWdodDogYnUoMjQuNzUgKyAxMyArIDI0Ljc1KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgLy8gSGFjayBmb3IgaWUxMCBhcyBkb2VzbnQgc3VwcG9ydCBwb2ludGVyIGV2ZW50c1xuICAgICAgLmllMTAgJiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1vdXQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gI3tidSgxMy8yKX0pO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAje2J1KDEzLzIpfSk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiBidSgxMyk7XG4gICAgICBoZWlnaHQ6IGJ1KDEzKTtcbiAgICAgIGJvcmRlcjogYnUoMSkgc29saWQgI2YxZjFmMTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDljZGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBhbmltYXRpb246IGFqYXgtc3Bpbm5lciAuOXMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbiAgfVxuXG4gICYtLWlubGluZS1sb2FkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiBtcygxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyBlYXNlLW91dCAuMnM7XG5cbiAgICAuYi1idXR0b25fX2ljb24td3JhcC0tYmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBhbmltYXRpb246IGFqYXgtc3Bpbm5lciAuNnMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbiAgfVxuXG4gICYtLWlubGluZS1sb2FkaW5nIHtcbiAgICAuYi1idXR0b25fX2ljb24td3JhcC0tYmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmwtYWpheC1qcy1mYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQGtleWZyYW1lcyBhamF4LXNwaW5uZXIge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIFotSW5kZXhcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi5sLTEtLXBhZ2UtLW5hcnJvdyB7XG5cbiAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzIC0gcGlubmVkIGluIHBhZ2UgbmF2XG4gIC8vIENoaWxkIG9mIG9ubHkgY29sIHdoZW4gb25lIGNvbHVtbiAoZS5nLiBIZWxwIHBhZ2UpXG4gIC8vIFRoaXMgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHN0YWNrcyBvbiB0b3AgZHVlIHRvIHBvc2l0aW9uOmZpeGVkLlxuICAvLyBJdCBvciBhIGNoaWxkIG9mIGl0LCBtdXN0IHN0YWNrIG9uIHRvcCBvZiBzaWJsaW5nIGNvbnRlbnQsXG4gIC8vIGluIG9yZGVyIHRvIG9ic2N1cmUgZWxlbWVudHMgc2Nyb2xsaW5nIGJlbmVhdGggaXQuXG5cbiAgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzIHtcbiAgICB6LWluZGV4OiAzOyAvLyBzdGFjayBvbiB0b3Agb2YgY29udGVudCwgaW5jbCAuYi12aWRlby1qc19faWNvblxuICB9XG59XG5cbi5sLTItLXBhZ2UtLWd1aWRlIHtcblxuICAvLyAubC1vcmRlci0tMiAtIFJIIGNvbCBjb250YWluaW5nIG1haW4gY29udGVudFxuICAvLyBGaXJzdCBpbiBjb250ZW50IG9yZGVyLlxuICAvLyBJbiBvcmRlciB0byBtYWludGFpbiBpbnRlcmFjdGl2aXR5IHdpdGggdGhlIHBhZ2UgY29udGVudCxcbiAgLy8gaXQsIG9yIGEgY2hpbGQgb2YgaXQsIG11c3Qgc3RhY2sgb24gdG9wIG9mXG4gIC8vIHRoZSBmaXhlZCBwb3NpdGlvbiwgMTAwJSB3aWRlIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtb3V0ZXItY29udGFpbmVyXG4gIC8vIGluIHRoZSBMSCBjb2wgKC5sLW9yZGVyLS0xKVxuXG4gIC8vIEhvd2V2ZXIsIHdoZW4gdGhpcyBpcyBzdWNjZXNzZnVsbHkgYWNoaWV2ZWQsIGl0IG1lYW5zIHRoYXQgaXRzIHBpbm5lZCBjaGlsZCxcbiAgLy8gdGhlIGZpeGVkIHBvc2l0aW9uLCAxMDAlIHdpZGUgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzXG4gIC8vIHdpbGwgYmUgYWxzbyBiZSBvbiB0b3Agb2YgdGhlIExIIGNvbCAoLmwtb3JkZXItLTEpLFxuICAvLyB3aGljaCB3aWxsIHJlc3VsdCBpbiB0aGUgdG9wIHBvcnRpb24gb2YgdGhlIGd1aWRlIG5hdiBiZWluZyBvYnNjdXJlZCBieSAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNcblxuICAvLyBBcyB0aGlzIGlzIHRoZSBvbmx5IG91dGNvbWUgd2hpY2ggcHJlc2VydmVzIGludGVyYWN0aXZpdHkgaW4gYWxsIGFyZWFzIG9mIHRoZSBVSSxcbiAgLy8gKGV4Y2x1ZGluZyB0aGUgc21hbGwgb3ZlcmxhcCBhcmVhIGF0IHRoZSB0b3Agb2YgdGhlIGd1aWRlIG5hdilcbiAgLy8gYSBMSCBvZmZzZXQgaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgdGhpbiBydWxlIHJ1bm5pbmcgYmVsb3cgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzXG4gIC8vIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIG5vIG92ZXJsYXAgd2l0aCB0aGUgZ3VpZGUgbmF2LlxuXG4gIC5sLW9yZGVyLS0yIHtcbiAgICB6LWluZGV4OiAxOyAvLyBzdGFjayBvbiB0b3Agb2YgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgaW4gTEggY29sICgubC1vcmRlci0tMSlcblxuICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyAtIHBpbm5lZCBpbiBwYWdlIG5hdlxuICAgIC8vIENoaWxkIG9mIFJIIGNvbCAoLmwtb3JkZXItLTIpIHdoZW4gdHdvIGNvbHVtbnMgKGd1aWRlIHBhZ2VzKVxuICAgIC8vIFRoaXMgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHN0YWNrcyBvbiB0b3AgZHVlIHRvIHBvc2l0aW9uOmZpeGVkLlxuICAgIC8vIEl0IG9yIGEgY2hpbGQgb2YgaXQsIG11c3Qgc3RhY2sgb24gdG9wIG9mIHNpYmxpbmcgY29udGVudCxcbiAgICAvLyBpbiBvcmRlciB0byBvYnNjdXJlIGVsZW1lbnRzIHNjcm9sbGluZyBiZW5lYXRoIGl0LlxuXG4gICAgPiAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanMge1xuICAgICAgei1pbmRleDogMzsgLy8gc3RhY2sgb24gdG9wIG9mIGNvbnRlbnQgaW4gUkggY29sICgubC1vcmRlci0tMiksIGluY2wgLmItdmlkZW8tanNfX2ljb25cbiAgICB9XG4gIH1cblxuICAvLyAubC1vcmRlci0tMSAtIExIIGNvbCBjb250YWluaW5nIGd1aWRlIG5hdlxuICAvLyBMYXN0IGluIGNvbnRlbnQgb3JkZXIuXG4gIC8vIEl0LCBvciBhIGNoaWxkIG9mIGl0LCBtdXN0IHN0YWNrIG9uIHRvcCBvZlxuICAvLyB0aGUgMTAwJSB3aWRlIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyBpbiB0aGUgUkggY29sICgubC1vcmRlci0tMilcbiAgLy8gaW4gb3JkZXIgdG8gcHJldmVudCB0aGUgdG9wIHBvcnRpb24gb2YgdGhlIGd1aWRlIG5hdiBmcm9tIGxvc2luZyBpbnRlcmFjdGl2aXR5XG5cbiAgLy8gSG93ZXZlciwgd2hlbiB0aGlzIGlzIHN1Y2Nlc3NmdWxseSBhY2hpZXZlZCwgaXQgbWVhbnMgdGhhdCBpdHMgcGlubmVkIGNoaWxkLFxuICAvLyB0aGUgZml4ZWQgcG9zaXRpb24sIDEwMCUgd2lkZSAuYi1uYXYtZ3VpZGUtc2lkZWJhci0tcGlubmVkX19sLW91dGVyLWNvbnRhaW5lclxuICAvLyB3aWxsIHN0YWNrIG9uIHRvcCBvZiB0aGUgYWRqYWNlbnQgY29udGVudCBjb2x1bW4gKC5sLW9yZGVyLS0yKVxuICAvLyBhbmQgYmxvY2sgYWxsIGludGVyYWN0aXZpdHkgdGhlcmUuXG5cbiAgLy8gQXMgdGhpcyBpcyBub3QgZmVhc2libGUsXG4gIC8vIGEgd29ya2Fyb3VuZCBoYXMgYmVlbiBhcHBsaWVkIHRvIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyxcbiAgLy8gdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2Ygbm8gb3ZlcmxhcCAoc2VlIGFib3ZlKVxuICAvL1xuICAvLyAubC1vcmRlci0tMSB7XG4gIC8vXG4gIC8vIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtb3V0ZXItY29udGFpbmVyIC0gcGlubmVkIGd1aWRlIG5hdiBsaW5lclxuICAvLyBDaGlsZCBvZiBMSCBjb2wgKC5sLW9yZGVyLS0xKS5cbiAgLy8gQXV0b21hdGljYWxseSBzdGFja3Mgb24gdG9wIGR1ZSB0byBwb3NpdGlvbjpmaXhlZCBhbmQgcG9zaXRpb24gaW4gY29udGVudCBvcmRlclxuICAvLyBDYW5ub3QgYmUgYWxsb3dlZCB0byBzdGFjayBvbiB0b3Agb2YgUkggY29sICgubC1vcmRlci0tMilcbiAgLy8gYXMgdGhpcyB3b3VsZCBibG9jayBhbGwgaW50ZXJhY3Rpdml0eSB0aGVyZS5cbiAgLy9cbiAgLy8gLmItbmF2LWd1aWRlLXNpZGViYXItLXBpbm5lZF9fbC0yLS1wYWdlLS1ndWlkZSAtIHBpbm5lZCBndWlkZSBuYXYgZ3JpZFxuICAvLyBDaGlsZCBvZiBMSCBjb2wgKCAubC1vcmRlci0tMSkuXG4gIC8vIENvdWxkIGJlIHN0YWNrZWQgdG8gb2JzY3VyZSBvdmVyZmxvdyBvZiAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNcbiAgLy8gYnV0IHdvbid0IGJlIGFibGUgdG8gc3RhY2sgaGlnaGVyIHRoYW4gaXRzIGZpeGVkIHBhcmVudCAuYi1uYXYtZ3VpZGUtc2lkZWJhci0tcGlubmVkX19sLW91dGVyLWNvbnRhaW5lclxuICAvLyB3aGljaCBjYW5ub3QgYmUgYWxsb3dlZCB0byBzdGFjayBoaWdoIGVub3VnaCB0byBtYWtlIHRoaXMgdXNlZnVsLlxuICAvL1xuICAvLyB9XG59XG5cbi5iLWZvb3RlciB7XG4gIC5iLWJhY2stdG8tdG9wIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFNoYXJlIGFuZCBPdXRwdXQgYnV0dG9uc1xuLy9cbi8vIE1hcmt1cDogYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC40N1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX3NoYXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQIGZvciBkb3dubG9hZCBpY29uXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAmX19kb3dubG9hZCB7XG4gICAgICAvLyBmbG9hdCBkb2Vzbid0IHdvcmsgd2l0aGluIGlubGluZS1mbGV4XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWV4YW1wbGUtc2xpZGUge1xuICAgID4gLmItcnVsZS0tdGhpbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sLTItLXNoYXJlLXNsaWRlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGJ1KDIuMSkgMDtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguNSk7XG5cbiAgICAgICAgICAmLmItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zX19zaGFyZV9fZG93bmxvYWQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0taW50cm8ge1xuICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC41KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWludHJvLS1ndWlkZSB7XG4gICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoLjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0ta25vd2xlZGdlLXNsaWRlIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcblxuICAgIC5sLTItLXNoYXJlLXNsaWRlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGJ1KDIuMSkgMDtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguNSk7XG5cbiAgICAgICAgICAmLmItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zX19zaGFyZV9fZG93bmxvYWQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tbW9kYWwtLXByZXNlbnQge1xuICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICZfX291dHB1dCB7XG4gICAgICAuYi1idXR0b24tLXBpbGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICAmLFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmgtbGlzdC0taW5saW5lIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSgxLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaW4gcGFnZSBzbGlkZVxuICAgICYtLWV4YW1wbGUtc2xpZGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS43KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDYpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMS43KTsvKiBhbGxvdyBmb3IgdG9vbHRpcCAqL1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICA+IC5iLXJ1bGUtLXRoaW4ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYi1ydWxlLS10aGljayB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC41KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy0tbW9kYWwtLXByZXNlbnQge1xuICAgICAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguOCk7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy0taW50cm9cbiAgICAmLS1pbnRybyB7XG4gICAgICBtYXgtd2lkdGg6IGJ1KDE3LjI1KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyAvLyByaWdodCBhbGlnblxuXG4gICAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjYpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fb3V0cHV0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbnRyby0tZ3VpZGUge1xuICAgICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaW4gcGFnZSBzbGlkZVxuICAgICYtLWtub3dsZWRnZS1zbGlkZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjcpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNyk7XG4gICAgICB9XG5cbiAgICAgID4gLmItcnVsZS0tdGhpbiB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iLXJ1bGUtLXRoaWNrIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zLS1tb2RhbC0tcHJlc2VudCB7XG4gICAgICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICAgICAgLmgtbGlzdC0taW5saW5lIHtcbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC44KTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uYXYtaW4tcGFnZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTmF2IC0gSW4tcGFnZVxuLy8gXG4vLyBNYXJrdXA6IGItbmF2LWluLXBhZ2UuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMjlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLW5hdi1pbi1wYWdlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2xpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNCk7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICAmX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNik7XG4gICAgfVxuICB9XG5cbiAgJl9fbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogYnUoMi41KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGJ1KDQpOyAvLyBtYXRjaCB0ZXh0IHdyYXBwaW5nIHRvIHRoZSBkZXNpZ25cbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICYuYi1saW5rLWljb24tLXN0YXJ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAuaC1pY29uLS1hcnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBmaWxsOiBjb2xvcihsaW5rKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5iLWxpbmstaWNvbl9fbGluZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiBidSguMTI1KSBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMDVlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAuNzVlbTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5iLXJ1bGUtLXRoaW4ge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuNjI1KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmX19pY29uIHtcbiAgICAgIHdpZHRoOiAuODVlbTtcbiAgICB9XG5cbiAgICAuYi1ydWxlLS10aGluIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1mb290ZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEZvb3RlclxuLy8gXG4vLyBNYXJrdXA6IGItZm9vdGVyLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE1XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItZm9vdGVyIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYuYi1maWxsLS1tYXJnaW5zIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoNik7XG4gICAgcGFkZGluZy1ib3R0b206IGJ1KDIuNSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQIGZvciBiLWJhY2stdG8tdG9wIGJ1dHRvblxuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGJ1KDE3Ljc1KTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIDAgYnUoNC41KSBidSgtLjIpOyAvLyBuZWdhdGl2ZSBtYXJnaW4gb2Zmc2V0cyB3aGl0ZXNwYWNlIG9uIFNWR1xuICB9XG5cbiAgJl9fcnVsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMy40KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg0LjIpO1xuICB9XG5cbiAgLnAtLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5oLWxpc3Qge1xuICAgICYtLWlubGluZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIGJ1KDMuNzUpIGJ1KDMpIDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgJi5iLWZpbGwtLW1hcmdpbnMge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDExLjMpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGJ1KC42KTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIHdpZHRoOiBidSgyNy4yNSk7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIG9mIGdyaWQgY29sdW1uXG4gICAgICBtYXJnaW46IGJ1KC4zKSAwIGJ1KDMuNykgYnUoLS4yKTtcbiAgICB9XG5cbiAgICAmX19ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KC0zLjMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNS41KTtcbiAgICB9XG5cbiAgICAuaC1saXN0IHtcbiAgICAgICYtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoNi41KTtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBwYWRkaW5nOiBidSgyLjc1KSAwIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1kYXJrKTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cbiAgICAmLmItZmlsbC0tYnJhbmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gbm90ZTogdHlwZSBzdHlsZSBpcyBhcHBsaWVkIHRvIHdyYXBwZXIgaGVyZVxuICAgIC8vIGFzIHRoZSBwYXJhZ3JhcGggdGV4dCBpcyBlZGl0YWJsZSBpbiB0aGUgQ01TIHdpdGggdGhlIEhUTUwgZWRpdG9yXG4gICAgLnAtLXByaW50LS1tZXRhIHtcbiAgICAgID4gcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi10YWJsZVxuLy8gXG4vLyBTZWUgYWxzbyBiYXNlL3RhYmxlXG4vLyBTZWUgYWxzbyBiLXNjcm9sbC10cmlnZ2VyXG4vLyBTZWUgYWxzbyBsLW92ZXJmbG93LWxpbmVyXG4vLyBTZWUgYWxzbyBjdC1vdmVyZmxvdy1oZWxwZXIuanNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFRhYmxlXG4vLyBcbi8vIE92ZXJmbG93IHNjcm9sbCBiYXJzIGFuZCBzY3JvbGwgY29udHJvbCBhcnJvd3MuXG4vL1xuLy8gTWFya3VwOiBiLXRhYmxlLWpzLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjUxXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXRhYmxlLWpzIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgKyBwOm5vdChbY2xhc3NdKSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHt9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1jb250ZW50LWhlYWRlclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQ29udGVudCBoZWFkZXJcbi8vXG4vLyBNYXJrdXA6IGItY29udGVudC1oZWFkZXIuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC42XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1jb250ZW50LWhlYWRlciB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fdGl0bGUge1xuICAgICYuaDEge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgfVxuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWd1aWRlIHtcbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDYuNSk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX3N1bW1hcnkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG4gICAgfVxuXG4gICAgKyAuYi1ndWlkZS10aWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgIH1cbiAgfVxuXG4gICYtLWhlbHAge1xuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogYnUoNS45KTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICB9XG5cbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuNyk7XG4gICAgfVxuICB9XG5cbiAgJi0taG9tZS1ndWlkZXMge1xuICAgIG1hcmdpbi10b3A6IGJ1KDYuNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLTEuNSk7XG4gIH1cblxuICAmLS11bmRlcnN0YW5kIHtcbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDUuOSk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi44KTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICYuaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg0LjkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIC5iLXJ1bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWd1aWRlIHtcbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDUuNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taGVscCB7XG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyArIC5iLWNvbnRlbnQtaGVhZGVyLS1oZWxwIHtcbiAgICAgICAgICAuYi1jb250ZW50LWhlYWRlcl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ob21lLWd1aWRlcyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjIpO1xuICAgIH1cblxuICAgICYtLWtleS1yZXNvdXJjZXMge1xuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMTEpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjkpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9yZS1vcHRpb25zIHtcbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDEwLjYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjkpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdW5kZXJzdGFuZCB7XG4gICAgICBwYWRkaW5nLXRvcDogYnUoOC45KTtcblxuICAgICAgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzICsgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBidSg4LjkpO1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtNCk7IC8vIG9mZnNldCB0cmFpbGluZyBtYXJnaW4gb24gYi1uYXYtaW4tcGFnZVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICsgcCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoNS43KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItcmVzb3VyY2Vcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFJlc291cmNlXG4vLyBcbi8vIE1hcmt1cDogYi1yZXNvdXJjZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zOVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItcmVzb3VyY2Uge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgbWFyZ2luLXRvcDogYnUoMy41KTtcbiAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fY292ZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KC41KTtcbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcblxuICAgIC5iLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyBkb3dubG9hZC1idXR0b24gZmlsZSBzaXplXG4gIC5iLWJ1dHRvbl9faW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cblxuICAmX19jb3N0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSguOCk7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyLjMpO1xuICB9XG5cbiAgJl9fcHVibGlzaGVyIHtcbiAgICBtYXJnaW4tdG9wOiBidSgtLjYpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICB9XG5cbiAgPiAubC0yX19jb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVHJhaWxpbmcgZWxlbWVudHNcblxuICArIC5iLXJ1bGUge1xuICAgICsgLmItY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg2KTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLXNsaWRlIHtcbiAgICAje20tbmVzdCgpfV9fYnV0dG9uIHtcbiAgICAgIC5iLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXNsaWRlLS1sYXJnZSB7XG4gICAgI3ttLW5lc3QoKX1fX2J1dHRvbiB7XG4gICAgICAuYi1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjIpO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjcpO1xuXG4gICAgICArICN7ZS1uZXN0KCl9X19yZWdpc3RyYXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtMi4yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICB9XG5cbiAgICAmX19jb3N0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuOSk7XG4gICAgfVxuXG4gICAgLy8gdG9vIGxhdGUgdG8gY2hhbmdlIHRoZSBncmlkXG4gICAgJi5sLTItLXJlc291cmNlLFxuICAgIC5sLTItLXJlc291cmNlLWNvbnRlbnQge1xuICAgICAgPiAubC0yX19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbGlkZSB7XG4gICAgICAje20tbmVzdCgpfV9fY292ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjI1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS4yNSk7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi43NSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX2J1dHRvbiB7XG4gICAgICAgIC5iLWJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMS4yKTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYnUoMi4yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbGlkZS0tbGFyZ2Uge1xuICAgICAgI3ttLW5lc3QoKX1fX2NvdmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLS41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoLjcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19idXR0b24ge1xuICAgICAgICAuYi1idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNyk7XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDQuMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1oZWxwLWl0ZW1cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEhlbHAgaXRlbVxuLy8gXG4vLyBNYXJrdXA6IGItaGVscC1pdGVtLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE4XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWhlbHAtaXRlbSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmItcnVsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNC4yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjEpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG4gIH1cblxuICAuYi1waWN0dXJlIHtcbiAgICBtYXJnaW4tdG9wOiBidSgzLjMpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1waWN0dXJlIHtcbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC5iLWNvbnRlbnQtaGVhZGVyICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjYpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmItcGljdHVyZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC44KTtcbiAgICB9XG5cbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg1KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWNvbnRlbnQtc3ViLWhlYWRlclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQ29udGVudCBzdWIgaGVhZGVyXG4vLyBcbi8vIFVzZWQgb24gdGhlIFVuZGVyc3RhbmQgcGFnZSBhYm92ZSB0aGUgcmVzb3VyY2VzXG4vLyBcbi8vIE1hcmt1cDogYi1jb250ZW50LXN1Yi1oZWFkZXIuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuOFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItY29udGVudC1zdWItaGVhZGVyIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNS4xKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMTAuNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLXJlc3VsdHMtc3VtbWFyeVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2VhcmNoIHJlc3VsdHMgc3VtbWFyeVxuLy9cbi8vIE1hcmt1cDogYi1zZWFyY2gtcmVzdWx0cy1zdW1tYXJ5Lmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnkge1xuICAmLmwtMS0tcGFnZS0tbmFycm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fY291bnQge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC4yKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgPiAubC0xX19jb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19jb3VudCB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG5cbiAgICAgICsgLmItbm8tcmVzdWx0cy1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLTIpOyAvLyBvZmZzZXQgY291bnQgYm90dG9tIG1hcmdpblxuICAgICAgfVxuICAgIH1cbiAgICAuYi1tb2RhbC1qcy0tc2VhcmNoICYge1xuICAgICAgJl9fY291bnQge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyKTtcblxuICAgICAgICArIC5iLW5vLXJlc3VsdHMtbWVzc2FnZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItaGlkZS1zaG93XG4vLyBcbi8vIFNlZSBhbHNvIGItY29udGVudC1yZXZlYWxcbi8vIFNlZSBhbHNvIGhpZGUtc2hvdy5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gSGlkZS1TaG93XG4vLyBcbi8vIFNlZSBDb250ZW50IHJldmVhbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIEFuaW1hdGlvbiBzdHlsZXNcbiAgJl9fdG9fZXhwYW5kIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBjbGFzcy1uYW1lLWZvcm1hdFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC1oZWlnaHQ6IDgwZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCBlYXNlIC41cywgdmlzaWJpbGl0eSAwcyBlYXNlLCBtYXgtaGVpZ2h0IC42cyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwcywgMHMsIDBzO1xuXG4gICAgJltkYXRhLWhpZGRlbj10cnVlXSB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycywgMXMsIDBzLCAwcztcbiAgICB9XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge31cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXNlYXJjaC1zdWdnZXN0aW9uc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2VhcmNoIHN1Z2dlc3Rpb25zXG4vLyBcbi8vIE1hcmt1cDogYi1zZWFyY2gtc3VnZ2VzdGlvbnMuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDZcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXNlYXJjaC1zdWdnZXN0aW9ucyB7XG4gICZfX2hlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IGJ1KDMuMSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cblxuICAmX19zdWdnZXN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuICB9XG5cbiAgJl9fcG9wdWxhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC4yKTtcblxuICAgIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLWxhcmdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX3ByZXZpb3VzIHtcbiAgICAuYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZS1sYXJnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX19wb3B1bGFyIHtcbiAgICAgIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLWxhcmdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAje2UtbmVzdCgpfV9faGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoNy45KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZXZpb3VzIHtcbiAgICAgIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLWxhcmdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAje2UtbmVzdCgpfV9faGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoNy45KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9faGVhZGluZyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg0LjkpO1xuXG4gICAgICAmLS1oZWxwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWV4YW1wbGUtZW1iZWRcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEV4YW1wbGUgZW1iZWRcbi8vXG4vLyBNYXJrdXA6IGItZXhhbXBsZS1lbWJlZC5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItZXhhbXBsZS1lbWJlZCB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBtYXJnaW4tYm90dG9tOiBidSgzLjQpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19xdW90ZSB7XG4gICAgcGFkZGluZzogYnUoNC40KSBidSgzLjQpIGJ1KDEuNSk7XG5cbiAgICAmX190ZXh0IHtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5oLWljb24ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiBidSguMzI1KSBidSgxLjMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiBidSg1KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NpdGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgfVxuXG4gICAgJl9fYXV0aG9yIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tb3V0bGluZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IocnVsZS10aGluLWxpZ2h0KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcblxuICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgLy8gY2VudGVyIHRoZSBpbWFnZVxuICAgICAgLy8gbm8gZWZmZWN0IGlmIDEwMCUgd2lkZVxuICAgICAgLy8gYnV0IGNlbnRlcnMgZW1iZWQgaWYgYW4gaW5saW5lIG1heC13aWR0aCBoYXMgYmVlbiBhcHBsaWVkXG4gICAgICAvLyBieSB0aGUgcHJvcG9ydGlvbmFsIHNjYWxpbmcgc2NyaXB0IGluIG1vZGFhbC5qc1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fcXVvdGUge1xuICAgICAgcGFkZGluZzogYnUoMi43KSBidSgzLjQpIGJ1KDEuNCk7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBwYWRkaW5nOiBidSg3LjYpIGJ1KDUuNCkgYnUoNSkgYnUoOS4xKTtcbiAgICAgIH1cblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuICAgICAgICBmb250LXNpemU6IGJ1KDIuMSk7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaC1pY29uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogYnUoNi40KTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiBidSgxMC41KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fYXV0aG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi42KTtcblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSg2LjcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJvZmVzc2lvbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zZWFyY2gtaGVhZGVyXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTZWFyY2ggKG1vZGFsKSBoZWFkZXJcbi8vXG4vLyBNYXJrdXA6IGItc2VhcmNoLWhlYWRlci5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40M1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zZWFyY2gtaGVhZGVyIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG1hcmdpbi10b3A6IGJ1KDQuNCk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2Nsb3NlLXdyYXAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgJl9fY2xvc2Uge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQuOCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5iLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KDMuMik7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIG1hcmdpbi10b3A6IGJ1KDExLjMpO1xuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi44KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uYXYtZ3VpZGUtc2lkZWJhclxuLy8gXG4vLyBTZWUgYWxzbyBtb2RhYWwuanNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5hdiAtIEd1aWRlIFNpZGViYXJcbi8vIFxuLy8gTWFya3VwOiBiLW5hdi1ndWlkZS1zaWRlYmFyLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjI4XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubW9kYWFsLWNsb3NlIHtcbiAgQGluY2x1ZGUgaC1oaWRlO1xufVxuXG4uYi1uYXYtZ3VpZGUtc2lkZWJhciB7XG5cbiAgLy8gLmItbmF2LWd1aWRlLXNpZGViYXItLXBpbm5lZFxuICAvLyBhcHBsaWVkIGJ5IG5hdi1ndWlkZS1waW5uZWQuanNcbiAgJi0tcGlubmVkIHtcblxuICAgIC8vIGZvciBwZXJmb3JtYW5jZSwgd3JhcHBlcnMgYXJlIGhhcmRjb2RlZFxuICAgIC8vIGJ1dCBvbmx5IHRha2Ugb24gdGhlaXIgc3R5bGluZyBvbmNlIHRoZSBwYXJlbnQncyBwaW5uaW5nIG1vZGlmaWVyIGlzIGFwcGxpZWRcblxuICAgIC8vIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtb3V0ZXItY29udGFpbmVyXG4gICAgJl9fbC1vdXRlci1jb250YWluZXIge1xuICAgICAgI3ttLW5lc3QoKX0tLXBpbm5lZCAmIHtcbiAgICAgICAgQGluY2x1ZGUgbC1vdXRlci1jb250YWluZXIoJGVuYWJsZS1wYWRkaW5nOiBmYWxzZSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDsgLy8gZWxzZSB0aGUgcGFkZGVkIGNvbnRhaW5lciBzaXRzIHdpdGhpbiB0aGUgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcsIGV2ZW4gdGhvdWdoIGl0J3MgZml4ZWQuLlxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtMi0tcGFnZS0tZ3VpZGVcbiAgICAmX19sLTItLXBhZ2UtLWd1aWRlIHtcbiAgICAgICN7bS1uZXN0KCl9LS1waW5uZWQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGwtMi0tcGFnZS0tZ3VpZGU7XG5cbiAgICAgICAgPiAubC1vcmRlci0tMSB7XG4gICAgICAgICAgJHNjcm9sbGJhci13aWR0aDogYnUoMik7XG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAvLyBUT0RPOiBjYWxjIGNvcGllZCBmcm9tIHRoZSBncmlkIG91dHB1dCBhdCB0aGUgZGVza3RvcCBsYXlvdXQgLSBtYWtlIHRoaXMgZHluYW1pY1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMiooMzJweCAqICgxIC0gLjI1KSkpO1xuXG4gICAgICAgICAgLmItbW9kYWwtanMtLW5hdi1ndWlkZSAmIHsgLy8gc2Fzcy1saW50OiBkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgLy8gcmVtb3ZlIGd1dHRlclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sLTItLXNwbGl0IHtcbiAgICAubC0yX19jb2wge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG9tZSwgQWxsIGd1aWRlcyBidXR0b25zXG5cbiAgLmItZmlsbC0tZGFyayB7XG5cbiAgICAuYi1uYXYtZ3VpZGUtc2lkZWJhcl9faGVhZGVyIHtcbiAgICAgIC5iLWxpbmstaWNvbiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1uYXYtZ3VpZGUtc2lkZWJhcl9fZm9vdGVyIHtcbiAgICAgIC5iLWxpbmstaWNvbiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYi1saW5rLWljb24ge1xuXG4gICAgJl9faWNvbiB7XG4gICAgICB3aWR0aDogMWVtOyAvLyBsYXJnZXIgYXJyb3csIHVzdWFsbHkgMC43ZW1cbiAgICB9XG4gIH1cblxuICAuYi1saW5rLWljb24tLXN0YXJ0IHtcbiAgICBtYXJnaW4tbGVmdDogMS4zZW07XG5cbiAgICAuaC1pY29uLS1hcnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEuM2VtO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhYWwtaW5saW5lX19jbG9zZSB7XG5cbiAgICAmLmItYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5iLWJ1dHRvbl9fY29udGVudCB7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgfVxuXG4gICAgLmItYnV0dG9uX19pY29uLXdyYXAge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBOYXJyb3ctb25seSBoZWFkZXJcblxuICAmX19oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KDguODc1KTtcblxuICAgIC5sLTItLXNwbGl0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNzUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hcnJvdy1vbmx5IGZvb3RlclxuXG4gICZfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYnUoMi4yNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMTMuNSk7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSg1LjM3NSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4zNzUpO1xuXG4gICAgJl9faW5kZXhvZiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjI1KTtcbiAgICB9XG4gIH1cblxuICAmX19zdWItdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuNjI1KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICB9XG5cbiAgLy8gU2VjdGlvbnNcblxuICAmX191bmRlcnN0YW5kIHtcbiAgICAje2UtbmVzdCgpfV9fbWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjYyNSk7XG4gICAgfVxuICB9XG5cbiAgJl9fc3RyYXRlZ2llcyB7XG5cbiAgICAje2UtbmVzdCgpfV9fbWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjUpO1xuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19zdWJtZW51LXBhcmVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDYpOyAvLyBzcGFjZSBmb3IgYnV0dG9uXG5cbiAgICAgIC5iLWNvbnRlbnQtcmV2ZWFsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBjb2xvcih0eXBlLWxpZ2h0KTtcblxuICAgICAgICAvLyBpY29uIHJlbmRlcnMgZmlyc3RcbiAgICAgICAgLy8gdGhlbiBoaWRlLXNob3cuanMgaW5qZWN0cyB0aGUgd3JhcHBpbmdcbiAgICAgICAgLy8gLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmVfX2J1dHRvblxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIGNlbnRlclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gY2VudGVyXG4gICAgICAgICAgbWFyZ2luOiAwIGJ1KDEpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogYnUoNCk7XG5cbiAgICAgICAgICAvLyBJRTExIGZhaWxzIHRvIHJlbmRlciB0aGUgU1ZHIHNoYXBlXG4gICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAmLmgtaWNvbi0tdHJpYW5nbGUgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRnLWltYWdlLXBhdGggKyBcImljb25zL3RyaWFuZ2xlLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZSxcbiAgICAgICAgJl9faGVhZGVyLFxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZV9fYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZV9fYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19zdWJtZW51IHtcbiAgICAgIHBhZGRpbmctbGVmdDogYnUoMi4xMjUpO1xuICAgICAgYm9yZGVyLWxlZnQ6IGJ1KC4xMjUpIHNvbGlkIGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi4yNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjUpO1xuICAgIH1cblxuICAgIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3RyYXRlZ3kge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG4gICAgfVxuXG4gICAgLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdWdnZXN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1Z2dlc3Rpb25zIHtcbiAgICAmX19hY3RpdmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IGJ1KC4yNSk7XG4gICAgICAgIGxlZnQ6IGJ1KC0yLjEyNSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBidSguNSkgc29saWQgY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmVzb3VyY2VzIHtcblxuICAgICN7ZS1uZXN0KCl9X19tZW51IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuODc1KTtcbiAgICB9XG5cbiAgICAuaDMtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdWItaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgICAubC1vdXRlci1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNyk7XG4gICAgfVxuXG4gICAgJl9fc3ViLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuMzI1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG4gICAgfVxuXG4gICAgJl9fc3VnZ2VzdGlvbnMge1xuICAgICAgJl9fYWN0aXZlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg1LjcpO1xuICAgIH1cblxuICAgICZfX3VuZGVyc3RhbmQge1xuXG4gICAgICAje2UtbmVzdCgpfV9fbWVudSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItbGluay1pY29uIHtcblxuICAgICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAuOGVtO1xuICAgICAgfVxuXG4gICAgICAuaC1pY29uLS1hcnJvdy0tZG93biB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtLjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWZpbHRlci1ub3RpY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC4zKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWV4YW1wbGUtc2xpZGVcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEV4YW1wbGUgc2xpZGVcbi8vXG4vLyBNYXJrdXA6IGItZXhhbXBsZS1zbGlkZS5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjExXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWV4YW1wbGUtc2xpZGUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcGFkZGluZy10b3A6IGJ1KDcuNCk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIHN1YnNlcXVlbnQgc2xpZGVzXG4gIC5iLWV4YW1wbGUtc2xpZGUgKyAmLFxuICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAmIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoOC41KTtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uICB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgIC8vIHRpdGxlcyBpbiBzdWJzZXF1ZW50IHNsaWRlc1xuICAgIC5iLWV4YW1wbGUtc2xpZGUgKyAuYi1leGFtcGxlLXNsaWRlICYsXG4gICAgLmIta25vd2xlZGdlLXNsaWRlICsgLmItZXhhbXBsZS1zbGlkZSAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNyk7XG4gICAgfVxuICB9XG5cbiAgLmItZXhhbXBsZS1lbWJlZCB7XG4gICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmW2RhdGEtYi1tb2RhbC1zbGlkZXNob3ctanMtc2xpZGVdIHtcbiAgICBAaW5jbHVkZSBoLWZvY3VzYWJsZSgpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoMTApO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX19leGFtcGxlIHtcbiAgICAgICYubC0yLS1zbGlkZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgfVxuXG4gICAgICAje2UtbmVzdCgpfV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjQpO1xuICAgICAgfVxuXG4gICAgICAmLmwtMi0tc2xpZGUtLXByZXNlbnQtd2lkZSB7XG4gICAgICAgIC5iLWV4YW1wbGUtc2xpZGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgtLjkpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdWJzZXF1ZW50IHNsaWRlc1xuICAgIC5iLWV4YW1wbGUtc2xpZGUgKyAmLFxuICAgIC5iLWtub3dsZWRnZS1zbGlkZSArICYge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDExLjkpO1xuXG4gICAgICBAYXQtcm9vdCAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIHRpdGxlcyBpbiBzdWJzZXF1ZW50IHNsaWRlc1xuICAgICAgLmItZXhhbXBsZS1zbGlkZV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg2LjYpO1xuXG4gICAgICAgIEBhdC1yb290IC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWV4YW1wbGUtZW1iZWQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuW2RhdGEtY2xhc3M9U2xpZGVDb250ZW50XSArIFtkYXRhLWNsYXNzPUdlbmVyaWNDb250ZW50XSAuYi1jb250ZW50LS1uby10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiBidSg2KTtcbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXN0cmF0ZWd5XG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTdHJhdGVneVxuLy8gXG4vLyBNYXJrdXA6IGItc3RyYXRlZ3kuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItc3RyYXRlZ3kge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2VtYmVkIHtcbiAgICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG4gIH1cblxuICAmX19zdWdnZXN0aW9ucyB7XG4gICAgLmItZmlsdGVyLW5vdGljZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjUpO1xuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuXG4gICAgJl9fZW1iZWQge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNSk7XG4gICAgfVxuXG4gICAgJl9fc3VnZ2VzdGlvbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMSk7XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi41KTtcbiAgICB9XG5cbiAgICAvLyBmaXJzdCBvbmUgaXMgZGlmZmVyZW50XG4gICAgLy8gdW5zdXJlIG9mIGUvbS1uZXN0IHN5bnRheCBoZXJlXG4gICAgLmItZmlsdGVyLW5vdGljZSArICYge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMy4zKTtcblxuICAgICAgLmItc3RyYXRlZ3lfX2VtYmVkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi4xKTtcblxuICAgICAgICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSguOSk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYi1zdHJhdGVneV9fc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjcpO1xuICAgICAgfVxuXG4gICAgICAuYi1zdHJhdGVneV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItdW5kZXJzdGFuZC1vdmVydmlld1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVW5kZXJzdGFuZCBPdmVydmlld1xuLy8gXG4vLyBNYXJrdXA6IGItdW5kZXJzdGFuZC1vdmVydmlldy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41NVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi11bmRlcnN0YW5kLW92ZXJ2aWV3IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYuaC1nbG9iYWwtbWFyZ2luIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19zaG9ydC10aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjMpO1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICAuYi1ydWxlLS10aGljayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjQpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIC5oMy0tdW5kZXJzdGFuZC1zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC0uNik7XG4gICAgfVxuXG4gICAgLnAtLWludHJvLS1ndWlkZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjQpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9faGVhZGVyIHtcbiAgICAgIC5iLXJ1bGUtLXRoaWNrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVydmlldyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICB9XG5cbiAgICAmX19zaG9ydC10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogYnUoOCk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlLFxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC40KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWNhcHRpb25cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIENhcHRpb25cbi8vXG4vLyBTZWUgRXhhbXBsZSBlbWJlZFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC40XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWNhcHRpb24ge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBidSgxLjcpIGJ1KDEuMjUpIGJ1KDEuMSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2Nsb3NlZC1jYXB0aW9uaW5nIHtcblxuICAgIC5oLWljb24tLWNsb3NlZGNhcHRpb25zIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtLjQ1ZW07XG4gICAgICB3aWR0aDogMS43ZW07XG4gICAgICBoZWlnaHQ6IDEuN2VtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNSk7XG4gICAgfVxuICB9XG5cbiAgJl9fY3JlZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGJ1KC41KSAwO1xuICB9XG5cblxuICAvLyB1c2UgYSB3aGl0ZSBsaW5rIHJhdGhlciB0aGFuIGEgYmx1ZSBvbmVcbiAgLy8gKGRlc2lnbiBkZXZpYXRlcyBmcm9tIHRoZSBmaWxsIGNvbG9yIHRyZW5kIGhlcmUpXG4gICYuYi1maWxsLS1kYXJrIHtcbiAgICBhLFxuICAgIC5hIHtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICYuYi1saW5rLS1leHRlcm5hbCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9hcnJvdy0tdXAtcmlnaHQtLXR5cGUtbGlnaHQuc3ZnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjg3NSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmc6IGJ1KC41KSBidSgyLjQ1KSBidSguNSk7XG5cbiAgICAmX19jbG9zZWQtY2FwdGlvbmluZyB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgLnAtLWNhcHRpb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gcG9zaXRpb24gaWNvbiBuZXh0IHRvIHRleHRcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgzLjIpO1xuXG4gICAgICAgIC5iLWljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGJ1KC0uMyk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1hcmdpbnMgZG9uJ3Qgb3ZlcmxhcCBkdWUgdG8gdGhlIGdyaWQgd3JhcHBlclxuICAgICZfX2NhcHRpb24ge1xuICAgICAgKyAubC0yLS1zcGxpdC0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICAgIC5wLS1jYXB0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbm8tY2xvc2VkLWNhcHRpb25pbmcge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgJl9fc291cmNlIHtcbiAgICAgIC5wLS1xdW90ZS1zb3VyY2Uge1xuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjQpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zb3VyY2UtaW1hZ2Uge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgJi0td2lkZSB7XG4gICAgICAje20tbmVzdCgpfV9fY2FwdGlvbiB7XG4gICAgICAgIC5wLS1jYXB0aW9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBwLS1jYXB0aW9uLS13aWRlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1wcm9jZXNzLWxpc3Rcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFByb2Nlc3MgTGlzdFxuLy8gUmVwZWF0aW5nIG9yIFN0YXJ0IHRvIEZpbmlzaFxuLy9cbi8vIE1hcmt1cDogYi1wcm9jZXNzLWxpc3QuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzhcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG4kYi1wcm9jZXNzLWxpc3QtbGluZS10aGlja25lc3M6IDFweDtcbiRiLXByb2Nlc3MtbGlzdC1saW5lLXRoaWNrbmVzcy1wcmVzZW50OiAycHg7XG4kYi1wcm9jZXNzLWxpc3Qtc3RlcC1maWxsOiBjb2xvcihmaWxsLWxpZ2h0KTtcbiRiLXByb2Nlc3MtbGlzdC1zdGVwLWZpbGwtcHJlc2VudDogY29sb3IoZmlsbC1saWdodGVzdCk7XG4kYi1wcm9jZXNzLWxpc3QtbGluZS1jb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1wcm9jZXNzLWxpc3Qge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgbWFyZ2luLXRvcDogMDtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fbGlzdCB7XG4gICAgI3tlLW5lc3QoKX1fX3N0ZXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgI3tlLW5lc3QoKX1fX3N0ZXAtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IGJ1KDIuMTI1KSBidSgyLjUpO1xuICAgICAgICBtYXJnaW4tdG9wOiBidSguNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC45KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGItcHJvY2Vzcy1saXN0LXN0ZXAtZmlsbDtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAje2UtbmVzdCgpfV9faWNvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgIC5oLWljb24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgLy8gY29ubmVjdCBsb25nIGFycm93IHdpdGggYWRqYWNlbnQgYm9yZGVyXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3tlLW5lc3QoKX1fX3N0ZXAtaW5uZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICN7ZS1uZXN0KCl9X19zdGVwLWlubmVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7ZS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiBidSguMjUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmgtaWNvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uMSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSgtLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tcmVwZWF0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1yaWdodDogYnUoMi41KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogYnUoMyk7XG4gICAgYm9yZGVyLXJpZ2h0OiAkYi1wcm9jZXNzLWxpc3QtbGluZS10aGlja25lc3Mgc29saWQgJGItcHJvY2Vzcy1saXN0LWxpbmUtY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogYnUoNik7XG4gICAgfVxuXG4gICAgLy8gaG9yaXpvbnRhbCBzdHJ1dHMgb2Ygb2Zmc2V0IGN5Y2xpY2FsIHJlY3RhbmdsZVxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgKyAje2J1KDIuNS8yKX0pOyAvLyAyLjUgaXMgcGFkZGluZy1yaWdodFxuICAgICAgYm9yZGVyLXRvcDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzIHNvbGlkICRiLXByb2Nlc3MtbGlzdC1saW5lLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19saXN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmItcHJvY2Vzcy1saXN0X19zdGVwIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgLmItcHJvY2Vzcy1saXN0X19zdGVwLWlubmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC42KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC5iLXByb2Nlc3MtbGlzdF9fc3RlcC1pbm5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSguNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHZlcnRpY2FsIHN0cnV0cyBvZiBvZmZzZXQgY3ljbGljYWwgcmVjdGFuZ2xlXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBidSgtMy41KTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IGJ1KDIpO1xuICAgICAgICBib3JkZXItbGVmdDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzIHNvbGlkICRiLXByb2Nlc3MtbGlzdC1saW5lLWNvbG9yO1xuXG4gICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIGJvdHRvbTogYnUoLTYuNSk7XG4gICAgICAgICAgaGVpZ2h0OiBidSg1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19yZXBlYXRzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogYnUoLS42MjUpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDQ1JSArICN7YnUoMi41LzIpfSk7XG5cbiAgICAgIC5oLWljb24ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLS41ZW07XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICYtLXJlcGVhdGluZyB7XG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoNC43KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkYi1wcm9jZXNzLWxpc3QtbGluZS10aGlja25lc3MtcHJlc2VudDtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgKyAje2J1KDQuNy8yKX0pOyAvLyA0LjcgaXMgcGFkZGluZy1yaWdodFxuICAgICAgICAgIGJvcmRlci13aWR0aDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzLXByZXNlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1wcm9jZXNzLWxpc3RfX2xpc3Qge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzLXByZXNlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAje2UtbmVzdCgpfV9fc3RlcCB7XG4gICAgICAgICN7ZS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgICAuaC1pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3tlLW5lc3QoKX1fX3N0ZXAtaW5uZXIge1xuICAgICAgICAgIHBhZGRpbmc6IGJ1KDIuMSkgYnUoMy45KSBidSgzLjYpIGJ1KDMpO1xuXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICAvLyBhbHNvIHVzZWQgYnkgaC1saXN0LS1xdWVzdGlvbnNcbiAgICAgICAgICAgIHBhZGRpbmc6IGJ1KDQuMSkgYnUoMy45KSBidSg0LjMpIGJ1KDUuNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGItcHJvY2Vzcy1saXN0LXN0ZXAtZmlsbC1wcmVzZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItZXhhbXBsZS1ob21lXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBFeGFtcGxlIC0gSG9tZVxuLy8gXG4vLyBNYXJrdXA6IGItZXhhbXBsZS1ob21lLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjEwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWV4YW1wbGUtaG9tZSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNyk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjEpO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfVxuXG4gID4gLmItcnVsZSB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNzUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjUpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1maWxsXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBGaWxsXG4vL1xuLy8gQXBwbGllcyBhIHNvbGlkIGNvbG91ciBmaWxsIHRvIGEgY29udGFpbmVyLFxuLy8gYW5kIGluc3RydWN0cyB0aGUgY29udGFpbmVkIHRleHQgdG8gYWRhcHQgYXBwcm9wcmlhdGVseS5cbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTJcblxuQG1peGluIGItZmlsbCgkY29sb3IpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcmVuZGVyIGNoaWxkIG1hcmdpbnMgYXMgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcigkY29sb3IpO1xuXG4gIEBpZiAoJGNvbG9yID09IFwiZmlsbC1kYXJrXCIpIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICAuaDEsXG4gICAgLmgyLFxuICAgIC5oMyxcbiAgICAuaDQsXG4gICAgLmg1LFxuICAgIC5oNixcbiAgICBwLFxuICAgIC5wLFxuICAgIGxpIHtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICB9XG5cbiAgICBhLFxuICAgIC5hIHtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0KTtcblxuICAgICAgLmgtaWNvbi0tYXJyb3cge1xuICAgICAgICBmaWxsOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICYuYS0tYWN0aXZlLXBhZ2Utb3ItcGFyZW50IHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmstbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmEge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICY6bm90KC5hLS1uby12aXNpdGVkKSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICA+IC5hIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0LXZpc2l0ZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1hcmsge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKG1hcmspO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wLS1icmFuZCB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmstbGlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmEge1xuICAgICAgJi0tdmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0LXZpc2l0ZWQpO1xuXG4gICAgICAgIC5hIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IobGluay1saWdodC12aXNpdGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWhpZGUtc2hvdy1qcy1leHBhbmRtb3JlX19idXR0b24ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmItZmlsbC0tbGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodC1vbi1kYXJrKTtcblxuICAgICAgcCxcbiAgICAgIGEsXG4gICAgICAuYSB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWRhcmspO1xuICAgICAgfVxuICAgIH1cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBjb2xvcihtYXJrKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1maWxsIHtcbiAgJi0tYnJhbmQge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtYnJhbmRcIik7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIGVsc2UgQVAgYi1iYWNrLXRvLXRvcCBjb21wcm9taXNlZFxuICB9XG5cbiAgJi0tdGhlbWUxIHtcbiAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLXRoZW1lMVwiKTtcbiAgfVxuXG4gICYtLXRoZW1lMiB7XG4gICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC10aGVtZTJcIik7XG4gIH1cblxuICAmLS10aGVtZTMge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtdGhlbWUzXCIpO1xuICB9XG5cbiAgJi0tdGhlbWU0IHtcbiAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLXRoZW1lNFwiKTtcbiAgfVxuXG4gICYtLXRoZW1lNSB7XG4gICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC10aGVtZTVcIik7XG4gIH1cblxuICAmLS1saWdodCB7XG4gICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1saWdodFwiKTtcbiAgfVxuXG4gICYtLWxpZ2h0ZXIge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtbGlnaHRlclwiKTtcbiAgfVxuXG4gICYtLWRhcmsge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtZGFya1wiKTtcblxuICAgICYtLW5hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJlbG93LXdpZGUpIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1kYXJrXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXdpZGUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZXR3ZWVuLXdpZGUtYW5kLXdpZGVzdCkge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0td2lkZXN0IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1kYXJrXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW1vZGFsIHtcbiAgICAgIC5iLW1vZGFsICYge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tdGhlbWUxLFxuICAmLS10aGVtZTIsXG4gICYtLWRhcmsge1xuICAgIC5iLXJ1bGUge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWRhcmstc3RyaXBlIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbi1ibGVlZC1maWxsKDMgLyAxMiwgJGlubmVyLWJsZWVkLXdpZGU6IGJ1KDIpLCAkaW5uZXItYmxlZWQtd2lkZXN0OiBidSgyKSwgJGlubmVyLWJsZWVkLWZ1bGw6IGJ1KDApLCAkY29sb3I6IGNvbG9yKGZpbGwtZGFyaykpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHJlbmRlciBjaGlsZCBtYXJnaW5zIGFzIHBhZGRpbmdcbiAgfVxuXG4gIC8vIGFwcGxpZWQgb24gYnAtcGFnZS13aWRlLWFuZC11cFxuICAmLS1kYXJrLWxpZ2h0LXN0cmlwZSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4tYmxlZWQtZmlsbCgzIC8gMTIsICRpbm5lci1ibGVlZC13aWRlOiBidSgyKSwgJGlubmVyLWJsZWVkLXdpZGVzdDogYnUoMiksICRpbm5lci1ibGVlZC1mdWxsOiBidSgwKSwgJGNvbG9yOiBjb2xvcihmaWxsLWRhcmspKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyByZW5kZXIgY2hpbGQgbWFyZ2lucyBhcyBwYWRkaW5nXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1waWN0dXJlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBQaWN0dXJlXG4vLyBcbi8vIFNlZSBFeGFtcGxlIGVtYmVkXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zN1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gSUUxMSBkb2Vzbid0IHNjYWxlIFNWRyBpbWFnZSBoZWlnaHRzXG4vLyB3aGVuIHZpZXdCb3gsIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUgc3BlY2lmaWVkXG4vLyBhbmQgdGhlIGltYWdlJ3MgY29udGFpbmVyIGlzIG5hcnJvd2VyIHRoYW4gdGhlIGltYWdlIHdpZHRoXG4vLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9sYXJyeWJvdGhhLzc4ODE2OTFcblxuaW1nIHtcbiAgJltzcmMkPVwiLnN2Z1wiXSB7XG4gICAgd2lkdGg6IDEwMCU7ICAvLyBzY2FsZSBTVkcgdmlld3BvcnQgaW4gSUUxMVxuICB9XG59XG5cbi5iLXBpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICYtLW91dGxpbmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWNvbnRlbnRcbi8vIFxuLy8gU2VlIGFsc28gYmFzZS90eXBlXG4vLyBTZWUgYWxzbyBoZWxwZXJzL3R5cGVcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIENvbnRlbnRcbi8vIFxuLy8gQSBzYW5kYm94IGZvciB1c2luZyBnZW5lcmFsIGNvbnRlbnQgc3R5bGVzLFxuLy8gYXMgdGhlIGdlbmVyYWwgY29udGVudCBkZXNpZ25zXG4vLyB3ZXJlIGNvbXBsZXRlZCBhZnRlciBkZXZlbG9wbWVudCBoYWQgc3RhcnRlZC5cbi8vIFxuLy8gVXNlZCBieTpcbi8vIC0gQ29udGVudCBibG9ja3Mgb24gVW5kZXJzdGFuZCBwYWdlXG4vLyAtIENvbnRlbnQgYmxvY2tzIG9uIEVycm9yIHBhZ2Vcbi8vIC0gUkggY29sdW1uIG9mIEhlbHAgaXRlbSwgb24gSGVscCBwYWdlXG4vLyBcbi8vIE1hcmt1cDogYi1jb250ZW50Lmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWNvbnRlbnQge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gc3BhY2UgYWZ0ZXIgYSBsZWFkaW5nIGVtYmVkXG4gIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgLmItZXhhbXBsZS1lbWJlZCArICYge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQuNik7XG4gIH1cblxuICAvLyBzcGFjZSBiZWZvcmUgYSB0cmFpbGluZyBydWxlXG4gIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgKyAuYi1ydWxlLS10aGluIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjYpO1xuICB9XG5cbiAgLy8gc3BhY2UgYWZ0ZXIgYSBjb250ZW50IGhlYWRlclxuICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gIC5iLWNvbnRlbnQtaGVhZGVyICsgJiB7XG4gICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgPiB7XG4gICAgKiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgIH1cblxuICAgIC8vIGg0IGluaGVyaXRzIGZyb20gYmFzZVxuXG4gICAgaDUge1xuICAgICAgLy8gaW5jcmVhc2UgdHJhaWxpbmcgc3BhY2VcbiAgICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNCk7XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgLy8gZGVjcmVhc2UgbGVhZGluZyBzcGFjZVxuICAgICAgLy8gaW5jcmVhc2UgdHJhaWxpbmcgc3BhY2VcbiAgICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjgpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgLy8gaW5jcmVhc2UgaW50ZXJuYWwgYW5kIHRyYWlsaW5nIHNwYWNlXG4gICAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIC8vIGluY3JlYXNlIHRyYWlsaW5nIHNwYWNlXG4gICAgICAvLyBkZWNyZWFzZSBzcGFjZSB0byBtYXJnaW5cbiAgICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOSk7XG4gICAgICBtYXJnaW4tbGVmdDogYnUoMy44cmVtKTtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIC8vIGluY3JlYXNlIGludGVybmFsIHNwYWNlXG4gICAgICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1vdmUgdGV4dCBjbG9zZXIgdG8gbWFyZ2luXG4gICAgLy8gbW92ZSBudW1iZXJpbmcgY2xvc2VyIHRvIHRleHRcbiAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgLy8gY291bGQgYmUgZ2xvYmFsXG4gICAgb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiBidSgxLjUpO1xuICAgICAgbWFyZ2luLXRvcDogYnUoLS41KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOSk7XG5cbiAgICAgID4gbGkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtLjc1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHAsXG4gICAgLnAge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC8vIHNwYWNlIGFmdGVyIGEgbGVhZGluZyBlbWJlZFxuICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAuYi1leGFtcGxlLWVtYmVkICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg2KTtcbiAgICB9XG5cbiAgICArIC5iLXJ1bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNi45KTtcbiAgICB9XG5cbiAgICA+IHtcbiAgICAgIHAsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgcC0tY29udGVudDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDUuMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoNS4yKTtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMSk7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IGJ1KDMuMik7IC8vIDUuMiBsZXNzIDJyZW0gaW5kZW50XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLTMuMik7IC8vIG1hdGNoZXMgd2lkdGhcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcbiAgICAgIH1cblxuICAgICAgLy8gaDQgaW5oZXJpdHMgZnJvbSBiYXNlXG5cbiAgICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi44KTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgzLjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjMpO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVscCBwYWdlXG4gICAgLy8gbm90ZTogZGVzaWduIG9ubHkgZGVtb25zdHJhdGVzIHBhcmFncmFwaHNcbiAgICAmLS1zbWFsbCB7XG4gICAgICA+IHtcbiAgICAgICAgcCxcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBwLS1jb250ZW50LS1zbWFsbDtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLW5leHQtc3RlcHNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5leHQgU3RlcHNcbi8vIFxuLy8gTWFya3VwOiBiLW5leHQtc3RlcHMuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzJcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItbmV4dC1zdGVwcyB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fcmV0dXJuIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjQpO1xuXG4gICAgJl9fcHJlZml4IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICB9XG5cbiAgLmItZ3VpZGUtdGlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC4xKTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KC42KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC42KTtcbiAgICB9XG4gIH1cblxuICAuYi1ydWxlLS10aGljayB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC41KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDYpO1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLTEuNCk7XG4gICAgfVxuXG4gICAgJl9fcmV0dXJuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fZ3VpZGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNC40KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuOCk7XG5cbiAgICAgIC5iLWd1aWRlLXRpbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSguOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1ydWxlLS10aGljayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSguNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1ob3ctdG8tdXNlLXRoZS1zaXRlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBIb3cgdG8gdXNlIHRoZSBzaXRlXG4vLyBcbi8vIE1hcmt1cDogYi1ob3ctdG8tdXNlLXRoZS1zaXRlLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjIwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWhvdy10by11c2UtdGhlLXNpdGUge1xuXG4gIHBhZGRpbmctYm90dG9tOiBidSgzLjUpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQuNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi44KTtcbiAgfVxuXG4gIGEsXG4gIC5hIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC5iLXJ1bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAvLyBvZmZzZXQgLmwtMi0tcGFnZS0tZ3VpZGUgYm90dG9tIG1hcmdpblxuICAgIG1hcmdpbi1ib3R0b206IGJ1KC0xMik7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy45KTtcbiAgICB9XG5cbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNyk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1saW5rLWljb25cbi8vIFxuLy8gU2VlIGFsc28gZ3VscGZpbGUuanM6IGxpbmtJY29uKClcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIExpbmsgd2l0aCBJY29uXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4yNVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWxpbmstaWNvbiB7XG5cbiAgJl9faWNvbiB7XG4gICAgd2lkdGg6IC43ZW07XG4gIH1cblxuICAmX193b3JkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICYtLXN0YXJ0IHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuXG4gICAgLmgtaWNvbi0tYXJyb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgfVxuICB9XG5cbiAgJi0tZW5kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcblxuICAgIC5oLWljb24tLWFycm93LFxuICAgIC5oLWljb24tLWFycm93LS11cC1yaWdodC0tbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1iYWNrLXRvLXRvcFxuLy8gXG4vLyBTZWUgYWxzbyBiYWNrLXRvLXRvcC5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQmFjayB0byB0b3Bcbi8vIFxuLy8gTWFya3VwOiBiLWJhY2stdG8tdG9wLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjJcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItYmFjay10by10b3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygje2J1KC0xMS45KX0gLSAxcHgpOyAvLyB0b3AgcGFkZGluZyBvbiBmb290ZXIgLSBidXR0b24gaGVpZ2h0IC0gYnV0dG9uIGJvcmRlclxuICBoZWlnaHQ6IGJ1KDYpOyAvLyBidXR0b24gaGVpZ2h0XG5cbiAgJi5oLWlzLXN0aWNreSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gIH1cblxuICAmLFxuICAmLmgtaXMtc3RpY2t5IHtcbiAgICByaWdodDogYnUoJGctbWFyZ2luLW5hcnJvdy1idSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICB0b3A6IGNhbGMoI3tidSgtMTEuMyAtIDYpfSAtIDFweCk7IC8vIHRvcCBwYWRkaW5nIG9uIGZvb3RlciAtIGJ1dHRvbiBoZWlnaHQgLSBidXR0b24gYm9yZGVyXG5cbiAgICAmLFxuICAgICYuaC1pcy1zdGlja3kge1xuICAgICAgcmlnaHQ6IGJ1KCRnLW1hcmdpbi13aWRlLWJ1KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGVzdC1hbmQtdXApIHtcbiAgICAmLFxuICAgICYuaC1pcy1zdGlja3kge1xuICAgICAgcmlnaHQ6IGJ1KCRnLW1hcmdpbi13aWRlc3QtYnUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZHRoLWJhY2t0b3RvcC1vdXRkZW50LWFuZC11cCkge1xuICAgIHJpZ2h0OiBjYWxjKCN7YnUoLTguNSl9IC0gMXB4KTsgLy8gZ3V0dGVyIG9mZnNldCAtIGJ1dHRvbiBib3JkZXJcblxuICAgICYuaC1pcy1zdGlja3kge1xuICAgICAgLy8gcmlnaHQ6IGNlbnRlciArIGhhbGYgYnV0dG9uIHdpZHRoIC0gaGFsZiBVSSB3aWR0aCAtIGd1dHRlciBvZmZzZXQgLSBidXR0b24gYm9yZGVyIC0gMlxuICAgICAgcmlnaHQ6IGNhbGMoNTAlICsgI3tidSg2LzIpfSAtICN7LjUgKiByZW0oJGctbWFyZ2luLXdpZGVzdCArICRnLXdpZHRoLXdpZGVzdCArICRnLW1hcmdpbi13aWRlc3QpfSAtICN7YnUoMTEuMyl9IC0gMXB4IC0gMnB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWZpbHRlci1ub3RpY2Vcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEZpbHRlciBub3RpY2Vcbi8vIFxuLy8gTWFya3VwOiBiLWZpbHRlci1ub3RpY2UuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItZmlsdGVyLW5vdGljZSB7XG5cbiAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGJ1KDEuNSkgYnUoMS41KSBidSgxLjUpIGJ1KDUpO1xuICB9XG5cbiAgLnAtLWZpbHRlci1ub3RpY2Uge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5oLWljb24tLWluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGJ1KDEuNSk7XG4gICAgbGVmdDogYnUoMS41KTtcbiAgICB3aWR0aDogMS41ZW07XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1zdHJhdGVneSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMi41KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC5iLXN0cmF0ZWd5ICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy42KTtcbiAgICB9XG5cbiAgICAmLS13aWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuXG4gICAgICAuaC1pY29uLS1pbmZvIHtcbiAgICAgICAgdG9wOiBidSgxLjcpO1xuICAgICAgICBsZWZ0OiBidSgyKTtcbiAgICAgIH1cblxuICAgICAgLmItZmlsdGVyLW5vdGljZV9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiBidSgyKSBidSgxLjUpIGJ1KDEuOCkgYnUoNS42KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIE1vZGFhbCAtIGFjY2Vzc2libGUgbW9kYWxzIC0gdjAuMy4xXG4vLyBieSBIdW1hYW4sIGZvciBhbGwgaHVtYW5zLlxuLy8gaHR0cDovL2h1bWFhbi5jb21cblxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItdmVuZG9yLW1vZGFhbFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG4kYi12ZW5kb3ItbW9kYWFsLW92ZXJsYXktZmlsbDogY29sb3IoZmlsbC1saWdodGVzdCk7XG4kYi12ZW5kb3ItbW9kYWFsLXdyYXBwZXItZmlsbDogY29sb3IoZmlsbC1saWdodGVzdCk7XG4kYi12ZW5kb3ItbW9kYWFsLWNvbnRhaW5lci1maWxsOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcbiRiLXZlbmRvci1tb2RhYWwtY2xvc2UtYnV0dG9uLWNvbG9yOiBjb2xvcih0eXBlLWRhcmspO1xuJGItdmVuZG9yLW1vZGFhbC1tYXgtd2lkdGg6IGJ1KDE1MCk7IC8vIDEyMDBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gbW9kYWFsLXRyYW5zaXRpb24oJHR5cGUsICRzcGVlZDogLjJzLCAkZWFzZTogZWFzZS1pbi1vdXQpIHtcbiAgdHJhbnNpdGlvbjogJHR5cGUgI3skc3BlZWR9ICN7JGVhc2V9O1xufVxuXG5AbWl4aW4gbW9kYWFsLWhpZGV0ZXh0KCkge1xuICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuKCk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm1vZGFhbC1ub3Njcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb2RhYWwtYWNjZXNzaWJsZS1oaWRlIHtcbiAgQGluY2x1ZGUgbW9kYWFsLWhpZGV0ZXh0O1xufVxuXG4ubW9kYWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYi12ZW5kb3ItbW9kYWFsLW92ZXJsYXktZmlsbCAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICBvcGFjaXR5OiAwO1xufVxuXG4ubW9kYWFsLXdyYXBwZXIge1xuICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihvcGFjaXR5LCAuM3MpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYi12ZW5kb3ItbW9kYWFsLXdyYXBwZXItZmlsbDtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICYgKiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIH1cblxuICAubW9kYWFsLWNsb3NlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIH1cblxuICAmLm1vZGFhbC1zdGFydF9ub25lIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBjbGFzcy1uYW1lLWZvcm1hdFxuICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5tb2RhYWwtc3RhcnRfZmFkZSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgY2xhc3MtbmFtZS1mb3JtYXRcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJiAqW3RhYmluZGV4PVwiMFwiXSB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG5cbiAgLy8gaXMgZnVsbHNjcmVlblxuICAmLm1vZGFhbC1mdWxsc2NyZWVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5tb2RhYWwtb3V0ZXItd3JhcHBlciB7XG4gIC8vQGV4dGVuZCAlbC1vdXRlci1jb250YWluZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLm1vZGFhbC1mdWxsc2NyZWVuICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5tb2RhYWwtaW5uZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC8vIHdoZW4gaXMgZnVsbHNjcmVlblxuICAubW9kYWFsLWZ1bGxzY3JlZW4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5tb2RhYWwtY29udGFpbmVyIHtcbiAgLy9AZXh0ZW5kICVsLW91dGVyLWNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogJGItdmVuZG9yLW1vZGFhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGItdmVuZG9yLW1vZGFhbC1jb250YWluZXItZmlsbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBhdXRvO1xuXG4gIC8vIHdoaWxlIGxvYWRpbmdcbiAgJi5pc19sb2FkaW5nIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBjbGFzcy1uYW1lLWZvcm1hdFxuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyB3aGVuIGlzIGZ1bGxzY3JlZW5cbiAgLm1vZGFhbC1mdWxsc2NyZWVuICYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFhbC1jbG9zZSB7XG4gIEBpbmNsdWRlIG1vZGFhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYnUoMik7XG4gIHJpZ2h0OiBidSgyKTtcbiAgd2lkdGg6IGJ1KDUpO1xuICBoZWlnaHQ6IGJ1KDUpO1xuICBvcGFjaXR5OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgc3BhbiB7XG4gICAgQGluY2x1ZGUgbW9kYWFsLWhpZGV0ZXh0O1xuICB9XG5cbiAgLy8gWCBjbG9zZSBpY29uIGlzIHR3byByb3RhdGVkIGxpbmVzXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1vZGFhbC10cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICBsZWZ0OiAxOXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAzcHg7IC8vIGxpbmUgd2lkdGhcbiAgICBoZWlnaHQ6IGJ1KDMuNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGItdmVuZG9yLW1vZGFhbC1jbG9zZS1idXR0b24tY29sb3I7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuXG4gIC5tb2RhYWwtZnVsbHNjcmVlbiAmIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLW1vZGFsLWpzXG4vL1xuLy8gU2VlIGFsc28gaGVscGVycy9sYXlvdXRcbi8vIFNlZSBhbHNvIG1vZGFhbC5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTW9kYWxcbi8vXG4vLyBNYXJrdXA6IGItbW9kYWwtanMuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC4yNlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gaGVhZGVyICYgZm9vdGVyIGhlaWdodHMgbXVzdCB1c2UgcmVtc1xuJGItbW9kYWwtanMtLXByZXNlbnQtaGVhZGVyLWhlaWdodDogYnUoMTYuNyk7XG4kYi1tb2RhbC1qcy0tcHJlc2VudC1oZWFkZXItdHJhaWxpbmctcGFkZGluZzogYnUoMS41KTtcbiRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1sZWFkaW5nLXBhZGRpbmc6IGJ1KC44KTtcbiRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1oZWlnaHQ6IGJ1KDE2LjcpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gYi1tb2RhbC1qcy0tcHJlc2VudC1zdGlja3koKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMzsgLy8gc3RhY2sgYWJvdmUgYi12aWRlbyBidXR0b25cbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItbW9kYWwtanMge1xuXG4gIC8vIGFsbG93IEFqYXggc3Bpbm5lciBvdmVybGF5IHRvIGV4dGVuZCB0byBtb2RhbCBoZWlnaHQgZHVyaW5nIGxvYWRcbiAgLm1vZGFhbC1jb250YWluZXIsXG4gIC5tb2RhYWwtY29udGVudCxcbiAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lcixcbiAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciA+IC5sLWFqYXgtanMge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAvLyBwcmV2ZW50IHZlcnRpY2FsIHNoaWZ0IHdoZW4gQWpheCByZXNwb25zZXNcbiAgLy8gY2hhbmdlIHRoZSBhbW91bnQgb2YgY29udGVudCBpbiB0aGUgbW9kYWxcbiAgLm1vZGFhbC1pbm5lci13cmFwcGVyIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgPiAubC1vdXRlci1jb250YWluZXIge1xuICAgICAgJi5iLWZpbGwtLWxpZ2h0IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIHByZXZlbnQgdHlwZWFoZWFkIGRyb3Bkb3duIGZyb20gYmVpbmcgY3JvcHBlZFxuICAgICAgICBwYWRkaW5nLXRvcDogMXB4OyAvLyBhbHRlcm5hdGl2ZSBmaXggZm9yIGItZmlsbFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4OyAvLyBhbHRlcm5hdGl2ZSBmaXggZm9yIGItZmlsbFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ZvY3VzYWJsZSB7XG4gICAgQGluY2x1ZGUgaC1mb2N1c2FibGU7XG4gIH1cblxuICAvLyB1c2VzIGItbW9kYWwtc2xpZGVzaG93LWpzXG4gIC8vIG5vdGUgdGhhdCAuYi1tb2RhbC1qcy0tcHJlc2VudCBjbGFzc2VzIGFyZSBhbHNvIHVzZWQgaW4gaW5kaXZpZHVhbCBibG9ja3MsXG4gIC8vIHRvIHNldCB1cCBjdXN0b20gc3R5bGluZyB3aXRoaW4gYmxvY2tzIHVzZWQgaW4gbW9kYWxzXG4gICYtLXByZXNlbnQge1xuICAgICYubW9kYWFsLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1saWdodFwiKTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtbGlnaHRcIik7XG4gICAgICAgIG1heC13aWR0aDogYnUoMTQyLjUpO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuICAgICAgICAvLyBvdmVycmlkZSB0YWJsZSBjZW50ZXJpbmcgdG8gYWNjb21tb2RhdGUgcGlubmVkIGhlYWRlciBhbmQgZm9vdGVyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgLy8gY2hpbGQgc2VsZWN0b3IgYXMgdGhpcyBzZWxlY3RvciBpcyBhbHNvIHVzZWQgb24gcGlubmVkIGl0ZW1cbiAgICAgICAgLy8gdG8gY29udHJvbCB0aGVpciBsYXlvdXQgd2hlbiB0aGV5IGFyZSB1c2luZyBwb3NpdGlvbjpmaXhlZFxuICAgICAgICA+IC5tb2RhYWwtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkYi1tb2RhbC1qcy0tcHJlc2VudC1oZWFkZXItaGVpZ2h0OyAvLyBwdXNoIGNvbnRlbnQgZG93biBiZWxvdyB0aGUgcGlubmVkIGhlYWRlclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICN7JGItbW9kYWwtanMtLXByZXNlbnQtZm9vdGVyLWxlYWRpbmctcGFkZGluZyArICRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1oZWlnaHR9OyAvLyBhbGxvdyBzY3JvbGxpbmcgdG8gdGhlIGVuZCBvZiB0aGUgY29udGVudFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWxpZ2h0XCIpOyAvLyBhcHBsaWVzIG92ZXJmbG93OiBoaWRkZW5cbiAgICAgICAgQGluY2x1ZGUgYi1tb2RhbC1qcy0tcHJlc2VudC1zdGlja3koKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6ICRiLW1vZGFsLWpzLS1wcmVzZW50LWhlYWRlci1oZWlnaHQ7XG4gICAgICAgIC8vIHNwYWNlIGJlbG93IHJ1bGUgKyBydWxlIGhlaWdodFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGItbW9kYWwtanMtLXByZXNlbnQtaGVhZGVyLXRyYWlsaW5nLXBhZGRpbmc7XG5cbiAgICAgICAgLy8gbmVzdGVkIGNvbnRhaW5lciBpcyByZXF1aXJlZFxuICAgICAgICAvLyB0byBtYXRjaCBtb2RhbCBsYXlvdXRcbiAgICAgICAgLy8gYXMgdGhlIGhlYWRlciBoYXMgZml4ZWQgcG9zaXRpb25pbmdcbiAgICAgICAgPiAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyByZXZlYWwgdHJhaWxpbmcgcnVsZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYWxsb3cgdGl0bGUgdG8gcHVzaCB1cCBpbnRvIHdoaXRlc3BhY2VcbiAgICAgICAgLy8gaWYgaXQgZG9lcyBub3QgZml0IG9uIG9uZSBsaW5lXG4gICAgICAgIC5sLTItLW1vZGFsLS1oZWFkZXItLXByZXNlbnQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICA+IC5sLTJfX2NvbCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC41KTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNzUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBmb290ZXJcbiAgICAgIC5iLW1vZGFsLXBhZ2luYXRpb24tanMge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWxpZ2h0XCIpO1xuICAgICAgICBAaW5jbHVkZSBiLW1vZGFsLWpzLS1wcmVzZW50LXN0aWNreSgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogI3skYi1tb2RhbC1qcy0tcHJlc2VudC1mb290ZXItbGVhZGluZy1wYWRkaW5nICsgJGItbW9kYWwtanMtLXByZXNlbnQtZm9vdGVyLWhlaWdodH07XG4gICAgICAgIC8vIHNwYWNlIGFib3ZlIHJ1bGVcbiAgICAgICAgcGFkZGluZy10b3A6ICRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1sZWFkaW5nLXBhZGRpbmc7XG5cbiAgICAgICAgLy8gbmVzdGVkIGNvbnRhaW5lciBpcyByZXF1aXJlZFxuICAgICAgICAvLyB0byBtYXRjaCBtb2RhbCBsYXlvdXRcbiAgICAgICAgLy8gYXMgdGhlIGhlYWRlciBoYXMgZml4ZWQgcG9zaXRpb25pbmdcbiAgICAgICAgPiAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmwtMi0tbW9kYWwtLXBhZ2luYXRpb24tLXByZXNlbnQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgPiAubC0yX19jb2wge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi4zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIG5vdGU6IHRoZSBzaWJsaW5nIC5tb2RhYWwtb3ZlcmxheSBpcyBub3Qgc2VlbixcbiAgICAgIC8vIGFzIHRoZSBtb2RhbCBpcyBmdWxsc2l6ZVxuICAgIH1cblxuICAgICYtLWhpZGUge1xuICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgIH1cblxuICAgICYtLXNob3cge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gICYtLW5hdi1ndWlkZSB7XG4gICAgJi5tb2RhYWwtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogdGl0bGVzIGFuZCBwb3B1cHMgc2l0IG91dHNpZGUgY29udGFpbmVyICovXG4gICAgfVxuICB9XG5cbiAgJi0tc2VhcmNoIHtcbiAgICAmLm1vZGFhbC13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtbGlnaHRcIik7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLm1vZGFhbC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIGFsbG93IHRoZSBmaWxsIHRvIGJsZWVkIHRocm91Z2hcbiAgICB9XG5cbiAgICAubW9kYWFsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgID4gLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgICAgJi5iLWZpbGwtLWxpZ2h0IHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoNC40KTsgLy8gbWF0Y2ggYi1zZWFyY2gtaGVhZGVyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWFsLWlubGluZV9fY2xvc2Uge1xuICAgICAgJi5iLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZXN0LWFuZC11cCkge1xuICAgICYtLXNlYXJjaCB7XG4gICAgICAubW9kYWFsLWNvbnRhaW5lcixcbiAgICAgIC5sLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogYnUoMTU0LjUpO1xuICAgICAgfVxuXG4gICAgICAubW9kYWFsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgPiAubC1vdXRlci1jb250YWluZXIge1xuICAgICAgICAgICYuYi1maWxsLS1saWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMTMuMTc1KTsgLy8gbWF0Y2ggYi1zZWFyY2gtaGVhZGVyICsgbGluZS1oZWlnaHRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLW5vLXJlc3VsdHMtbWVzc2FnZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTm8gcmVzdWx0cyBtZXNzYWdlXG4vLyBcbi8vIE1hcmt1cDogYi1uby1yZXN1bHRzLW1lc3NhZ2UuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLW5vLXJlc3VsdHMtbWVzc2FnZSB7XG4gICZfX3NvcnJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg1LjUpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX19zb3JyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcblxuICAgICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoOS41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLWZpZWxkXG4vLyBcbi8vIFNlZSBhbHNvIGItc2VhcmNoLWZpZWxkLS10eXBlYWhlYWRcbi8vIFNlZSBhbHNvIGN0LXR5cGVhaGVhZC1idW5kbGUuanNcbi8vIFNlZSBhbHNvIHR5cGVhaGVhZC1hamF4LmpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTZWFyY2ggZmllbGRcbi8vIFxuLy8gTWFya3VwOiBiLXNlYXJjaC1maWVsZC5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40MlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLXNlYXJjaC1maWVsZC1ib3JkZXItY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItc2VhcmNoLWZpZWxkIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19pbnB1dC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19pbnB1dC1sYWJlbCB7XG4gICAgbWFyZ2luOiAwIGJ1KDIpIDAgMDtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgJlt0eXBlPXRleHRdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDkpOyAvLyBzcGFjZSBmb3Igc3VibWl0IGJ1dHRvblxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGItc2VhcmNoLWZpZWxkLWJvcmRlci1jb2xvcjtcbiAgICAgIC8vIE5lZWRlZCB0byBvdmVyaWRlIHNvbWUgc3BlY2lmaWMgZm9ybSBzdHlsZXNcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLy8gb2Zmc2V0IDFweCB0aGlja2VyIGJvcmRlclxuICAgICAgICBwYWRkaW5nLXRvcDogYnUoMS4zNzUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMS4zNzUpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDEuODc1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19yZXNldCB7XG4gICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIHJpZ2h0OiBidSg3KTsgLy8gbGVhdmUgc3BhY2UgZm9yIHNlYXJjaCBidXR0b25cbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTsgLy8gaGVpZ2h0IGxlc3MgYm9yZGVyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiBidSgxLjUpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBidSgxLjUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIC5iLWJ1dHRvbl9faWNvbi13cmFwLS1hZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBoaWRpbmcgY2xhc3MgaXMgYXBwbGllZCBieSBzY3JpcHRcbiAgICAgIC8vIGJ1dCBjbGFzaGVkIHdpdGggYnV0dG9uIGRpc3BsYXkgcnVsZVxuICAgICAgLy8gKG5vLWltcG9ydGFudClcbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Ym1pdCB7XG4gICAgJlt0eXBlPXN1Ym1pdF0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogYnUoNyk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgIHRleHQtaW5kZW50OiAtMTAwMDBweDtcbiAgICB9XG4gIH1cblxuICAmX19zdWJtaXQtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYnUoMik7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1oYXMtcmVzZXQge1xuICAgICN7bS1uZXN0KCl9X19pbnB1dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBidSgxMyk7IC8vIHNwYWNlIGZvciBjbGVhciBhbmQgc3VibWl0IGJ1dHRvbnNcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KFwiZmxleC1zdGFydFwiKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAmX19pbnB1dC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIH1cblxuICAgICZfX2lucHV0LXdyYXBwZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICZbdHlwZT10ZXh0XSB7XG4gICAgICAgIEBpbmNsdWRlIHAtLXNlYXJjaC1pbnB1dDtcbiAgICAgICAgcGFkZGluZzogYnUoMi41NSkgYnUoMTIpIGJ1KDIuNykgYnUoMi45KTsgLy8gUkhTIGlzIHNwYWNlIGZvciBzdWJtaXQgYnV0dG9uXG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLy8gb2Zmc2V0IDFweCB0aGlja2VyIGJvcmRlclxuICAgICAgICAgIHBhZGRpbmctdG9wOiBidSgyLjU1IC0gLjEyNSk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDIuNyAtIC4xMjUpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogYnUoMi45IC0gLjEyNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXNldCB7XG4gICAgICAuanMtZW5hYmxlZCAmIHtcbiAgICAgICAgcmlnaHQ6IGJ1KDEwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoMik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoMik7XG5cbiAgICAgICAgLmItYnV0dG9uX19pY29uLXdyYXAge1xuICAgICAgICAgIHdpZHRoOiBidSgzLjUpO1xuICAgICAgICAgIGhlaWdodDogYnUoMy41KTtcblxuICAgICAgICAgIC5iLWJ1dHRvbl9faWNvbiB7XG4gICAgICAgICAgICB0b3A6IC4yNWVtO1xuICAgICAgICAgICAgd2lkdGg6IC43NWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAuNzVlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQge1xuICAgICAgJlt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBidSg1KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBidSg1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQtaWNvbiB7XG4gICAgICByaWdodDogYnUoMy4xKTtcbiAgICAgIHdpZHRoOiAyZW07XG4gICAgICBoZWlnaHQ6IDJlbTtcbiAgICB9XG5cbiAgICAmLS1sYXJnZSB7XG4gICAgICAje20tbmVzdCgpfV9faW5wdXQge1xuICAgICAgICAmW3R5cGU9dGV4dF0ge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgzKTtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgzLCAtMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19zdWJtaXQtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhhcy1yZXNldCB7XG4gICAgICAje20tbmVzdCgpfV9faW5wdXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBidSgxNy40KTsgLy8gc3BhY2UgZm9yIGNsZWFyIGFuZCBzdWJtaXQgYnV0dG9uc1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLWZpZWxkXG4vLyBcbi8vIFNlZSBhbHNvIGN0LXR5cGVhaGVhZC1idW5kbGUuanNcbi8vIFNlZSBhbHNvIHR5cGVhaGVhZC1hamF4LmpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRnLWNvbG9yLWJsdWUwMzogY29sb3IodHlwZSk7XG4kZy1jb2xvci1ibHVlMDQ6IGNvbG9yKHR5cGUpO1xuJGctY29sb3ItYmx1ZTA3OiBjb2xvcih0eXBlKTtcbiRnLWNvbG9yLWJsdWVsaWdodDogY29sb3IobGluayk7XG4kYi1zZWFyY2hmaWVsZC10eXBlYWhlYWQtZm9jdXMtYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rKTtcbiRnLWNvbG9yLWdyZXlsaWdodDogY29sb3IodHlwZSk7XG4kZy1jb2xvci1ncmV5MDg6IGNvbG9yKHR5cGUpO1xuJGctY29sb3ItdHlwZTogY29sb3IodHlwZSk7XG4kZy1jb2xvci13aGl0ZTogY29sb3IoZmlsbC1saWdodGVzdCk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbi8vIFR5cGVhaGVhZFxuLmItdHQtanMge1xuXG4gICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkZy1jb2xvci1ibHVlMDM7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRiLXNlYXJjaGZpZWxkLXR5cGVhaGVhZC1mb2N1cy1ib3JkZXItY29sb3I7XG5cbiAgICAgIC5qcy13YWktb3V0bGluZSAmIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgLy8gYm9yZGVyIHJlcGxhY2VzIG91dGxpbmUgaGVyZVxuICAgICAgfVxuICAgICAgXG4gICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvLyBGaXJlZm94IDE4LVxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAgLy8gRmlyZWZveCAxOStcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19oaW50IHtcbiAgICBjb2xvcjogJGctY29sb3ItZ3JleWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmX19kYXRhc2V0IHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMzYwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAwIGJ1KDIpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRiLXNlYXJjaGZpZWxkLXR5cGVhaGVhZC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGItc2VhcmNoZmllbGQtdHlwZWFoZWFkLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBiYWNrZ3JvdW5kOiAkZy1jb2xvci13aGl0ZTtcblxuICAgICYtLWlucHV0IHtcbiAgICAgIHBhZGRpbmc6IGJ1KDEpIDA7XG5cbiAgICAgIC5iLXR0LWpzX19jYXRlZ29yeSxcbiAgICAgIC5iLXR0LWpzX19zdWJjYXRlZ29yeSB7XG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgIH1cblxuICAgICAgLmItdHQtanNfX2FuY2hvciB7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sZWZ0IHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX19zdWdnZXN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYtLXBhZGRlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQXG4gICAgICBwYWRkaW5nOiBidSgyKSBidSgyLjUpIGJ1KDIuMjUpO1xuXG4gICAgICAmLmItcnVsZSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IGJ1KC0yLjUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiBidSgtMi41KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGluayk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICYuYi1ydWxlIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jdXJzb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmspO1xuICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgfVxuXG4gICZfX2hpZ2hsaWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFN1Z2dlc3Rpb24gdHlwZSBzdHlsZXNcblxuICAmX19jYXRlZ29yeSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICBwYWRkaW5nOiBidSgxLjUpIDA7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRnLWNvbG9yLWJsdWUwMztcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGctY29sb3ItYmx1ZTAzO1xuICAgIG1hcmdpbjogMCAwIGJ1KDEuNSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogJGctY29sb3ItZ3JleTA4O1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgfVxuXG4gICAgKyAuYi10dC1qc19fc3ViY2F0ZWdvcnkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YmNhdGVnb3J5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIHBhZGRpbmc6IGJ1KDEuNSkgMCAwO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkZy1jb2xvci1ibHVlMDM7XG4gICAgbWFyZ2luOiAwIDAgYnUoLjUpIGJ1KDMpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRnLWNvbG9yLWdyZXkwODtcbiAgfVxuXG4gICZfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBwYWRkaW5nOiBidSguNSkgYnUoMikgYnUoLjUpIGJ1KDMpO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IGJ1KDApIDA7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmLXNlbGVjdGVkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGctY29sb3ItdHlwZTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC8vIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGctY29sb3ItYmx1ZTAzLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fZW1wdHktbWVzc2FnZSB7XG4gICAgcGFkZGluZzogYnUoMSkgYnUoMik7XG4gIH1cblxuICAmX19sb2FkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgbGluZWFyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA5Y2RlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJlbG93IGlzIGFkZGVkIGJ5IGxpYnJhcnkgc28gbmVlZHMgdG8gYmUgdGFyZ2V0dGVkIHNwZWNpZmljYWxseVxuXG4gIC50d2l0dGVyLXR5cGVhaGVhZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBidSgxMik7XG4gICAgICByaWdodDogYnUoMTgpO1xuICAgICAgLy8gc3VwcHJlc3MgZG93biBhcnJvdyB0aGF0IGFwcGVhcnMgYmVmb3JlIHRoZSB0eXBlYWhlYWQgaXMgaW50ZXJhY3RlZCB3aXRoXG4gICAgICBAaW5jbHVkZSBoLWhpZGU7IC8vIGlubGluZS1ibG9jazsgXG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuXG4gICAgICAvL2VuY29kZSBzdmcgVVJJIHdpdGggOiBodHRwczovL2NvZGVwZW4uaW8veW9rc2VsL2RldGFpbHMvSkRxdnNcbiAgICAgIC8vIDxzdmcgZmlsbD1cInJnYigxNjUsMTY1LDE2NSlcIiB2ZXJzaW9uPVwiMS4xXCIgaWQ9XCJMYXllcl8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyMCAyMTtcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPjxwb2x5bGluZSBwb2ludHM9XCIxMC4xLDE2LjEgNS42LDExIDEuMSw2IDEwLjEsNiAxOS4yLDYgXCIvPjwvc3ZnPlxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMGZpbGwlM0QlMjJyZ2IlMjgxNjUlMkMxNjUlMkMxNjUlMjklMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMTk5OS94bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMSUyMiUyMHN0eWxlJTNEJTIyZW5hYmxlLWJhY2tncm91bmQlM0FuZXclMjAwJTIwMCUyMDIwJTIwMjElM0IlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTNFJTNDcG9seWxpbmUlMjBwb2ludHMlM0QlMjIxMC4xJTJDMTYuMSUyMDUuNiUyQzExJTIwMS4xJTJDNiUyMDEwLjElMkM2JTIwMTkuMiUyQzYlMjAlMjIvJTNFJTNDL3N2ZyUzRScpO1xuXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGxpbmVhciAuMnM7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1mdWxsd2lkdGgge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAvLyAudHdpdHRlci10eXBlYWhlYWQge1xuICAgIC8vICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIC8vIH1cblxuICAgICN7bS1uZXN0KCl9X19sYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogYnUoMikgMCBidSgxLjUpO1xuICAgIH1cbiAgfVxuXG4gIC52aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gQGV4dGVuZCAlaC12aXN1YWxseWhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX19tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgJl9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IHJlbSgxNDApO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8vIFJlcXVpcmVkIHRvIGZpeCBJRTEwIGZsZXhib3ggYnVnXG4gICAgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgbWF4LWhlaWdodDogNjYwcHg7IC8vIDEweCBJbmNsdXNpdmUgcmVzdWx0c1xuICAgICAgcGFkZGluZzogMCBidSg1KTtcblxuICAgICAgJi0taW5wdXQge1xuICAgICAgICBwYWRkaW5nOiBidSgxKSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlLWFsbFxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItZXhhbXBsZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gRXhhbXBsZVxuLy9cbi8vIE1hcmt1cDogYi1leGFtcGxlLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjEwMFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLWV4YW1wbGUtYmctY29sb3I6ICNmMmYyZjI7XG4kYi1leGFtcGxlLXRleHQtY29sb3I6ICMwMDA7XG4kYi1leGFtcGxlLXRleHQtY29sb3ItYWx0OiAjNTU1O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWV4YW1wbGUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcGFkZGluZzogYnUoMyk7XG4gIGJhY2tncm91bmQ6ICRiLWV4YW1wbGUtYmctY29sb3I7XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9faW5uZXIge1xuICAgIG1heC13aWR0aDogYnUoMjAwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yO1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIG9wYWNpdHk6IC44O1xuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLXNtYWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgJi0tbGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWlzLWFjdGl2ZSB7XG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvci1hbHQ7XG4gIH1cblxuICAmLS1pcy1sb2FkZWQge1xuICAgIGNvbG9yOiAkYi1leGFtcGxlLXRleHQtY29sb3ItYWx0O1xuICB9XG5cbiAgJi0taXMtbG9hZGluZyB7XG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvci1hbHQ7XG4gIH1cblxuICAmLS1pcy12aXNpYmxlIHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG4gICYtLWlzLWRpc2FibGVkIHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJjpob3ZlciB7XG4gICAgLy8gQW4gaW5saW5lIGNvbW1lbnQgd291bGQgbG9vayBsaWtlIHRoaXNcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRnLWJwLW5hcnJvdy1hbmQtdXApIHt9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJGctYnAtd2lkZS1hbmQtdXApIHt9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gdGtpLTU2ODItaGVhZGVyXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBUS0kgQmFyXG4vLyBcbi8vIE1hcmt1cDogYi10a2ktYmFyLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjU0XG5cbi8vIENTUyBpbmNsdWRlZCBmcm9tIGh0dHA6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei9cblxuI3RraS01NjgyLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDAgbm9uZTtcblxuICBsaTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI3RraS01NjgyLWZvb3RlciB7XG4gIGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItYnV0dG9uXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBCdXR0b25cbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICRidXR0b24tYnUtd2lkdGgsXG4gICRpY29uLWVtLXdpZHRoLFxuICAkaWNvbi1lbS12LW9mZnNldCxcbiAgJGJvcmRlci1idS13aWR0aFxuKSB7XG5cbiAgLy8gLmItYnV0dG9uX19pY29uLXdyYXBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBhbGlnbiB3aXRoIHNpYmxpbmcgX19jb250ZW50XG4gIHdpZHRoOiBidSgkYnV0dG9uLWJ1LXdpZHRoKTtcbiAgaGVpZ2h0OiBidSgkYnV0dG9uLWJ1LXdpZHRoKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBidSgkYm9yZGVyLWJ1LXdpZHRoKSBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogYnUoJGJ1dHRvbi1idS13aWR0aCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIC8vIC5iLWJ1dHRvbl9faWNvbi13cmFwID4gLmItYnV0dG9uX19pY29uXG4gIC5iLWJ1dHRvbl9faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogI3skaWNvbi1lbS12LW9mZnNldH1lbTtcbiAgICB3aWR0aDogI3skaWNvbi1lbS13aWR0aH1lbTtcbiAgICBoZWlnaHQ6ICN7JGljb24tZW0td2lkdGh9ZW07XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1idXR0b24ge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogY29sb3IodHlwZSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZSwgYm9yZGVyIC4ycyBlYXNlLCBjb2xvciAuMnMgZWFzZTtcblxuICAvLyB3aGVuIHRoZSB0eXBlIHN0eWxpbmcgaXMgYXBwbGllZCB0byB0aGUgcGFyZW50IGVsZW1lbnRcbiAgLy8gaW5oZXJpdCBpdFxuICBAYXQtcm9vdCB7XG4gICAgW2NsYXNzXj1cInAtLVwiXSxcbiAgICBbY2xhc3MqPVwiIHAtLVwiXSB7XG4gICAgICA+IC5iLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua1xuICAvL1xuICAvLyBNYXJrdXA6IGItYnV0dG9uLS1saW5rLmh0bWxcbiAgLy9cbiAgLy8gU3R5bGVndWlkZTogMTAwLjMuMVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuYi1idXR0b24uYVxuICAmLmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcblxuICAgICYtLXVuZGVybGluZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlczogU3RyZXRjaCAodG8gY29udGFpbmVyKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuYi1idXR0b24tLXN0cmV0Y2hcbiAgJi0tc3RyZXRjaCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzOiBJY29uIChOYXYgRXhwYW5kKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuYi1idXR0b24tLWljb25cbiAgJi0taWNvbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzOiBJY29uIENpcmNsZSAoU2hhcmUpIC0vKyBUZXh0XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGVcbiAgJi0taWNvbi1jaXJjbGUge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiA1LFxuICAgICAgICAkaWNvbi1lbS13aWR0aDogMS41LFxuICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjMsXG4gICAgICAgICRib3JkZXItYnUtd2lkdGg6IC4zNzVcbiAgICAgICk7XG5cbiAgICAgIC8vIC0tYmVmb3JlIGlzIHRoZSBkZWZhdWx0XG4gICAgICAmLS1iZWZvcmUgKyAuYi1idXR0b25fX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoMS41KTtcbiAgICAgIH1cblxuICAgICAgJi0tYWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoMS41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBhbGlnbiB3aXRoIHNpYmxpbmcgX19pY29uLXdyYXBcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcblxuICAgICAgLy8gcHJldmVudCBoaWRkZW4gY29udGVudCBmcm9tIGludHJvZHVjaW5nIGFueSB3aGl0ZXNwYWNlXG4gICAgICAmLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2l6ZSAmIGNvbG9yIHZhcmlhdGlvbnNcbiAgICAvLyAoJGJ1dHRvbi1idS13aWR0aCwgJGljb24tZW0td2lkdGgsICRpY29uLWVtLXYtb2Zmc2V0LCAkYm9yZGVyLWJ1LXdpZHRoKSBcblxuICAgIC8vIEljb24gQ2lyY2xlXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yXG5cblxuICAgIC8vIEljb24gQ2lyY2xlOiBEb3dubG9hZFxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0taWNvbi1jaXJjbGUtLWRvd25sb2FkLmh0bWxcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjIuMVxuXG4gICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tZG93bmxvYWRcbiAgICAmLS1kb3dubG9hZCB7XG4gICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogNSxcbiAgICAgICAgICAkaWNvbi1lbS13aWR0aDogMS4wNSxcbiAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjUsXG4gICAgICAgICAgJGJvcmRlci1idS13aWR0aDogLjM3NVxuICAgICAgICApO1xuXG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IobGluayk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICB9XG5cbiAgICAgICYuYi1idXR0b24tLWljb24tY2lyY2xlIHsgLy8gc3BlY2lmaWNpdHkgb3ZlcnJpZGVcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IobGluayk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBDaXJjbGU6IE91dGxpbmVcbiAgICAvL1xuICAgIC8vIE1hcmt1cDogYi1idXR0b24tLWljb24tY2lyY2xlLS1vdXRsaW5lLmh0bWxcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjIuMlxuXG4gICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZVxuICAgICYtLW91dGxpbmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICBjb2xvcjogY29sb3IodHlwZSk7XG5cbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogYnUoLjEyNSkgc29saWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtZGlzYWJsZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBDaXJjbGU6IFNtYWxsXG4gICAgLy8gXG4gICAgLy8gV29ya3MgYmVzdCB3aGVuIHdyYXBwZWQgaW4gLnAtLW5hdi1wcmltYXJ5IC0gc2VlIC5iLW5hdi1wcmltYXJ5XG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwuaHRtbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuMi4zXG5cbiAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbFxuICAgICYtLXNtYWxsIHtcblxuICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMsXG4gICAgICAgICAgJGljb24tZW0td2lkdGg6IDEsXG4gICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC4xLFxuICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcblxuICAgICAgICAmLS1hZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC42MjUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgfVxuXG4gICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbC0tY2xvc2VcbiAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiAzLFxuICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IC42NSxcbiAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAtLjI1LFxuICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogMFxuICAgICAgICAgICk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC4yNXJlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwtLXJlc2V0XG4gICAgICAmLS1yZXNldCB7XG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogMyxcbiAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAuNjUsXG4gICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjA1LFxuICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogMFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLW1pZCk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXNtYWxsLS1zZWFyY2hcbiAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogMyxcbiAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAuOSxcbiAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAtLjEsXG4gICAgICAgICAgICAkYm9yZGVyLWJ1LXdpZHRoOiAwXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gQ2lyY2xlOiBTdWNjZXNzXG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tc3VjY2Vzcy5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yLjRcblxuICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXN1Y2Nlc3NcbiAgICAmLS1zdWNjZXNzIHtcbiAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHN1Y2Nlc3MpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzdWNjZXNzKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXM6IFBpbGwgKERvd25sb2FkIGV0YylcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmItYnV0dG9uLS1waWxsXG4gICYtLXBpbGwge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBidSguOCkgYnUoMSkgYnUoLjYpOyAvLyAxLjcgY2xlYXJzIHRoZSBjdXJ2ZSwgYnV0IDEgcHJldmVudHMgd3JhcCBhdCAxMDI0cHhcbiAgICBib3JkZXI6IGJ1KC4yNSkgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogYnUoMi41KTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgLy8gaW5saW5lLWJsb2NrXG4gICAgICB9XG5cbiAgICAgICYtLWFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC4zMjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLS4xZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07XG4gICAgICB3aWR0aDogLjg1ZW07XG4gICAgICBoZWlnaHQ6IC44NWVtO1xuICAgIH1cblxuICAgIC5oLWljb24ge1xuICAgICAgJi0tYXJyb3ctLXVwLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0uMTVlbTtcbiAgICAgICAgd2lkdGg6IC43NWVtO1xuICAgICAgICBoZWlnaHQ6IC43NWVtO1xuICAgICAgfVxuXG4gICAgICAmLS1mdWxsc2NyZWVuIHtcbiAgICAgICAgd2lkdGg6IC45ZW07XG4gICAgICAgIGhlaWdodDogLjllbTtcbiAgICAgIH1cblxuICAgICAgJi0tcHJpbnQge1xuICAgICAgICB3aWR0aDogLjllbTtcbiAgICAgICAgaGVpZ2h0OiAuOWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gZm9yIGNvbnNpc3RlbmN5IHdpdGggLmItYnV0dG9uLS1pY29uLWNpcmNsZVxuICAgIH1cblxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbCArIC5iLWJ1dHRvbl9faW5mb1xuICAgICsgI3ttLW5lc3QoKX1fX2luZm8ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxKTtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBQaWxsXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4zXG5cbiAgICAvLyBQaWxsOiBQcmltYXJ5XG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1waWxsLS1wcmltYXJ5Lmh0bWxcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjMuMVxuXG4gICAgLy8gLmItYnV0dG9uLS1waWxsLS1wcmltYXJ5XG4gICAgJi0tcHJpbWFyeSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGluayk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG5cbiAgICAgICYubC1hamF4LWpzLS1pbmxpbmUtbG9hZGluZyB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGNvbG9yKGxpbmspOyAvLyBvdmVycmlkZSBjdXJyZW50Q29sb3IgZ2xvYmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOm5vdCgubC1hamF4LWpzLS1pbmxpbmUtbG9hZGluZykge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cblxuICAgICAgLmwtMi0tcmVzb3VyY2UtY29udGVudCAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoMS4xKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgxLjEpO1xuXG4gICAgICAgIC5oLWljb24tLWJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGlsbDogT3V0bGluZVxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0tcGlsbC0tb3V0bGluZS5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4zLjJcblxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbC0tb3V0bGluZVxuICAgICYtLW91dGxpbmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmItYnV0dG9uLS1waWxsLS1sYXJnZVxuICAgICYtLWxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IGJ1KDEuNCkgYnUoMi40KSBidSgxLjEpO1xuXG4gICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNzI1KTtcbiAgICAgIH1cblxuICAgICAgLmItYnV0dG9uX19pY29uIHtcbiAgICAgICAgdG9wOiAtLjE1ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmItYnV0dG9uLS1waWxsLS1zbWFsbFxuICAgICYtLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgICAgcGFkZGluZzogYnUoLjgpIGJ1KDIuMSkgYnUoLjcpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuXG4gICAgICAje20tbmVzdCgpfV9faWNvbiB7XG4gICAgICAgIHRvcDogLS4wNWVtO1xuICAgICAgICB3aWR0aDogLjk1ZW07XG4gICAgICAgIGhlaWdodDogLjk1ZW07XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoLjEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlczogSWNvbiBSZWN0YW5nbGUgKEJyb3dzZSBndWlkZSlcbiAgLy8gTmFycm93IG9ubHlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmItYnV0dG9uLS1yZWN0YW5nbGVcbiAgJi0tcmVjdGFuZ2xlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMzBweCwgLTEpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBidSguMTI1KSBidSgxLjEyNSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogYnUoLjM3NSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy41KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguMzc1KTtcbiAgICAgIH1cblxuICAgICAgJi0tYWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjM3NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtLjE1ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07XG4gICAgICB3aWR0aDogLjg1ZW07XG4gICAgICBoZWlnaHQ6IC44NWVtO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gZm9yIGNvbnNpc3RlbmN5IHdpdGggLmItYnV0dG9uLS1pY29uLWNpcmNsZVxuICAgIH1cblxuICAgIC8vIFJlY3RhbmdsZVxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuNFxuXG4gICAgLy8gUmVjdGFuZ2xlOiBPdXRsaW5lXG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1yZWN0YW5nbGUtLW91dGxpbmUuaHRtbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuNC4xXG5cbiAgICAvLyAuYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZVxuICAgICYtLW91dGxpbmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZSk7XG5cbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZWN0YW5nbGU6IE91dGxpbmUgLyBMYXJnZVxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLS1sYXJnZS5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy40LjJcblxuICAgIC8vIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLWxhcmdlXG4gICAgJi0tb3V0bGluZS1sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAwIGJ1KDMuNjI1KTsgLy8gdGV4dCBsaW5lIGhlaWdodCBkaWN0YXRlcyBidXR0b24gaGVpZ2h0XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcblxuICAgICAgJi5hLS12aXNpdGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgICAgICBjb2xvcjogY29sb3IobGluay12aXNpdGVkKTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hLS12aXNpdGVkIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IobGluay12aXNpdGVkKTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXM6IFNxdWFyZSAoQmFjayB0byB0b3ApXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5iLWJ1dHRvbi0tc3F1YXJlXG4gICYtLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IGJ1KC44KSBidSgxLjI1KTtcbiAgICBib3JkZXI6IGJ1KC4xMjUpIHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogYnUoLjM3NSkgYnUoLjM3NSkgMCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjQ3NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3F1YXJlXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy41XG5cbiAgICAvLyBTcXVhcmU6IE91dGxpbmVcbiAgICAvL1xuICAgIC8vIE1hcmt1cDogYi1idXR0b24tLXNxdWFyZS0tb3V0bGluZS5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy41LjFcblxuICAgIC8vIC5iLWJ1dHRvbi0tc3F1YXJlLS1vdXRsaW5lXG4gICAgJi0tb3V0bGluZSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZWxvdy13aWRlaXNoKSB7XG4gICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZVxuICAgICYtLWljb24tY2lyY2xlIHtcbiAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgICAgIC8vIHByZXZlbnQgaGlkZGVuIGNvbnRlbnQgZnJvbSBpbnRyb2R1Y2luZyBhbnkgd2hpdGVzcGFjZVxuICAgICAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAmLmgtdmlzdWFsbHloaWRkZW4tLXBhZ2UtYmVsb3ctd2lkZWlzaCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICsgLmItYnV0dG9uX19pY29uLXdyYXAtLWFmdGVyIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGVcbiAgICAmLS1pY29uLWNpcmNsZSB7XG4gICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogNCxcbiAgICAgICAgICAkaWNvbi1lbS13aWR0aDogMS4yLFxuICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuMjUsXG4gICAgICAgICAgJGJvcmRlci1idS13aWR0aDogLjI1XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLW91dGxpbmVcbiAgICAgICYtLW91dGxpbmUge1xuICAgICAgICBAYXQtcm9vdCAuYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMtLW1vZGFsLS1wcmVzZW50IHtcbiAgICAgICAgICAuYi1idXR0b25fX2ljb24td3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogNixcbiAgICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IDEuNyxcbiAgICAgICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC4zNSxcbiAgICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogLjQ1XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEljb24gQ2lyY2xlOiBPdXRsaW5lICsgQ2xvc2UgKE1lZGl1bSAmIFVwKVxuICAgICAgICAvL1xuICAgICAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZS0tY2xvc2UuaHRtbFxuICAgICAgICAvL1xuICAgICAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yLjVcblxuICAgICAgICAvLyAkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLW91dGxpbmUtLWNsb3NlXG4gICAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiA0Ljc1LFxuICAgICAgICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IDEsXG4gICAgICAgICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjU1LFxuICAgICAgICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogLjEyNVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJY29uIENpcmNsZTogT3V0bGluZSArIFRoaW4gKE1lZGl1bSAmIFVwKVxuICAgICAgICAvL1xuICAgICAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZS0tdGhpbi5odG1sXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjIuNlxuXG4gICAgICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZS0tdGhpblxuICAgICAgICAmLS10aGluIHtcbiAgICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICAgICAgLy8gYmlnZ2VyIGljb25cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDQuNzUsXG4gICAgICAgICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogMS4yLFxuICAgICAgICAgICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC41NSxcbiAgICAgICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IC4xMjVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgICAgICAvLyBhbGlnbiB0ZXh0IHdpdGggYmlnZ2VyIGJ1dHRvblxuICAgICAgICAgICAgICAgIHRvcDogLjQ1ZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGxcbiAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiAzLjUsXG4gICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogMSxcbiAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuMixcbiAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbC0tY2xvc2VcbiAgICAgICAgJi0tY2xvc2Uge1xuICAgICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMuNSxcbiAgICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IC41NSxcbiAgICAgICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC0uMixcbiAgICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXNtYWxsLS1yZXNldFxuICAgICAgICAmLS1yZXNldCB7XG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIG5hcnJvdyBicFxuICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMsXG4gICAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAuNjUsXG4gICAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuMDUsXG4gICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbC0tc2VhcmNoXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogMy41LFxuICAgICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogLjYsXG4gICAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAtLjIsXG4gICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbFxuICAgICYtLXBpbGwge1xuICAgICAgLy8gLmItYnV0dG9uLS1waWxsICsgLmItYnV0dG9uX19pbmZvXG4gICAgICArIC5iLWJ1dHRvbl9faW5mbyB7XG4gICAgICAgICYuYi1idXR0b25fX2luZm8tLWlubGluZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguOSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICAgIHBhZGRpbmc6IGJ1KDEpIGJ1KDQuNCkgYnUoMS4yKSBidSgzLjcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBidSg3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuXG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXBhZ2luYXRpb25cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFBhZ2luYXRpb24gKEFqYXgpXG4vLyBcbi8vIE1hcmt1cDogYi1wYWdpbmF0aW9uLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjM2XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6IGJ1KDMpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICZfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIG1hcmdpbi10b3A6IGJ1KDcpO1xuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItYWxlcnRcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEFsZXJ0XG4vLyBcbi8vIEFsZXJ0IG1lc3NhZ2Ugd2hpY2ggYXBwZWFycyBiZWZvcmUgdGhlIHBhZ2UgY29udGVudC5cbi8vXG4vLyBNYXJrdXA6IGItYWxlcnQuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLWFsZXJ0LWJnLWNvbG9yLS1ub2pzOiBjb2xvcihtYXJrKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1hbGVydCB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwYWRkaW5nOiBidSgyKTtcbiAgbWFyZ2luLXRvcDogYnUoMy4yNSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogYnUoLjM3NSk7XG4gICAgbWFyZ2luLWxlZnQ6IGJ1KC4yNSk7XG4gIH1cblxuICAvLyBzaW5nbGUgcGFyYWdyYXBoXG4gICZfX2FsZXJ0IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLW5vanMge1xuICAgIGJhY2tncm91bmQ6ICRiLWFsZXJ0LWJnLWNvbG9yLS1ub2pzO1xuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGJ1KDIuMzc1KSBidSgyKSBidSgyLjUpIGJ1KDguMzUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoOCk7XG5cbiAgICAmX19pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYnUoMi44KTtcbiAgICAgIGxlZnQ6IGJ1KDIuNyk7XG4gICAgICB3aWR0aDogMS40ZW07XG4gICAgICBoZWlnaHQ6IDEuNGVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1za2lwLWxpbmtzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTa2lwIExpbmtzXG4vLyBcbi8vIE1hcmt1cDogYi1za2lwLWxpbmtzLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjQ4XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGItc2tpcC1saW5rLWJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXNraXAtbGlua3Mge1xuXG4gICZfX2FuY2hvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwYWRkaW5nOiBidSgxKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KC00MHB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGctYW5pbS1ob3ZlciBlYXNlLW91dCwgYmFja2dyb3VuZCAkZy1hbmltLWhvdmVyIGxpbmVhcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogJGItc2tpcC1saW5rLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zdWdnZXN0aW9uXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTdWdnZXN0aW9uXG4vLyBcbi8vIE1hcmt1cDogYi1zdWdnZXN0aW9uLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjUwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXN1Z2dlc3Rpb24ge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tbmV4dC1zdGVwcyB7XG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjkpO1xuICAgIH1cbiAgfVxuXG4gICYtLXN0cmF0ZWd5IHtcbiAgICAvLyBkeW5hbWljYWxseSBhZGRlZCBieSBjb250ZW50LWZpbHRlci5qc1xuICAgICYuaC1maXJzdC12aXNpYmxlIHtcbiAgICAgIC5iLXJ1bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuXG4gICAgICAvLyBpZiBubyBfX2luY2x1ZGVzXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pbmNsdWRlcyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuXG4gICAgICAqIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAucC0taW5jbHVkZXMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC4yKTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLjE0ZW07XG4gICAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgICBmb250LXNpemU6IGJ1KDQpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmLS1uZXh0LXN0ZXBzIHtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi42KTtcblxuICAgICAgICAmX19jdXJyZW50IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSguMik7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3RyYXRlZ3kge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi43KTtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi43KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjgpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7fVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGIta25vd2xlZGdlLXNsaWRlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBLbm93bGVkZ2UgU2xpZGVcbi8vXG4vLyBNYXJrdXA6IGIta25vd2xlZGdlLXNsaWRlLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMjNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmIta25vd2xlZGdlLXNsaWRlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBhZGRpbmctdG9wOiBidSg3LjQpO1xuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIHN1YnNlcXVlbnQgc2xpZGVzXG4gIC5iLWV4YW1wbGUtc2xpZGUgKyAmLFxuICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAmIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoOC41KTtcbiAgfVxuXG4gICZfX2ludHJvIHtcbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMyk7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24gIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuXG4gICAgLy8gdGl0bGVzIGluIHN1YnNlcXVlbnQgc2xpZGVzXG4gICAgLmItZXhhbXBsZS1zbGlkZSArIC5iLWV4YW1wbGUtc2xpZGUgJixcbiAgICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAuYi1leGFtcGxlLXNsaWRlICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi43KTtcbiAgICB9XG4gIH1cblxuICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmItcmVzb3VyY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOSk7XG4gIH1cblxuICAvLyBncmlkXG4gIC5sLTItLXNsaWRlIHtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgICYsXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjYyNSk7XG4gICAgICB9XG5cbiAgICAgIC8vIHJlbW92ZSBtYXJnaW5zIGZyb20gdG9wIGFuZCBib3R0b20gb2YgY29udGVudFxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcCB7XG4gICAgICAvLyBjYW4ndCBzYXRpc2Z5IGJvdGggZm9yY2UtcHNldWRvLW5lc3RpbmcgYW5kIG5lc3RpbmctZGVwdGhcbiAgICAgICY6bm90KC5iLWtub3dsZWRnZS1zbGlkZV9fc291cmNlKSB7XG4gICAgICAgICY6bm90KC5iLXByb2Nlc3MtbGlzdF9fcmVwZWF0cykge1xuICAgICAgICAgICY6bm90KFtjbGFzc149XCJiLXJlc291cmNlX19cIl0pIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICAmOm5vdChbY2xhc3MqPVwiIGItcmVzb3VyY2VfX1wiXSkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcC0tc2xpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgYnUoMik7XG4gICAgICB9XG5cbiAgICAgIGE6bm90KFtjbGFzc10pIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgQGluY2x1ZGUgcC0tc2xpZGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgICY6bm90KC5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9uc19fc2hhcmUpIHtcbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwLS1zbGlkZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgYnUoMS4zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19zb3VyY2Uge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi45KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC0uNyk7XG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3Qge1xuICAgICAgKyBwIHtcbiAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3Mge1xuICAgICAgKyBwIHtcbiAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3MgKyAje2UtbmVzdCgpfV9fc291cmNlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuOCk7XG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3MtcmVwZWF0aW5nIHtcbiAgICAgICsgcCB7XG4gICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19saXN0LS1wcm9jZXNzLXJlcGVhdGluZyArICN7ZS1uZXN0KCl9X19zb3VyY2Uge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMy43KTsgLy8gZ2FwIGFmdGVyICdSZXBlYXRzJyB0ZXh0IGJhc2VsaW5lXG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3QtLXF1ZXN0aW9ucyB7XG4gICAgICArIHAge1xuICAgICAgICAmOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1saW5rLS1leHRlcm5hbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvYXJyb3ctLXVwLXJpZ2h0LnN2Z1wiKTtcblxuICAgICAgJixcbiAgICAgICYgLmEge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1yZXNvdXJjZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjUpO1xuXG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuICAgICAgfVxuXG4gICAgICAmX19wdWJsaXNoZXIsXG4gICAgICAmX19yZWFkLXRpbWUsXG4gICAgICAmX19jb3N0IHtcbiAgICAgICAgbWFyZ2luOiBidSguNykgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19saXN0IHtcbiAgICAvLyBzaXQgZmx1c2ggd2l0aCBib3R0b20gb2ZcbiAgICAvLyB2ZXJ0aWNhbCBkaXZpZGVyXG4gICAgLy8gYXQgZGVza3RvcCB3aWR0aFxuICAgIC8vIGlmIG5vIHRyYWlsaW5nICdzb3VyY2UnXG4gICAgLy8gYWxzbyBhcHBsaWVkIGF0IG5hcnJvdyB3aWR0aFxuICAgIC8vIHRvIGVuc3VyZSB0aGF0IHRyYWlsaW5nIGVsZW1lbnRzIGhhdmVcbiAgICAvLyBjb3JyZWN0IHRvcCBtYXJnaW5cbiAgICA+IG9sLFxuICAgID4gdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJltkYXRhLWItbW9kYWwtc2xpZGVzaG93LWpzLXNsaWRlXSB7XG4gICAgQGluY2x1ZGUgaC1mb2N1c2FibGUoKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDEwKTtcblxuICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fa25vd2xlZGdlIHtcbiAgICAgIC8vIGFsbCBjb250ZW50IGV4Y2VwdCB0YWJsZXMgdXNlcyB0aGUgdHdvIGNvbHVtbiBmb3JtYXRcbiAgICAgIC8vIGluIHBhZ2UgYW5kIG1vZGFsIHZpZXdcbiAgICAgICYubC0yLS1zbGlkZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjYpO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAubC0yX19jb2wge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLy8gdGFibGVzIHVzZSB0aGUgdHdvIGNvbHVtbiBmb3JtYXQgaW4gaW5wYWdlIHZpZXdcbiAgICAgIC8vIGFuZCB0aGUgd2lkZSB0d28gcm93IGZvcm1hdCBpbiBtb2RhbCB2aWV3XG4gICAgICAmLmwtMi0tc2xpZGUtLXByZXNlbnQtd2lkZSB7XG4gICAgICAgIC5iLWtub3dsZWRnZS1zbGlkZV9faW50cm9kdWN0aW9uIHtcbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1tb2RhbC1qc19faGVhZGVyICsgLmwtMi0tc2xpZGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgtLjkpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnRyb2R1Y3Rpb24ge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAmLS1wcm9jZXNzLFxuICAgICAgJi0tcHJvY2Vzcy1yZXBlYXRpbmcsXG4gICAgICAmLS1xdWVzdGlvbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoMSk7IC8vIGludGVybmFsIGd1dHRlciBhZnRlciB2ZXJ0aWNhbCBydWxlXG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgfiAuYi1rbm93bGVkZ2Utc2xpZGVfX3NvdXJjZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoMSk7IC8vIGludGVybmFsIGd1dHRlciBhZnRlciB2ZXJ0aWNhbCBydWxlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgfiAuYi1rbm93bGVkZ2Utc2xpZGVfX3NoYXJlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgxKTsgLy8gaW50ZXJuYWwgZ3V0dGVyIGFmdGVyIHZlcnRpY2FsIHJ1bGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tcHJvY2VzcyB7XG4gICAgICAgICsgcCB7XG4gICAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLXF1ZXN0aW9ucyB7XG4gICAgICAgICsgcCB7XG4gICAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3Vic2VxdWVudCBzbGlkZXNcbiAgICAuYi1leGFtcGxlLXNsaWRlICsgJixcbiAgICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAmIHtcbiAgICAgIHBhZGRpbmctdG9wOiBidSgxMS45KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyB0aXRsZXMgaW4gc3Vic2VxdWVudCBzbGlkZXNcbiAgICAgIC5iLWtub3dsZWRnZS1zbGlkZV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg2LjYpO1xuXG4gICAgICAgIEBhdC1yb290IC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWV4YW1wbGUtZW1iZWQsXG4gICAgLmItcmVzb3VyY2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYi1yZXNvdXJjZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg1LjgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDEpOyAvLyBpbnRlcm5hbCBndXR0ZXIgYWZ0ZXIgdmVydGljYWwgcnVsZVxuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoOS42KTtcblxuICAgICAgICAmLFxuICAgICAgICArIC5iLWtub3dsZWRnZS1zbGlkZV9fc2hhcmUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgyKTsgLy8gaW50ZXJuYWwgZ3V0dGVyIGFmdGVyIHZlcnRpY2FsIHJ1bGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgI3tlLW5lc3QoKX1fX3NvdXJjZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjMpO1xuICAgICAgfVxuXG4gICAgICAvLyB1bmxpa2UgdGhlIG90aGVyIGxpc3QgdHlwZXNcbiAgICAgIC8vIHRoZSBib3R0b20gb2YgdGhlIHByb2Nlc3MgbGlzdCBjb250YWluZXJcbiAgICAgIC8vIGRvZXMgbm90IGhhdmUgYSB0cmFpbGluZyBsaW5lIGhlaWdodFxuICAgICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3MgKyAje2UtbmVzdCgpfV9fc291cmNlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi45KTtcbiAgICAgIH1cblxuICAgICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3MtcmVwZWF0aW5nICsgI3tlLW5lc3QoKX1fX3NvdXJjZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOCk7IC8vIGdhcCBhZnRlciAnUmVwZWF0cycgdGV4dCBiYXNlbGluZVxuXG4gICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgICY6bm90KFtjbGFzc10pIHsgLy8gUGxhaW4gY29udGVudFxuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOSk7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCBidSgyKTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmgtbGlzdC0tY2hlY2sge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb2wge1xuICAgICAgICAmLmgtbGlzdC0tbnVtYmVyZWQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCArIC5iLWtub3dsZWRnZS1zbGlkZV9fbGlzdCB7XG4gICAgICAgID4gdWwge1xuICAgICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uZXh0LXN0ZXBzLWFuZC1ob3ctdG8tdXNlLXRoZS1zaXRlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBOZXh0IFN0ZXBzICYgSG93IHRvIHVzZSB0aGUgc2l0ZVxuLy8gXG4vLyBNYXJrdXA6IGItbmV4dC1zdGVwcy1hbmQtaG93LXRvLXVzZS10aGUtc2l0ZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zM1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1uZXh0LXN0ZXBzLWFuZC1ob3ctdG8tdXNlLXRoZS1zaXRlIHtcbiAgcGFkZGluZy1yaWdodDogYnUoJGctbWFyZ2luLW5hcnJvdy1idSk7XG4gIHBhZGRpbmctbGVmdDogYnUoJGctbWFyZ2luLW5hcnJvdy1idSk7XG4gIG1hcmdpbjogYnUoNCkgYnUoLSRnLW1hcmdpbi1uYXJyb3ctYnUpIDA7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgcGFkZGluZy1yaWdodDogYnUoMy4zNzUpO1xuICAgIHBhZGRpbmctbGVmdDogYnUoMy4zNzUpO1xuICAgIG1hcmdpbjogYnUoNikgYnUoLTMuMzc1KSBidSgtMTIpOyAvLyBvZmZzZXQgLmwtMi0tcGFnZS0tZ3VpZGUgYm90dG9tIG1hcmdpblxuXG4gICAgLmItaG93LXRvLXVzZS10aGUtc2l0ZSB7XG4gICAgICAvLyBvZmZzZXQgaGFuZGxlZCBieSBwYXJlbnQgYmxvY2tcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlc3QtYW5kLXVwKSB7XG4gICAgcGFkZGluZy1yaWdodDogYnUoMy42MjUpO1xuICAgIHBhZGRpbmctbGVmdDogYnUoMy42MjUpO1xuICAgIG1hcmdpbjogYnUoNikgYnUoLTMuNjI1KSBidSgtMTIpOyAvLyBvZmZzZXQgLmwtMi0tcGFnZS0tZ3VpZGUgYm90dG9tIG1hcmdpblxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1ndWlkZS10aWxlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBHdWlkZSBUaWxlXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xN1xuXG4vLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWRcbi8vIFxuLy8gR3VpZGUgKE5hcnJvdyAyIGNvbCwgV2lkZSAyIGNvbClcbi8vIFxuLy8gTWFya3VwOiBiLWd1aWRlLXRpbGUtLWZlYXR1cmVkLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE3LjFcblxuLy8gR3VpZGUgVGlsZSAtIEZlYXR1cmVkIC8gTmV4dCBTdGVwc1xuLy8gXG4vLyBHdWlkZSAoTmFycm93IDIgY29sLCBXaWRlIDIgY29sKVxuLy8gXG4vLyBNYXJrdXA6IGItZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLW5leHQtc3RlcHMuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTcuMlxuXG4vLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWQgLyBUYWxsXG4vLyBcbi8vIEhvbWUgKE5hcnJvdyAyIGNvbCwgV2lkZSAxIGNvbClcbi8vIFxuLy8gTWFya3VwOiBiLWd1aWRlLXRpbGUtLWZlYXR1cmVkLS10YWxsLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE3LjNcblxuLy8gR3VpZGUgVGlsZSAtIExpc3Rpbmdcbi8vIFxuLy8gSG9tZSAoTmFycm93IDIgY29sLCBXaWRlIDMgY29sKVxuLy8gXG4vLyBNYXJrdXA6IGItZ3VpZGUtdGlsZS0tbGlzdGluZy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xNy40XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWd1aWRlLXRpbGUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgbWFyZ2luLWJvdHRvbTogYnUoMSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX3RpdGxlIHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyB3cmFwIHRleHRcbiAgICB9XG5cbiAgICAuYi10YWcge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBpbWcgeyAvLyAxMDR4MTEyXG4gICAgICB3aWR0aDogMTAwJTsgLy8gYnUoMTMpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgLmwtMyAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmwtMi0tZ3VpZGUtdGlsZS0tbGlzdGluZ19faW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWZlYXR1cmVkLS10YWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbiAgfVxuXG4gICYtLW5leHQtc3RlcHMge1xuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtYmVsb3ctd2lkZSkge1xuICAgICZfX2ltYWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAuYi10YWcge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cblxuICAgICAgLmwtMy0tZ3VpZGUtdGlsZXMgJiB7XG4gICAgICAgIC5iLXRhZyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoNC4yKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi40KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RlYXNlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNCk7XG4gICAgICB9XG5cbiAgICAgIC8vIHRleHQgb3JwaGFuXG4gICAgICArIC5wLS1icm93c2UtYWxsLWd1aWRlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDYuMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGxhc3QgZWxlbWVudCBpbiBjb2x1bW5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mZWF0dXJlZC0tdGFsbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQIGZvciBSZWFkIG1vcmUgbGlua1xuICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDMuNSk7IC8vIHNwYWNlIGZvciBBUCBSZWFkIG1vcmUgbGlua1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcblxuICAgICAgI3ttLW5lc3QoKX1fX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDcwLjYlO1xuICAgICAgICBtYXJnaW46IGJ1KDIuOSkgYnUoMy40KSBidSgxLjYpO1xuICAgICAgfVxuXG4gICAgICAuYi1ydWxlLS1uYXJyb3cge1xuICAgICAgICBtYXJnaW46IGJ1KDEuNSkgYnUoMy40KSBidSgyLjIpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGVhc2VyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MC42JTtcbiAgICAgICAgbWFyZ2luOiBidSgyLjEpIGJ1KDMuNCkgYnUoMi45KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3N0cmF0ZWdpZXMtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwIGJ1KDMpIGJ1KDMuNSkgYnUoMy40KTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oLWljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGJ1KC0uMik7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEuMmVtO1xuICAgICAgICAgIGhlaWdodDogMS4yZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1saXN0aW5nIHtcbiAgICAgICN7bS1uZXN0KCl9X19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190ZWFzZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg0LjQpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3RyYXRlZ2llcy1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1jb250ZW50LXJldmVhbFxuLy8gXG4vLyBTZWUgYWxzbyBiLWhpZGUtc2hvd1xuLy8gU2VlIGFsc28gaGlkZS1zaG93LmpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBDb250ZW50IHJldmVhbFxuLy8gXG4vLyBNYXJrdXA6IGItY29udGVudC1yZXZlYWwuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuN1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLmItY29udGVudC1yZXZlYWwge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgKyAuYi1jb250ZW50LXJldmVhbCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19oZWFkZXIge1xuICAgIC8vIEBleHRlbmQgaDMgIW9wdGlvbmFsO1xuICAgIC8vIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICAvLyBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgLy8gZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAvLyBjb2xvcjogJGItY29udGVudC1yZXZlYWwtbGluay1jb2xvcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcih0eXBlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICN7ZS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgJi5oLWljb24tLWNoZXZyb24ge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8vIHBvaW50IGRvd25cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmlzLW9wZW5lZCB7XG5cbiAgICAgICAgI3tlLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAmLmgtaWNvbi0tY2hldnJvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgLy8gcG9pbnQgdXBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmgtaWNvbi0tdHJpYW5nbGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IC8vIHBvaW50IHVwXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IGJ1KDMpO1xuXG4gICAgb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiBidSgzLjc1KTsgLy8gZG9uJ3QgY3JvcCBwcmV0ZWVuIGRpZ2l0cyBpbiBTYWZhcmlcbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICB3aWR0aDogLjY1ZW07XG4gICAgaGVpZ2h0OiAuNjVlbTtcbiAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgICAvLyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGxpbmVhcjtcblxuICAgIC5qcy1lbmFibGVkICYge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIC8vIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICAvLyBsaW5lLWhlaWdodDogYnUoNCk7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDcuNSk7XG4gICAgICB9XG5cbiAgICAgIEBhdC1yb290IC5qcy1kaXNhYmxlZCAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGJ1KDMpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMyk7XG4gICAgICB9XG5cbiAgICAgIEBhdC1yb290IC5qcy1lbmFibGVkICYgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGJ1KDMpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi10YWdcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFRhZ1xuLy8gXG4vLyBUYWdzIGFyZSBoaWRkZW4gb24gbmFycm93IHZpZXdwb3J0cy5cbi8vIFxuLy8gTWFya3VwOiBiLXRhZy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41MlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi10YWcge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gYmxvY2sgd3JhcHBlciBwcm92aWRlcyBkaXNwbGF5IGNvbnRyb2xcbiAgLy8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIGZpbGxcblxuICBkaXNwbGF5OiBibG9jazsgLy8gcGxhY2Ugb24gYSBuZXcgbGluZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcGFkZGluZzogMCBidSgxKTtcbiAgICBib3JkZXItcmFkaXVzOiBidSgxLjI1KTtcbiAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLW5ldyB7XG4gICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC10aGVtZTQpO1xuICAgIH1cbiAgfVxuXG4gICYtLXBvcHVsYXIge1xuICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtdGhlbWUzKTtcbiAgICB9XG4gIH1cblxuICAmLS11cGRhdGVkIHtcbiAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLXRhZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1ub3RlLWpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBOb3RlXG4vLyBcbi8vIE1hcmt1cDogYi1ub3RlLWpzLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjM1XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLW5vdGUtanMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBidSgzLjUpIGJ1KDMuMjUpIGJ1KDEuMzc1KSBidSgyKTtcblxuICAmLmgtZ2xvYmFsLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogYnUoNC44KTtcbiAgfVxuXG4gICZfX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBidSguNjUpO1xuICAgIHJpZ2h0OiBidSguOCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IGJ1KDEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLmgtaWNvbiB7XG4gICAgICB3aWR0aDogLjc1ZW07XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX25vdGUge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmctdG9wOiBidSgxLjQpO1xuXG4gICAgJi5oLWdsb2JhbC1tYXJnaW4ge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEd1aWRlIFNlYXJjaCBMaXN0IGFuZCBGaWx0ZXJcbi8vIFxuLy8gTWFya3VwOiBiLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTZcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIGZpZWxkc2V0IGNvbnRhaW5pbmcgdGhlIGZpbHRlciByYWRpb3NcbiAgJl9fZmllbGRzZXQge1xuICAgIGJvcmRlci1ib3R0b206IGJ1KC4xMjUpIHNvbGlkIGNvbG9yKHR5cGUtZGFyayk7XG4gIH1cblxuICAmX19yZXN1bHRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjUpO1xuICB9XG5cbiAgJl9fc29ydGJ5IHtcbiAgICAucC0tc29ydC1ieSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLnAtLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmItc2VhcmNoLWZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiBidSgtLjcpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1ndWlkZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gc2l0IGZsdXNoIHdpdGggYi1maWx0ZXItbm90aWNlXG5cbiAgICAje20tbmVzdCgpfV9fZmlsdGVycyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjUpO1xuXG4gICAgICAuYi1maWx0ZXJfX2xhYmVsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC42ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tZ3VpZGUtbGlzdGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi4yKTtcbiAgfVxuXG4gICYtLWhvbWUge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNSk7XG4gIH1cblxuICAmLS1zZWFyY2gtLW5hcnJvdyB7XG4gICAgbWFyZ2luLXRvcDogYnUoMyk7XG5cbiAgICAuYi1zZWFyY2gtZmllbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAuYi1zZWFyY2gtZmllbGQge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS44KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNSk7XG4gICAgfVxuXG4gICAgJl9fcmVzdWx0cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0KTtcbiAgICB9XG5cbiAgICAmX19zZWUtYWxsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEwKTtcbiAgICB9XG5cbiAgICAmLS1ndWlkZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjgpO1xuXG4gICAgICAje20tbmVzdCgpfV9fbGVnZW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuMSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19maWx0ZXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ndWlkZS1saXN0aW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuMSk7XG5cbiAgICAgIC5iLXNlYXJjaC1maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhvbWUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQpO1xuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuYi1zZWFyY2gtZmllbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjYpO1xuICAgICAgfVxuXG4gICAgICAucC0tbGFyZ2UtLWhvbWUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNy41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWZpbHRlclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gRmlsdGVyXG4vL1xuLy8gU2VlIEd1aWRlIFNlYXJjaCBMaXN0IGFuZCBGaWx0ZXJcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBiLWZpbHRlci0tZGlzYWJsZWQoKSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiBjb2xvcih0eXBlLWRpc2FibGVkKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1maWx0ZXIge1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuanMtZW5hYmxlZDogbGFiZWxcbiAgLy8gLmpzLWRpc2FibGVkOiBhIHwgc3BhblxuICAmX19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IGJ1KDAuODc1KTtcbiAgICBib3JkZXItYm90dG9tOiBidSgwLjYyNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLy8gLmpzLWRpc2FibGVkXG4gICAgJi5hLS1uby12aXNpdGVkIHtcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmEtLXZpc2l0ZWQge1xuICAgICAgY29sb3I6IGNvbG9yKGxpbmstdmlzaXRlZCk7XG4gICAgfVxuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgLy8gLmpzLWRpc2FibGVkXG4gICAgICAvLyBub3QgY3VycmVudGx5IHVzZWQgYnV0IGludGVuZGVkXG4gICAgICAvLyBmb3Igbm9zY3JpcHQgZW11bGF0aW9uIG9mIDpkaXNhYmxlZFxuICAgICAgZGVsI3smfSB7XG4gICAgICAgIEBpbmNsdWRlIGItZmlsdGVyLS1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICArIC5iLWZpbHRlcl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICsgLmItZmlsdGVyX19sYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJjpob3ZlciB7XG4gICAgLmItZmlsdGVyX19sYWJlbCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIC8vIGRpc2FibGVkIGF0dHJpYnV0ZSBpcyB0b2dnbGVkIGJ5IGNvbnRlbnQtZmlsdGVyLmpzXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgfiAuYi1maWx0ZXJfX2xhYmVsIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0IHtcbiAgICAmOmNoZWNrZWQge1xuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICB+IC5iLWZpbHRlcl9fbGFiZWwge1xuICAgICAgICAgIC8vIGVpdGhlciB0aGUganMgcmFkaW8gbGFiZWwsIG9yIHRoZSBuby1qcyBzcGFuXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuICAgICAgICAgICYuYS0tdmlzaXRlZCB7XG4gICAgICAgICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRpc2FibGVkIGF0dHJpYnV0ZSBpcyB0b2dnbGVkIGJ5IGNvbnRlbnQtZmlsdGVyLmpzXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICB+IC5iLWZpbHRlcl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbHRlci0tZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX19sYWJlbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMS40NSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi12aWRlb1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVmlkZW9cbi8vXG4vLyBTZWUgRXhhbXBsZSBlbWJlZFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC41NlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLXZpZGVvLWJnLWNvbG9yOiBjb2xvcih0eXBlKTtcbiRiLXZpZGVvLWJnLWNvbG9yLWhpZGVzaG93OiBjb2xvcih0eXBlKTtcbiRiLXZpZGVvLWljb24tY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXZpZGVvLWpzIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNTYlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXZpZGVvLWJnLWNvbG9yO1xuICB9XG5cbiAgJl9faWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICZfX3RyaWdnZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gbWFzayBpbnRlcm1pdHRlbnQgMXB4IGdhcCBiZXR3ZWVuIHJlc2l6ZWQgcGxhY2Vob2xkZXIgYW5kIGdyZXkgY2FwdGlvblxuICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGItdmlkZW8tYmctY29sb3I7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAje2UtbmVzdCgpfV9faWNvbiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1waWN0dXJlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuYi1waWN0dXJlX19pbWFnZSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5oLWljb24tLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19wb3N0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYnUoMTIpO1xuICAgIGhlaWdodDogYnUoMTIpO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBjb2xvcjogJGItdmlkZW8taWNvbi1jb2xvcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJl9fdHJhbnNjcmlwdC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGxpbmVhcjtcbiAgfVxuXG4gICZfX2hpZGVzaG93IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICBwYWRkaW5nOiAwIGJ1KDIpIGJ1KDIpIGJ1KDMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXZpZGVvLWJnLWNvbG9yLWhpZGVzaG93O1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgICBtYXJnaW46IDAgMCBidSgxKTtcblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1vcGVuZWQge1xuICAgICAgLmItdmlkZW8tanNfX3RyYW5zY3JpcHQtaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1hY3RpdmUge1xuICAgICN7bS1uZXN0KCl9X190cmlnZ2VyIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLW5hcnJvdy1hbmQtdXApIHtcbiAgICAmX19oaWRlc2hvdyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9faWNvbiB7XG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgd2lkdGg6IGJ1KDI2KTtcbiAgICAgICAgaGVpZ2h0OiBidSgyNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICB3aWR0aDogYnUoMjUuMzc1KTtcbiAgICAgICAgaGVpZ2h0OiBidSgyNS4zNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXdpZGUge1xuICAgICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICB3aWR0aDogYnUoMjEuNSk7XG4gICAgICAgIGhlaWdodDogYnUoMjEuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zY3JvbGwtdHJpZ2dlci1qc1xuLy8gXG4vLyBTZWUgYWxzbyBiLXRhYmxlLWpzXG4vLyBTZWUgYWxzbyBsLW92ZXJmbG93LWxpbmVyXG4vLyBTZWUgYWxzbyBjdC1vdmVyZmxvdy1oZWxwZXIuanNcbi8vIFxuLy8gTW92ZWQgb3BhY2l0eSBmcm9tIHdyYXBwZXIgdG8gYnV0dG9uXG4vLyB0byBmaXggdGFiIG9yZGVyIHZpc2liaWxpdHkuXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTY3JvbGwgdHJpZ2dlclxuLy8gXG4vLyBTZWUgVGFibGVcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjQxXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuJGItc2Nyb2xsLXRyaWdnZXItYmctY29sb3I6IHJnYmEoY29sb3IobGluayksIC44KTtcbiRiLXNjcm9sbC10cmlnZ2VyLWJnLWNvbG9yLWFsdDogcmdiYShjb2xvcihsaW5rKSwgMSk7XG4kYi1zY3JvbGwtdHJpZ2dlci10ZXh0LWNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTdHlsZXMgZm9yIHRoZSBodG1sIGFkZGVkIGJ5IHRoZSBjdC1vdmVyZmxvdy1oZWxwZXIuanNcblxuLmItc2Nyb2xsLXRyaWdnZXItanMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGJ1KDUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMXMgZWFzZS1pbi1vdXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ4JTtcbiAgICBwYWRkaW5nOiBidSgxLjI1KSBidSgxLjUpO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGJ1KDIuNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGItc2Nyb2xsLXRyaWdnZXItYmctY29sb3I7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcyBlYXNlLWluLW91dDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBvbiBrZXlib2FyZCBmb2N1c1xuICAgIC8vIHJldmVhbCB0aGUgYnV0dG9uIGV2ZW4gaWYgaXQgaXMgbm90IGFjdGl2ZVxuICAgIC8vIHNvIHRoYXQgdGhlIHRhYiBmb2N1cyBpcyBub3QgbG9zdFxuICAgICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLS4xMjVlbTtcbiAgICB3aWR0aDogLjk1ZW07XG4gICAgaGVpZ2h0OiAuOTVlbTtcbiAgICBjb2xvcjogJGItc2Nyb2xsLXRyaWdnZXItdGV4dC1jb2xvcjtcbiAgfVxuXG4gICZfX2xlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICN7bS1uZXN0KCl9X19idXR0b24ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGItc2Nyb2xsLXRyaWdnZXItYmctY29sb3ItYWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9faWNvbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi10ZXh0LXByb21vXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBUZXh0IHByb21vXG4vL1xuLy8gVXNlZCBvbiB0aGUgaG9tZXBhZ2Vcbi8vXG4vLyBNYXJrdXA6IGItdGV4dC1wcm9tby5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41M1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi10ZXh0LXByb21vIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19saW5rIHtcbiAgICBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBtYXJnaW4tdG9wOiBidSg3LjEpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuMik7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguMzUpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgLmgtbGlzdC0tbnVtYmVyZWQge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjcpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItbmF2LXByaW1hcnlcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5hdiAtIFByaW1hcnlcbi8vXG4vLyBNYXJrdXA6IGItbmF2LXByaW1hcnkuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC4zMVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuICAuYi1maWxsLS1kYXJrLXN0cmlwZSAuYi1uYXYtcHJpbWFyeSAucC0tYnJhbmQgYTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ob21lLnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxNHB4O1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxufVxuXG4vLyBoaWRlIHRoZSBidXJnZXIgbWVudSBhcyBpdHMgbm90IGJlaW5nIHVzZWQuIFdTLTI5ODhcbmEubmF2YmFyLWJ1cmdlci5idXJnZXIubWVudS1pbnZpc2libGV7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5iLW5hdi1wcmltYXJ5IHtcbiAgXG4gIC5iLW5hdi1wcmltYXJ5X19sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIFxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpe1xuICAgIC5iLW5hdi1wcmltYXJ5X19sb2dvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmItbmF2LXByaW1hcnlfX2JyYW5kIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC5sLTItLWhlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iLXJ1bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGJ1KC4zNzUpOyAvLyBwcmV2ZW50IHJlbGF0aXZlIHBvc2l0aW9uZWQgYi1waWN0dXJlIGZyb20gb3ZlcmxhcHBpbmcgdGhpcyBlbGVtZW50XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogKC0jeyRnLW1hcmdpbi1uYXJyb3d9cHgpO1xuICAgICAgbGVmdDogKC0jeyRnLW1hcmdpbi1uYXJyb3d9cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5wLS1icmFuZCB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ob21lLWRhcmsuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEycHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IC0yMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIC8vIHZlcnRpY2FsbHkgY2VudGVyIGl0ZW1zXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX3NlYXJjaCB7XG4gICAgICAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbCB7XG4gICAgICAgIC5iLWJ1dHRvbl9fY29udGVudCB7XG4gICAgICAgICAgLy8gbWF0Y2ggbGluZSBoZWlnaHQgd2l0aCBzaWJsaW5nIGh5cGVybGlua1xuICAgICAgICAgIHBhZGRpbmc6IC4xZW0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDEpO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIC5wLS1icmFuZCBhOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaG9tZS1kYXJrLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDE0cHg7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgfVxuXG4gICAgLmwtMi0taGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBidSgzKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBidSgzKTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIHdpZHRoOiBidSgyMi41KTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcblxuICAgICAgJl9fc2VhcmNoIHtcbiAgICAgICAgLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwge1xuICAgICAgICAgIC5iLWJ1dHRvbl9fY29udGVudCB7XG4gICAgICAgICAgICAvLyBtYXRjaCB2ZXJ0aWNhbCBhbGlnbm1lbnQgd2l0aCBzaWJsaW5nIGh5cGVybGlua1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm90dG9tOiAtLjA1ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoMik7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgJl9fbGlzdCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItaW50cm9kdWN0aW9uXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBJbnRyb2R1Y3Rpb25cbi8vXG4vLyBNYXJrdXA6IGItaW50cm9kdWN0aW9uLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMjJcblxuLy8gSG9tZTpcbi8vICAgICBUaXRsZSB8IEludHJvIDFcbi8vXG4vLyBHdWlkZSBMaXN0aW5nOlxuLy8gICAgIFRpdGxlXG4vLyAgICAgSW50cm8gMSB8IEludHJvIDJcbi8vXG4vLyBHdWlkZTpcbi8vICAgICBUaXRsZSB8IEludHJvIDFcbi8vICAgICAgICAgICB8IFNoYXJlIGJ1dHRvbnNcbi8vXG4vLyAgICAgTm90ZTogSnVtcGxpbmtzIHdlcmUgcGFydCBvZiB0aGlzIGluIHRoZSBJQVxuLy8gICAgIGJ1dCBmb2xsb3cgdGhlIHNoYXJpbmcgYnV0dG9ucyBpbiB0aGUgZGVzaWduXG4vL1xuLy8gVW5kZXJzdGFuZGluZzpcbi8vICAgICBUaXRsZVxuLy8gICAgIEludHJvIDEgfCBPdXRwdXQgYnV0dG9ucyBleGNsIFByZXNlbnQgQWxsXG4vLyAgICAgICAgICAgICB8IFNoYXJlIGJ1dHRvbnNcbi8vXG4vLyBTdWdnZXN0aW9uOlxuLy8gICAgIFRpdGxlXG4vLyAgICAgSW50cm8gMSB8IE91dHB1dCBidXR0b25zIGluY2wgUHJlc2VudCBBbGxcbi8vICAgICAgICAgICAgIHwgU2hhcmUgYnV0dG9uc1xuLy9cbi8vICAgICBOb3RlOiBKdW1wbGlua3Mgd2VyZSBwYXJ0IG9mIHRoaXMgaW4gdGhlIElBXG4vLyAgICAgYnV0IGZvbGxvdyB0aGUgc2hhcmluZyBidXR0b25zIGluIHRoZSBkZXNpZ25cbi8vICAgICBhbmQgdGhlIHNoYXJpbmcgYnV0dG9ucyBoYXZlIGJlZW4gbW92ZWQgaW50b1xuLy8gICAgIHRoZSBpbnRyby5cbi8vXG4vLyBIZWxwLCBQYWdlIG5vdCBmb3VuZCwgU3VnZ2VzdGlvbiBQREZcbi8vICAgICBUaXRsZVxuLy8gICAgIEludHJvIDFcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWludHJvZHVjdGlvbiB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX190aXRsZSB7XG4gICAgLmItdGFnIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tZXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS42KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQpO1xuICAgIH1cbiAgfVxuXG4gICYtLWhlbHAge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMzc1KTtcblxuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNSk7XG4gICAgfVxuICB9XG5cbiAgJi0tZ3VpZGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNS41KTtcblxuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjc1KTtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjEyNSk7XG4gICAgfVxuICB9XG5cbiAgJi0tZ3VpZGUtbGlzdGluZyB7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS4zNzUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy43NSk7XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX2ludHJvLTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC4zNzUpO1xuICAgIH1cbiAgfVxuXG4gICYtLWhvbWUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNS4yNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMyk7XG4gICAgfVxuXG4gICAgdmlkZW8ge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQod2hpdGUsIGJsYWNrKTtcbiAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBhc3BlY3QtcmF0aW86IDU3MC8yODA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1pbnRyb2R1Y3Rpb24tLXRhZ2xpbmUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzA3MDcwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMTZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1pbnRyb2R1Y3Rpb24tLWhvbWUtdmlkZW8ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhc3BlY3QtcmF0aW86IDU3MC8yODA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudmlkZW8tLWNvbnRyb2wge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYXNwZWN0LXJhdGlvOiA1NzAvMjgwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9wYXVzZS1idXR0b24uc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvcGF1c2UtYnV0dG9uLWhvdmVyLnN2Zyk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtLXBhdXNlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvcGxheS1idXR0b24uc3ZnKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3BsYXktYnV0dG9uLnN2Zyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucC0taW50cm8ge1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzY7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IGJ1KDMpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0taG9tZS1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICYtLXN1Z2dlc3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNC41KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMjUpO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBtLW5lc3QoKSBydWxlcyBmYWlsc1xuICAvLyBpZiB0aGlzIGlzIGNvbWJpbmVkIHdpdGggdGhlIGlkZW50aWNhbCBydWxlXG4gIC8vIGFib3ZlXG4gICYtLXVuZGVyc3RhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNC41KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMjUpO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgLmItaW50cm9kdWN0aW9uLS10YWdsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIC5iLXRhZyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZXJyb3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNi4yNSk7XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDcuNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWd1aWRlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDUuNik7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSguNSk7XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuMyk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMjUpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJi5wLS1pbnRybyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNjI1KTsgLy8gcmVkdWNlZFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmItbmF2LWluLXBhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWd1aWRlLWxpc3Rpbmcge1xuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC4yNSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX2ludHJvLTIge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbnRyby1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taGVscCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLS4yNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taG9tZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg4Ljc1KTtcblxuICAgICAgLmItcGljdHVyZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEzLjEyNSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdWdnZXN0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjcpO1xuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNi42MjUpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJi5wLS1pbnRybyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpOyAvLyByZWR1Y2VkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS11bmRlcnN0YW5kIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjcpO1xuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNi42MjUpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJi5wLS1pbnRybyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpOyAvLyByZWR1Y2VkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4qOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogT2xkIHNoYWRvdyBkb20gZm9yIHBsYXkgYnV0dG9uICovXG4qOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogTmV3IHNoYWRvdyBkb20gZm9yIHBsYXkgYnV0dG9uICovXG5cbi8qIFRoaXMgb25lIHdvcmtzISAqL1xuKjo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24ge1xuICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItcnVsZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gUnVsZVxuLy8gXG4vLyBNYXJrdXA6IGItcnVsZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40MFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyBDYW4gYmUgdXNlZCBzdGFuZGFsb25lIG9yIG9uIGFueSBlbGVtZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItcnVsZSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwOyAvLyBwcmV2ZW50cyB0aGljayBib3JkZXIgb24gYi1ydWxlLS12ZXJ0aWNhbCBvbiBuYXJyb3dcbiAgfVxuXG4gIC8vIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHRoaWNrbmVzcyBtb2RpZmllclxuICAmLS1saWdodCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogLjM7XG4gICAgfVxuICB9XG5cbiAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGEgdGhpY2tuZXNzIG1vZGlmaWVyXG4gICYtLWxpZ2h0ZXIge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IC4xO1xuICAgIH1cbiAgfVxuXG4gIC8vIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHRoaWNrbmVzcyBtb2RpZmllclxuICAmLS1saW5rIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgIH1cbiAgfVxuXG4gIC8vIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHRoaWNrbmVzcyBtb2RpZmllclxuICAmLS1uYXJyb3cge1xuICAgIHdpZHRoOiBidSgxMSk7XG4gICAgbWFyZ2luOiBidSgyKSAwO1xuICB9XG5cbiAgLy8gdGhpY2tuZXNzIG1vZGlmaWVyXG4gICYtLXRoaWNrIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBidSguMzc1KTtcbiAgICB9XG4gIH1cblxuICAvLyB0aGlja25lc3MgbW9kaWZpZXJcbiAgJi0tdGhpbiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogYnUoLjEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGEgdGhpY2tuZXNzIG1vZGlmaWVyXG4gICAgJi0tbmFycm93IHtcbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICB3aWR0aDogYnUoMjIuNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdGhpY2tuZXNzIG1vZGlmaWVyXG4gICAgJi0tdGhpY2sge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBidSguNjI1KTtcbiAgICAgIH1cblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBidSguOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0aGlja25lc3MgYW5kIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi0tdmVydGljYWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYnUoLTEuNzUpO1xuICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IGJ1KC4xMjUpO1xuICAgICAgICBvcGFjaXR5OiAuMztcblxuICAgICAgICAubC0yLS1zbGlkZSAmIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgdG9wOiBidSguNSk7XG4gICAgICAgICAgICBsZWZ0OiBidSgtMi41NSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmwtMi0tc2xpZGUtLXByZXNlbnQtd2lkZSAmIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgLy8gaGlkZSB3aGVuIGdyaWQgZGlzcGxheXMgYXMgb25lIGNvbHVtblxuICAgICAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLXJlc3VsdFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2VhcmNoIFJlc3VsdFxuLy8gXG4vLyBNYXJrdXA6IGItc2VhcmNoLXJlc3VsdC5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40NFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zZWFyY2gtcmVzdWx0IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBhZGRpbmc6IGJ1KC4yNSkgYnUoMi41KSBidSgzKTtcbiAgbWFyZ2luLWJvdHRvbTogYnUoMS43KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuICB9XG5cbiAgJl9fY2F0ZWdvcnkge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjcpO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IGJ1KC0uMik7XG4gIH1cblxuICAmX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiBidSgxLjgpO1xuICB9XG5cbiAgJl9fZXhwYW5kIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSguNSk7XG4gIH1cblxuICAmX19leHBhbmQtdGFyZ2V0IHtcbiAgICArICN7ZS1uZXN0KCl9X19idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjgpO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBtYXJnaW46IGJ1KC0uMjUpIGJ1KC0yLjUpIDA7IC8vIG9mZnNldCBwYWRkaW5nXG4gIH1cblxuICAmX19ndWlkZS1jb3ZlciB7XG4gICAgbWluLXdpZHRoOiBidSgyMCk7XG4gIH1cblxuICAmX19ndWlkZS10aXRsZSB7XG4gICAgI3tlLW5lc3QoKX1fX2d1aWRlLWNvdmVyICsgJiB7XG4gICAgICAuYi1zZWFyY2gtcmVzdWx0X19jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWF0Y2gge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAje2UtbmVzdCgpfV9fdGl0bGUgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNCk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC43KTtcbiAgICB9XG5cbiAgICBtYXJrIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gICZfX21ldGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjgpO1xuICB9XG5cbiAgJl9fbW9yZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyLjYpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19waWN0dXJlIHtcbiAgICAmLS1oZWxwIHtcbiAgICAgICsgI3tlLW5lc3QoKX1fX2hlbHAtc29sdXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZWFzZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KDEuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxLjIpO1xuXG4gICAgKyAje2UtbmVzdCgpfV9fZXhwYW5kIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuMSk7XG4gICAgfVxuICB9XG5cbiAgPiAubC0yX19jb2wsXG4gID4gLmwtM19fY29sIHtcbiAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tbWVyZ2Uge1xuICAgIG1hcmdpbi10b3A6IGJ1KC0xLjcpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmc6IGJ1KDMuNSkgMCBidSgyLjgpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjcpO1xuICAgIH1cblxuICAgICZfX2NhdGVnb3J5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGJ1KDUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDUpO1xuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuOCk7XG4gICAgfVxuXG4gICAgJl9fZXhwYW5kIHtcbiAgICAgIC5qcy1lbmFibGVkICYge1xuICAgICAgICAuYi1jb250ZW50LXJldmVhbF9faGVhZGVyIHtcbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3VpZGUtdGl0bGUge1xuICAgICAgI3tlLW5lc3QoKX1fX2d1aWRlLWNvdmVyICsgJiB7XG4gICAgICAgIC5iLXNlYXJjaC1yZXN1bHRfX2NhdGVnb3J5IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjkpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC45KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgIG1hcmdpbjogYnUoLS4zKSAxNSUgMDtcbiAgICB9XG5cblxuICAgICZfX21hdGNoIHtcbiAgICAgICN7ZS1uZXN0KCl9X190aXRsZSB+ICYge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3BpY3R1cmUge1xuICAgICAgJi0taGVscCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RlYXNlciB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjMpO1xuICAgIH1cblxuICAgICYtLWd1aWRlIHtcbiAgICAgICN7bS1uZXN0KCl9X19jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taGVscCB7XG4gICAgICAje20tbmVzdCgpfV9fZGV0YWlscyB7XG4gICAgICAgIC5sLTFfX2NvbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iLXBpY3R1cmVfX2ltYWdlIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fbWF0Y2gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC45KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX21hdGNoICsgI3ttLW5lc3QoKX1fX2V4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLjkpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLjJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC40KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjIpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogYnUoMyk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcmVzb3VyY2Uge1xuICAgICAgLy8gb2Zmc2V0IHRoZSBidXR0b24gaWYgdGhlIGNvbnRhaW5lciBpcyBleHBhbmRlZFxuICAgICAgI3ttLW5lc3QoKX1fX2V4cGFuZC10YXJnZXQge1xuICAgICAgICAmOm5vdChbZGF0YS1oaWRkZW5dKSB7XG4gICAgICAgICAgJiArIC5sLTItLXNlYXJjaC0tcmVzdWx0IHtcbiAgICAgICAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgIC5iLXNlYXJjaC1yZXN1bHRfX2J1dHRvbiB7XG4gICAgICAgICAgICAgIC8vIG92ZXJsYXAgdGhlIHRyYWlsaW5nIGd1dHRlciBvZiAubC0xLS1zZWFyY2gtLXJlc3VsdC1jb250ZW50ID4gLmwtMV9fY29sXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC0xLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fbWF0Y2gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC45KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX21hdGNoICsgI3ttLW5lc3QoKX1fX2V4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLjkpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLjJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC40KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjIpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogYnUoMyk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uYXYtaW4tcGFnZS1waW5uZWQtanNcbi8vXG4vLyBTZWUgYWxzbyBsYXlvdXQvX3otaW5kZXguc2Nzc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTmF2IC0gSW4tcGFnZSAtIHBpbm5lZFxuLy9cbi8vIFRoaXMgdmFyaWFudCBpcyBhbHdheXMgcGlubmVkLFxuLy8gYnV0IHdpbGwgb25seSBhcHBlYXIgYXRcbi8vIGNlcnRhaW4gYnJlYWtwb2ludHMgYW5kIHNjcm9sbHBvaW50cy5cbi8vIEl0IGV4dGVuZHMgYi1uYXYtaW4tcGFnZSwgYWRkaW5nOlxuLy8gLSBhIGZpeGVkIGJsb2NrIGhlYWRpbmdcbi8vIC0gYSBkeW5hbWljIGN1cnJlbnQgc2VjdGlvbiB0aXRsZVxuLy8gLSBhIGJhY2sgdG8gdG9wIGxpbmssXG4vLyAtIGV4cGFuZC9jb2xsYXBzZVxuLy8gLSBkeW5hbWljIGN1cnJlbnQgbGluayBoaWdobGlnaHRpbmdcbi8vXG4vLyBNYXJrdXA6IGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYi1uYXYtaW4tcGFnZS1waW5uZWQtanMtYnV0dG9uLXBhZGRpbmctLW1vYmlsZTogYnUoMS43KSBidSgxLjg3NSkgYnUoMS4yKSBidSgkZy1tYXJnaW4tbmFycm93IC8gJGctYnUpO1xuJGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLWJ1dHRvbi1wYWRkaW5nLS1kZXNrdG9wOiBidSgxLjE1KSBidSgxLjg3NSkgYnUoLjkpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIHRoZSBwaW5uZWQgYmFyXG4uYi1uYXYtaW4tcGFnZS1waW5uZWQtanMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gYmFyIGlzIHBlcm1hbmVudGx5IHBpbm5lZFxuICAvLyBidXQgaXMgb25seSByZXZlYWxlZCB3aGVuIGItaW4tcGFnZS1uYXYgaXMgc2Nyb2xsZWQgb2ZmIHRoZSBwYWdlXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcblxuICAvLyB0aGUgZmlsbCBtYXRjaGVzIGItbmF2LWd1aWRlLXNpZGViYXJcbiAgJi5iLWZpbGwtLWRhcmstbGlnaHQtc3RyaXBlIHtcbiAgICAvLyBhbGxvdyBtZW51IHRvIHBvcCBvdXQgb2YgdGhlIHBpbm5lZCBiYXJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBcIk9uIHRoaXMgcGFnZVwiIHRpdGxlXG4gIC8vIHZpc3VhbGx5IHRoaXMgbG9va3MgbGlrZSB0aGUgZHJvcGRvd24ncyBsYWJlbCBvbiBwYWdlLXdpZGUtYW5kLXVwXG4gIC8vIG5hcnJvdzogZGlzcGxheXMgbmV4dCB0byB0aGUgZXhwYW5kIGJ1dHRvbiB3aGVuIHRoZSBtZW51IGlzIG9wZW5cbiAgLy8gcGFnZS13aWRlLWFuZC11cDogZGlzcGxheXMgdG8gdGhlIGZhciBsZWZ0IG9mIHRoZSBleHBhbmQgYnV0dG9uIHRleHQgYW5kIGljb25cblxuICAvLyAmX19sYWJlbCB7fVxuXG4gIC8vIGJhY2sgdG8gdG9wIGJ1dHRvblxuICAvLyBuYXJyb3c6IGRpc3BsYXlzIGJlbG93IHRoZSB0aXRsZSB3aGVuIHRoZSBtZW51IGlzIG9wZW5cbiAgLy8gcGFnZS13aWRlLWFuZC11cDogZGlzcGxheXMgbmV4dCB0byB0aGUgZXhwYW5kIGJ1dHRvbiBpY29uIHdoZW4gdGhlIG1lbnUgaXMgb3BlblxuXG4gICZfX3RvcCB7XG4gICAgJl9fcnVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNyk7XG4gICAgfVxuICB9XG5cbiAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51XG4gIC8vIHdyYXBwZXIgdG8gYWxsb3cgYWJzb2x1dGUgcG9zaXRpb25pbmcgb2YgdGhlIG1lbnVcbiAgJl9fbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93blxuICAgIC8vIHRoZSBtZW51IHBvcHMgb3V0IG92ZXIgdGhlIHBpbm5lZCBiYXIgd2hlbiBvcGVuZWRcbiAgICAmX19kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAkYi1uYXYtaW4tcGFnZS1waW5uZWQtanMtYnV0dG9uLXBhZGRpbmctLW1vYmlsZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgICBib3gtc2hhZG93OiAwIGJ1KC4yNSkgYnUoMSkgcmdiYShjb2xvcihmaWxsLWRhcmspLCAuMDgpO1xuXG4gICAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNfX21lbnVfX2Ryb3Bkb3duX19oZWFkZXJcbiAgICAgICZfX2hlYWRlciB7XG5cbiAgICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9faGVhZGVyX19sYWJlbFxuICAgICAgICAvLyB0aGlzIGlzIGEgZHVwbGljYXRlIG9mIHRoZSB0aXRsZSB0aGF0IGFwcGVhcnNcbiAgICAgICAgLy8gaW4gYSBkaWZmZXJlbnQgbG9jYXRpb24gb24gcGFnZS13aWRlLWFuZC11cFxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgLy8gcmVzZXQgaDJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIC8vIHB1c2ggYWRqYWNlbnQgcnVsZSBhbmQgdGV4dCBkb3duLCBiZWxvdyB0aGUgJ2J1dHRvbidcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhlIHBhcmVudCBvZiB0aGUgaW52aWV3IHRleHQgc2VsZWN0b3JcbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9faGVhZGVyX19pbnZpZXdcbiAgICAgICAgLy8gZGlzcGxheXMgdGhlIHRleHQgb2YgdGhlIGN1cnJlbnQgSDIvSDMgd2hpY2ggaXMgJ2luIHZpZXcnXG4gICAgICAgICZfX2ludmlldyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSg2KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNfX21lbnVfX2Ryb3Bkb3duX19idXR0b25cbiAgICAgIC8vIFRoZSBkcm9wZG93biBleHBhbmQvY29sbGFwc2UgYnV0dG9uLFxuICAgICAgLy8gdXNlcyBiLWNvbnRlbnQtcmV2ZWFsIGFuZCBoaWRlLXNob3cuanMuXG4gICAgICAvLyBUaGUgcHJlY2VkaW5nIGhlYWRlciBpdGVtcyBhcHBlYXIgdG8gZXhpc3Qgd2l0aGluIHRoaXMgYnV0dG9uLFxuICAgICAgLy8gYnV0IGFzIHRoZXkgYXJlIHNlbWFudGljYWxseSBpbmNvbXBhdGlibGUgKGUuZy4gYSBiYWNrIHRvIHRvcCBsaW5rIGluc2lkZSBhIGJ1dHRvbilcbiAgICAgIC8vIHRoZSBidXR0b24gYWN0dWFsbHkgY29udGFpbnMgb25seSBhIGhpZGRlbiBsYWJlbCBhbmQgdGhlIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gZWxlbWVudFxuICAgICAgLy8gYW5kIHRoaXMgaXMgcG9zaXRpb25lZCBvbiB0b3Agb2YgdGhlIGhlYWRlciB0ZXh0IHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgY29tcGxldGUgYnV0dG9uXG4gICAgICAvLyB3aGlsZSBzdGlsbCBtYWludGFpbmluZyBzZXBhcmF0aW9uIGZvciBnb29kIGFjY2Vzc2liaWxpdHlcbiAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgIC8vIGJ1dHRvbiBpcyBvdmVybGFpZCBvdmVyIHRoZSBoZWFkZXIgdGV4dCBhdCAxMDAlIHdpZHRoXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAvLyB0aGUgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6ICRiLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy1idXR0b24tcGFkZGluZy0tbW9iaWxlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyAvLyBkcm9wZG93biBpY29uXG5cbiAgICAgICAgICAvLyBvdmVycmlkZSAuanMtZW5hYmxlZCAuYi1jb250ZW50LXJldmVhbF9faGVhZGVyIGJ1dHRvblxuICAgICAgICAgIC5qcy1lbmFibGVkICYge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGEgc3BhY2VyIGVsZW1lbnRcbiAgICAgICAgICAvLyB0byBleHBhbmQgdGhlIGJ1dHRvbiBoZWlnaHQgdG8gbWF0Y2ggdGhlIGhlYWRlciB0ZXh0IHN0YWNrZWQgdW5kZXJuZWF0aFxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwLS1uYXYtLWluLXBhZ2UtcGlubmVkLXRyaWdnZXItdGV4dDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGJ1dHRvbiBjaGV2cm9uXG4gICAgICAgICAgLmgtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigxODApO1xuICAgICAgICAgICAgd2lkdGg6IC45ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IC45ZW07XG5cbiAgICAgICAgICAgIC8vIElFMTEgZmFpbHMgdG8gcmVuZGVyIHRoZSBTVkcgc2hhcGVcbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAmLmgtaWNvbi0tY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRnLWltYWdlLXBhdGggKyBcImljb25zL2NoZXZyb24tYmx1ZS5zdmdcIik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBleHBhbmRlZCBidXR0b24gaWNvblxuICAgICAgICAgICYuaXMtb3BlbmVkIHtcbiAgICAgICAgICAgIC5oLWljb24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9fbGlzdFxuICAgICAgLy8gbmF2aWdhdGlvbiBsaXN0IG9mIGp1bXBsaW5rc1xuICAgICAgJl9fbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuXG4gICAgICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudV9fZHJvcGRvd25fX2xpc3RfX2l0ZW1cbiAgICAgICAgLy8gbGlzdCBpdGVtXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNfX21lbnVfX2Ryb3Bkb3duX19saXN0X19saW5rXG4gICAgICAgIC8vIGp1bXAgbGlua1xuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgyLjUpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoNCk7IC8vIG1hdGNoIHRleHQgd3JhcHBpbmcgdG8gdGhlIGRlc2lnblxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgLy8gb3ZlcnJpZGVzIHRvIGItbGluay1pY29uXG4gICAgICAgICAgJi5iLWxpbmstaWNvbi0tc3RhcnQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgIC5oLWljb24tLWFycm93IHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvLyB1bmRlcmxpbmUgdGV4dCBvbiBob3ZlciwgYnV0IG5vdCBpY29uXG4gICAgICAgICAgICAuYi1saW5rLWljb25fX2xpbmVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogYnUoLjEyNSkgc29saWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gYm9sZCB0aGUganVtcGxpbmsgd2hpY2ggbWF0Y2hlcyB0aGUgYmxvY2sgd2hpY2ggaXMgJ2luIHZpZXcnXG4gICAgICAgICAgLy8gc2VlIG5hdi1pbi1wYWdlLmpzXG4gICAgICAgICAgJiN7ZS1uZXN0KCl9LS1pcy1pbnZpZXcge1xuICAgICAgICAgICAgJiwgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICAmIC5hIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudV9fZHJvcGRvd25fX2xpc3RfX2xpbmtfX2ljb25cbiAgICAgICAgICAvLyBpY29uIHRvIHRoZSBsZWZ0IG9mIHRoZSBqdW1wbGlua1xuICAgICAgICAgIC8vIHRoZXNlIGR5bmFtaWNhbGx5IGNoYW5nZSB0byBtYXRjaCB0aGUgYmxvY2sgd2hpY2ggaXMgJ2luIHZpZXcnXG4gICAgICAgICAgLy8gc2VlIG5hdi1pbi1wYWdlLmpzXG4gICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC4wNWVtO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAuNzVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAvLyBpdGVtcyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBjdXJyZW50IGl0ZW0gaGF2ZSBhbiBhcnJvd1xuICAgICAgICAgICAgLy8gYSBkaXJlY3Rpb25hbCBjbGFzcyBpcyB0b2dnbGVkIGJ5IHRoZSBKU1xuICAgICAgICAgICAgLy8gdG8gcHJvdmlkZSBib3RoICd1cCcgYW5kICdkb3duJyB2YXJpYXRpb25zXG4gICAgICAgICAgICAmLmgtaWNvbi0tYXJyb3cge1xuICAgICAgICAgICAgICBmaWxsOiBjb2xvcihsaW5rKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgaXRlbSBoYXMgYSBidWxsZXRcbiAgICAgICAgICAgICYuaC1pY29uLS1idWxsZXQge1xuICAgICAgICAgICAgICB3aWR0aDogYnUoLjUpO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjU1KTsgLy8gYWxpZ24gd2l0aCBhZGphY2VudCBhcnJvd3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ydWxlIHtcbiAgICBoZWlnaHQ6IDFweDsgLy8gZmF1eCBib3JkZXJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyB0aGUgaXMtb3BlbiBjbGFzcyBpcyB0b2dnbGVkXG4gIC8vIGJ5IG5hdi1pbi1wYWdlLXBpbm5lZC5qc1xuICAvLyB2aWEgYSBwdWJzdWIgZXZlbnQgaW4gaGlkZS1zaG93LmpzXG4gIC5oLXNob3ctLWlzLW9wZW4ge1xuICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgfVxuXG4gICYtLWlzLW9wZW4ge1xuICAgICYje20tbmVzdCgpfSB7XG4gICAgICAuaC1oaWRlLS1pcy1vcGVuIHtcbiAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgfVxuXG4gICAgICAuaC1zaG93LS1pcy1vcGVuIHtcbiAgICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtYmVsb3ctd2lkZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4gICAgJi5iLWZpbGwtLWRhcmstbGlnaHQtc3RyaXBlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgIH1cblxuICAgIC5iLXJ1bGUge1xuICAgICAgJi5iLWZpbGwtLWRhcmstbGlnaHQtc3RyaXBlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtYWtlIHRoZSBkcm9wZG93biBtZW51IGV4dGVuZCB0byB0aGUgZnVsbCB3aWR0aCBvbiBuYXJyb3cgdmlld3BvcnRzXG4gICAgLy8gVE9ETyB0aGlzIGlzIGFwcGx5aW5nIGF0IDEwMjNweFxuICAgID4gLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fdG9wIHtcbiAgICAgIG1hcmdpbjogMDsgLy8gcmVzZXQgcFxuXG4gICAgICAmX19saW5rIHtcbiAgICAgICAgLy8gbGluayBpcyBibG9jayBmcm9tIGgtZWxsaXBzaXNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiBidSgxLjcpIGJ1KDUpIGJ1KDEuNykgMDsgLy8gcmlnaHQgaXMgc3BhY2UgZm9yIGljb25cblxuICAgICAgICAmLmItbGluay1pY29uLS1lbmQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGJ1KDIpO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICAmLmItbGluay1pY29uX19pY29uIHtcbiAgICAgICAgICB3aWR0aDogLjhlbTtcbiAgICAgICAgICBoZWlnaHQ6IC44ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMi42KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWlzLW9wZW4ge1xuICAgICAgJiN7bS1uZXN0KCl9IHtcbiAgICAgICAgLmgtaGlkZS0taXMtb3BlbiB7XG4gICAgICAgICAgJi5oLXNob3ctLXBhZ2UtYmVsb3ctd2lkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmgtc2hvdy0taXMtb3BlbiB7XG4gICAgICAgICAgJi5oLWhpZGUtLXBhZ2UtYmVsb3ctd2lkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgLmwtMi0tY29udGVudC0tZ3VpZGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICB3aWR0aDogLjg1ZW07XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi42KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICAgIH1cblxuICAgIC5iLXJ1bGUtLXRoaW4ge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS40KTtcbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgdG9wOiBidSgxLjI1KTtcbiAgICAgICAgcGFkZGluZzogJGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLWJ1dHRvbi1wYWRkaW5nLS1kZXNrdG9wO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihydWxlLXRoaW4tbGlnaHRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGJ1KC4yNSk7XG5cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMS43KTtcblxuICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS44KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ydWxlIHtcbiAgICAgIC8vIEF0IHRoaXMgYnJlYWtwb2ludCwgdGhlIHBpbm5lZCBuYXYgc2l0cyBvbiB0b3BcbiAgICAgIC8vIG9mIHRoZSBndWlkZSBuYXYgKHdoaWNoIGNhbiBhbHNvIHBpbikuXG4gICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBtYWludGFpbiB1c2VyIGludGVyYWN0aXZpdHlcbiAgICAgIC8vIGluIGFsbCBwaW5uZWQgYW5kIG5vbi1waW5uZWQgYXJlYXMgb2YgdGhlIFVJLlxuICAgICAgLy8gVGhlIG9mZnNldCBiZWxvdyBjcmVhdGVzIHRoZSBpbGx1c2lvbiBvZiBuby1vdmVybGFwLlxuXG4gICAgICAvLyBUT0RPOiBjYWxjIGNvcGllZCBmcm9tIHRoZSBncmlkIG91dHB1dCBhdCB0aGUgZGVza3RvcCBsYXlvdXQgLSBtYWtlIHRoaXMgZHluYW1pY1xuICAgICAgJi0tb2Zmc2V0IHtcbiAgICAgICAgLy8gT24gZ3VpZGUgcGFnZXMgd2l0aCBzaWRlYmFyXG4gICAgICAgIC5sLTItLXBhZ2UtLWd1aWRlICYge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtICg3MC43NXJlbSAtIDM1LjM3NXJlbSAtIDZyZW0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1lbnUgb3BlbiBidXR0b24gY29udGFpbmluZyBjaGV2cm9uIGFuZCBoaWRkZW4gdGV4dFxuICAgIC5iLWNvbnRlbnQtcmV2ZWFsIHtcbiAgICAgICZfX2hlYWRlciB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogJGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLWJ1dHRvbi1wYWRkaW5nLS1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taXMtb3BlbiB7XG4gICAgICAje20tbmVzdCgpfV9fbWVudSB7XG4gICAgICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgICAvLyBkaXNhYmxlIHRoZSBmdWxsLXdpZHRoIGJ1dHRvbiBzdHJldGNoXG4gICAgICAgICAgLy8gc28gdGhhdCBvbmx5IHRoZSByaWdodCBoYW5kIHNpZGUgb2YgdGhlICdidXR0b24nIGlzIGNsaWNrYWJsZVxuICAgICAgICAgIC8vIHRoaXMgYWxsb3dzIHRoZSBub3cgYWRqYWNlbnQgYmFjayB0byB0b3AgbGluayB0byBiZSBjbGlja2VkXG4gICAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYje20tbmVzdCgpfSB7XG4gICAgICAgIC5oLWhpZGUtLWlzLW9wZW4ge1xuICAgICAgICAgICYuaC1zaG93LS1wYWdlLXdpZGUtYW5kLXVwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaC1zaG93LS1pcy1vcGVuIHtcbiAgICAgICAgICAmLmgtaGlkZS0tcGFnZS13aWRlLWFuZC11cCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcGlubmVkIHtcbiAgICAgIC5sLTItLXBhZ2UtLWd1aWRlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgID4gLmwtMl9fY29sIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb2xvdXJzXG4vL1xuLy8gU2l0ZSBjb2xvdXIgcGFsZXR0ZS5cbi8vICogYHNyYy9zY3NzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3NgIChzdHlsZXMpXG4vLyAqIGBzcmMvdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2NvbG9ycy9jb2xvcnMuaHRtbGAgKHN0eWxlZ3VpZGUpXG4vL1xuLy8gTWFya3VwOiBjb2xvcnMuaHRtbFxuLy9cbi8vIHBhdHRlcm46IHRydWVcbi8vXG4vLyBTdHlsZWd1aWRlOiA5OS4zXG5cbi5wYXR0ZXJuLWNvbG9yIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coXCJjZW50ZXJcIik7XG4gIHBhZGRpbmc6IHJlbSgkZy1idSAqIDQpO1xuXG4gICZfX25hbWUge1xuICAgIG1hcmdpbjogcmVtKCRnLWJ1KSAwIDA7XG4gICAgZm9udC1zaXplOiBidSgyKTtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyA1KTtcbiAgICBtYXJnaW46IGJ1KDEpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICoge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N3YXRjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGJ1KDEwKTtcbiAgICBoZWlnaHQ6IGJ1KDEwKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAmX192YXJpYWJsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoLS41KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiBidSgxLjUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAmX19oZXgge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogYnUoMS41KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbi8vIGdlbmVyYXRlIHNlbGVjdG9ycyBmb3IgU3R5bGUgUGF0dGVybnMgZnJvbSAkY29sb3JzIG1hcFxuLy8gc2VlIHNjc3MvdmFyaWFibGVzL19jb2xvcnMuc2Nzc1xuQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgLnBhdHRlcm4tY29sb3JfX2l0ZW0tLSN7JG5hbWV9IHtcblxuICAgIC5wYXR0ZXJuLWNvbG9yX19zd2F0Y2gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRjb2xvcnMsICRuYW1lLCBcImhleFwiKTtcbiAgICB9XG5cbiAgICAucGF0dGVybi1jb2xvcl9fbmFtZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBtYXAtZGVlcC1nZXQoJGNvbG9ycywgJG5hbWUsIFwibmFtZVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGF0dGVybi1jb2xvcl9faGV4IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiaGV4OiAje21hcC1kZWVwLWdldCgkY29sb3JzLCAkbmFtZSwgXCJoZXhcIil9XCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhdHRlcm4tY29sb3JfX3ZhcmlhYmxlIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiY29sb3IoI3skbmFtZX0pXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBJY29uc1xuLy9cbi8vIFNpdGUgaWNvbnMuXG4vLyAqIGBzcmMvaW1nL2ljb25zL2AgKFNWR3MpXG4vLyAqIGBzcmMvdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2ljb25zL2ljb25zLmh0bWxgIChlbGVtZW50cylcbi8vIFxuLy8gU2VlIGFsc286XG4vLyAqIGBzcmMvc2Nzcy9oZWxwZXJzL19pY29ucy5zY3NzYCAoY3VzdG9tIHRyZWF0bWVudHMpXG4vL1xuLy8gTWFya3VwOiBpY29ucy5odG1sXG4vL1xuLy8gcGF0dGVybjogdHJ1ZVxuLy9cbi8vIFN0eWxlZ3VpZGU6IDk5LjdcblxuLmljb25zIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coXCJjZW50ZXJcIik7XG4gIHBhZGRpbmc6IHJlbSgkZy1idSAqIDQpO1xuXG4gICZfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyA1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAqIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgICYtLWxvYWRpbmctc3Bpbm5lci1sYXJnZSxcbiAgICAmLS1sb2FkaW5nLXNwaW5uZXItc21hbGwtd2hpdGUge1xuICAgICAgLmgtaWNvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogbG9hZGluZy1zcGlubmVyLWFuaW1hdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICA+IC5oLWljb24ge1xuICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX25hbWUge1xuICAgIG1hcmdpbjogcmVtKCRnLWJ1KSAwIDA7XG4gIH1cblxuICAmX19pZCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19oZXgge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxvYWRpbmctc3Bpbm5lci1hbmltYXRpb24ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4iLCIvLyBHcmlkXG4vL1xuLy8gU2l0ZSBkZWZhdWx0IEdyaWQuXG4vLyAqIGBzcmMvc2Nzcy9sYXlvdXQvX2dyaWQuc2Nzc2AgKHJvdyBzdHlsaW5nIGFuZCBnZW5lcmljIHJlc3BvbnNpdmUgY29sdW1ucylcbi8vICogYHNyYy9zY3NzL2xheW91dC9fb3V0ZXItY29udGFpbmVyLnNjc3NgIChyZXNwb25zaXZlIGxheW91dCBib3VuZGFyaWVzKVxuLy8gKiBgc3JjL3Njc3MvdG9vbHMvX2NhbGMtZ3JpZC5zY3NzYCAobWl4aW5zKVxuLy8gKiBgc3JjL3Njc3MvdG9vbHMvX21lZGlhLnNjc3NgIChyZXNwb25zaXZlIG1peGlucylcbi8vICogYHNyYy9zY3NzL3ZhcmlhYmxlcy9fZ2VuZXJhbC5zY3NzYCAodW5pdHMpXG4vLyAqIGBzcmMvdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2dyaWQvZ3JpZC5odG1sYCAoZWxlbWVudHMpXG4vLyBcbi8vIFNlZSBhbHNvOlxuLy8gKiBgc3JjL3Njc3MvaGVscGVycy9fbGF5b3V0LnNjc3NgIChyZXNwb25zaXZlIGhpZGluZyAmIHNob3dpbmcpXG4vLyAqIGBzcmMvc2Nzcy9oZWxwZXJzL19vcmRlci5zY3NzYCAocmVzcG9uc2l2ZSBjb2x1bW4gcmVvcmRlcmluZylcbi8vICogYHNyYy9zY3NzL2hlbHBlcnMvX3N0YXRlLnNjc3NgIChub3NjcmlwdCBoaWRpbmcgJiBzaG93aW5nKVxuLy8gKiBgc3JjL3Njc3MvdmFyaWFibGVzL19icmVha3BvaW50cy5zY3NzYCAocmVzcG9uc2l2ZSBicmVha3BvaW50cylcbi8vICogYHNyYy90ZW1wbGF0ZXMvbGF5b3V0cy9gIChjdXN0b20gdmFyaWF0aW9ucylcbi8vXG4vLyBNYXJrdXA6IGdyaWQuaHRtbFxuLy9cbi8vIHBhdHRlcm46IHRydWVcbi8vXG4vLyBTdHlsZWd1aWRlOiA5OS4yXG5cbi5ncmlkLXBhdHRlcm4ge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICB9XG5cbiAgW2NsYXNzKj1cImdyaWQtXCJdIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgY29sb3I6ICMyMjI7XG4gIH1cblxuICAuZ3JpZC0xb2YyIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMik7XG4gIH1cblxuICAuZ3JpZC0xb2YzIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMyk7XG4gIH1cblxuICAuZ3JpZC0xb2Y0IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gNCk7XG4gIH1cblxuICAuZ3JpZC0xb2YxMiB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDEyKTtcbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGwtMVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCBTdHlsZXNcbi8vIFVzYWdlIGlzIGFsc28gZG9jdW1lbnRlZCBpbiBfYy1sYXlvdXRzLnNjc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubC0xIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXIgLSBDb250ZW50XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBQYWdlIGNvbnRlbnQgaGVhZGVyc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTEtLWhlYWRlci0tY29udGVudFxuICAmLS1oZWFkZXItLWNvbnRlbnQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXIgLSBHdWlkZVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gR3VpZGUgcGFnZSBjb250ZW50IGhlYWRlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1oZWFkZXItLWd1aWRlXG4gICYtLWhlYWRlci0tZ3VpZGUge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEhlYWRlciAtIFdpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIFVuZGVyc3RhbmQgcGFnZSBjb250ZW50IGhlYWRlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1oZWFkZXItLXdpZGVcbiAgJi0taGVhZGVyLS13aWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQaW5uZWQgYWJvdmUgUkggY29sIG9mIHBhZ2UgZ3VpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIE5hdiAtIEluLXBhZ2UgLSBwaW5uZWRcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1wYWdlLS1ndWlkZS0tcGlubmVkXG4gICYtLXBhZ2UtLWd1aWRlLS1waW5uZWQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICAvLyBPbiBndWlkZSBwYWdlcyB3aXRoIHNpZGViYXJcbiAgICAgIC5sLTItLXBhZ2UtLWd1aWRlICYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IC8vIHJpZ2h0IGFsaWduIGNvbCB3aXRoaW4gcm93ICAgIFxuICAgICAgfVxuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQYWdlIC0gTmFycm93XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBFcnJvciBwYWdlLCBcbiAgLy8gSGVscCBwYWdlLCBcbiAgLy8gU2VhcmNoIG1vZGFsIHNlYXJjaCBmaWVsZFxuICAvLyBTZWFyY2ggbW9kYWwgcmVzdWx0cyBtZXNzYWdlIFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTEtLXBhZ2UtLW5hcnJvd1xuICAmLS1wYWdlLS1uYXJyb3cge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMTApOyAvLyBlcnJvciBwYWdlXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2VhcmNoXG4gIC8vIFdpZGUgZ3JpZFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDYgR1VJREUgTElTVCBTRUFSQ0ggQU5EIEZJTFRFUiAoR3VpZGUgTGlzdCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTEtLXNlYXJjaFxuICAmLS1zZWFyY2gge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LWVuZFwiKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyKTtcbiAgICAgIH1cblxuICAgICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTZWFyY2ggUmVzdWx0cyBTdW1tYXJ5XG4gIC8vIFdpZGUgZ3JpZFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDYgR1VJREUgTElTVCBTRUFSQ0ggQU5EIEZJTFRFUiAoR3VpZGUgTGlzdCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTEtLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnlcbiAgJi0tc2VhcmNoLXJlc3VsdHMtc3VtbWFyeSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtZW5kXCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTZWFyY2ggUmVzdWx0IENvbnRlbnRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDEwLjA0IOKAlCBTRUFSQ0ggUkVTVUxUIChTZWFyY2ggcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1zZWFyY2gtLXJlc3VsdC1jb250ZW50XG4gICYtLXNlYXJjaC0tcmVzdWx0LWNvbnRlbnQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig2IC8gOSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gbC0yXG4vL1xuLy8gU2VlIGFsc28gbGF5b3V0L196LWluZGV4LnNjc3Ncbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGF5b3V0IFN0eWxlc1xuLy8gVXNhZ2UgaXMgYWxzbyBkb2N1bWVudGVkIGluIF9jLWxheW91dHMuc2Nzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5sLTIge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIENvbnRlbnRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA3IEdVSURFIFRJTEVTIChIb21lIHBhZ2UgZ3VpZGUgdGlsZXMpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tY29udGVudFxuICAmLS1jb250ZW50IHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMyAvIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIENvbnRlbnQgLSBFeGFtcGxlIEhvbWVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIEV4YW1wbGUgLSBIb21lXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tY29udGVudC0tZXhhbXBsZS1ob21lXG4gICYtLWNvbnRlbnQtLWV4YW1wbGUtaG9tZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1aWRlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBNVUxUSVBMRSBDT01QT05FTlRTIChHdWlkZSBwYWdlIGNvbnRlbnQsIEhlbHAgcGFnZSBjb250ZW50LCBVbmRlcnN0YW5kIHBhZ2UgY29udGVudClcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1jb250ZW50LS1ndWlkZVxuICAmLS1jb250ZW50LS1ndWlkZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIGZvciBndWlkZSBwYWdlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBGaWx0ZXJcbiAgLy8gRHVlIHRvIGRlc2lnbiB1cGRhdGVzIHRoaXMgaXMgbm93IGEgY2xvbmUgb2ZcbiAgLy8gLmwtMi0tY29udGVudC0tZ3VpZGVcbiAgLy8gXG4gIC8vIFNoYXJlZCBieSBHdWlkZSAoMiBjb2wgcGFnZSlcbiAgLy8gYW5kIEd1aWRlIExpc3RpbmcgKDEgY29sIHBhZ2UpXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNiBHVUlERSBMSVNUIFNFQVJDSCBBTkQgRklMVEVSIChHdWlkZSBMaXN0IHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZmlsdGVyXG4gICYtLWZpbHRlciB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIC8vIHBhZ2VzIHRoYXQgZG9uJ3QgaGF2ZSBhIExIIGd1aWRlIG5hdlxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICAgLy8gcGFnZXMgdGhhdCBkbyBoYXZlIGEgTEggZ3VpZGUgbmF2XG4gICAgICAgICAgLmwtMi0tcGFnZS0tZ3VpZGUgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgLy8gcGFnZXMgdGhhdCBkb24ndCBoYXZlIGEgTEggZ3VpZGUgbmF2XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgICAvLyBwYWdlcyB0aGF0IGRvIGhhdmUgYSBMSCBndWlkZSBuYXZcbiAgICAgICAgICAubC0yLS1wYWdlLS1ndWlkZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRm9vdGVyXG4gIC8vXG4gIC8vIFVzZWQgYnk6IEFsbCBmdWxsIHBhZ2VzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZm9vdGVyXG4gICYtLWZvb3RlciB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig3IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBwcmludCB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA3IEdVSURFIFRJTEUgQ09NUE9ORU5UIChHdWlkZSBwYWdlOiBNb3JlIG9wdGlvbnMpXG4gIC8vIFxuICAvLyBOYXJyb3dcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFxuICAvLyBYLVdpZGUgKDIvMiBjb2wgY29udGFpbmVyKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vICAgICAgICAgWyBkZXNjICAgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vICAgICAgICAgWyBkZXNjICAgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vICAgICAgICAgWyBkZXNjICAgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWd1aWRlLXRpbGUtLWZlYXR1cmVkXG4gICYtLWd1aWRlLXRpbGUtLWZlYXR1cmVkIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMDQgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxNTIgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAvLyBwcmV2ZW50IGNvbnRlbnQgZnJvbSB0b3VjaGluZyB0aGUgZWRnZVxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBidSgyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDI3MCAvIDc0OCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQ0OCAvIDc0OCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWQgLSBOZXh0IFN0ZXBzXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNCBORVhUIFNURVBTIChTdWdnZXN0aW9uIHBhZ2UsIFVuZGVyc3RhbmQgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1ndWlkZS10aWxlLS1mZWF0dXJlZC0tbmV4dC1zdGVwc1xuICAmLS1ndWlkZS10aWxlLS1mZWF0dXJlZC0tbmV4dC1zdGVwcyB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig5OSAvIDI3OCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE1NSAvIDI3OCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig5OSAvIDQ1MywgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMyMiAvIDQ1MywgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWQgLSBUYWxsXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNyBHVUlERSBUSUxFIENPTVBPTkVOVCAoSG9tZSBwYWdlKVxuICAvLyBcbiAgLy8gTmFycm93XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBcbiAgLy8gWC1XaWRlICgxLzEgY29sIGNvbnRhaW5lcilcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIGltYWdlICAgfCAgIGltYWdlICAgfCAgIGltYWdlXG4gIC8vIGhlYWRlciAgfCAgIGhlYWRlciAgfCAgIGhlYWRlclxuICAvLyBkZXNjICAgIHwgICBkZXNjICAgIHwgICBkZXNjXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLXRhbGxcbiAgJi0tZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLXRhbGwge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTA0IC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTUyIC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgLy8gcHJldmVudCBjb250ZW50IGZyb20gdG91Y2hpbmcgdGhlIGVkZ2VcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICAubC0zLS1ndWlkZS10aWxlcyAmIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGZpeCB2ZXJ0aWNhbCBhbGlnbm1lbnRcblxuICAgICAgLmllMTEgJiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IC8vIGZpeCBicm9rZW4gYW5kIHN0YWNraW5nIGxheW91dFxuICAgICAgfVxuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAvLyBpbWFnZVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMiAvIDEyLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICBoZWlnaHQ6IGJ1KDQ2LjI1KTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBidSg0Ni4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTIgLyAxMiwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAubC0yLS1ndWlkZS10aWxlLS1mZWF0dXJlZC0tdGFsbF9faW5uZXJcbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBub3Qgd29ya2luZ1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlOyAvLyBub3Qgd29ya2luZ1xuXG4gICAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICAgLy8gdGl0bGUgJiB0ZWFzZXJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAxLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyByZWFkIG1vcmUgbGlua1xuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3VpZGUgVGlsZSAtIExpc3RpbmdcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA3IEdVSURFIFRJTEUgQ09NUE9ORU5UIChHdWlkZSBMaXN0aW5nIHBhZ2UpXG4gIC8vIFxuICAvLyBOYXJyb3dcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFxuICAvLyBXaWRlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF0gWyBkZXNjIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXSBbIGRlc2MgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdIFsgZGVzYyBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tbGlzdGluZ1xuICAmLS1ndWlkZS10aWxlLS1saXN0aW5nIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDI4MCAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC8vIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE2OSAvIDI4MCwgMHB4KTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgLy8gaGlkZSB0aGUgJzNyZCcgY29sdW1uXG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubC0yLS1ndWlkZS10aWxlLS1saXN0aW5nX19pbm5lclxuICAgIC8vIGF0IHRoZSBuYXJyb3cgd2lkdGgsIHRoZSBsaXN0aW5nIGlubmVyIGlzIGlkZW50aWNhbCB0byBvdGhlciB0aWxlICdvdXRlcnMnXG4gICAgJl9faW5uZXIge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAvLyAzLjUgY29sdW1ucyB3aXRoIGd1dHRlcnMsIGRvdWJsZSBndXR0ZXJcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMDQgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAvLyA0IGNvbHVtbnMgd2l0aCBndXR0ZXJzXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTUyIC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICAvLyBwcmV2ZW50IGNvbnRlbnQgZnJvbSB0b3VjaGluZyB0aGUgZWRnZVxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig3IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tbGlzdGluZ19faW5uZXJcbiAgICAgICZfX2lubmVyIHtcblxuICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAvLyAzLjUgY29sdW1ucyB3aXRoIGd1dHRlcnMsIGRvdWJsZSBndXR0ZXJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMyOSAvIDY1MSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIC8vIDQgY29sdW1ucyB3aXRoIGd1dHRlcnNcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDI2MSAvIDY1MSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEludHJvIC0gR3VpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAzLjAxIEdVSURFIElOVFJPRFVDVElPTiAoR3VpZGUgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1pbnRyby0tZ3VpZGVcbiAgJi0taW50cm8tLWd1aWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNCAvIDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBJbnRybyAtIEd1aWRlIExpc3RpbmdcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAzLjAxIEdVSURFIElOVFJPRFVDVElPTiAoR3VpZGUgTGlzdGluZyBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWludHJvLS1ndWlkZS1saXN0aW5nXG4gICYtLWludHJvLS1ndWlkZS1saXN0aW5nIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTsgLy8gJGp1c3RpZnk6IFwiZmxleC1zdGFydFwiKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgLy9AaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzLCAkbWFyZ2luLXJpZ2h0LWZyYWM6IDEgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICAvLyBAaW5jbHVkZSBzcGFuLWNvbHVtbig3IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzLCAkbWFyZ2luLXJpZ2h0LWZyYWM6IDEgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSW50cm8gLSBIZWxwXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBIZWxwIHBhZ2UgaW50cm9kdWN0aW9uXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0taW50cm8tLWhlbHBcbiAgJi0taW50cm8tLWhlbHAge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMiAvIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTIgLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBJbnRybyAtIEhvbWVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIEhvbWUgcGFnZSBpbnRyb2R1Y3Rpb25cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1pbnRyby0taG9tZVxuICAmLS1pbnRyby0taG9tZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDYgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBJbnRybyAtIFNlYXJjaFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gU2VhcmNoIG1vZGFsXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0taW50cm8tLXNlYXJjaFxuICAmLS1pbnRyby0tc2VhcmNoIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSW50cm8gLSBTdWdnZXN0aW9uXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4xMSBTSEFSRSBBTkQgT1VUUFVUIChTdWdnZXN0aW9uIHBhZ2UpLCBcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1pbnRyby0tc3VnZ2VzdGlvblxuICAmLS1pbnRyby0tc3VnZ2VzdGlvbiB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC8vIHdlIHVzZSB0aGUgZ3V0dGVyIGNvbHVtblxuICAgICAgICAgIC8vIHRvIHByZXZlbnQgd3JhcHBpbmcgaW5zaWRlIGJ1dHRvbnNcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtd2lkZS1hbmQtdXApIHtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTZWFyY2ggSGVhZGVyXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBTZWFyY2ggcGFnZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXNlYXJjaC0taGVhZGVyXG4gICYtLXNlYXJjaC0taGVhZGVyIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDcgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTaGFyZSAtIFN1Z2dlc3Rpb24gc2xpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjExIFNIQVJFIEFORCBPVVRQVVQgKFN1Z2dlc3Rpb24gcGFnZSksIFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXNoYXJlLXNsaWRlXG4gICYtLXNoYXJlLXNsaWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNSAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgLy8gd2UgdXNlIHRoZSBndXR0ZXIgY29sdW1uXG4gICAgICAgICAgLy8gdG8gcHJldmVudCB3cmFwcGluZyBpbnNpZGUgYnV0dG9uc1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMiAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFByZXNlbnQgTW9kYWwgLSBIZWFkZXJcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIFN1Z2dlc3Rpb24gcHJlc2VudCBtb2RhbFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLW1vZGFsLS1oZWFkZXItLXByZXNlbnRcbiAgJi0tbW9kYWwtLWhlYWRlci0tcHJlc2VudCB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDExIC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQcmVzZW50IE1vZGFsIC0gUGFnaW5hdGlvblxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gU3VnZ2VzdGlvbiBwcmVzZW50IG1vZGFsXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tbW9kYWwtLXBhZ2luYXRpb24tLXByZXNlbnRcbiAgJi0tbW9kYWwtLXBhZ2luYXRpb24tLXByZXNlbnQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMiwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXJcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjAxIFBSSU1BUlkgTkFWSUdBVElPTiAoZXhjZXB0IEhvbWUgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1oZWFkZXJcbiAgJi0taGVhZGVyIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEwMC8yODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxODAvMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE5hdmlnYXRpb24gLSBQcmltYXJ5IChIb21lKVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDEgUFJJTUFSWSBOQVZJR0FUSU9OIChIb21lIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tbmF2LS1wcmltYXJ5LS1ob21lXG4gICYtLW5hdi0tcHJpbWFyeS0taG9tZSB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMik7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBOZXh0IFN0ZXBzXG4gIC8vIFxuICAvLyBJbmZpbml0ZSBncmlkIHdpdGggMiBpdGVtcyBwZXIgcm93LlxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gR3VpZGUgcGFnZSBOZXh0IFN0ZXBzLCBcbiAgLy8gU3VnZ2VzdGlvbiBwYWdlIE5leHQgU3RlcHMsIFxuICAvLyBVbmRlcnN0YW5kIHBhZ2UgTmV4dCBTdGVwc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLW5leHQtc3RlcHNcbiAgJi0tbmV4dC1zdGVwcyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyA4LCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBhZ2UgLSBHdWlkZVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gR3VpZGUgcGFnZSwgXG4gIC8vIFN1Z2dlc3Rpb24gcGFnZSwgXG4gIC8vIFVuZGVyc3RhbmQgcGFnZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXBhZ2UtLWd1aWRlXG4gICYtLXBhZ2UtLWd1aWRlIHtcbiAgICBAaW5jbHVkZSBsLTItLXBhZ2UtLWd1aWRlO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUmVzb3VyY2VcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA1IFJFU09VUkNFIChHdWlkZSBwYWdlLCBVbmRlcnN0YW5kIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tcmVzb3VyY2VcbiAgJi0tcmVzb3VyY2Uge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNTUgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyMDEgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNjcgLyA3NDgsIDBweCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDYzNCAvIDc0OCwgMHB4KTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFJlc291cmNlIC0gQ29udGVudFxuICAvLyBOZXN0ZWQgd2l0aGluIFJlc291cmNlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNSBSRVNPVVJDRSAoR3VpZGUgcGFnZSwgVW5kZXJzdGFuZCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXJlc291cmNlLWNvbnRlbnRcbiAgJi0tcmVzb3VyY2UtY29udGVudCB7XG5cbiAgICAvLyByZXNldCBmb3IgbmVzdGVkIGdyaWRcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgLy8gcmVzZXQgZm9yIG5lc3RlZCBncmlkXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gNyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIgLyA3KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFJlc291cmNlIC0gU2xpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjEwIEtOT1dMRURHRSBTTElERSAoU3VnZ2VzdGlvbiBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXJlc291cmNlLS1zbGlkZVxuICAmLS1yZXNvdXJjZS0tc2xpZGUge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgIC8vIHNhbWUgYXMgcmVzb3VyY2UgZ3JpZCBAIG5hcnJvd1xuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNTUgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyMDEgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNjcgLyA0NTAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxNDAgLyA3MzAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMzU5IC8gNDUwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNTUzIC8gNzMwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBSZXNvdXJjZSAtIFNsaWRlIC0gTGFyZ2VcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjEwIEtOT1dMRURHRSBTTElERSAoU3VnZ2VzdGlvbiBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXJlc291cmNlLS1zbGlkZS0tbGFyZ2VcbiAgJi0tcmVzb3VyY2UtLXNsaWRlLS1sYXJnZSB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgLy8gc2FtZSBhcyByZXNvdXJjZSBncmlkIEAgbmFycm93XG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1NSAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIwMSAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig5NCAvIDQ1MiwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDI0OCAvIDczMCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzMjYgLyA0NTIsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0MzAgLyA3MzAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNlYXJjaCBSZXN1bHRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDEwLjA0IOKAlCBTRUFSQ0ggUkVTVUxUIChTZWFyY2ggcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zZWFyY2gtLXJlc3VsdFxuICAmLS1zZWFyY2gtLXJlc3VsdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIC8vIDIgY29sdW1ucyArIHRyYWlsaW5nIGd1dHRlclxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE5NCAvIDExMzIsIDBweCwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICBtaW4td2lkdGg6IGJ1KDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOSAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2VhcmNoIFJlc3VsdCB3aXRoIEltYWdlXG4gIC8vIE5hcnJvdyAmIFgtV2lkZSBncmlkc1xuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMTAuMDQg4oCUIFNFQVJDSCBSRVNVTFQgKFNlYXJjaCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXNlYXJjaC0tcmVzdWx0LXdpdGgtaW1hZ2VcbiAgJi0tc2VhcmNoLS1yZXN1bHQtd2l0aC1pbWFnZSB7XG5cbiAgICAvLyBjaGlsZCBzZWxlY3RvciBwcmV2ZW50cyBpbmhlcml0YW5jZVxuICAgIC8vIGJ5IG5lc3RlZCBncmlkIGwtMS0tc2VhcmNoLS1yZXN1bHQtY29udGVudFxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDgwIC8gMjQwLCAwcHgpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICBtaW4td2lkdGg6IGJ1KDIwKTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTQwIC8gMjQwLCAwcHgpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHdpZGUgbGF5b3V0IGlzIHRoZSBzYW1lIGFzIGwtMi0tc2VhcmNoLS1yZXN1bHRcbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIC8vIDIgY29sdW1ucyArIHRyYWlsaW5nIGd1dHRlclxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE5NCAvIDExMzIsIDBweCwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOSAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2xpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA4IEVYQU1QTEUgU0xJREUgJiAwMC4xMCBLTk9XTEVER0UgU0xJREVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zbGlkZVxuICAmLS1zbGlkZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgICAvLyBtb2RhbCBpcyBvbmx5IHNob3duIG9uIHdpZGUgYW5kIHVwXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgICAvLyBtb2RhbCBpcyBvbmx5IHNob3duIG9uIHdpZGUgYW5kIHVwXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTbGlkZSAtIFVzZXMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHByZXNlbnQgbW9kYWxcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA4IEVYQU1QTEUgU0xJREVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zbGlkZS0tcHJlc2VudC13aWRlXG4gICYtLXNsaWRlLS1wcmVzZW50LXdpZGUge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICAgLy8gbW9kYWwgaXMgb25seSBzaG93biBvbiB3aWRlIGFuZCB1cFxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNSAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcblxuICAgICAgICAgIC8vIG1vZGFsIGlzIG9ubHkgc2hvd24gb24gd2lkZSBhbmQgdXBcbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gNTAvNTAgU3BsaXRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjAzIEdVSURFIFNJREUtQkFSIE5BVklHQVRJT05cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zcGxpdFxuICAmLS1zcGxpdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMiwgJGd1dHRlcjogYnUoMSksICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyA1MC81MCBTcGxpdCAoTWVkaXVtICYgVXApXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBWSURFTyBFTUJFRCBDQVBUSU9OXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tc3BsaXQtLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgJi0tc3BsaXQtLWNvbnRlbnQtd2lkZS1hbmQtdXAge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAyLCAkZ3V0dGVyOiBidSgxKSwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIDUwLzUwIFNwbGl0IC0gVmVydGljYWxcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAzLjA1IEdVSURFIFNUUkFURUdZXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tdnNwbGl0XG4gICYtLXZzcGxpdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAxLCAkZ3V0dGVyOiAwLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGwtNFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCBTdHlsZXNcbi8vIFVzYWdlIGlzIGFsc28gZG9jdW1lbnRlZCBpbiBfYy1sYXlvdXRzLnNjc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubC00IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZSBMaXN0IEZpbHRlcnNcbiAgLy8gV2FzIGEgZ3JpZCwgbm93IGFuIGlubGluZSBsaXN0XG4gIC8vXG4gIC8vIE0gR3VpZGU6IDMgY29sdW1ucywgbGVmdCBhbGlnbmVkIHdpdGggZml4ZWQgZ2Fwc1xuICAvLyBNIEd1aWRlIExpc3Rpbmc6IDQgY29sdW1ucywgbGVmdCBhbGlnbmVkIHdpdGggZml4ZWQgZ2Fwc1xuICAvLyBNIEhvbWU6IDMgY29sdW1ucywgbGVmdCBhbGlnbmVkIHdpdGggZml4ZWQgZ2Fwc1xuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDYg4oCUIEdVSURFIExJU1QgU0VBUkNIIEFORCBGSUxURVJcbiAgLy8gKEhvbWUgcGFnZSwgR3VpZGUgcGFnZSwgR3VpZGUgTGlzdGluZyBwYWdlLCArIFNlYXJjaCBtb2RhbClcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC00LS1ndWlkZS1saXN0LWZpbHRlcnNcbiAgJi0tZ3VpZGUtbGlzdC1maWx0ZXJzIHtcbiAgICBAaW5jbHVkZSBoLWxpc3QtLWlubGluZTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYnUoMSk7XG5cbiAgICAgIC8vIFRoZSBSZXN1bHRzIGZpbHRlciBpcyBhbHdheXMgdmlzdWFsbHloaWRkZW5cbiAgICAgICYuaC12aXN1YWxseWhpZGRlbixcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSg2KTtcblxuICAgICAgICAvLyBUaGUgUmVzdWx0cyBmaWx0ZXIgaXMgYWx3YXlzIHZpc3VhbGx5aGlkZGVuXG4gICAgICAgICYuaC12aXN1YWxseWhpZGRlbixcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJldHdlZW4tbmFycm93aXNoLWFuZC13aWRlaXNoKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSg0KTtcblxuICAgICAgICAvLyBUaGUgUmVzdWx0cyBmaWx0ZXIgaXMgYWx3YXlzIHZpc3VhbGx5aGlkZGVuXG4gICAgICAgICYuaC12aXN1YWxseWhpZGRlbixcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBsLTNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgU3R5bGVzXG4vLyBVc2FnZSBpcyBhbHNvIGRvY3VtZW50ZWQgaW4gX2MtbGF5b3V0cy5zY3NzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmwtMyB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3VpZGUgdGlsZXMgKGluZmluaXRlIGdyaWQpXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNyBHVUlERSBUSUxFUyAoSG9tZSBwYWdlIGd1aWRlIHRpbGVzKVxuICAvLyAxIHwgMiB8IDNcbiAgLy8gNCB8IDVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0zLS1ndWlkZS10aWxlc1xuICAmLS1ndWlkZS10aWxlcyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDMsICRndXR0ZXI6IGJ1KDEuNSksICRndXR0ZXItYm90dG9tOiBidSgxLjUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBOYXZpZ2F0aW9uIC0gSW4tcGFnZVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMTMg4oCUIChOb24tcGlubmVkKSBJTi1QQUdFIE5BVklHQVRJT04gKEd1aWRlIHBhZ2UsIEhlbHAgcGFnZSwgU3VnZ2VzdGlvbiBwYWdlLCBVbmRlcnN0YW5kIHBhZ2UpXG4gIC8vIDEgfCAyIHwgM1xuICAvLyA0IHwgNVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTMtLW5hdi0taW4tcGFnZVxuICAmLS1uYXYtLWluLXBhZ2Uge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC0uNSk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAzLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNlYXJjaCBSZXN1bHRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDEwLjA0IOKAlCBTRUFSQ0ggUkVTVUxUIChTZWFyY2ggcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0zLS1zZWFyY2gtLXJlc3VsdFxuICAmLS1zZWFyY2gtLXJlc3VsdCB7XG5cbiAgICAuYi1tb2RhbC1qcy0tc2VhcmNoICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgLy8gMiBjb2x1bW5zICsgdHJhaWxpbmcgZ3V0dGVyXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTkyIC8gMTEzMiwgMHB4LCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMywgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDMsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBUZXh0IHByb21vXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAuYi10ZXh0LXByb21vIG9uIGhvbWVwYWdlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMy0tdGV4dC1wcm9tb1xuICAmLS10ZXh0LXByb21vIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNSAvIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyIC8gMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzL2NvbG91cnMuc2Nzc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9sYXlvdXQuc2Nzc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy90eXBvZ3JhcGh5LnNjc3NcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvdHJhbnNpdGlvbnMuc2Nzc1wiO1xuXG4vLyAtLS0tLS0tLSAgc2l6ZXMgIC0tLS0tLS0tXG4kZ2FwLWJhc2U6IDAuMjc3N3JlbSAhZGVmYXVsdDsgLyogNXB4IGdhcCwgdmVydGljaWFsIGFsaWdubWVudCAqL1xuJGljb24tc2l6ZTogMi41cmVtO1xuJHNpemUtaGVhZGVyLWhlaWdodDogNC43NXJlbTtcblxuJHNpemUtY2FyZC13aWR0aDogMTJyZW07XG4kc2l6ZS1jYXJkLWhlaWdodDogMTNyZW07XG4kc2l6ZS1hY2NvcmRpb24tdG9nZ2xlLXdpZHRoOiAyOXB4O1xuXG4vLyAtLS0tLS0tLSAgcmF0aW9zIC0tLS0tLS0tXG4kcmF0aW8tMTZ4OTogNTYuMjUlO1xuXG4vLyAtLS0tLS0tLSAgc2hhZG93cyAgLS0tLS0tLS1cbiRzaGFkb3ctc3RhbmRhcmQ6IDAgMC4xcmVtIDFyZW0gdHJhbnNwYXJlbnRpemUoJGNvbG9yLWJsYWNrLCAwLjk1KTtcbiRzaGFkb3ctdGV4dDogMCAtMC4wNXJlbSAwLjFyZW0gdHJhbnNwYXJlbnRpemUoJGNvbG9yLWJsYWNrLCAwLjkpO1xuJHNoYWRvdy1kcm9wOiAwIDAuNXJlbSAxcmVtIDAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWJsYWNrLCAwLjkpO1xuJHNoYWRvdy1kcm9wLWFjdGl2ZTogLTAuMjVyZW0gMCAwLjVyZW0gLTAuMjVyZW0gJGNvbG9yLWJsYWNrO1xuXG4vLyAtLS0tLS0tLSAgYm9yZGVyICAtLS0tLS0tLVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pdC1ibGFja2xpc3QgKi9cbiRib3JkZXItd2lkdGg6IDFweDtcbiRib3JkZXItd2lkdGgtcmVtOiAwLjAyNXJlbTtcblxuJGJvcmRlci13aWR0aC1idXR0b246ICRib3JkZXItd2lkdGggKiAyO1xuJGJvcmRlci1zdGFuZGFyZDogI3skYm9yZGVyLXdpZHRofSBzb2xpZCAkY29sb3ItZ3JleS0xMTA7XG4kYm9yZGVyLXdoaXRlOiAjeyRib3JkZXItd2lkdGh9IHNvbGlkICRjb2xvci13aGl0ZTtcbiRib3JkZXItdHJhbnNwYXJlbnQ6ICN7JGJvcmRlci13aWR0aCoyfSBzb2xpZCB0cmFuc3BhcmVudDtcbiRib3JkZXItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci13aWR0aCoyfSBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNzUpO1xuJGJvcmRlci10cmFuc2x1Y2VudC1wdXJwbGU6ICN7JGJvcmRlci13aWR0aCoyfSBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLCAwLjc1KTtcbiRib3JkZXItbWlkOiAjeyRib3JkZXItd2lkdGh9IHNvbGlkICRjb2xvci1ncmV5LTIwMDtcbiRib3JkZXItYnV0dG9uOiAkYm9yZGVyLXdpZHRoLWJ1dHRvbiBzb2xpZCAkY29sb3ItYmx1ZTtcbiRib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6IDFyZW07XG5cblxuLy8gLS0tLS0tLS0gIHogbGF5ZXJzIC0tLS0tLS0tXG4kei1tb2RhbDogMzA7XG4kei1tZW51OiAyMDtcbiR6LXRvZ2dsZTogMTU7XG4kei1idWZmZXJzOiAxMDtcbiR6LWRlZmF1bHQ6IDE7XG4kei1iZWxvdzogLTEwO1xuXG4vLyAtLS0tLS0tLSAgcHJpbnQgIC0tLS0tLS0tXG4kcHJpbnQtcGFnZTogYTQgIWRlZmF1bHQ7XG4kcHJpbnQtbWFyZ2luOiAxLjVjbSAxY20gIWRlZmF1bHQ7XG4kcHJpbnQtb3JwaGFuczogMyAhZGVmYXVsdDtcbiRwcmludC13aWRvd3M6IDMgIWRlZmF1bHQ7XG4iLCIubmF2YmFyLWhlYWRlciAuc2VhcmNoLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaGVhZGVyLXNlYXJjaC1wYW5lIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktODAwO1xuICB6LWluZGV4OiAxMDA7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjgyMCwgMC4wODUsIDAuMzk1LCAwLjg5NSk7XG5cbiAgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmFpcy1TdGF0cy10ZXh0IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggOXB4IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgZm9udC14eHNtYWxsKCk7XG4gIH1cblxuXG4gIC5haXMtUGFnaW5hdGlvbi1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC5haXMtUGFnaW5hdGlvbi1pdGVtLS1kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5haXMtUGFnaW5hdGlvbi1saW5rIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleS02MDA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktNzAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIEBpbmNsdWRlIGZvbnQteHNtYWxsKCk7XG4gIH1cblxuICAuYWlzLUhpdHMtaXRlbSB7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA5cHggMjBweCA5cHggMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleS03MDA7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuaGl0LW5hbWUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zbWFsbCgpO1xuXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5oaXQtZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBAaW5jbHVkZSBmb250LXh4c21hbGwoKTtcbiAgICB9XG5cbiAgICAuaGl0LWxpbmsge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgQGluY2x1ZGUgZm9udC14eHNtYWxsKCk7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xufVxuXG4uaGVhZGVyLXNlYXJjaC1pbnB1dCB7XG4gIC5haXMtU2VhcmNoQm94LWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBwYWRkaW5nOiAwIHZhcigtLWhlYWRlci1oZWlnaHQpIDAgMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYWlzLVNlYXJjaEJveC1zdWJtaXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNlYXJjaC1wYW5lLW9wZW4ge1xuICAuaGVhZGVyLXNlYXJjaC1wYW5lIHtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5ib2R5IHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cblxuLmhlYWRlci1zZWFyY2hfY2xvc2Uge1xuICBmb250LXNpemU6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG59XG5cbi8qIGNsZWFycyB0aGUgJ1gnIGZyb20gSW50ZXJuZXQgRXhwbG9yZXIgKi9cbi5haXMtU2VhcmNoQm94LWlucHV0W3R5cGU9c2VhcmNoXTo6LW1zLWNsZWFyLFxuLmFpcy1TZWFyY2hCb3gtaW5wdXRbdHlwZT1zZWFyY2hdOjotbXMtcmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cblxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cbi5haXMtU2VhcmNoQm94LWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4uYWlzLVNlYXJjaEJveC1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLmFpcy1TZWFyY2hCb3gtaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4uYWlzLVNlYXJjaEJveC1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gLS0tLS0tLS0gIGJyYW5kIGNvbG9ycyAgLS0tLS0tLS1cblxuLy8gcHVycGxlXG4kY29sb3ItcHVycGxlLTkwMDogIzJGMUI1NSAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGUtODAwOiAjMjcyMDgyICFkZWZhdWx0O1xuJGNvbG9yLXB1cnBsZS02MDA6ICM0RTI0OEIgIWRlZmF1bHQ7XG4kY29sb3ItcHVycGxlLTUwMDogIzRFMjM4QyAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGUtNDAwOiAjNTAyMTg5ICFkZWZhdWx0O1xuJGNvbG9yLXB1cnBsZS0xMDA6ICNGMEVGRjUgIWRlZmF1bHQ7XG4kY29sb3ItcHVycGxlOiAkY29sb3ItcHVycGxlLTUwMDtcblxuLy8gcmVkXG4kY29sb3ItcmVkLTcwMDogI0UyMUE0MCAhZGVmYXVsdDtcbiRjb2xvci1yZWQtNTAwOiAjRTQyNDNCICFkZWZhdWx0O1xuJGNvbG9yLXJlZC00MDA6ICNGNDJDNDkgIWRlZmF1bHQ7XG4kY29sb3ItcmVkOiAkY29sb3ItcmVkLTUwMDtcblxuLy8gbWVsb25cbiRjb2xvci1tZWxvbi03MDA6ICNGRjlDMEQgIWRlZmF1bHQ7XG4kY29sb3ItbWVsb24tNTAwOiAjRkZBQzI3ICFkZWZhdWx0O1xuJGNvbG9yLW1lbG9uLTQwMDogI0ZCMiAhZGVmYXVsdDtcbiRjb2xvci1tZWxvbjogJGNvbG9yLW1lbG9uLTUwMDtcblxuLy8geWVsbG93XG4kY29sb3IteWVsbG93LTcwMDogI0U1QkUzRCAhZGVmYXVsdDtcbiRjb2xvci15ZWxsb3ctNTAwOiAjRkZENDQ0ICFkZWZhdWx0O1xuJGNvbG9yLXllbGxvdzogJGNvbG9yLXllbGxvdy01MDA7XG5cblxuLy8gYmx1ZXNcbiRjb2xvci1ibHVlLTIwMDogIzZDQUNFNCAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTMwMDogIzI0QTdGRiAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTQwMDogIzAwOENGRiAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTUwMDogIzE0NzBFMSAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTYwMDogIzEzMzNlNyAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTcwMDogIzBFNUNCQSAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTgwMDogIzA3MmQ1ZCAhZGVmYXVsdDtcblxuJGNvbG9yLWJsdWU6ICRjb2xvci1ibHVlLTUwMDtcbiRjb2xvci1ibHVlLWRhcms6ICRjb2xvci1ibHVlLTYwMDtcbiRjb2xvci1ibHVlLWRhcmtlcjogJGNvbG9yLWJsdWUtNzAwO1xuXG4vLyBncmV5c1xuJGNvbG9yLWJsYWNrOiAjMDUwNTA1ICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktOTUwOiAjMTIxMjEyICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktOTAwOiAjMUUyMjI5ICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktODAwOiAjMkMyQzJDICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktNzAwOiAjNGE0YTRhICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktNjAwOiAjNWU1ZTVlICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktNTAwOiAjODA4MDgwICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMzUwOiAjQTBBMEEwICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMzAwOiAjQTdBOUFDICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMjAwOiAjQjdCN0I3ICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMTUwOiAjRTZFN0U4ICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMTEwOiAjRTRFNkUyICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMTAwOiAjRUFFQUVBICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktNTA6ICNGQUZBRkEgIWRlZmF1bHQ7XG4kY29sb3Itd2hpdGU6ICNGRkYgIWRlZmF1bHQ7XG4kY29sb3ItZ3JleTogI0VBRTlGMztcblxuLy8gbWFwcGluZ3NcbiRjb2xvci1iYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dDogJGNvbG9yLWdyZXktODAwICFkZWZhdWx0O1xuXG4vLyBsZWdhY3kgbWFwcGluZ3NcbiRjb2xvci14ZGFyay1ncmV5OiAkY29sb3ItZ3JleS02MDAgIWRlZmF1bHQ7XG4kY29sb3ItZGFyay1ncmV5OiAkY29sb3ItZ3JleS01MDAgIWRlZmF1bHQ7XG4kY29sb3ItbWlkLWdyZXk6ICRjb2xvci1ncmV5LTIwMCAhZGVmYXVsdDtcbiRjb2xvci1jaGFyY29hbDogJGNvbG9yLWdyZXktOTUwICFkZWZhdWx0O1xuJGNvbG9yLWNoYXJjb2FsLW1pZDogJGNvbG9yLWdyZXktOTAwICFkZWZhdWx0O1xuJGNvbG9yLWNoYXJjb2FsLW1pZC0yOiAkY29sb3ItZ3JleS04MDAgIWRlZmF1bHQ7XG4kY29sb3ItZ3JleS1pY29uOiAkY29sb3ItZ3JleS0zNTAgIWRlZmF1bHQ7XG4kY29sb3ItZGlzYWJsZWQtYm9yZGVyOiAkY29sb3ItZ3JleS0zMDAgIWRlZmF1bHQ7XG4kY29sb3ItZGlzYWJsZWQtYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMTUwICFkZWZhdWx0O1xuJGNvbG9yLXBhbGUtZ3JleTogJGNvbG9yLWdyZXktMTEwIWRlZmF1bHQ7XG4kY29sb3ItbGlnaHQtZ3JleTogJGNvbG9yLWdyZXktMTAwICFkZWZhdWx0O1xuJGNvbG9yLXhsaWdodC1ncmV5OiAkY29sb3ItZ3JleS01MCAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LXRleHQ6ICRjb2xvci1ncmV5LTgwMCAhZGVmYXVsdDtcblxuXG4vLyAtLS0tLS0tLSAgZ3JhZGllbnRzICAtLS0tLS0tLVxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoXG4gIDEyMGRlZyxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWdyZXktMTEwLCAwLjIpIDIwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWdyZXktMTEwLCAwLjIpIDQwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZS05MDAsIDAuOSkgNTAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItZ3JleS0xMTAsIDAuMikgNjAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItZ3JleS0xMTAsIDAuMikgODAlXG4pO1xuXG4kZ3JhZGllbnQtbGlnaHQ6IGxpbmVhci1ncmFkaWVudChcbiAgMTIwZGVnLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNikgMjAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNikgMzUlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuMSkgNTAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNikgNjUlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNikgODAlXG4pO1xuXG4kZ3JhZGllbnQtcHJpbWFyeTogbGluZWFyLWdyYWRpZW50KFxuICAxMjBkZWcsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUsIDAuOSkgMjAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLCAwLjkpIDM1JSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZSwgMC44KSA1MCUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUsIDAuOSkgNjUlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLCAwLjkpIDgwJVxuKTtcblxuJGdyYWRpZW50LWRhcms6IGxpbmVhci1ncmFkaWVudChcbiAgMTIwZGVnLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLTkwMCwgMC42KSAyMCUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUtOTAwLCAwLjYpIDM1JSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZS05MDAsIDAuNCkgNTAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLTkwMCwgMC42KSA2NSUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUtOTAwLCAwLjYpIDgwJVxuKTtcblxuLy8gLS0tLS0tLS0gIG9wYWNpdGllcyAgLS0tLS0tLS1cbiRvcGFjaXR5LXNlbWktdHJhbnNsdWNlbnQ6IDAuMDI7XG4kb3BhY2l0eS10cmFuc2x1Y2VudDogMC4zNTtcbiRvcGFjaXR5LXZlcnktdHJhbnNsdWNlbnQ6IDAuNjtcbiRvcGFjaXR5LXNlbWktdHJhbnNwYXJlbnQ6IDAuODtcbiIsIkBtaXhpbiBmb250LXh4c21hbGwoKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHNtYWxsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXh4c21hbGw7XG59XG5cbkBtaXhpbiBmb250LXhzbWFsbCgpIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC14c21hbGw7XG59XG5cbkBtaXhpbiBmb250LXNtYWxsKCkge1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMTZyZW07XG59XG5cbkBtaXhpbiBmb250LWJvZHkoKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMzhyZW07XG59XG5cbkBtaXhpbiBmb250LW1lZGl1bSgpIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0NHJlbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1tZWRpdW07XG59XG5cbkBtaXhpbiBmb250LXhtZWRpdW0oKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bWVkaXVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDQ0cmVtO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXhtZWRpdW07XG59XG5cbkBtaXhpbiBmb250LXh4bWVkaXVtKCkge1xuICBmb250LXNpemU6ICRmb250LXNpemUteHhtZWRpdW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDRyZW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQteHhtZWRpdW07XG59XG5cbkBtaXhpbiBoZWFkaW5nLWNvbW1vbigpIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogZ2FwLXNpemUoMS8yKSAwIGdhcC1zaXplKDEvNCk7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbiAgJiA+IGE6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICB9XG59XG5cbi8vIEgxIHNwZWNpZmljIHN0eWxlc1xuQG1peGluIGhlYWRpbmctaDEoKSB7XG4gIEBpbmNsdWRlIGhlYWRpbmctY29tbW9uO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjE2NnJlbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcbiAgbWFyZ2luOiBnYXAtc2l6ZSgwKSAwIGdhcC1zaXplKDApO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJsYWNrO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWQtZG93bigpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteHhtZWRpdW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4OHJlbTtcbiAgfVxufVxuXG4vLyBIMiBzcGVjaWZpYyBzdHlsZXNcbkBtaXhpbiBoZWFkaW5nLWgyKCkge1xuICBAaW5jbHVkZSBoZWFkaW5nLWNvbW1vbjtcblxuICBmb250LXNpemU6ICRmb250LXNpemUteHhtZWRpdW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtaDI7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNzdyZW07XG4gIG1hcmdpbjogZ2FwLXNpemUoMikgMCBnYXAtc2l6ZSgxLzIpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJsYWNrO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IGdhcC1zaXplKDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1tZC1kb3duKCkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bWVkaXVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1zbS1kb3duKCkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gIH1cbn1cblxuLy8gSDMgc3BlY2lmaWMgc3R5bGVzXG5AbWl4aW4gaGVhZGluZy1oMygpIHtcbiAgQGluY2x1ZGUgaGVhZGluZy1jb21tb247XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bWVkaXVtO1xuICBsaW5lLWhlaWdodDogMS4xMzM7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDRyZW07XG4gIG1hcmdpbjogZ2FwLXNpemUoMCkgMCBnYXAtc2l6ZSgxLzIpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJsYWNrO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtc20tZG93bigpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgfVxufVxuXG4vLyBINCBzcGVjaWZpYyBzdHlsZXNcbkBtaXhpbiBoZWFkaW5nLWg0KCkge1xuICBAaW5jbHVkZSBoZWFkaW5nLWNvbW1vbjtcblxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IDEuMzg4O1xuICBtYXJnaW46IGdhcC1zaXplKDApIDAgZ2FwLXNpemUoMS8yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50LXNtLWRvd24oKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gIH1cbn1cblxuQG1peGluIGhlYWRpbmctaDUoKSB7XG4gIEBpbmNsdWRlIGhlYWRpbmctY29tbW9uO1xuXG4gIGZvbnQtc2l6ZTogMC44MzNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY2NjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGhlYWRpbmctaDYoKSB7XG4gIEBpbmNsdWRlIGhlYWRpbmctY29tbW9uO1xuXG4gIGZvbnQtc2l6ZTogMC42MzNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM4ODtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNnJlbTtcbn1cbiIsIlxuLy8gLS0tLS0tLS0gIGZvbnQgKDE4cHggYmFzZSwgc2hvdWxkIGJlIHNldCBvbiBodG1sKSAtLS0tLS0tLVxuLy8gaHR0cHM6Ly9tb2Utd2Vic2VydmljZXMuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9XU1QvcGFnZXMvMTA3OTM3ODE0L1R5cG9ncmFwaHlcbiRmb250LWZhbWlseTogXCJHb3RoYW0gU1NtIEFcIiwgXCJHb3RoYW0gU1NtIEJcIiwgXCJHb3RoYW1cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1mYW1pbHktbW9ubzogU0ZNb25vLVJlZ3VsYXIsQ29uc29sYXMsTGliZXJhdGlvbiBNb25vLE1lbmxvLG1vbm9zcGFjZTtcbiRmb250LXNpemUteHh4eHNtYWxsOiAwLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXh4eHNtYWxsOiAwLjY1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14eHNtYWxsOiAwLjcyMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteHNtYWxsOiAwLjgzMzNyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtYWxsOiAwLjlyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJvZHk6IDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6IDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLW1lZGl1bTogMS4yNTByZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhtZWRpdW06IDEuNTYzcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14eG1lZGl1bTogMS45NTNyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAyLjQ0MXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteGxhcmdlOiAzLjU1MnJlbSAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LXh4c21hbGw6IDEuMzg0NiAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14c21hbGw6IDEuMzMzMyAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbWFsbDogMS41NjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjY2NiAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1taWQ6IDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1ib2R5OiAxLjY2NjYgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbWVkaXVtOiAxLjMzMzMgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteG1lZGl1bTogMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14eG1lZGl1bTogMS4yMjIyICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxhcmdlOiAxLjEzNiAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1oMjogMS40Mjg1NyAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtcmVndWxhcjogNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDogNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ibGFjazogODAwICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcInNlYXJjaC5zY3NzXCI7XG5cbjpyb290IHtcbiAgLS1oZWFkZXItaGVpZ2h0OiA4MHB4O1xuICAtLWhlYWRlci1iYWNrZ3JvdW5kOiAjZmZmO1xuICAtLWhlYWRlci10ZXh0LWNvbG9yOiAjeyRjb2xvci1ncmV5LTgwMH07XG4gIC0taGVhZGVyLWxpbmstY29sb3I6ICN7JGNvbG9yLWJsdWV9O1xuICAtLWhlYWRlci1pY29uLWNvbG9yOiAjeyRjb2xvci1ibHVlfTtcbiAgLS1oZWFkZXItbGluay1ob3Zlci1jb2xvcjogI3skY29sb3ItYmx1ZX07XG4gIC0taGVhZGVyLWxvZ28tdXJsOiB1cmwoJy9fcmVzb3VyY2VzL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLXN0YW5kYXJkLWhlYWRlci9jbGllbnQvaW1nL01PRV9pY29uX2xvZ29fYmxhY2suc3ZnJyk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgIC0taGVhZGVyLWhlaWdodDogNjBweDtcbiAgfVxufVxuXG5ib2R5W2RhdGEtZGFyay1oZWFkZXJdIHtcbiAgLS1oZWFkZXItYmFja2dyb3VuZDogI3skY29sb3ItZ3JleS04MDB9O1xuICAtLWhlYWRlci10ZXh0LWNvbG9yOiAjZmZmO1xuICAtLWhlYWRlci1saW5rLWNvbG9yOiAjZmZmO1xuICAtLWhlYWRlci1pY29uLWNvbG9yOiAjZmZmO1xuICAtLWhlYWRlci1saW5rLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWhlYWRlci1sb2dvLXVybDogdXJsKCcvX3Jlc291cmNlcy92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1zdGFuZGFyZC1oZWFkZXIvY2xpZW50L2ltZy9NT0VfaWNvbl9sb2dvX3doaXRlLnN2ZycpO1xufVxuXG5ib2R5W2RhdGEtaGVhZGVyLXN0YXRpY10ge1xuICAubmF2YmFyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgLmJvZHkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi8qKlxuICogU3R5bGVzIGZvciB0aGUgZ2VuZXJpYyBNb0UgaGVhZGVyLlxuICpcbiAqIE5vdGUgdGhhdCB0aGVzZSBzdHlsZXMgd2lsbCB1c2UgaGVscGVyIGNsYXNzZXMgcmF0aGVyIHRoYW4gYnJlYWtwb2ludHMgaW5cbiAqIG1hbnkgY2FzZXMgc2luY2UgdG8gYWxsb3cgZm9yIGVhc2llciBwZXItc2l0ZSBjaGFuZ2VzIHRoZSBtb2JpbGUgbWVudSBjYW4gYmVcbiAqIGN1c3RvbWlzZWQgdmlhIEhUTUwgZGF0YSBhdHRyaWJ1dGVzIC0gZS5nIGRhdGEtbWVudS1tb2JpbGUtYnJlYWtwb2ludD1cIjExODBcIlxuICpcbiAqIE90aGVyIGNsYXNzZXMgYXJlIGFwcGxpZWQgdG8gdGhlIDxodG1sPiB0byBpbmRpY2F0ZSBzdGF0ZVxuICpcbiAqIC0gYHNlYXJjaC1wYW5lLW9wZW5gXG4gKiAtIGBtZW51LWlzLWFjdGl2ZWBcbiAqL1xuYm9keSxcbmh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IG5vbmU7XG59XG5cbi5ub252aXN1YWwtaW5kaWNhdG9yLFxuLnZpc3VhbGx5aGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbixcbi5hY2Nlc3MsXG4uaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0taGVhZGVyLWJhY2tncm91bmQpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDQwO1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBib3gtc2hhZG93OiAwIDAgMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93bigpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1oZWFkZXItYmFja2dyb3VuZCk7XG4gIH1cblxuICAmID4gLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbWFyZ2luOiAwIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhIHtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1saW5rcztcbiAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstY29sb3IpO1xuICB9XG5cbiAgJi5uYXZiYXJfX3NpemVfc21hbGwge1xuICAgIC0taGVhZGVyLWhlaWdodDogNTRweDtcbiAgfVxufVxuXG4vKiBzcGFjZSBmb3IgdGhlIGZpeGVkIGhlYWRlciwgZmFkZXMgb3V0IHdoZW4gdGhlIG1lbnUgaXMgb3BlbiAqL1xuLmJvZHkge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5uYXZiYXIgKyBkaXYge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbn1cblxuLm5hdmJhci1icmFuZC0tbG9nbyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWhlYWRlci1sb2dvLXVybCkgbGVmdCBjZW50ZXIgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWhlYWRlci1oZWlnaHQpIHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLm5hdmJhci1icmFuZCB7XG4gIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIGNvbG9yOiB2YXIoLS1oZWFkZXItdGV4dC1jb2xvcik7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMzhyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93biB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24oKSB7XG4gICAgZm9udC1zaXplOiAwLjk0cmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1zbS1kb3duIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteHhzbWFsbDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0taGVhZGVyLXRleHQtY29sb3IpO1xuICB9XG59XG5cbi5uYXZiYXItbWVudS0taG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm5hdmJhci1tZW51IHtcbiAgQGluY2x1ZGUgaGlkZVNjcm9sbGJhcjtcblxuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAuaGFzLWRyb3Bkb3duIHtcbiAgICAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMC4yNXJlbSk7XG4gICAgfVxuXG4gICAgLm5hdmJhci1saW5rIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMXJlbTtcbiAgICB9XG5cbiAgICAuaXMtZXhwYW5kZWQgKyAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMC4zcmVtKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC8qIGxhc3Qgb25lIGdvZXMgbGVmdCByYXRoZXIgdGhhbiByaWdodCAqL1xuICAgICAgICAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgLmFycm93LXVwIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWl0ZW0sXG4gIC5uYXZiYXItbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDEycmVtO1xuICAgIHBhZGRpbmc6IGdhcC1zaXplKDEpIDA7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci10ZXh0LWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLXVwKCkge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiBnYXAtc2l6ZSgxKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnYXAtc2l6ZSgxKVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBAaW5jbHVkZSB0cnVuY2F0ZSgpO1xuICB9XG5cbiAgLm5hdmJhci1zZXBlcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB3aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xuICAgIG1hcmdpbjogMCBnYXAtc2l6ZSgyLCAwLjUpO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICsgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstaG92ZXItY29sb3IpO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmID4gYSxcbiAgJiA+IC5uYXZiYXItaXRlbSA+IGEge1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstaG92ZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgLm5hdmJhci1saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItZHJvcGRvd24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci5uYXZiYXIuaGFzLXNoYWRvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWFlYWVhO1xufVxuXG4ubmF2YmFyLWl0ZW06aG92ZXIgLm5hdmJhci1saW5rIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLm5hdmJhci1saW5rIHtcbiAgcGFkZGluZzogMC41cmVtO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZS1jaGlsZHJlbiB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMC4zcmVtKTtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuNHJlbTtcbiAgICAgIHdpZHRoOiAwLjRyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2U7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmx1ZTtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93bigpIHtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWV4cGFuZGVkIHtcbiAgICAubmF2YmFyLXRvZ2dsZS1jaGlsZHJlbiB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMC4xcmVtKTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWVuZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBmb250LXNpemU6IDAuODMzcmVtO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbn1cblxuLyogZHJvcGRvd24gbWVudSAqL1xuLm5hdmJhci1kcm9wZG93biB7XG4gIHBhZGRpbmc6IGdhcC1zaXplKDIpO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIHRvcDogY2FsYygxMDAlIC0gMC4yNXJlbSk7XG4gIG1heC13aWR0aDogMzIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDhweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDIwO1xuICBtaW4td2lkdGg6IDE0MHB4O1xuXG4gIEBpbmNsdWRlIGZvbnQteHNtYWxsKCk7XG5cbiAgaHIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVhZWE7XG4gICAgbWFyZ2luOiAwLjI1cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci10ZXh0LWNvbG9yKTtcbiAgfVxuXG4gIC5hcnJvdy11cCB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgyMzQsIDIzNCwgMjM0LCAwLjUpO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiYSgyMzQsIDIzNCwgMjM0LCAwLjUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjU1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbGVmdDogMjUlO1xuICB9XG5cbiAgLm5hdmJhci1kcm9wZG93bi1jb2wge1xuICAgIG9sIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kcm9wZG93bi1saW5rIHtcbiAgICBwYWRkaW5nOiBnYXAtc2l6ZSgyKSAwLjVyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgIEBpbmNsdWRlIGZvbnQteHNtYWxsKCk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktNTA7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgICAgQGluY2x1ZGUgZm9udC14eHNtYWxsKCk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmID4gLm5hdmJhci1pdGVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmV5LTgwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWl0ZW0ge1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNvbG9yLWdyZXktODAwO1xuICBmb250LXNpemU6IDAuODMzcmVtO1xuXG4gICYuaGFzLWRyb3Bkb3duIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24oKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24oKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmLmlzLWV4cGFuZGVkIHtcbiAgICArIC5uYXZiYXItZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmID4gLm5hdmJhci10b2dnbGUtY2hpbGRyZW46OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICB0b3A6IGNhbGMoMS43NXJlbSArIDVweCk7XG4gICAgfVxuICB9XG5cbiAgJiA+IGEge1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleS04MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC11cCgpIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItaXRlbSBpbWcge1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuXG4ubmF2YmFyLWhlYWRlcl9fbm8tc2VhcmNoIC5uYXZiYXItbWVudSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi8qIGhhbWJ1cmdlciAqL1xuLm5hdmJhci1idXJnZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBjb2xvcjogdmFyKC0taGVhZGVyLWljb24tY29sb3IpO1xuXG4gIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci1pY29uLWNvbG9yKTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBub25lIDg2bXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICB9XG4gIH1cbn1cblxuLyogTWVudSBleGlzdHMsIGJ1dCBzaG91bGQgbm90IGJlIG9wZW4gcXVpdGUgeWV0ICovXG4ubWVudS1vZmZzY3JlZW4tcmVhZHkge1xuICAubmF2YmFyLW1lbnUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjRzIGVhc2Utb3V0O1xuICB9XG59XG5cbi8qIFByZXAgbW9iaWxlIG1lbnUgKi9cbi5tZW51LWxvYWQge1xuICAubmF2YmFyLW1lbnUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IGdhcC1zaXplKDQpIGdhcC1zaXplKDQpIDgwcHggZ2FwLXNpemUoNCkgO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGxlZnQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogZ2FwLXNpemUoNCkgZ2FwLXNpemUoNCkgY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIDIwcHgpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbGluayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLm5hdmJhci1saW5rLFxuICAubmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleS10ZXh0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBnYXAtc2l6ZSg4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi5oYXMtZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kcm9wZG93bi1saW5rIHtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGUtY2hpbGRyZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmFycm93LXVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogZHJvcGRvd25zIGluc2lkZSB0aGUgbWVudSBhcmUgbm90IGFjdHVhbGx5IGRyb3Bkb3ducyAqL1xuICAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBmb250LXhzbWFsbCgpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBtb2JpbGUgbWVudSBzaG93IGNoaWxkcmVuICovXG4gIC5pcy1leHBhbmRlZCB7XG4gICAgLm5hdmJhci10b2dnbGUtY2hpbGRyZW46YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjJyZW0pO1xuICAgIH1cblxuICAgICsgLm5hdmJhci1kcm9wZG93biB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAvKiBoYW1idXJnZXIgKi9cbiAgLm5hdmJhci1tZW51LS1ob2xkZXIgLm5hdmJhci1idXJnZXIge1xuICAgIHNwYW46bnRoLW9mLXR5cGUoMSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogTWVudSBpcyBvcGVuISAqL1xuLm1lbnUtaXMtYWN0aXZlIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gIC5uYXZiYXItbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuXG4gIC5ib2R5IHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cblxuICAubmF2YmFyLWxpbmssXG4gIC5uYXZiYXItaXRlbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKipcbiAqIE1lbnUgaXMgbm90IGFjdGl2ZSwgYnV0IGFueSBpdGVtcyB3aGljaCBhcmUgdG9vIGxvbmcgc2hvdWxkIG5vdyBiZSBoaWRkZW5cbiAqL1xuaHRtbDpub3QoLm1lbnUtaXMtYWN0aXZlKSB7XG4gIC5tZW51LWludmlzaWJsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYubmF2YmFyLWJ1cmdlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItaXRlbXNfX21lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubmF2YmFyLWl0ZW1zX19saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93biB7XG4gIC5uYXZiYXItbWVudS0tbGlua3Nvbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gYnJlYWtwb2ludC1jdXN0b20tdXAoJG1pbikge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteHhzLWRvd24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS1kb3duKCRzY3JlZW4teHhzLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXh4cy11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4teHhzLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXhzLW9ubHkge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXhzLXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi14cy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1zbS11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4tc20tbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtdGFibGV0LXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi10YWJsZXQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1tZC11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4tbWQtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtbWwtdXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS11cCgkc2NyZWVuLW1sLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LWxnLXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi1sZy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14bC11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4teGwtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteHhsLXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi14eGwtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJG1pbikge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteHMtZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi14cy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1zbS1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXNtLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXRhYmxldC1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXRhYmxldCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW1kLWRvd24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS1kb3duKCRzY3JlZW4tbWQtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtbWwtZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi1tbC1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1sZy1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLWxnLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW1sZy1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLW1sZy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14bC1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXhsLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXh4bC1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXh4bC1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiXG4vLyAtLS0tLS0tLSAgdHJhbnNpdGlvbnMgIC0tLS0tLS0tXG4kdHJhbnNpdGlvbi1hbGw6IGFsbCAzNTBtcyBlYXNlLWluICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tYm9yZGVyOiBib3JkZXIgMzUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWJhY2tncm91bmQ6IGJhY2tncm91bmQgMjUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbG9yOiBjb2xvciAyNTBtcyBlYXNlLWluICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tb3BhY2l0eTogb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWxpbmtzOiBhbGwgMzUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWxpbmtzLWZhc3RlcjogYWxsIDI1MG1zIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZTogdHJhbnNmb3JtIDM1MG1zIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmxpcDogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4sIG9wYWNpdHkgMTUwbXMgZWFzZS1pbiAxMDBtcyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWV4cGFuZDogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY292ZXItZmFkZTogb3BhY2l0eSAxNTBtcyBlYXNlLWluICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogb3BhY2l0eSAzMDBtcyBlYXNlLWluICFkZWZhdWx0O1xuIiwiXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29udGFpbmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcIm1peGlucy9saW5rcy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NwYWNpbmcuc2Nzc1wiO1xuQGltcG9ydCBcIm1peGlucy90eXBvZ3JhcGh5LnNjc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9ucy5zY3NzXCI7XG5cbkBtaXhpbiBmYS1mcmVlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuQG1peGluIGZhLWJyYW5kcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLy8gQ2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vIEN1dCBvZmYgdGV4dCB3aXRoIGVsbGlwc2lzIHdoZW4gaXQgZ2V0cyB0b28gbG9uLi4uXG5AbWl4aW4gdHJ1bmNhdGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLy8gaW5jbHVkZSBjb21tb24gcHJvcGVydGllcyBvZiBhIHBzZXVkbyBlbGVtZW50XG5AbWl4aW4gcHNldWRvLWVsZW1lbnQge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIGFic29sdXRlIHRyYW5zZm9ybSBjZW50ZXIgYW4gZWxlbWVudFxuQG1peGluIGFic29sdXRlLWNlbnRlcigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuQG1peGluIHJlc2V0LWJ1dHRvbigpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWl4aW4gaGlkZVNjcm9sbGJhciB7XG4gIC8vIGh0dHBzOi8vYmxvZ3MubXNkbi5taWNyb3NvZnQuY29tL2t1cmxhay8yMDEzLzExLzAzL2hpZGluZy12ZXJ0aWNhbC1zY3JvbGxiYXJzLXdpdGgtcHVyZS1jc3MtaW4tY2hyb21lLWllLTYtZmlyZWZveC1vcGVyYS1hbmQtc2FmYXJpL1xuICAvLyBUaGVyZSBpcyBhIENTUyBydWxlIHRoYXQgY2FuIGhpZGUgc2Nyb2xsYmFycyBpbiBXZWJraXQtYmFzZWQgYnJvd3NlcnMgKENocm9tZSBhbmQgU2FmYXJpKS5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBUaGVyZSBpcyBhIENTUyBydWxlIHRoYXQgY2FuIGhpZGUgc2Nyb2xsYmFycyBpbiBJRSAxMCsuXG4gIC8vIFVzZSAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXIgaWYgeW91IHdpc2ggdG8gZGlzcGxheSBvbiBob3Zlci5cbiAgLy8gLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcblxuICAvLyBUaGVyZSB1c2VkIHRvIGJlIGEgQ1NTIHJ1bGUgdGhhdCBjb3VsZCBoaWRlIHNjcm9sbGJhcnMgaW4gRmlyZWZveCwgYnV0IGl0IGhhcyBzaW5jZSBiZWVuIGRlcHJlY2F0ZWQuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby11bmtub3duICovXG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/