/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeInFromBottom {
  0% {
    opacity: 0;
    transform: translateY(10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes fadeInFromTop {
  0% {
    opacity: 0;
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes fadeInFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@keyframes fadeInFromRight {
  0% {
    opacity: 0;
    transform: translateX(10px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@keyframes flashBackground {
  0% {
    background: rgba(141, 198, 63, 0.4); }
  100% {
    background: rgba(141, 198, 63, 0); } }

@keyframes offCanvasFromTop {
  0% {
    transform: translateY(-100%); }
  100% {
    transform: translateY(0); } }

@keyframes offCanvasToTop {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-100%); } }

@keyframes spin {
  from {
    transform: rotate(0); }
  to {
    transform: rotate(360deg); } }

@keyframes slideInFromRight {
  0% {
    opacity: 0;
    transform: translateX(200px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@keyframes fadeScaleIn {
  0% {
    opacity: 0;
    transform: scale(0.01); }
  100% {
    opacity: 1;
    transform: scale(1); } }

.hidden,
.js-partial {
  display: none; }

.hidden--mobile {
  display: none; }
  @media (min-width: 680px) {
    .hidden--mobile {
      display: block; } }

.hidden--tablet {
  display: block; }
  @media (min-width: 680px) {
    .hidden--tablet {
      display: none; } }
  @media (min-width: 1024px) {
    .hidden--tablet {
      display: block; } }

.hidden--laptop {
  display: block; }
  @media (min-width: 1024px) {
    .hidden--laptop {
      display: none; } }
  @media (min-width: 1280px) {
    .hidden--laptop {
      display: block; } }

.hidden--desktop {
  display: block; }
  @media (min-width: 1280px) {
    .hidden--desktop {
      display: none; } }

.show--mobile {
  display: block; }
  @media (min-width: 680px) {
    .show--mobile {
      display: none; } }

.show--tablet {
  display: none; }
  @media (min-width: 680px) {
    .show--tablet {
      display: block; } }
  @media (min-width: 1024px) {
    .show--tablet {
      display: none; } }

.show--laptop {
  display: none; }
  @media (min-width: 1024px) {
    .show--laptop {
      display: block; } }
  @media (min-width: 1280px) {
    .show--laptop {
      display: none; } }

.show--desktop {
  display: none; }
  @media (min-width: 1280px) {
    .show--desktop {
      display: block; } }

.clear-left {
  clear: left; }

.rotate---360 {
  transform: rotate(-360deg); }

.rotate---315 {
  transform: rotate(-315deg); }

.rotate---270 {
  transform: rotate(-270deg); }

.rotate---225 {
  transform: rotate(-225deg); }

.rotate---180 {
  transform: rotate(-180deg); }

.rotate---135 {
  transform: rotate(-135deg); }

.rotate---90 {
  transform: rotate(-90deg); }

.rotate---45 {
  transform: rotate(-45deg); }

.rotate--0 {
  transform: rotate(0deg); }

.rotate--45 {
  transform: rotate(45deg); }

.rotate--90 {
  transform: rotate(90deg); }

.rotate--135 {
  transform: rotate(135deg); }

.rotate--180 {
  transform: rotate(180deg); }

.rotate--225 {
  transform: rotate(225deg); }

.rotate--270 {
  transform: rotate(270deg); }

.rotate--315 {
  transform: rotate(315deg); }

.rotate--360 {
  transform: rotate(360deg); }

html {
  height: 100%; }

body {
  -webkit-font-smoothing: antialiased; }
  body ::-moz-selection {
    background: #f88379;
    color: #fff; }
  body ::selection {
    background: #f88379;
    color: #fff; }

p {
  margin-bottom: 20px; }

a {
  color: #f88379;
  text-decoration: none; }

b,
strong {
  font-weight: 700; }

i,
em {
  font-style: italic; }

small {
  font-size: 87.5%; }

ul,
ol,
dl {
  margin-bottom: 20px; }
  ul ul,
  ul ol,
  ol ul,
  ol ol,
  dl ul,
  dl ol {
    margin-bottom: 0; }
  ul.unstyled,
  ol.unstyled,
  dl.unstyled {
    list-style: none;
    margin: 0;
    margin-bottom: 20px;
    padding: 0; }

h1 {
  font-weight: normal;
  margin: 0 0 20px; }

h2 {
  font-weight: normal;
  margin: 0 0 20px; }

h3 {
  font-weight: normal;
  margin: 0 0 20px; }

h4 {
  font-weight: normal;
  margin: 0 0 20px; }

h5 {
  font-weight: normal;
  margin: 0 0 20px; }

h6 {
  font-weight: normal;
  margin: 0 0 20px; }

h1 {
  font-size: 48px;
  font-size: 3rem; }

h2 {
  font-size: 36px;
  font-size: 2.25rem; }

h3 {
  font-size: 28px;
  font-size: 1.75rem; }

h4 {
  font-size: 24px;
  font-size: 1.5rem; }

h5 {
  font-size: 20px;
  font-size: 1.25rem; }

h6 {
  font-size: 18px;
  font-size: 1.125rem; }

blockquote,
pre {
  color: #666;
  margin: 20px; }
  blockquote code,
  pre code {
    display: block;
    padding: 0; }

code {
  background-color: #ccc;
  border-radius: 3px;
  color: #222;
  padding: 2.5px 5px; }

fieldset {
  border: 0; }

table {
  border: 0;
  border-collapse: collapse;
  margin-bottom: 20px;
  text-align: left;
  width: 100%; }
  table tr:nth-child(2n) {
    background: #f5f5f5; }
  table th,
  table td {
    border: 1px solid #ccc;
    padding: calc(20px / 2); }

.responsive-table {
  table-layout: fixed; }
  .responsive-table thead {
    position: absolute;
    left: -9999px;
    top: -9999px; }
    @media (min-width: 680px) {
      .responsive-table thead {
        border: 1px solid #ccc;
        position: relative;
        top: 0;
        left: 0; } }
  .responsive-table th {
    border: 0;
    padding: calc(20px / 2); }
    @media (min-width: 680px) {
      .responsive-table th {
        border: 1px solid #ccc;
        display: table-cell; }
        .responsive-table th::before {
          display: none; } }
  .responsive-table tr {
    border: 1px solid #ccc;
    display: block;
    margin-bottom: 20px; }
    @media (min-width: 680px) {
      .responsive-table tr {
        border: 0;
        display: table-row;
        margin-bottom: 0; } }
  .responsive-table td {
    border: 0;
    border-bottom: 1px solid #ccc;
    display: block;
    padding: calc(20px / 2);
    text-align: right; }
    @media (min-width: 680px) {
      .responsive-table td {
        border: 1px solid #ccc;
        display: table-cell;
        text-align: left; } }
    .responsive-table td:last-child {
      border-bottom: 0; }
      @media (min-width: 680px) {
        .responsive-table td:last-child {
          border-bottom: 1px solid #ccc; } }
    .responsive-table td::before {
      content: attr(data-label);
      float: left;
      font-weight: bold;
      margin-right: 20px; }
      @media (min-width: 680px) {
        .responsive-table td::before {
          display: none; } }

:-ms-input-placeholder {
  color: #666 !important;
  font-style: italic;
  font-weight: 300;
  letter-spacing: .5px; }

::-webkit-input-placeholder {
  color: #666 !important;
  font-style: italic;
  font-weight: 300;
  letter-spacing: .5px; }

:-moz-placeholder {
  color: #666 !important;
  font-style: italic;
  font-weight: 300;
  letter-spacing: .5px; }

::-moz-placeholder {
  color: #666 !important;
  font-style: italic;
  font-weight: 300;
  letter-spacing: .5px; }

.icon {
  background: transparent;
  display: inline-block;
  fill: currentColor;
  height: 1em;
  width: 1em; }

.svg--baseline {
  display: inline-block;
  height: 1em;
  position: relative;
  width: 1em; }
  .svg--baseline > .icon {
    position: absolute;
    left: 0;
    top: .125em; }

.sr-only {
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important; }

img,
.wp-caption,
.alignnone {
  height: auto;
  max-width: 100%; }

.embed-container {
  height: 0;
  margin-bottom: 20px;
  padding-bottom: 56.25%;
  position: relative; }
  .embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@media print {
  .screen-only {
    display: none; } }

.print-only {
  display: none; }
  @media print {
    .print-only {
      display: block; } }

html {
  font-size: 16px; }

body {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 1.625rem;
  color: #1A1A1A; }
  body ::-moz-selection {
    background: #FF6900;
    color: #000; }
  body ::selection {
    background: #FF6900;
    color: #000; }

body,
input,
textarea,
button,
select {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%; }

p {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 1.625rem;
  color: #1A1A1A;
  margin: 0 0 20px; }

a {
  color: #000;
  text-decoration: underline; }
  a:hover {
    color: #333333;
    transition: all 0.2s ease; }

small {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 22px;
  line-height: 1.375rem;
  color: #787878; }

ul,
ol,
dl {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 1.625rem;
  color: #1A1A1A; }

h1 {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2; }

h2 {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2; }

h3 {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2; }

h4 {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2; }

h5 {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2; }

h6 {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2; }

h1 {
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 44px;
  line-height: 2.75rem; }
  @media (min-width: 1024px) {
    h1 {
      font-size: 45px;
      font-size: 2.8125rem;
      line-height: 54px;
      line-height: 3.375rem; } }

h2,
.archive__title,
.single-post--article .single-post__title,
.banner-block .banner-block__title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 32px;
  line-height: 2rem; }
  @media (min-width: 1024px) {
    h2,
    .archive__title,
    .single-post--article .single-post__title,
    .banner-block .banner-block__title {
      font-size: 28px;
      font-size: 1.75rem;
      line-height: 34px;
      line-height: 2.125rem; } }

h3,
.mini-panel__title {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 26px;
  line-height: 1.625rem; }
  @media (min-width: 1024px) {
    h3,
    .mini-panel__title {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 28px;
      line-height: 1.75rem; } }

h4,
legend {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 22px;
  line-height: 1.375rem; }
  @media (min-width: 1024px) {
    h4,
    legend {
      font-size: 16px;
      font-size: 1rem;
      line-height: 24px;
      line-height: 1.5rem; } }

h5 {
  font-size: 14px;
  font-size: 0.875rem; }

h6 {
  font-size: 12px;
  font-size: 0.75rem; }

.text--caption {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 22px;
  line-height: 1.375rem;
  color: #787878; }

* {
  box-sizing: border-box; }

html {
  overflow-x: hidden;
  overflow-y: scroll; }

body {
  background-color: #f3f3f3;
  display: flex;
  flex-direction: column;
  min-height: 100vh; }
  body .main {
    flex: 1 1 auto;
    width: 100%; }
  body.noscroll {
    overflow: hidden; }

.container {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
  width: calc(100% - (15px * 2)); }
  @media (min-width: 1024px) {
    .container {
      width: calc(100% - (40px * 2)); } }

.container--one-column {
  display: block;
  max-width: 100%;
  width: 100%; }
  @supports (display: grid) {
    .container--one-column {
      display: grid;
      grid-template-columns: [full-start] minmax(15px, 1fr) [main-start] minmax(0, 1280px) [main-end] minmax(15px, 1fr) [full-end];
      max-width: initial;
      width: 100%; } }
  @media (min-width: 1024px) {
    .container--one-column {
      grid-template-columns: [full-start] minmax(40px, 1fr) [main-start] minmax(0, 1280px) [main-end] minmax(40px, 1fr) [full-end]; } }
  .container--one-column > * {
    grid-column: main; }
    .ie11 .container--one-column > * {
      margin: 0 auto;
      width: calc(100% - (40px * 2)); }
  .container--one-column .page-section--full-bleed,
  .container--one-column .container--full-bleed {
    grid-column: full; }
    .ie11 .container--one-column .page-section--full-bleed, .ie11
    .container--one-column .container--full-bleed {
      width: 100%; }
  .container--one-column .page-section--gap {
    margin: 30px 0; }
    @media (min-width: 680px) {
      .container--one-column .page-section--gap {
        margin: 50px 0; }
        .ie11 .container--one-column .page-section--gap {
          margin: 50px auto; } }
  .container--one-column .page-section--gap-bottom {
    margin: 0 0 30px; }
    @media (min-width: 680px) {
      .container--one-column .page-section--gap-bottom {
        margin: 0 0 50px; }
        .ie11 .container--one-column .page-section--gap-bottom {
          margin: 0 auto 50px; } }
  .container--one-column .page-section--no-gap {
    margin: 0; }

.container--two-column {
  display: block;
  max-width: 100%;
  width: 100%; }
  @supports (display: grid) {
    .container--two-column {
      display: grid;
      grid-template-columns: [full-start] minmax(40px, 1fr) [main-start] minmax(0, calc((1280px * .75) - (40px / 2))) [main-end] 40px [aside-start] calc((1280px * .25) - (40px / 2)) [aside-end] minmax(40px, 1fr) [full-end];
      max-width: initial;
      width: 100%; } }
  .container--two-column > * {
    grid-column: main / aside; }
  .container--two-column .container--content {
    display: inline-block;
    width: 100%; }
    @media (min-width: 1024px) {
      .container--two-column .container--content {
        max-width: calc(75% - (40px / 2)); } }
    @media (min-width: 1280px) {
      .container--two-column .container--content {
        max-width: calc((1280px * .75) - (40px / 2)); } }
    @media (min-width: 1024px) {
      .container--two-column .container--content {
        grid-column: main; }
        @supports (display: grid) {
          .container--two-column .container--content {
            max-width: initial;
            width: auto; } } }
  .container--two-column .container--aside,
  .container--two-column .aside {
    display: inline-block;
    width: 100%; }
    @media (min-width: 1024px) {
      .container--two-column .container--aside,
      .container--two-column .aside {
        float: right;
        max-width: calc(25% - (40px / 2)); } }
    @media (min-width: 1280px) {
      .container--two-column .container--aside,
      .container--two-column .aside {
        max-width: calc((1280px * .25) - (40px / 2)); } }
    @media (min-width: 1024px) {
      .container--two-column .container--aside,
      .container--two-column .aside {
        grid-column: aside; }
        @supports (display: grid) {
          .container--two-column .container--aside,
          .container--two-column .aside {
            max-width: initial;
            width: auto; } } }
  .container--two-column .page-builder__section--full-bleed,
  .container--two-column .container--full-bleed {
    grid-column: full; }

.error404__wrapper {
  padding: 40px 0; }
  @media (min-width: 1024px) {
    .error404__wrapper {
      padding: 60px 0;
      text-align: center; } }

.page-section--services-block {
  color: #fff;
  min-height: 300px; }
  .ie11 .page-section--services-block .css-grid {
    display: flex;
    justify-content: center; }
  @media (min-width: 1024px) {
    .page-section--services-block .section-title {
      margin: 0 auto;
      max-width: 1280px;
      padding: 0;
      width: calc(100% - (15px * 2));
      text-align: center; } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .page-section--services-block .section-title {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .page-section--services-block .section-title {
      width: calc(75% - (40px * 2)); } }
  .page-section--services-block .services-block__meta {
    background-color: #353535; }
    .ie11 .page-section--services-block .services-block__meta {
      width: 100%;
      margin: 0; }
  .page-section--services-block .services-block__wysiwyg {
    color: #fff; }
    .page-section--services-block .services-block__wysiwyg p {
      color: #fff;
      margin-bottom: 0; }
  .page-section--services-block .services-block__content {
    background-color: #1A1A1A;
    background-image: url(data:image/png;base64,ZXhwb3J0IGRlZmF1bHQgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gKyAiaW1hZ2VzL3RpcmUucG5nIjs=);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom right;
    padding: 60px 0; }
    .page-section--services-block .services-block__content .css-grid {
      grid-gap: 20px; }
    .ie11 .page-section--services-block .services-block__content {
      width: 100%;
      margin: 0; }
  .page-section--services-block .services__list {
    margin: 40px 0 0;
    padding: 0; }
    @media (min-width: 1024px) {
      .page-section--services-block .services__list {
        margin: 0 auto;
        max-width: 1280px;
        padding: 0;
        width: calc(100% - (15px * 2));
        margin-top: 40px; } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .page-section--services-block .services__list {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .page-section--services-block .services__list {
      width: calc(75% - (40px * 2)); } }
    .ie11 .page-section--services-block .services__list {
      width: 100%; }
  .page-section--services-block .services__list-item {
    display: flex;
    justify-items: flex-start;
    align-items: flex-start;
    color: #fff; }
    .page-section--services-block .services__list-item .icon {
      width: 30px;
      height: 30px;
      min-width: 30px; }
    .page-section--services-block .services__list-item p {
      color: #fff;
      margin: 0 0 0 20px; }

.archive .page-section--posts-grid {
  margin: 40px 0; }

.archive__title {
  padding: 40px 0;
  margin: 0;
  border-bottom: 1px solid #ccc; }

.page-section__title--empty {
  padding: 20px 0; }

.menu.menu--post-types-navigation {
  list-style-type: none;
  margin: 40px 0 0;
  box-shadow: 0;
  position: relative;
  min-height: 51px; }
  .ie11 .menu.menu--post-types-navigation {
    margin: 0 auto; }
  .menu.menu--post-types-navigation.menu--open {
    overflow: visible;
    border: 0; }
    .menu.menu--post-types-navigation.menu--open .menu__list {
      border: 1px solid #ccc; }
  @media (min-width: 1024px) {
    .menu.menu--post-types-navigation {
      margin: 0;
      padding: 40px 0 0; } }
  .menu.menu--post-types-navigation .menu__list {
    background-color: #fff;
    position: absolute;
    width: 100%;
    z-index: 100; }
    @media (min-width: 1024px) {
      .menu.menu--post-types-navigation .menu__list {
        position: static;
        background-color: transparent;
        margin-right: 40px; } }
    .menu.menu--post-types-navigation .menu__list .menu__item {
      border: 0;
      padding: 0 15px 15px; }
      @media (min-width: 1024px) {
        .menu.menu--post-types-navigation .menu__list .menu__item {
          padding: 0; } }
      .menu.menu--post-types-navigation .menu__list .menu__item .menu__title {
        font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
        font-style: normal;
        font-weight: 400;
        line-height: 1.625;
        font-size: 14px;
        font-size: 0.875rem;
        text-decoration: none;
        color: #1A1A1A; }
        @media (min-width: 1024px) {
          .menu.menu--post-types-navigation .menu__list .menu__item .menu__title {
            font-size: 16px;
            font-size: 1rem;
            font-weight: 500; } }
      .menu.menu--post-types-navigation .menu__list .menu__item:hover .menu__title {
        color: #FF6900; }
      .menu.menu--post-types-navigation .menu__list .menu__item.current_page_parent .menu__title {
        color: #FF6900;
        text-decoration: underline; }
      .menu.menu--post-types-navigation .menu__list .menu__item.menu__item--label {
        font-size: 14px;
        font-size: 0.875rem;
        border: 0;
        font-weight: 400;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 15px; }
        @media (min-width: 1024px) {
          .menu.menu--post-types-navigation .menu__list .menu__item.menu__item--label {
            display: none; } }
    .menu.menu--post-types-navigation .menu__list .menu-item:first-of-type {
      margin-top: 5px; }
      @media (min-width: 1024px) {
        .menu.menu--post-types-navigation .menu__list .menu-item:first-of-type {
          margin-top: 0; } }

.single-post--article {
  margin-bottom: 30px; }
  @media (min-width: 1024px) {
    .single-post--article {
      margin: 0 auto;
      max-width: 1280px;
      padding: 0;
      width: calc(100% - (15px * 2));
      margin-left: 0;
      margin-right: auto;
      margin-bottom: 50px; } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .single-post--article {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .single-post--article {
      width: calc(75% - (40px * 2)); } }
  .single-post--article .post-meta__date {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    display: inline-block;
    color: #1A1A1A;
    margin-bottom: 30px; }
  .single-post--article .single-post__title {
    margin-top: 45px;
    margin-bottom: 10px; }
  .single-post--article .background-image--post-image {
    max-width: 570px;
    margin-bottom: 30px; }
    .single-post--article .background-image--post-image::before {
      content: '';
      float: left;
      height: 0;
      margin-left: -1px;
      padding-top: calc(3 / 5 * 100%);
      width: 1px; }
    .single-post--article .background-image--post-image::after {
      clear: both;
      content: '';
      display: table; }

.single-news-release .page-section--wysiwyg-block--multi-columns {
  border-top: 1px solid #ccc;
  margin-top: 0;
  padding-top: 50px; }

.page-news-events .page-section--intro-block {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 30px 0;
  margin: 0; }
  @media (min-width: 1024px) {
    .page-news-events .page-section--intro-block {
      padding: 50px 0; } }

@media (min-width: 1024px) {
  .page-section--search-results .pagination {
    margin: 0 auto;
    max-width: 1280px;
    padding: 0;
    width: calc(100% - (15px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .page-section--search-results .pagination {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .page-section--search-results .pagination {
      width: calc(75% - (40px * 2)); } }

.search-results__wrapper {
  padding: 50px 0 30px; }
  @media (min-width: 1024px) {
    .search-results__wrapper {
      margin: 0 auto;
      max-width: 1280px;
      padding: 0;
      width: calc(100% - (15px * 2));
      padding: 50px 0; } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .search-results__wrapper {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .search-results__wrapper {
      width: calc(75% - (40px * 2)); } }
  .search-results__wrapper .search-results__title {
    margin-bottom: 40px; }

.wysiwyg img {
  margin-bottom: 40px;
  margin-top: 40px; }
  @media (min-width: 1024px) {
    .wysiwyg img.alignright {
      float: right;
      margin-left: 40px; } }
  .wysiwyg img.aligncenter {
    display: block;
    margin: 0 auto; }
  @media (min-width: 1024px) {
    .wysiwyg img.alignleft {
      float: left;
      margin-right: 40px; } }

.wysiwyg .wp-caption img {
  margin-bottom: 40px; }

@media (min-width: 1024px) {
  .wysiwyg .wp-caption.alignright img {
    float: right;
    margin-left: 40px; }
  .wysiwyg .wp-caption.alignleft img {
    float: left;
    margin-right: 40px; } }

.form__field {
  display: block;
  margin: 0 0 20px;
  width: 100%; }

.form__fieldset {
  margin: 0;
  padding: 0; }

.form__label {
  display: block;
  font-weight: bold; }

.form__option-label {
  display: block; }

.form__required {
  color: #FF0000; }

.form__not-required {
  color: #787878;
  padding-left: 0.5em; }

.form__input,
.form__select,
.form__textarea {
  border: 1px solid #ccc;
  display: block;
  width: 100%; }

.form__checkbox,
.form__radio {
  display: inline-block; }

.form__field--custom-select .form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: none;
  border: 0;
  box-shadow: none; }

.form__field--custom-select .form__element {
  border: 1px solid #ccc; }

.form__field--image-radio .form__choice {
  display: none; }

.form__field--image-radio .form__option-label {
  border: 1px solid #ccc;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.2s ease; }
  .form__field--image-radio .form__option-label.form__option-label--selected, .form__field--image-radio .form__option-label:hover {
    border: 1px solid #FF6900; }

.form__field--button-radio .form__radio {
  display: none; }

.form__field--button-radio .form__option-label {
  cursor: pointer;
  display: inline-block;
  transition: all 0.2s ease; }

.form__spinner {
  display: none; }

.form__element {
  position: relative; }

.form__icon {
  display: inline-block; }

.form__icons {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none; }
  .form__field--textarea .form__icons {
    top: 5px;
    transform: translateY(0); }
  .form__field--select .form__icons {
    right: 15px; }
  .form__field--custom-select .form__icons {
    right: 0; }

.password__toggle {
  cursor: pointer;
  display: inline-block;
  position: relative;
  z-index: 1000; }

.form__icon--password-hide {
  display: none; }

.password__toggle--visible .form__icon--password-show {
  display: none; }

.password__toggle--visible .form__icon--password-hide {
  display: inline-block; }

.form__icon--validation {
  animation: fadeInFromBottom 0.3s ease-out;
  display: none; }

.form__validation {
  color: #787878;
  display: block; }

.form__field--valid .form__control {
  border-color: #44cc44; }

.form__field--valid .form__validation {
  color: #44cc44; }

.form__field--valid .form__icon--validation-valid {
  color: #44cc44;
  display: inline-block; }

.form__field--invalid .form__control {
  border-color: #FF0000; }

.form__field--invalid .form__validation {
  color: #FF0000; }

.form__field--invalid .form__icon--validation-invalid {
  color: #FF0000;
  display: inline-block; }

.validation--credit-cards {
  right: 15px;
  width: auto; }
  .validation--credit-cards .form__field-icons__icon--credit-card {
    color: #787878;
    transition: all 1s ease; }
  .validation--credit-cards .form__field-icons__icon--active {
    animation: fadeInRight 1s ease-out;
    color: #f3f3f3; }
  .validation--credit-cards .form__field-icons__icon--inactive {
    animation: fadeInRight 1s ease-out;
    display: none; }

.mailcheck {
  color: #FF0000;
  display: none; }

.mailcheck__accept {
  cursor: pointer;
  text-decoration: underline; }

.form__field--mailcheck .mailcheck {
  display: block; }

.form--border .form__field {
  border: 1px solid #ccc;
  margin: 0;
  padding: 10px;
  width: 100%; }
  .form--border .form__field + .form__field {
    border-top: 0; }

.form--border .form__input,
.form--border .form__textarea {
  border: 0; }

.form--inline .form__label,
.form--inline .form__element {
  display: inline-block; }

.form--inline .form__input,
.form--inline .form__select,
.form--inline .form__textarea {
  display: inline-block;
  width: auto; }

.css-grid {
  display: block;
  width: 100%; }
  @supports (display: grid) {
    .css-grid {
      display: grid;
      grid-gap: 15px; }
      @media (min-width: 1024px) {
        .css-grid {
          grid-gap: 40px; } } }

.css-grid__item {
  display: inline-block;
  margin: 0 calc(15px / 2) 15px; }
  @media (min-width: 680px) {
    .css-grid__item {
      margin: 0 calc(40px / 2) 40px; } }
  @supports (display: grid) {
    .css-grid__item {
      margin: 0;
      width: initial; } }

.css-grid--small-1 {
  grid-template-columns: repeat(1, 1fr); }

.css-grid--small-2 {
  grid-template-columns: repeat(2, 1fr); }

.css-grid--small-3 {
  grid-template-columns: repeat(3, 1fr); }

.css-grid--small-4 {
  grid-template-columns: repeat(4, 1fr); }

@media (min-width: 680px) {
  .css-grid--medium-1 {
    grid-template-columns: repeat(1, 1fr); }
    .css-grid--medium-1 .css-grid__item {
      width: calc(100% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--medium-1 .css-grid__item {
          width: initial; } }
  .css-grid--medium-2 {
    grid-template-columns: repeat(2, 1fr); }
    .css-grid--medium-2 .css-grid__item {
      width: calc(50% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--medium-2 .css-grid__item {
          width: initial; } }
  .css-grid--medium-3 {
    grid-template-columns: repeat(3, 1fr); }
    .css-grid--medium-3 .css-grid__item {
      width: calc(33.33333% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--medium-3 .css-grid__item {
          width: initial; } }
  .css-grid--medium-4 {
    grid-template-columns: repeat(4, 1fr); }
    .css-grid--medium-4 .css-grid__item {
      width: calc(25% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--medium-4 .css-grid__item {
          width: initial; } }
  .css-grid--medium-5 {
    grid-template-columns: repeat(5, 1fr); }
    .css-grid--medium-5 .css-grid__item {
      width: calc(20% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--medium-5 .css-grid__item {
          width: initial; } }
  .css-grid--medium-6 {
    grid-template-columns: repeat(6, 1fr); }
    .css-grid--medium-6 .css-grid__item {
      width: calc(16.66667% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--medium-6 .css-grid__item {
          width: initial; } }
  .css-grid--medium-7 {
    grid-template-columns: repeat(7, 1fr); }
    .css-grid--medium-7 .css-grid__item {
      width: calc(14.28571% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--medium-7 .css-grid__item {
          width: initial; } }
  .css-grid--medium-8 {
    grid-template-columns: repeat(8, 1fr); }
    .css-grid--medium-8 .css-grid__item {
      width: calc(12.5% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--medium-8 .css-grid__item {
          width: initial; } } }

@media (min-width: 1024px) {
  .css-grid--large-1 {
    grid-template-columns: repeat(1, 1fr); }
    .css-grid--large-1 .css-grid__item {
      width: calc(100% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--large-1 .css-grid__item {
          width: initial; } }
  .css-grid--large-2 {
    grid-template-columns: repeat(2, 1fr); }
    .css-grid--large-2 .css-grid__item {
      width: calc(50% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--large-2 .css-grid__item {
          width: initial; } }
  .css-grid--large-3 {
    grid-template-columns: repeat(3, 1fr); }
    .css-grid--large-3 .css-grid__item {
      width: calc(33.33333% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--large-3 .css-grid__item {
          width: initial; } }
  .css-grid--large-4 {
    grid-template-columns: repeat(4, 1fr); }
    .css-grid--large-4 .css-grid__item {
      width: calc(25% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--large-4 .css-grid__item {
          width: initial; } }
  .css-grid--large-5 {
    grid-template-columns: repeat(5, 1fr); }
    .css-grid--large-5 .css-grid__item {
      width: calc(20% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--large-5 .css-grid__item {
          width: initial; } }
  .css-grid--large-6 {
    grid-template-columns: repeat(6, 1fr); }
    .css-grid--large-6 .css-grid__item {
      width: calc(16.66667% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--large-6 .css-grid__item {
          width: initial; } }
  .css-grid--large-7 {
    grid-template-columns: repeat(7, 1fr); }
    .css-grid--large-7 .css-grid__item {
      width: calc(14.28571% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--large-7 .css-grid__item {
          width: initial; } }
  .css-grid--large-8 {
    grid-template-columns: repeat(8, 1fr); }
    .css-grid--large-8 .css-grid__item {
      width: calc(12.5% - (40px * 2)); }
      @supports (display: grid) {
        .css-grid--large-8 .css-grid__item {
          width: initial; } } }

.css-grid--no-gutter {
  grid-gap: 0; }

.css-grid--accordion {
  display: flex;
  flex-flow: row wrap; }
  @supports (display: grid) {
    .css-grid--accordion {
      display: grid;
      grid-auto-flow: dense;
      grid-template-rows: repeat(2, auto); } }
  .css-grid--accordion .css-grid__item {
    display: inline-flex;
    float: left; }
  .css-grid--accordion .css-grid__item--card {
    align-items: flex-start;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease; }
    .css-grid--accordion .css-grid__item--card::after {
      border: 15px solid transparent;
      border-bottom: 0;
      border-top-color: #353535;
      content: '';
      display: none;
      position: absolute;
      left: 50%;
      top: calc(100% - 1px);
      transform: translateX(-50%);
      transition: all 0.2s ease; }
      @media (min-width: 680px) {
        .css-grid--accordion .css-grid__item--card::after {
          border-width: 16px; } }
    .css-grid--accordion .css-grid__item--card.js-active::after {
      display: block; }
  .css-grid--accordion .css-grid__item--panel {
    display: none;
    grid-column: -1 / 1;
    -ms-grid-column: 1;
    margin-left: 0;
    margin-right: 0;
    width: 100%; }
    @media (min-width: 680px) {
      .css-grid--accordion .css-grid__item--panel {
        margin-left: 0;
        margin-right: 0; } }
    .css-grid--accordion .css-grid__item--panel.js-active {
      display: block; }
  .css-grid--accordion.css-grid--small-1 .css-grid__item--panel {
    -ms-grid-column-span: 1; }
  .css-grid--accordion.css-grid--small-2 .css-grid__item--panel {
    -ms-grid-column-span: 2; }
  .css-grid--accordion.css-grid--small-3 .css-grid__item--panel {
    -ms-grid-column-span: 3; }
  .css-grid--accordion.css-grid--small-4 .css-grid__item--panel {
    -ms-grid-column-span: 4; }
  @media (min-width: 680px) {
    .css-grid--accordion.css-grid--medium-1 .css-grid__item--panel {
      -ms-grid-column-span: 1; }
    .css-grid--accordion.css-grid--medium-2 .css-grid__item--panel {
      -ms-grid-column-span: 2; }
    .css-grid--accordion.css-grid--medium-3 .css-grid__item--panel {
      -ms-grid-column-span: 3; }
    .css-grid--accordion.css-grid--medium-4 .css-grid__item--panel {
      -ms-grid-column-span: 4; }
    .css-grid--accordion.css-grid--medium-5 .css-grid__item--panel {
      -ms-grid-column-span: 5; }
    .css-grid--accordion.css-grid--medium-6 .css-grid__item--panel {
      -ms-grid-column-span: 6; }
    .css-grid--accordion.css-grid--medium-7 .css-grid__item--panel {
      -ms-grid-column-span: 7; }
    .css-grid--accordion.css-grid--medium-8 .css-grid__item--panel {
      -ms-grid-column-span: 8; } }
  @media (min-width: 1024px) {
    .css-grid--accordion.css-grid--large-1 .css-grid__item--panel {
      -ms-grid-column-span: 1; }
    .css-grid--accordion.css-grid--large-2 .css-grid__item--panel {
      -ms-grid-column-span: 2; }
    .css-grid--accordion.css-grid--large-3 .css-grid__item--panel {
      -ms-grid-column-span: 3; }
    .css-grid--accordion.css-grid--large-4 .css-grid__item--panel {
      -ms-grid-column-span: 4; }
    .css-grid--accordion.css-grid--large-5 .css-grid__item--panel {
      -ms-grid-column-span: 5; }
    .css-grid--accordion.css-grid--large-6 .css-grid__item--panel {
      -ms-grid-column-span: 6; }
    .css-grid--accordion.css-grid--large-7 .css-grid__item--panel {
      -ms-grid-column-span: 7; }
    .css-grid--accordion.css-grid--large-8 .css-grid__item--panel {
      -ms-grid-column-span: 8; } }

.flex-grid {
  align-items: stretch;
  display: flex;
  flex-flow: row wrap; }
  .flex-grid > * {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    flex-grow: 0;
    flex-shrink: 1;
    overflow: hidden; }
    @media (min-width: 680px) {
      .flex-grid > * {
        flex-basis: 50%; }
        .ie11 .flex-grid > * {
          max-width: 50%; } }
    @media (min-width: 1024px) {
      .flex-grid > * {
        flex-basis: 33.33333%; }
        .ie11 .flex-grid > * {
          max-width: 33.33333%; } }
  .flex-grid--gutter {
    margin: 0 -7.5px; }
    .flex-grid--gutter > * {
      margin: 0 0 15px;
      padding: 0 7.5px; }
      @media (min-width: 1024px) {
        .flex-grid--gutter > * {
          margin: 0 0 40px;
          padding: 0 20px; } }
    @media (min-width: 1024px) {
      .flex-grid--gutter {
        margin: 0 -20px; } }
    .container--full-bleed .flex-grid--gutter,
    .page-builder__section--full-bleed .flex-grid--gutter {
      margin: 0 7.5px; }
  .flex-grid--grow > * {
    flex-grow: 1; }
  .flex-grid.flex-grid--small-1 > * {
    flex-basis: 100%; }
    .ie11 .flex-grid.flex-grid--small-1 > * {
      max-width: 100%; }
  .flex-grid.flex-grid--small-2 > * {
    flex-basis: 50%; }
    .ie11 .flex-grid.flex-grid--small-2 > * {
      max-width: 50%; }
  .flex-grid.flex-grid--small-3 > * {
    flex-basis: 33.33333%; }
    .ie11 .flex-grid.flex-grid--small-3 > * {
      max-width: 33.33333%; }
  .flex-grid.flex-grid--small-4 > * {
    flex-basis: 25%; }
    .ie11 .flex-grid.flex-grid--small-4 > * {
      max-width: 25%; }
  .flex-grid.flex-grid--small-5 > * {
    flex-basis: 20%; }
    .ie11 .flex-grid.flex-grid--small-5 > * {
      max-width: 20%; }
  .flex-grid.flex-grid--small-6 > * {
    flex-basis: 16.66667%; }
    .ie11 .flex-grid.flex-grid--small-6 > * {
      max-width: 16.66667%; }
  .flex-grid.flex-grid--small-7 > * {
    flex-basis: 14.28571%; }
    .ie11 .flex-grid.flex-grid--small-7 > * {
      max-width: 14.28571%; }
  .flex-grid.flex-grid--small-8 > * {
    flex-basis: 12.5%; }
    .ie11 .flex-grid.flex-grid--small-8 > * {
      max-width: 12.5%; }
  .flex-grid.flex-grid--small-9 > * {
    flex-basis: 11.11111%; }
    .ie11 .flex-grid.flex-grid--small-9 > * {
      max-width: 11.11111%; }
  .flex-grid.flex-grid--small-10 > * {
    flex-basis: 10%; }
    .ie11 .flex-grid.flex-grid--small-10 > * {
      max-width: 10%; }
  .flex-grid.flex-grid--small-11 > * {
    flex-basis: 9.09091%; }
    .ie11 .flex-grid.flex-grid--small-11 > * {
      max-width: 9.09091%; }
  .flex-grid.flex-grid--small-12 > * {
    flex-basis: 8.33333%; }
    .ie11 .flex-grid.flex-grid--small-12 > * {
      max-width: 8.33333%; }
  @media (min-width: 680px) {
    .flex-grid.flex-grid--medium-1 > * {
      flex-basis: 100%; }
      .ie11 .flex-grid.flex-grid--medium-1 > * {
        max-width: 100%; }
    .flex-grid.flex-grid--medium-2 > * {
      flex-basis: 50%; }
      .ie11 .flex-grid.flex-grid--medium-2 > * {
        max-width: 50%; }
    .flex-grid.flex-grid--medium-3 > * {
      flex-basis: 33.33333%; }
      .ie11 .flex-grid.flex-grid--medium-3 > * {
        max-width: 33.33333%; }
    .flex-grid.flex-grid--medium-4 > * {
      flex-basis: 25%; }
      .ie11 .flex-grid.flex-grid--medium-4 > * {
        max-width: 25%; }
    .flex-grid.flex-grid--medium-5 > * {
      flex-basis: 20%; }
      .ie11 .flex-grid.flex-grid--medium-5 > * {
        max-width: 20%; }
    .flex-grid.flex-grid--medium-6 > * {
      flex-basis: 16.66667%; }
      .ie11 .flex-grid.flex-grid--medium-6 > * {
        max-width: 16.66667%; }
    .flex-grid.flex-grid--medium-7 > * {
      flex-basis: 14.28571%; }
      .ie11 .flex-grid.flex-grid--medium-7 > * {
        max-width: 14.28571%; }
    .flex-grid.flex-grid--medium-8 > * {
      flex-basis: 12.5%; }
      .ie11 .flex-grid.flex-grid--medium-8 > * {
        max-width: 12.5%; }
    .flex-grid.flex-grid--medium-9 > * {
      flex-basis: 11.11111%; }
      .ie11 .flex-grid.flex-grid--medium-9 > * {
        max-width: 11.11111%; }
    .flex-grid.flex-grid--medium-10 > * {
      flex-basis: 10%; }
      .ie11 .flex-grid.flex-grid--medium-10 > * {
        max-width: 10%; }
    .flex-grid.flex-grid--medium-11 > * {
      flex-basis: 9.09091%; }
      .ie11 .flex-grid.flex-grid--medium-11 > * {
        max-width: 9.09091%; }
    .flex-grid.flex-grid--medium-12 > * {
      flex-basis: 8.33333%; }
      .ie11 .flex-grid.flex-grid--medium-12 > * {
        max-width: 8.33333%; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--large-1 > * {
      flex-basis: 100%; }
      .ie11 .flex-grid.flex-grid--large-1 > * {
        max-width: 100%; }
    .flex-grid.flex-grid--large-2 > * {
      flex-basis: 50%; }
      .ie11 .flex-grid.flex-grid--large-2 > * {
        max-width: 50%; }
    .flex-grid.flex-grid--large-3 > * {
      flex-basis: 33.33333%; }
      .ie11 .flex-grid.flex-grid--large-3 > * {
        max-width: 33.33333%; }
    .flex-grid.flex-grid--large-4 > * {
      flex-basis: 25%; }
      .ie11 .flex-grid.flex-grid--large-4 > * {
        max-width: 25%; }
    .flex-grid.flex-grid--large-5 > * {
      flex-basis: 20%; }
      .ie11 .flex-grid.flex-grid--large-5 > * {
        max-width: 20%; }
    .flex-grid.flex-grid--large-6 > * {
      flex-basis: 16.66667%; }
      .ie11 .flex-grid.flex-grid--large-6 > * {
        max-width: 16.66667%; }
    .flex-grid.flex-grid--large-7 > * {
      flex-basis: 14.28571%; }
      .ie11 .flex-grid.flex-grid--large-7 > * {
        max-width: 14.28571%; }
    .flex-grid.flex-grid--large-8 > * {
      flex-basis: 12.5%; }
      .ie11 .flex-grid.flex-grid--large-8 > * {
        max-width: 12.5%; }
    .flex-grid.flex-grid--large-9 > * {
      flex-basis: 11.11111%; }
      .ie11 .flex-grid.flex-grid--large-9 > * {
        max-width: 11.11111%; }
    .flex-grid.flex-grid--large-10 > * {
      flex-basis: 10%; }
      .ie11 .flex-grid.flex-grid--large-10 > * {
        max-width: 10%; }
    .flex-grid.flex-grid--large-11 > * {
      flex-basis: 9.09091%; }
      .ie11 .flex-grid.flex-grid--large-11 > * {
        max-width: 9.09091%; }
    .flex-grid.flex-grid--large-12 > * {
      flex-basis: 8.33333%; }
      .ie11 .flex-grid.flex-grid--large-12 > * {
        max-width: 8.33333%; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-1 > *:nth-child(n+2) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-2 > *:nth-child(n+3) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-3 > *:nth-child(n+4) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-4 > *:nth-child(n+5) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-5 > *:nth-child(n+6) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-6 > *:nth-child(n+7) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-7 > *:nth-child(n+8) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-8 > *:nth-child(n+9) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-9 > *:nth-child(n+10) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-10 > *:nth-child(n+11) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-11 > *:nth-child(n+12) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-1.flex-grid--small-12 > *:nth-child(n+13) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-1 > *:nth-child(n+3) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-2 > *:nth-child(n+5) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-3 > *:nth-child(n+7) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-4 > *:nth-child(n+9) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-5 > *:nth-child(n+11) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-6 > *:nth-child(n+13) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-7 > *:nth-child(n+15) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-8 > *:nth-child(n+17) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-9 > *:nth-child(n+19) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-10 > *:nth-child(n+21) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-11 > *:nth-child(n+23) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-2.flex-grid--small-12 > *:nth-child(n+25) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-1 > *:nth-child(n+4) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-2 > *:nth-child(n+7) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-3 > *:nth-child(n+10) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-4 > *:nth-child(n+13) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-5 > *:nth-child(n+16) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-6 > *:nth-child(n+19) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-7 > *:nth-child(n+22) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-8 > *:nth-child(n+25) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-9 > *:nth-child(n+28) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-10 > *:nth-child(n+31) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-11 > *:nth-child(n+34) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-3.flex-grid--small-12 > *:nth-child(n+37) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-1 > *:nth-child(n+5) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-2 > *:nth-child(n+9) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-3 > *:nth-child(n+13) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-4 > *:nth-child(n+17) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-5 > *:nth-child(n+21) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-6 > *:nth-child(n+25) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-7 > *:nth-child(n+29) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-8 > *:nth-child(n+33) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-9 > *:nth-child(n+37) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-10 > *:nth-child(n+41) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-11 > *:nth-child(n+45) {
      display: none; } }
  @media (max-width: 680px) {
    .flex-grid.flex-grid--max-rows-small-4.flex-grid--small-12 > *:nth-child(n+49) {
      display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-1 > *:nth-child(n+2) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-2 > *:nth-child(n+3) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-3 > *:nth-child(n+4) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-4 > *:nth-child(n+5) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-5 > *:nth-child(n+6) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-6 > *:nth-child(n+7) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-7 > *:nth-child(n+8) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-8 > *:nth-child(n+9) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-9 > *:nth-child(n+10) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-10 > *:nth-child(n+11) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-11 > *:nth-child(n+12) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-1.flex-grid--medium-12 > *:nth-child(n+13) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-1 > *:nth-child(n+3) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-2 > *:nth-child(n+5) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-3 > *:nth-child(n+7) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-4 > *:nth-child(n+9) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-5 > *:nth-child(n+11) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-6 > *:nth-child(n+13) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-7 > *:nth-child(n+15) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-8 > *:nth-child(n+17) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-9 > *:nth-child(n+19) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-10 > *:nth-child(n+21) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-11 > *:nth-child(n+23) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-2.flex-grid--medium-12 > *:nth-child(n+25) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-1 > *:nth-child(n+4) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-2 > *:nth-child(n+7) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-3 > *:nth-child(n+10) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-4 > *:nth-child(n+13) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-5 > *:nth-child(n+16) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-6 > *:nth-child(n+19) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-7 > *:nth-child(n+22) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-8 > *:nth-child(n+25) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-9 > *:nth-child(n+28) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-10 > *:nth-child(n+31) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-11 > *:nth-child(n+34) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-3.flex-grid--medium-12 > *:nth-child(n+37) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-1 > *:nth-child(n+5) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-2 > *:nth-child(n+9) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-3 > *:nth-child(n+13) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-4 > *:nth-child(n+17) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-5 > *:nth-child(n+21) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-6 > *:nth-child(n+25) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-7 > *:nth-child(n+29) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-8 > *:nth-child(n+33) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-9 > *:nth-child(n+37) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-10 > *:nth-child(n+41) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-11 > *:nth-child(n+45) {
    display: none; } }

@media (min-width: 680px) and (max-width: 1024px) {
  .flex-grid.flex-grid--max-rows-medium-4.flex-grid--medium-12 > *:nth-child(n+49) {
    display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-1 > *:nth-child(n+2) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-2 > *:nth-child(n+3) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-3 > *:nth-child(n+4) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-4 > *:nth-child(n+5) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-5 > *:nth-child(n+6) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-6 > *:nth-child(n+7) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-7 > *:nth-child(n+8) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-8 > *:nth-child(n+9) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-9 > *:nth-child(n+10) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-10 > *:nth-child(n+11) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-11 > *:nth-child(n+12) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-1.flex-grid--large-12 > *:nth-child(n+13) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-1 > *:nth-child(n+3) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-2 > *:nth-child(n+5) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-3 > *:nth-child(n+7) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-4 > *:nth-child(n+9) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-5 > *:nth-child(n+11) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-6 > *:nth-child(n+13) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-7 > *:nth-child(n+15) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-8 > *:nth-child(n+17) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-9 > *:nth-child(n+19) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-10 > *:nth-child(n+21) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-11 > *:nth-child(n+23) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-2.flex-grid--large-12 > *:nth-child(n+25) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-1 > *:nth-child(n+4) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-2 > *:nth-child(n+7) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-3 > *:nth-child(n+10) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-4 > *:nth-child(n+13) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-5 > *:nth-child(n+16) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-6 > *:nth-child(n+19) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-7 > *:nth-child(n+22) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-8 > *:nth-child(n+25) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-9 > *:nth-child(n+28) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-10 > *:nth-child(n+31) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-11 > *:nth-child(n+34) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-3.flex-grid--large-12 > *:nth-child(n+37) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-1 > *:nth-child(n+5) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-2 > *:nth-child(n+9) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-3 > *:nth-child(n+13) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-4 > *:nth-child(n+17) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-5 > *:nth-child(n+21) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-6 > *:nth-child(n+25) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-7 > *:nth-child(n+29) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-8 > *:nth-child(n+33) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-9 > *:nth-child(n+37) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-10 > *:nth-child(n+41) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-11 > *:nth-child(n+45) {
      display: none; } }
  @media (min-width: 1024px) {
    .flex-grid.flex-grid--max-rows-large-4.flex-grid--large-12 > *:nth-child(n+49) {
      display: none; } }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.carousel {
  position: relative; }
  .carousel :focus {
    outline: none; }
  .carousel .slick-arrow {
    font-size: 16px;
    font-size: 1rem;
    background: #353535;
    border: 0;
    border-radius: 0;
    color: #FF6900;
    display: block;
    padding: 10px;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.2s ease;
    z-index: 500; }
    .carousel .slick-arrow.slick-next {
      border-radius: 0 0 0 0;
      right: 0; }
    .carousel .slick-arrow.slick-prev {
      border-radius: 0 0 0 0;
      left: 0; }
    .carousel .slick-arrow.slick-disabled {
      display: none !important; }
  .carousel .slick-dots {
    display: block;
    bottom: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    width: 100%; }
    .carousel .slick-dots li {
      display: inline-block;
      height: auto;
      margin: 0 10px 20px 0;
      width: auto; }
    .carousel .slick-dots button {
      background: transparent;
      border: 2px solid #fff;
      border-radius: 50%;
      font-size: 0;
      height: 16px;
      padding: 0;
      width: 16px; }
    .carousel .slick-dots .slick-active button {
      background: #fff; }

.gallery .background-image {
  min-height: 380px; }

.accordion {
  width: 100%; }

.accordion__item {
  margin-bottom: 15px;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
  .accordion__item:last-child {
    margin-bottom: 0; }

.accordion__title {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 1.625rem;
  color: #1A1A1A;
  background-color: #FF6900;
  color: #fff;
  cursor: pointer;
  margin-bottom: 0;
  overflow: hidden;
  padding: 10px;
  position: relative;
  text-align: left;
  text-transform: none; }
  .accordion__title.js-is-open .accordion__icon--close {
    display: block; }
  .accordion__title.js-is-open .accordion__icon--open {
    display: none; }
  @media (min-width: 1024px) {
    .accordion__title {
      padding: 10px 15px; } }

.accordion__icon {
  display: inline-block;
  float: right;
  pointer-events: none;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
  .accordion__icon .accordion__icon--close {
    display: none; }
  .accordion__icon .accordion__icon--open {
    display: block; }

.accordion__content {
  background-color: #fff;
  height: 0;
  overflow: hidden;
  text-align: left;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
  .accordion__content::before, .accordion__content::after {
    content: ' ';
    display: table; }
  .accordion__content::after {
    clear: both; }
  .accordion__content .accordion__content__text {
    padding: 15px; }
  .accordion__content p:last-child {
    margin-bottom: 0; }

.accordion--open-first .accordion__item:first-of-type .accordion__content {
  height: auto; }

.no-js .accordion__content {
  height: auto; }

.modal {
  display: inline-block;
  opacity: 0;
  z-index: -100;
  transition: all 0.2s ease;
  background: pink;
  position: relative; }
  .modal .modal__overlay {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: #000;
    transition: all 0.2s ease; }
  .modal.modal--open {
    z-index: 5000;
    opacity: 1;
    transition: all 0.2s ease; }
    .modal.modal--open .modal__overlay {
      position: fixed;
      z-index: calc(5000 - 1);
      opacity: 0.75;
      transition: all 0.2s ease; }

.modal__content {
  display: flex;
  position: fixed;
  color: #1A1A1A;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 40px;
  min-width: calc(100% - 40px);
  z-index: 5000; }
  @media (min-width: 680px) {
    .modal__content {
      padding: 80px;
      min-width: initial; } }

.modal__close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: 0;
  cursor: pointer; }

.modal__trigger {
  cursor: pointer; }

.tabs {
  border: 1px solid #dcdcdc;
  border-radius: 3px;
  line-height: 1.5;
  margin-bottom: 1.5em;
  padding: 0; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table; }
  .tabs::after {
    clear: both; }
  @media (min-width: 680px) {
    .tabs {
      border: none; } }

.tab {
  list-style: none; }
  @media (min-width: 680px) {
    .tab {
      display: inline; } }
  .tab:first-child .tab__link {
    border-top: 0;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px; }
  @media (min-width: 680px) {
    .tab--active:first-child .tab__link {
      border-top: 1px solid #dcdcdc; } }
  @media (min-width: 680px) {
    .tab:last-child .tab__link {
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px; } }

.tab__link {
  background-color: #fff;
  border-top: 1px solid #dcdcdc;
  display: block;
  font-weight: bold;
  padding: 0.75em;
  text-decoration: none; }
  @media (min-width: 680px) {
    .tab__link {
      border-radius: 3px 3px 0 0;
      border-top: 0;
      display: inline-block; } }
  .tab__link:focus {
    outline: none; }
  .tab--active .tab__link {
    background-color: #353535; }
    @media (min-width: 680px) {
      .tab--active .tab__link {
        background-color: #353535;
        border: 1px solid #dcdcdc;
        border-bottom-color: #353535;
        transform: translateY(2px); } }

.tab__content {
  background: #353535;
  display: none;
  padding: 1.5em;
  width: 100%; }
  @media (min-width: 680px) {
    .tab__content {
      border: 1px solid #dcdcdc;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px;
      border-top-right-radius: 3px;
      float: left; } }
  .tab--active .tab__content {
    display: block; }

.toggle__control {
  margin: 10px auto;
  text-align: center;
  width: auto; }

.toggle__button {
  margin: 0;
  overflow: hidden; }

.toggle__button--show,
.toggle-element--open .toggle__hide {
  display: inline-block; }

.toggle-element--open .toggle__show,
.toggle__button--hide {
  display: none; }

.toggle__content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease; }

.toggle-element--open .toggle__content {
  max-height: 9999px;
  opacity: 1; }

.background-image {
  background-color: #353535;
  background-position: 50% 50%;
  background-size: cover;
  position: relative;
  width: 100%; }
  .background-image.background-image--with-overlay::after {
    background: linear-gradient(to right, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 300;
    transition: all 0.2s ease; }
  .background-image.background-image--repeat {
    background-size: auto;
    background-repeat: repeat; }
  .background-image.lazy-parallax {
    background-color: transparent; }
  .background-image .video-block {
    background: none;
    height: 100%;
    overflow: hidden;
    position: absolute;
    width: 100%; }
    .background-image .video-block .video-block__video {
      opacity: 1;
      transition: opacity 0.8s linear; }
      .background-image .video-block .video-block__video.video-block--is-paused {
        opacity: 0; }

.background-image__content {
  position: relative;
  overflow: hidden;
  z-index: 700;
  color: #000; }
  .background-image__content a {
    color: #000; }
  .background-image--with-overlay .background-image__content {
    color: #fff; }

.background-image--flex-height,
.background-image--flex-height .background-image__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column; }

.video-block {
  min-height: 227px;
  background: #353535;
  background-position: 50% 50%;
  background-size: cover;
  position: relative;
  width: 100%; }

.video-block__video {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  vertical-align: bottom;
  width: 100%; }
  .video-block__video iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.video-block--is-postered .video-block__video,
.video-block--is-postered .video-block__video iframe {
  position: relative;
  z-index: -1; }

.video-block--is-postered video::-webkit-media-controls {
  position: relative;
  z-index: -1; }

.video-block--is-not-interactive .video-block__video,
.video-block--is-not-interactive .video-block__video iframe,
.video-block--is-not-interactive video::-webkit-media-controls {
  z-index: -1; }

.video-block--is-not-interactive {
  background-color: rgba(0, 0, 0, 0); }

.video-block__control {
  cursor: pointer;
  display: inline-block;
  color: #fff; }
  .video-block__control svg.icon {
    transition: all 0.2s ease; }
  .video-block__control:hover svg.icon {
    transform: scale(1.1);
    transition: all 0.2s ease; }

.video-block__controls-bar {
  position: absolute;
  bottom: 15px;
  right: 15px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  z-index: 500; }
  .video-block__controls-bar .video-block__control {
    margin-left: 1em; }
  @media (min-width: 1024px) {
    .video-block__controls-bar {
      bottom: 40px;
      right: 40px; } }
  .video-block__controls-bar.video-block__controls-bar--left {
    right: auto;
    left: 20px; }
    .video-block__controls-bar.video-block__controls-bar--left .video-block__control {
      margin-left: 0;
      margin-right: 1em; }
    @media (min-width: 1024px) {
      .video-block__controls-bar.video-block__controls-bar--left {
        right: auto;
        left: 40px; } }

.video-block__controls-poster {
  display: none; }
  .video-block__controls-poster .video-block__control {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .video-block__controls-poster svg.icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 80px;
    width: 80px; }
    @media (min-width: 1024px) {
      .video-block__controls-poster svg.icon {
        height: 120px;
        width: 120px; } }
  .video-block__controls-poster:hover svg.icon {
    transform: translate(-50%, -50%);
    width: 88px;
    height: 88px; }
    @media (min-width: 1024px) {
      .video-block__controls-poster:hover svg.icon {
        width: 132px;
        height: 132px; } }
  .video-block--is-postered .video-block__controls-poster {
    display: block; }

.video-block__control--pause {
  display: inline-block; }
  .video-block--is-paused .video-block__control--pause {
    display: none; }

.video-block__control--play {
  display: none; }
  .video-block--is-paused .video-block__control--play {
    display: inline-block; }

.video-block__control--unmute {
  display: none; }
  .video-block--is-muted .video-block__control--unmute {
    display: inline-block; }

.video-block__control--mute {
  display: inline-block; }
  .video-block--is-muted .video-block__control--mute {
    display: none; }

.iframe iframe {
  border: none;
  margin: 0;
  padding: 0;
  width: 100%; }
  .ie11 .iframe iframe html,
  .ie11 .iframe iframe body {
    -ms-overflow-style: none;
    overflow: auto; }

.card {
  height: 100%; }

.card__feature.background-image::before {
  content: '';
  float: left;
  height: 0;
  margin-left: -1px;
  padding-top: calc(9 / 16 * 100%);
  width: 1px; }

.card__feature.background-image::after {
  clear: both;
  content: '';
  display: table; }

.card__wrapper {
  display: block;
  height: 100%; }

.card--default {
  background-color: #fff;
  border: 1px solid #ccc; }
  .card--default .card__content {
    padding: 40px; }

.content-panel .background-image--content-panel {
  display: block; }
  .content-panel .background-image--content-panel::before {
    content: '';
    float: left;
    height: 0;
    margin-left: -1px;
    padding-top: calc(9 / 16 * 100%);
    width: 1px; }
  .content-panel .background-image--content-panel::after {
    clear: both;
    content: '';
    display: table; }

.content-panel__content {
  background: #353535;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 40px; }

@media (min-width: 1024px) {
  .content-panel--split .content-panel__container {
    display: flex; }
  .content-panel--split .content-panel__content {
    flex: 0 1 50%; }
  .content-panel--split .content-panel__feature {
    flex: 0 1 50%; }
  .content-panel--split.align-left .content-panel__content {
    order: 1; }
  .content-panel--split.align-left .content-panel__feature {
    order: 2; }
  .content-panel--split.align-right .content-panel__content {
    order: 2; }
  .content-panel--split.align-right .content-panel__feature {
    order: 1; } }

.alerts {
  font-size: 16px;
  font-size: 1rem;
  line-height: 16px;
  line-height: 1rem;
  margin: 0;
  padding: 0; }
  .alerts::before, .alerts::after {
    content: ' ';
    display: table; }
  .alerts::after {
    clear: both; }
  .alerts li {
    list-style-type: none; }
  .alerts .alerts__message {
    font-weight: bold; }
  .alerts.alerts--grouped .alerts__type,
  .alerts.alerts--single .alerts__message {
    border-radius: 0;
    margin: 10px 0;
    padding: 10px; }
  .alerts.alerts--grouped .alerts__type--success,
  .alerts.alerts--single .alerts__type--success .alerts__message {
    background: #fff;
    border: 1px solid #44cc44;
    color: #44cc44; }
  .alerts.alerts--grouped .alerts__type--error,
  .alerts.alerts--single .alerts__type--error .alerts__message {
    background: #fff;
    border: 1px solid #FF0000;
    color: #FF0000; }
  .alerts.alerts--grouped .alerts__type--warning,
  .alerts.alerts--single .alerts__type--warning .alerts__message {
    background: #fff;
    border: 1px solid #ffcc44;
    color: #ffcc44; }

.jump-to {
  border: 1px solid #f5f5f5;
  border-radius: 0;
  height: 46px;
  margin: 30px 0;
  overflow-y: hidden;
  padding: 0; }
  @media (min-width: 1024px) {
    .jump-to {
      border: 0;
      height: 100%;
      overflow: visible;
      text-align: center; } }
  .jump-to.jump-to--open {
    height: 100%;
    transition: all 0.3s ease; }
    .jump-to.jump-to--open .jump-to__item {
      border-bottom: 1px solid #f5f5f5; }
      @media (min-width: 1024px) {
        .jump-to.jump-to--open .jump-to__item {
          border-bottom: 0; } }
      .jump-to.jump-to--open .jump-to__item:last-child {
        border-bottom: 0; }

.jump-to__item {
  display: block;
  padding: 10px; }
  @media (min-width: 1024px) {
    .jump-to__item {
      display: inline-block;
      margin: 0 30px 0 0;
      padding: 0; }
      .jump-to__item:last-child {
        margin: 0; } }

.jump-to__link {
  color: #FF6900;
  display: block; }
  .jump-to__link.jump-to__link--external {
    color: #353535; }

.newsletter--default {
  display: block; }
  .newsletter--default .form--newsletter::before, .newsletter--default .form--newsletter::after {
    content: ' ';
    display: table; }
  .newsletter--default .form--newsletter::after {
    clear: both; }
  .newsletter--default .newsletter__input,
  .newsletter--default .newsletter__submit {
    height: 44px; }
  @media (min-width: 680px) {
    .newsletter--default .form__field--email {
      float: left;
      width: calc(100% - 150px); } }
  .newsletter--default .form__field--email .form__label {
    display: none; }
  @media (min-width: 680px) {
    .newsletter--default .form__field--button {
      float: left;
      width: 150px; } }
  .newsletter--default .form__field--button .newsletter__submit {
    width: 100%; }

.social {
  margin: 0; }

.social__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.social__item {
  display: inline-block;
  margin: 0 20px 0 0; }

.social__link {
  font-size: 24px;
  font-size: 1.5rem;
  background: transparent;
  border: 0;
  color: #FF6900;
  display: block;
  padding: 0;
  transition: all 0.2s ease; }
  .social__link:hover {
    color: #cc5400; }
  .social--author .social__link {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    color: #1A1A1A;
    color: #787878; }
    .social--author .social__link:hover {
      color: #5f5f5f; }

.tag-list {
  list-style: none;
  margin: 30px 0 10px;
  padding: 0; }

.tag-list__item {
  display: inline-block;
  margin: 0 10px 10px 0; }

.menu {
  display: block; }

.menu__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.menu__item {
  margin: 0; }

.menu__link {
  color: #FF6900;
  cursor: pointer;
  display: block;
  text-decoration: none; }

.menu__title {
  line-height: 1;
  margin: 0; }

.menu--default {
  background-color: #353535; }
  .menu--default .menu__list {
    display: flex;
    flex-flow: column nowrap; }
    @media (min-width: 1024px) {
      .menu--default .menu__list {
        flex-flow: row nowrap; } }
  .menu--default .menu__link {
    background-color: transparent;
    padding: 20px 40px;
    transition: all 0.2s ease; }

.menu--collapse {
  border: 1px solid #ccc;
  height: calc(1em + (15px * 2) + 5px);
  overflow-y: hidden;
  padding: 0; }
  @media (min-width: 1024px) {
    .menu--collapse {
      border: 0;
      height: auto;
      overflow: visible; }
      .menu--collapse .icon {
        display: none; } }
  .menu--collapse.menu--open {
    height: 100%;
    transition: all 0.2s ease; }
    .menu--collapse.menu--open .menu__item {
      border-bottom: 1px solid #ccc; }
      @media (min-width: 1024px) {
        .menu--collapse.menu--open .menu__item {
          border-bottom: 0; } }
      .menu--collapse.menu--open .menu__item:last-child {
        border-bottom: 0; }
  .menu--collapse .menu__item {
    display: block;
    line-height: 1;
    padding: 15px; }
    @media (min-width: 1024px) {
      .menu--collapse .menu__item {
        display: inline-block;
        height: auto;
        margin-right: 40px;
        padding: 0; }
        .menu--collapse .menu__item:last-child {
          margin: 0; } }
  .menu--collapse .menu__link {
    padding: 0; }
  .menu--collapse .menu__item--external {
    color: #353535; }

.search-box--default {
  display: block; }
  .search-box--default .form--search::before, .search-box--default .form--search::after {
    content: ' ';
    display: table; }
  .search-box--default .form--search::after {
    clear: both; }
  .search-box--default .search__input,
  .search-box--default .search__submit {
    height: 44px; }
  @media (min-width: 680px) {
    .search-box--default .form__field--search {
      float: left;
      width: calc(100% - 150px); } }
  .search-box--default .form__field--search .form__label,
  .search-box--default .form__field--search .search__icon {
    display: none; }
  @media (min-width: 680px) {
    .search-box--default .form__field--button {
      float: left;
      width: 150px; } }
  .search-box--default .form__field--button .search__submit {
    width: 100%; }

.search-box--header .form__label {
  display: none; }

.search-box--header .search__icon {
  cursor: pointer; }

.search-box--header .form__element {
  display: inline-block;
  width: 25px; }

.search-box--header .search__input {
  opacity: 0;
  transition: all 0.2s ease; }

.search-box--header.is-active .form__element {
  width: auto; }

.search-box--header.is-active .search__input {
  opacity: 1; }

.search-box--predictive {
  position: relative; }

.search-box__predictions {
  display: none;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-radius: 0;
  list-style-type: none;
  margin: 0;
  margin-bottom: 60px;
  padding: 0;
  position: absolute;
  text-align: left;
  top: 100%;
  width: 100%;
  z-index: 500; }
  .search-box__predictions .prediction {
    background-color: #fff;
    border-bottom: 1px solid #ccc; }
    .search-box__predictions .prediction .prediction__wrapper {
      display: flex;
      align-items: center;
      padding: 10px; }
    .search-box__predictions .prediction.selected {
      background-color: #FF6900; }
      .search-box__predictions .prediction.selected .prediction__title {
        color: #fff; }
    .search-box__predictions .prediction .prediction__image {
      display: none;
      padding-right: 20px; }
      .search-box__predictions .prediction .prediction__image img {
        max-height: 60px; }
      @media (min-width: 1280px) {
        .search-box__predictions .prediction .prediction__image {
          display: flex;
          justify-content: center;
          flex: 1 0 20%; } }
    .search-box__predictions .prediction .prediction__content {
      color: #FF6900; }
      @media (min-width: 1280px) {
        .search-box__predictions .prediction .prediction__content {
          flex: 1 0 80%; } }
    .search-box__predictions .prediction .prediction__desc {
      color: #1A1A1A; }
  @media (min-width: 680px) {
    .search-box__predictions {
      display: block; } }

.page-builder__section.page-builder__section--full-bleed {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0; }

.page-builder__section.page-builder__section--gap {
  padding-bottom: 50px; }

.page-builder__section.page-builder__section--no-gap {
  padding-bottom: 0; }

.page-builder__section.page-builder__section--divider {
  border-bottom: 1px solid #ccc;
  margin-bottom: 50px;
  padding-bottom: 50px; }

.content-panel--video-modal .content-panel__feature {
  position: relative; }
  .content-panel--video-modal .content-panel__feature .modal__trigger:after {
    background-image: url(/assets/images/play-icon.svg);
    background-size: 57px 57px;
    background-repeat: no-repeat;
    background-position: center center;
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3; }
    @media (min-width: 680px) {
      .content-panel--video-modal .content-panel__feature .modal__trigger:after {
        background-size: 92px 92px; } }

.modal--video-modal {
  display: block; }
  .modal--video-modal.modal--open .modal__popup {
    display: block; }
  .modal--video-modal.modal--open .modal__overlay {
    opacity: 0.95; }
  .modal--video-modal .modal__close-button {
    top: -50px;
    right: -20px;
    background-color: transparent;
    border: 0; }
    .modal--video-modal .modal__close-button:hover {
      color: #fff;
      border: 0;
      background-color: transparent; }
  .modal--video-modal .modal__popup {
    display: none; }
    .modal--video-modal .modal__popup .modal__content {
      width: calc(90% - 80px);
      max-width: 1024px;
      min-width: initial;
      height: auto;
      background: transparent;
      padding: 0; }
      @media (min-width: 1024px) {
        .modal--video-modal .modal__popup .modal__content {
          width: calc(100% - 180px); } }
      .modal--video-modal .modal__popup .modal__content .video-block {
        background: transparent;
        background-image: none !important;
        background-size: cover !important; }
      .modal--video-modal .modal__popup .modal__content .video-block__video {
        padding-bottom: 56.25%;
        background-color: transparent; }
      .modal--video-modal .modal__popup .modal__content a.button--primary, .modal--video-modal .modal__popup .modal__content .form__field--button-radio a.form__option-label.is-active, .form__field--button-radio .modal--video-modal .modal__popup .modal__content a.form__option-label.is-active, .modal--video-modal .modal__popup .modal__content .search-box--search-results a.search__submit, .search-box--search-results .modal--video-modal .modal__popup .modal__content a.search__submit {
        position: absolute;
        top: -57px;
        right: -30px;
        color: #fff;
        background-color: transparent;
        border: none;
        padding: 10px; }
        @media (min-width: 1024px) {
          .modal--video-modal .modal__popup .modal__content a.button--primary, .modal--video-modal .modal__popup .modal__content .form__field--button-radio a.form__option-label.is-active, .form__field--button-radio .modal--video-modal .modal__popup .modal__content a.form__option-label.is-active, .modal--video-modal .modal__popup .modal__content .search-box--search-results a.search__submit, .search-box--search-results .modal--video-modal .modal__popup .modal__content a.search__submit {
            padding: 20px 30px; } }
      .modal--video-modal .modal__popup .modal__content .video-block {
        min-height: initial; }
      .modal--video-modal .modal__popup .modal__content iframe {
        background: #000; }

.carousel .slick-arrow {
  padding: 21px 11px;
  background: #FF6900; }
  .carousel .slick-arrow .icon {
    width: 15px;
    height: 15px;
    color: #000; }
  .carousel .slick-arrow.slick-prev, .carousel .slick-arrow.slick-next {
    border-radius: 0; }
  .carousel .slick-arrow.slick-next .icon {
    position: relative;
    right: -2px; }
  @media (min-width: 1024px) {
    .carousel .slick-arrow:hover {
      background: rgba(255, 105, 0, 0.7); } }

.page-section--orange .carousel .slick-arrow {
  background: #fff; }
  .page-section--orange .carousel .slick-arrow .icon {
    color: #1A1A1A; }
  @media (min-width: 1024px) {
    .page-section--orange .carousel .slick-arrow:hover {
      background: rgba(255, 255, 255, 0.7); } }

.carousel--logo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px; }
  @media (min-width: 680px) {
    .carousel--logo {
      display: block; } }
  @media (min-width: 680px) {
    .carousel--logo .slick-list {
      margin: 0 40px; } }
  .carousel--logo .slick-track {
    display: flex;
    align-items: center; }
  .carousel--logo .logo-carousel__logo-image {
    padding: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    max-width: 250px;
    width: 100%;
    margin: 0 auto; }
    .carousel--logo .logo-carousel__logo-image::before {
      content: '';
      float: left;
      height: 0;
      margin-left: -1px;
      padding-top: calc(1 / 1 * 100%);
      width: 1px; }
    .carousel--logo .logo-carousel__logo-image::after {
      clear: both;
      content: '';
      display: table; }
    @media (min-width: 680px) {
      .carousel--logo .logo-carousel__logo-image {
        padding: 0 20px;
        display: inline-block; } }
    @media (min-width: 1024px) {
      .carousel--logo .logo-carousel__logo-image {
        padding: 0 40px; } }
    .carousel--logo .logo-carousel__logo-image img {
      width: 100%; }

.page-section--accordion {
  background-color: #353535;
  padding: 40px 0; }
  @media (min-width: 1024px) {
    .page-section--accordion {
      padding: 60px 0; } }
  .page-section--accordion .button-collection.copy-block__button-collection {
    justify-content: flex-start; }
    @media (min-width: 1024px) {
      .page-section--accordion .button-collection.copy-block__button-collection {
        justify-content: center; } }
  .page-section--accordion .button--primary:hover, .page-section--accordion .form__field--button-radio .form__option-label.is-active:hover, .form__field--button-radio .page-section--accordion .form__option-label.is-active:hover, .page-section--accordion .search-box--search-results .search__submit:hover, .search-box--search-results .page-section--accordion .search__submit:hover {
    color: #fff; }

.section-header--accordion {
  width: 100%;
  margin-bottom: 30px; }
  @media (min-width: 1024px) {
    .section-header--accordion {
      margin: 0 auto;
      max-width: 1280px;
      padding: 0;
      width: calc(100% - (15px * 2));
      text-align: center;
      margin-bottom: 50px; } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .section-header--accordion {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .section-header--accordion {
      width: calc(75% - (40px * 2)); } }
  .section-header--accordion .copy-block__title {
    color: #fff; }

.accordion {
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
  @media (min-width: 1024px) {
    .accordion {
      margin: 0 auto;
      max-width: 1280px;
      padding: 0;
      width: calc(100% - (15px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .accordion {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .accordion {
      width: calc(75% - (40px * 2)); } }

.accordion__item {
  background: transparent;
  margin-bottom: 15px; }
  .accordion__item:last-child {
    margin-bottom: 15px; }

.accordion__title {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 26px;
  line-height: 1.625rem;
  font-weight: 400;
  background: transparent;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  padding: 15px 0 0; }
  @media (min-width: 1024px) {
    .accordion__title {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 28px;
      line-height: 1.75rem; } }

.accordion__content {
  background-color: transparent; }
  .accordion__content .accordion__content__text {
    color: #fff;
    padding: 20px 30px 20px 10px; }
    .accordion__content .accordion__content__text p, .accordion__content .accordion__content__text li {
      font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
      font-style: normal;
      font-weight: 400;
      line-height: 1.625;
      font-size: 16px;
      font-size: 1rem;
      line-height: 26px;
      line-height: 1.625rem;
      color: #fff; }
    .accordion__content .accordion__content__text a {
      font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
      font-style: normal;
      font-weight: 400;
      line-height: 1.625;
      font-size: 16px;
      font-size: 1rem;
      line-height: 26px;
      line-height: 1.625rem;
      color: #fff; }
      .accordion__content .accordion__content__text a:hover {
        color: rgba(255, 255, 255, 0.7); }

.accordion--two-columns .logo-container {
  margin-top: 40px; }
  .accordion--two-columns .logo-container .css-grid {
    grid-gap: 10px; }

.accordion--two-columns .logo-grid__logo-image img {
  width: 100%; }

.ie11 .css-grid__item {
  display: inline-block;
  vertical-align: top; }

.page-section--margin-medium {
  margin-bottom: 20px;
  margin-top: 20px; }
  @media (min-width: 1024px) {
    .page-section--margin-medium {
      margin-bottom: 40px;
      margin-top: 40px; } }

.page-section--margin-large {
  margin-bottom: 40px;
  margin-top: 40px; }
  @media (min-width: 1024px) {
    .page-section--margin-large {
      margin-bottom: 80px;
      margin-top: 80px; } }

.page-section--margin-small {
  margin-bottom: 20px;
  margin-top: 20px; }

button,
.button {
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  padding: 13px 30px;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s ease;
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16px;
  line-height: 1rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 700; }
  button.button--disabled,
  .button.button--disabled {
    background-color: #787878;
    border: 2px solid #787878;
    color: #1A1A1A;
    cursor: default; }
    button.button--disabled:hover,
    a:hover button.button--disabled,
    .button.button--disabled:hover,
    a:hover
    .button.button--disabled {
      background-color: #787878;
      border: 2px solid #787878;
      color: #1A1A1A; }
    button.button--disabled.button--text,
    .button.button--disabled.button--text {
      background-color: initial;
      border: 0;
      opacity: 0.3; }
      button.button--disabled.button--text:hover,
      a:hover button.button--disabled.button--text,
      .button.button--disabled.button--text:hover,
      a:hover
      .button.button--disabled.button--text {
        background-color: initial;
        border: 0; }

.link.link--disabled {
  color: #787878;
  cursor: default;
  opacity: 0.3; }
  .link.link--disabled:hover,
  a:hover .link.link--disabled {
    color: #787878; }

.button--primary, .form__field--button-radio .form__option-label.is-active, .search-box--search-results .search__submit {
  background-color: #FF6900;
  border: 2px solid #FF6900;
  color: #000; }
  .button--primary:hover, .form__field--button-radio .form__option-label.is-active:hover, .search-box--search-results .search__submit:hover,
  a:hover .button--primary,
  a:hover .form__field--button-radio .form__option-label.is-active,
  .form__field--button-radio a:hover .form__option-label.is-active,
  a:hover .search-box--search-results .search__submit,
  .search-box--search-results a:hover .search__submit {
    background-color: transparent;
    border: 2px solid #FF6900;
    color: #1A1A1A; }

.link--primary {
  color: #FF6900; }
  .link--primary:hover,
  a:hover .link--primary {
    color: #db5a00; }

.button--white, .form__field--button-radio .form__option-label {
  background-color: #fff;
  border: 2px solid #fff;
  color: #1A1A1A; }
  .button--white:hover, .form__field--button-radio .form__option-label:hover,
  a:hover .button--white,
  a:hover .form__field--button-radio .form__option-label,
  .form__field--button-radio a:hover .form__option-label {
    background-color: transparent;
    border: 2px solid #fff;
    color: #fff; }

.link--white {
  color: #fff; }
  .link--white:hover,
  a:hover .link--white {
    color: #ededed; }

.button--small {
  font-size: 14px;
  font-size: 0.875rem;
  padding: 4px 7px; }

.button--medium {
  font-size: 14px;
  font-size: 0.875rem;
  padding: 13px 30px; }

.button-collection {
  display: flex;
  flex-flow: row wrap;
  list-style: none;
  margin: 0;
  margin-top: 40px;
  padding: 0; }
  .button-collection.button-collection--left {
    justify-content: flex-start; }
  .button-collection.button-collection--center {
    justify-content: center; }
  .button-collection.button-collection--right {
    justify-content: flex-end; }

.button--primary.button--text, .form__field--button-radio .button--text.form__option-label.is-active, .search-box--search-results .button--text.search__submit {
  font-weight: 500;
  letter-spacing: 0;
  padding: 7px 4px 4px;
  margin: 0;
  background-color: transparent;
  border: 0;
  color: #1A1A1A;
  background: linear-gradient(to bottom, #FF6900 0%, #FF6900 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 2px 2px;
  text-decoration: none;
  white-space: nowrap; }
  @media (min-width: 1024px) {
    .button--primary.button--text, .form__field--button-radio .button--text.form__option-label.is-active, .search-box--search-results .button--text.search__submit {
      transition: all ease 200ms; } }
  .button--primary.button--text:hover, .form__field--button-radio .button--text.form__option-label.is-active:hover, .search-box--search-results .button--text.search__submit:hover,
  a:hover .button--primary.button--text,
  a:hover .form__field--button-radio .button--text.form__option-label.is-active,
  .form__field--button-radio a:hover .button--text.form__option-label.is-active,
  a:hover .search-box--search-results .button--text.search__submit,
  .search-box--search-results a:hover .button--text.search__submit {
    color: #000;
    border: 0;
    padding: 7px 4px 4px;
    margin: 0;
    background-size: 4px 50px; }

.button--white.button--text, .form__field--button-radio .button--text.form__option-label {
  font-weight: 500;
  letter-spacing: 0;
  padding: 7px 4px 4px;
  margin: 0;
  background-color: transparent;
  border: 0;
  color: #fff;
  background: linear-gradient(to bottom, #FF6900 0%, #FF6900 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 2px 2px;
  text-decoration: none;
  white-space: nowrap; }
  @media (min-width: 1024px) {
    .button--white.button--text, .form__field--button-radio .button--text.form__option-label {
      transition: all ease 200ms; } }
  .button--white.button--text:hover, .form__field--button-radio .button--text.form__option-label:hover,
  a:hover .button--white.button--text,
  a:hover .form__field--button-radio .button--text.form__option-label,
  .form__field--button-radio a:hover .button--text.form__option-label {
    color: #000;
    border: 0;
    padding: 7px 4px 4px;
    margin: 0;
    background-size: 4px 50px; }

@media (min-width: 680px) {
  .form--default {
    margin: 0 auto;
    max-width: 1280px;
    padding: 0;
    width: calc(100% - (15px * 2)); } }
  @media (min-width: 680px) and (min-width: 1024px) {
    .form--default {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 680px) and (min-width: 1024px) {
    .form--default {
      width: calc(75% - (40px * 2)); } }

fieldset {
  background-color: transparent;
  border: 0;
  margin: 0 0 40px;
  padding: 0;
  max-width: 100%; }

legend {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  margin-bottom: 20px;
  padding: 0; }

label {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  display: block; }

.inputs-list {
  list-style-type: none;
  padding: 0; }

input[type="submit"] {
  font-size: 14px;
  font-size: 0.875rem;
  text-transform: uppercase;
  background-color: #FF6900;
  color: #fff;
  border: 0;
  text-transform: uppercase;
  padding: 20px 23px;
  margin: 0; }
  @media (min-width: 680px) {
    input[type="submit"] {
      min-width: 180px; } }

textarea {
  resize: vertical; }

[type="checkbox"],
[type="radio"] {
  display: inline;
  margin-right: 20px; }

[type="checkbox"]:focus,
[type="radio"] select:focus {
  outline: 0;
  outline-offset: 0; }

.form__field {
  margin: 0 0 30px; }

.form__label,
.form__option-label {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16px;
  line-height: 1rem;
  color: #1A1A1A;
  font-weight: normal; }

.form__option-label {
  margin-bottom: 5px; }

.form__label {
  text-transform: none;
  margin-bottom: 10px; }

.form__description {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 22px;
  line-height: 1.375rem;
  color: #787878; }

.form__icons {
  right: 5px; }

.form__input,
.form__select,
.form__textarea {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16px;
  line-height: 1rem;
  padding: 17px 15px;
  margin-bottom: 15px;
  display: block;
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  color: #1A1A1A;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none; }
  .form__input:focus,
  .form__select:focus,
  .form__textarea:focus {
    outline: 0;
    outline-offset: 0; }
  .form__input:disabled,
  .form__select:disabled,
  .form__textarea:disabled {
    cursor: not-allowed; }
  .form__input::-moz-placeholder, .form__select::-moz-placeholder, .form__textarea::-moz-placeholder {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 16px;
    line-height: 1rem;
    letter-spacing: 0;
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    color: rgba(26, 26, 26, 0.5);
    font-style: normal; }
  .form__input::placeholder,
  .form__select::placeholder,
  .form__textarea::placeholder {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 16px;
    line-height: 1rem;
    letter-spacing: 0;
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    color: rgba(26, 26, 26, 0.5);
    font-style: normal; }
  .form__input::-ms-clear,
  .form__select::-ms-clear,
  .form__textarea::-ms-clear {
    display: none; }
  .form__input:-moz-placeholder,
  .form__select:-moz-placeholder,
  .form__textarea:-moz-placeholder {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 16px;
    line-height: 1rem;
    letter-spacing: 0;
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    color: rgba(26, 26, 26, 0.5);
    font-style: normal; }
  .form__input:-ms-input-placeholder,
  .form__select:-ms-input-placeholder,
  .form__textarea:-ms-input-placeholder {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 16px;
    line-height: 1rem;
    letter-spacing: 0;
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    color: rgba(26, 26, 26, 0.5);
    font-style: normal; }
  .form__input::-ms-input-placeholder,
  .form__select::-ms-input-placeholder,
  .form__textarea::-ms-input-placeholder {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 16px;
    line-height: 1rem;
    letter-spacing: 0;
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    color: rgba(26, 26, 26, 0.5);
    font-style: normal; }
  .form__input::-webkit-input-placeholder,
  .form__select::-webkit-input-placeholder,
  .form__textarea::-webkit-input-placeholder {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 16px;
    line-height: 1rem;
    letter-spacing: 0;
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    color: rgba(26, 26, 26, 0.5);
    font-style: normal; }
  .form__input:-webkit-autofill,
  .form__select:-webkit-autofill,
  .form__textarea:-webkit-autofill {
    -webkit-text-fill-color: #1A1A1A;
    -webkit-box-shadow: 0 0 0px 1000px #fff inset; }

.form__field--custom-select .form__element {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  color: #1A1A1A;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  padding: 0;
  margin-bottom: 10px;
  display: flex;
  z-index: 1; }

.form__field--custom-select .form__select {
  border: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 17px 15px;
  margin: 0;
  background-color: transparent; }

.form__field--custom-select .form__icon--select-caret {
  display: flex;
  align-items: center;
  margin: 3px; }

.form__field--custom-select .form__icons {
  pointer-events: none;
  display: flex;
  right: 10px; }

.form__field--checkbox .form__choice--checkbox {
  visibility: hidden;
  position: absolute; }
  .form__field--checkbox .form__choice--checkbox:checked ~ .checkmark {
    background-color: #FF6900; }
  .form__field--checkbox .form__choice--checkbox:checked ~ .checkmark:after {
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI5Ljg0IDEwLjEwN3EwIC43MTQtLjUgMS4yMTRMMTMuOTggMjYuNjhxLS41LjUtMS4yMTQuNXQtMS4yMTQtLjVMMi42NiAxNy43ODVxLS41LS41LS41LTEuMjE0dC41LTEuMjEybDIuNDMtMi40M3EuNS0uNSAxLjIxNC0uNXQxLjIxNC41bDUuMjUgNS4yN0wyNC40ODIgNi40NjNxLjUtLjUgMS4yMTQtLjV0MS4yMTQuNWwyLjQzIDIuNDNxLjUuNS41IDEuMjEzeiIvPjwvc3ZnPg=="); }

.form__field--checkbox .checkmark {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 1px solid #FF6900;
  background-color: #fff;
  margin-right: 10px; }
  .form__field--checkbox .checkmark:after {
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    display: block;
    left: 1px;
    top: 1px;
    width: 10px;
    height: 10px; }

.form__field--radio .form__choice--radio {
  visibility: hidden;
  position: absolute; }
  .form__field--radio .form__choice--radio:checked ~ .checkmark:after {
    background-color: #FF6900; }

.form__field--radio .checkmark {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 10px;
  border: 1px solid #ccc;
  background-color: #fff;
  margin-right: 10px; }
  .form__field--radio .checkmark:after {
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    display: block;
    left: 1px;
    top: 1px;
    border-radius: 10px;
    width: 10px;
    height: 10px; }

.form__field--hidden {
  margin-bottom: 0; }

.form__field--file {
  max-width: 400px; }

.form__input--file {
  border: 0;
  padding-left: 0; }

.form__field--hp {
  margin-bottom: 0; }

.form__validation {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 14px;
  font-size: 0.875rem; }
  .form__validation .form__field--invalid {
    font-weight: 500;
    color: #fff;
    background-color: #FF0000;
    padding: 5px; }

.form__response--success {
  padding: 40px;
  text-align: center; }

.form__response--error .form__responseMessage {
  color: #fff;
  background-color: #FF0000;
  padding: 5px; }

@media (min-width: 680px) {
  .css-grid--form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 25px;
    grid-row-gap: 0; } }

.css-grid--form .css-grid__item {
  width: 100%; }

@media (min-width: 680px) {
  .ie11 .css-grid--form {
    display: block; } }

.wysiwyg ul,
.wysiwyg ol {
  padding-left: 25px; }

.wysiwyg li {
  margin-bottom: 10px; }
  .wysiwyg li:last-of-type {
    margin-bottom: 0; }

.page-section--wysiwyg-block--multi-columns .container {
  max-width: 100%;
  width: 100%; }

.header {
  background-color: #fff;
  transition: all 0.2s ease;
  z-index: 2000;
  position: sticky;
  top: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); }
  .header.js--isOpen {
    position: fixed;
    width: 100%; }
    .header.js--isOpen::after {
      background-color: rgba(0, 0, 0, 0.65);
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 100vh; }
  @media only screen and (min-width: 1085px) {
    .ie11 .header {
      max-height: 125px; } }

.header__container {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center; }
  @media only screen and (min-width: 1085px) {
    .header__container {
      margin: 0 auto;
      max-width: 1280px;
      width: calc(100% - (20px * 2));
      padding: 10px 0;
      display: grid;
      grid-template-columns: auto 1fr auto;
      grid-template-rows: auto; } }
  @media only screen and (min-width: 1285px) {
    .header__container {
      width: calc(100% - (40px * 2));
      padding: 10px 0;
      display: grid;
      grid-template-columns: auto 1fr auto;
      grid-template-rows: auto; } }

.header__wrapper--mobile {
  align-items: center;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 20px 15px;
  width: 100%; }
  .js--isOpen .header__wrapper--mobile {
    border-bottom: 1px solid #ccc; }
  @media only screen and (min-width: 1085px) {
    .header__wrapper--mobile {
      padding: 0;
      width: auto;
      display: block;
      grid-row: 1;
      grid-column: 1; } }
  .ie11 .header__wrapper--mobile {
    display: flex;
    align-items: center; }

.header__logo {
  display: block;
  flex: none;
  margin-right: auto;
  vertical-align: baseline;
  height: 27px;
  width: auto; }
  @media only screen and (min-width: 1085px) {
    .header__logo {
      height: 22px; } }
  @media only screen and (min-width: 1254px) {
    .header__logo {
      height: 25px; } }

.header__link--menu {
  cursor: pointer;
  display: block;
  height: 15px;
  position: relative;
  width: 25px; }
  .header__link--menu span,
  .header__link--menu span::before,
  .header__link--menu span::after {
    background: #FF6900;
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    top: calc(50% - (2px / 2));
    width: 25px; }
  .header__link--menu span::before {
    transform: translateY(-8px);
    transition: all 0.2s ease; }
  .header__link--menu span::after {
    transform: translateY(8px);
    transition: all 0.2s ease; }
  .header__link--menu.js--isOpen span {
    background: transparent; }
  .header__link--menu.js--isOpen span::before {
    transform: rotate(45deg); }
  .header__link--menu.js--isOpen span::after {
    transform: rotate(-45deg); }
  .header__link--menu span,
  .header__link--menu span::before,
  .header__link--menu span::after {
    background: #1A1A1A;
    border-radius: 1px; }
  @media only screen and (min-width: 1085px) {
    .header__link--menu {
      display: none; } }

.header__link-wrapper {
  display: flex;
  align-items: center; }

@media only screen and (min-width: 1085px) {
  .header__link--search {
    display: none; } }

.header__link--button {
  display: none; }
  .js--isOpen .header__link--button {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 16px;
    line-height: 1rem;
    display: inline-block;
    padding: 20px; }
  @media only screen and (min-width: 1085px) {
    .header__link--button {
      font-size: 16px;
      font-size: 1rem;
      line-height: 19px;
      line-height: 1.1875rem;
      display: block; } }

.header--default .menu {
  display: none; }
  .header--default .menu.js--isOpen {
    display: block;
    flex: 0 1 100%; }
  @media only screen and (min-width: 1085px) {
    .header--default .menu {
      display: block;
      flex: 0 1 auto; } }

.header__country-switcher-bar {
  display: none;
  background-color: #f3f3f3; }
  @media only screen and (min-width: 1085px) {
    .header__country-switcher-bar {
      display: block; } }

.header__secondary-nav {
  position: relative;
  display: none; }
  @media only screen and (min-width: 1085px) {
    .header__secondary-nav {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      grid-column: 3;
      grid-row: 1; } }
  .js--isOpen .header__secondary-nav {
    padding-top: 40px;
    display: block;
    width: 100%; }
  .header__secondary-nav .menu__link--search {
    display: none; }
    @media only screen and (min-width: 1085px) {
      .header__secondary-nav .menu__link--search {
        display: inline-block; } }
  .header__secondary-nav .contact-us-mobile {
    display: block;
    width: 100%;
    font-weight: normal;
    text-transform: none; }
    @media only screen and (min-width: 1085px) {
      .header__secondary-nav .contact-us-mobile {
        display: none; } }

.menu--header {
  background-color: #fff; }
  @media only screen and (min-width: 1084px) {
    .menu--header {
      grid-column: 2;
      grid-row: 1;
      padding-left: 0; } }
  @media only screen and (min-width: 1085px) {
    .menu--header .menu__item {
      border: 0; }
      .menu--header .menu__item:hover .menu__title, .menu--header .menu__item:focus-within .menu__title {
        border-color: #FF6900;
        outline: none; } }
  .menu--header .menu__item.current-menu-item .menu__title, .menu--header .menu__item.current-page-ancestor .menu__title {
    border-color: #FF6900; }
  .menu--header .menu__item:not(.menu__item--dropdown) .menu__link:after {
    content: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='20px' height='13px' viewBox='0 0 26 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='UI' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg id='Destkop---Navigation-Hemp-Foods---CBD-Hovered' transform='translate(-609.000000, -238.000000)' stroke='%231A1A1A' stroke-width='1.8'%3E%3Cg id='Group-9' transform='translate(610.000000, 239.000000)'%3E%3Cline x1='18.5200018' y1='0.520001798' x2='23.5' y2='5.5' id='Line'%3E%3C/line%3E%3Cline x1='18.5200018' y1='5.5100009' x2='23.5' y2='10.4899991' id='Line-Copy' transform='translate(21.000000, 7.989999) scale(1, -1) translate(-21.000000, -7.989999) '%3E%3C/line%3E%3Cline x1='0.5' y1='5.5' x2='22.5' y2='5.5' id='Line'%3E%3C/line%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    display: inline-block; }
    @media only screen and (min-width: 1085px) {
      .menu--header .menu__item:not(.menu__item--dropdown) .menu__link:after {
        display: none; } }
  .menu--header .menu__link {
    background-color: transparent;
    transition: all 0.2s ease;
    color: #1A1A1A;
    padding: 25px 15px 0; }
    @media only screen and (min-width: 1085px) {
      .menu--header .menu__link {
        padding: 10px 15px; }
        .menu--header .menu__link:after {
          display: none; } }
    @media (min-width: 1280px) {
      .menu--header .menu__link {
        padding: 10px 15px; } }
  .menu--header .menu__title {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 21px;
    line-height: 1.3125rem;
    font-weight: 500;
    color: currentColor;
    margin: 0;
    border-bottom: 2px solid transparent; }
    @media only screen and (max-width: 1084px) {
      .menu--header .menu__title {
        display: flex;
        align-items: center; } }
    @media only screen and (min-width: 1085px) {
      .menu--header .menu__title {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 19px;
        line-height: 1.1875rem; } }
    @media only screen and (min-width: 1254px) {
      .menu--header .menu__title {
        font-size: 15px;
        font-size: 0.9375rem; } }

.menu--header {
  background-color: transparent;
  padding: 0; }
  @media only screen and (min-width: 1085px) {
    .menu--header {
      padding: 0 0 0 15px; } }
  @media only screen and (min-width: 1084px) {
    .menu--header {
      padding: 0; } }
  .menu--header .menu__list {
    flex-flow: column nowrap;
    align-items: initial; }
    @media only screen and (min-width: 1085px) {
      .menu--header .menu__list {
        align-items: flex-end;
        flex-flow: row nowrap; } }
  .menu--header .menu__link {
    position: relative;
    padding: 10px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (min-width: 1085px) {
      .menu--header .menu__link {
        display: inline-block;
        padding: 25px 15px; } }
  .menu--header .menu__item--dropdown {
    position: relative;
    transition: all 0.2s ease; }
    .menu--header .menu__item--dropdown:first-of-type .menu__link {
      padding: 20px 15px 10px; }
      @media only screen and (min-width: 1085px) {
        .menu--header .menu__item--dropdown:first-of-type .menu__link {
          padding: 25px 7.5px; } }
      @media only screen and (min-width: 1254px) {
        .menu--header .menu__item--dropdown:first-of-type .menu__link {
          padding: 25px 10px; } }
    .menu--header .menu__item--dropdown:hover {
      background-color: transparent; }
      @media only screen and (min-width: 1085px) {
        .menu--header .menu__item--dropdown:hover .menu__title {
          color: #1A1A1A; } }
    .menu--header .menu__item--dropdown .menu__link {
      position: relative;
      padding: 10px 15px; }
      @media only screen and (min-width: 1085px) {
        .menu--header .menu__item--dropdown .menu__link {
          padding: 25px 7.5px; } }
      @media only screen and (min-width: 1254px) {
        .menu--header .menu__item--dropdown .menu__link {
          padding: 25px 10px; } }
    .menu--header .menu__item--dropdown.js--isOpen {
      background-color: #1A1A1A; }
      @media only screen and (min-width: 1085px) {
        .menu--header .menu__item--dropdown.js--isOpen {
          background-color: transparent; } }
      .menu--header .menu__item--dropdown.js--isOpen .menu__link {
        background-color: transparent;
        color: #FF6900; }
      .menu--header .menu__item--dropdown.js--isOpen .dropdown__icon {
        color: #fff;
        border-color: #fff; }
        @media only screen and (min-width: 1085px) {
          .menu--header .menu__item--dropdown.js--isOpen .dropdown__icon .icon {
            transform: rotate(-180deg); } }
      .menu--header .menu__item--dropdown.js--isOpen .dropdown {
        display: block;
        padding: 10px 15px 25px; }
        @media only screen and (min-width: 1085px) {
          .menu--header .menu__item--dropdown.js--isOpen .dropdown {
            padding: 25px 20px; } }
    @media only screen and (min-width: 1085px) {
      .menu--header .menu__item--dropdown.js--isOpen {
        background-color: transparent; }
        .menu--header .menu__item--dropdown.js--isOpen .menu__link {
          color: #000; }
          .menu--header .menu__item--dropdown.js--isOpen .menu__link::after {
            display: block; } }
  .menu--header .dropdown {
    display: none; }
    @media only screen and (min-width: 1085px) {
      .menu--header .dropdown {
        padding: 25px 20px;
        background-color: #1A1A1A;
        display: block;
        min-width: 150px;
        position: absolute;
        top: 100%;
        opacity: 0;
        transition: all 0.2s ease, visibility 0s linear 0.01s, z-index 0s linear 0s;
        visibility: hidden;
        z-index: -1; } }
  .menu--header .dropdown__list {
    list-style: none;
    margin: 0;
    padding: 0; }
  .menu--header .dropdown__item {
    margin: 0 0 20px;
    position: relative; }
    @media only screen and (min-width: 1085px) {
      .menu--header .dropdown__item {
        margin: 0 0 15px; } }
    .menu--header .dropdown__item:last-child {
      margin-bottom: 0; }
    .menu--header .dropdown__item.current-menu-item .dropdown__link {
      text-decoration: underline; }
  .menu--header .dropdown__link {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 19px;
    line-height: 1.1875rem;
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 0; }
    .menu--header .dropdown__link:hover, .menu--header .dropdown__link:focus {
      text-decoration: underline;
      outline: none;
      color: #fff; }
    @media only screen and (min-width: 1085px) {
      .menu--header .dropdown__link {
        font-size: 16px;
        font-size: 1rem;
        line-height: 19px;
        line-height: 1.1875rem;
        white-space: nowrap; } }
  .menu--header .dropdown__icon {
    position: absolute;
    right: 15px;
    transition: transform .2s ease;
    transform-origin: center center;
    border: 1px solid #1A1A1A;
    border-radius: 20px;
    height: 22px;
    width: 22px;
    color: #1A1A1A; }
    .menu--header .dropdown__icon .icon {
      top: 5px;
      left: 5px;
      width: 10px;
      height: 10px; }
    @media only screen and (min-width: 1085px) {
      .menu--header .dropdown__icon {
        display: none; } }
    .menu--header .dropdown__icon:after {
      content: '';
      position: absolute;
      display: block;
      top: -10px;
      left: -10px;
      width: 40px;
      height: 40px; }

.menu.menu--secondary-nav {
  margin: 0;
  padding: 0;
  display: block;
  background-color: #f3f3f3; }
  @media only screen and (min-width: 1085px) {
    .menu.menu--secondary-nav {
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      background-color: transparent; } }
  .menu.menu--secondary-nav .menu__item {
    display: none; }
    @media only screen and (min-width: 1085px) {
      .menu.menu--secondary-nav .menu__item {
        display: inline-block; } }
  .menu.menu--secondary-nav .menu__link--search {
    padding-bottom: 0; }
  .menu.menu--secondary-nav .menu__item--country-switcher {
    display: block; }
    @media only screen and (min-width: 1085px) {
      .menu.menu--secondary-nav .menu__item--country-switcher {
        display: none; } }

.footer--default {
  background-color: #353535;
  padding: 60px 0 40px; }
  .footer--default p {
    color: #fff; }

.footer__content {
  display: inline-block;
  margin: 0 0 20px; }
  @media (min-width: 1024px) {
    .footer__content {
      width: auto;
      margin: 0 0 30px; } }

.footer__copy {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 1.625rem;
  margin: 0 0 20px; }
  .footer__copy p {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    margin: 0; }
  .footer__copy a {
    color: #fff; }
    .footer__copy a:hover {
      color: rgba(255, 255, 255, 0.7); }
  @media (min-width: 1024px) {
    .footer__copy {
      text-align: center;
      margin: 0 0 30px; } }

.footer__content--menu {
  width: 100%; }

.menu--footer {
  width: 100%; }
  @media (min-width: 1024px) {
    .menu--footer .menu__list {
      display: flex;
      justify-content: center; } }
  .menu--footer .menu__link {
    color: #fff;
    padding: 0;
    display: inline-block; }
    .menu--footer .menu__link:hover .menu__title {
      color: rgba(255, 255, 255, 0.7); }
  .menu--footer .menu__title {
    font-size: 16px;
    font-size: 1rem;
    line-height: 19px;
    line-height: 1.1875rem;
    color: #fff;
    padding: 0 0 10px; }
    @media (min-width: 1024px) {
      .menu--footer .menu__title {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 21px;
        line-height: 1.3125rem;
        padding: 0 15px; } }

@media (min-width: 1024px) {
  .legal__container {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center; } }

.legal__content {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 1.625rem;
  align-self: center; }

.menu--legal {
  background-color: transparent;
  margin-bottom: 0; }
  @media (min-width: 1024px) {
    .menu--legal {
      border-right: 1px solid #ccc;
      padding: 0 15px 0 0; } }
  .menu--legal .menu__list {
    flex-flow: row wrap; }
  .menu--legal .menu__link {
    color: #fff;
    padding: 0;
    display: inline-block; }
    .menu--legal .menu__link:hover .menu__title {
      color: rgba(255, 255, 255, 0.7); }
  .menu--legal .menu__title {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    text-decoration: underline;
    text-transform: none;
    margin: 0 20px 0 0;
    color: #fff; }
    @media (min-width: 1024px) {
      .menu--legal .menu__title {
        margin: 0 0 0 20px; } }

.footer__copyright {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 1.625rem;
  padding: 10px 0 0;
  margin: 0;
  display: block; }
  @media (min-width: 1024px) {
    .footer__copyright {
      padding: 0; } }

.footer__content--social {
  margin-bottom: 0; }
  .footer__content--social .social--footer {
    margin-top: 10px; }
    @media (min-width: 1024px) {
      .footer__content--social .social--footer {
        padding-left: 15px;
        margin: 0; } }
  .footer__content--social .social__list {
    line-height: 18px;
    line-height: 1.125rem; }
  .footer__content--social .social__item {
    margin: 0 10px 0 0; }
  .footer__content--social .social__link {
    font-size: 18px;
    font-size: 1.125rem;
    color: #fff; }
    .footer__content--social .social__link:hover {
      color: rgba(255, 255, 255, 0.7); }

.page-header {
  grid-column: full; }
  .ie11 .page-header {
    width: 100%; }
  .page-header .page-header__title {
    margin: 100px 0; }
    @media (min-width: 1024px) {
      .page-header .page-header__title {
        text-align: center; } }
  .page-header .container {
    max-width: 100%;
    width: 100%; }

.page-header--text-only {
  background-color: #353535; }
  .page-header--text-only .background-image {
    background-color: transparent; }
  .page-header--text-only .page-header__title {
    color: #1A1A1A; }
    @media (min-width: 1024px) {
      .page-header--text-only .page-header__title {
        text-align: center; } }
  .page-header--text-only .background-image__content {
    margin: 0 auto;
    max-width: 1280px;
    padding: 0;
    width: calc(100% - (15px * 2)); }
    @media (min-width: 1024px) {
      .page-header--text-only .background-image__content {
        width: calc(100% - (40px * 2)); } }
    @media (min-width: 1024px) {
      .page-header--text-only .background-image__content {
        width: calc(75% - (40px * 2)); } }

.page-header--image .background-image {
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 200px; }
  @media (min-width: 1024px) {
    .page-header--image .background-image {
      min-height: 265px; }
      .ie11 .page-header--image .background-image {
        height: 100px; } }
  .ie11 .page-header--image .background-image {
    display: block; }
  .page-header--image .background-image.background-image--with-overlay:after {
    background: rgba(0, 0, 0, 0.25); }

.page-header--image .page-header__content {
  position: relative;
  max-width: 100%;
  padding: 0;
  width: 100%; }

.page-header--image .background-image__content {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
  width: calc(100% - (15px * 2));
  padding: 30px 10px;
  margin: 60px auto; }
  @media (min-width: 1024px) {
    .page-header--image .background-image__content {
      width: calc(100% - (40px * 2)); } }
  .ie11 .page-header--image .background-image__content {
    display: flex;
    align-items: center;
    height: 100%; }

.page-header--image .page-header__title {
  color: #fff;
  margin: 0; }
  @media (min-width: 1024px) {
    .page-header--image .page-header__title {
      margin: 100px 0;
      width: 75%;
      margin: 0 auto; } }

.page-header--image .page-header__title:has(+ .page-header__cta-container) {
  margin: 60px 0 20px; }
  @media (min-width: 1024px) {
    .page-header--image .page-header__title:has(+ .page-header__cta-container) {
      margin: 0 auto; } }

.page-header--image .page-header__cta-container {
  margin: 40px auto;
  text-align: left; }
  @media (min-width: 1024px) {
    .page-header--image .page-header__cta-container {
      text-align: center;
      margin: 40px auto 20px; } }

.page-header--image .page-header__subtitle {
  color: #fff;
  font-size: 24px;
  text-align: left;
  margin: 20px auto 0;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
  @media (min-width: 1024px) {
    .page-header--image .page-header__subtitle {
      width: 75%;
      text-align: center; } }

.page-header--video .page-header__content {
  position: relative;
  max-width: 100%;
  padding: 0;
  width: 100%;
  overflow: hidden; }

.page-header--video .page-header__subtitle {
  color: #fff;
  font-size: 24px;
  text-align: left;
  margin: 20px auto 0;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
  @media (min-width: 1024px) {
    .page-header--video .page-header__subtitle {
      width: 75%;
      text-align: center; } }

.page-header--video .background-image__content {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
  width: calc(100% - (15px * 2));
  padding: 30px 10px;
  margin: 60px auto;
  z-index: 1000; }
  @media (min-width: 1024px) {
    .page-header--video .background-image__content {
      width: calc(100% - (40px * 2)); } }
  .page-header--video .background-image__content .page-header__title {
    color: #fff;
    margin: 0; }
  .ie11 .page-header--video .background-image__content {
    display: flex;
    align-items: center;
    height: 100%; }

.page-header--video .video-block {
  background: #353535;
  background-position: 50% 50%;
  background-size: cover;
  position: relative;
  width: 100%;
  height: 277px;
  overflow: hidden;
  display: flex;
  align-items: center; }
  @media (min-width: 1024px) {
    .page-header--video .video-block {
      height: 470px; }
      .page-header--video .video-block.is-playing {
        z-index: 1; } }

.page-header--video .video-block__video {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  vertical-align: bottom;
  position: absolute; }
  .page-header--video .video-block__video::before {
    content: '';
    float: left;
    height: 0;
    margin-left: -1px;
    padding-top: calc(9 / 16 * 100%);
    width: 1px; }
  .page-header--video .video-block__video::after {
    clear: both;
    content: '';
    display: table; }
  .page-header--video .video-block__video iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .ie11 .page-header--video .video-block__video {
    position: absolute;
    top: 0; }

.page-header--video .video-block--is-postered,
.page-header--video .video-block--is-paused {
  background-repeat: no-repeat;
  background-size: cover !important; }
  .page-header--video .video-block--is-postered .video-block__video,
  .page-header--video .video-block--is-paused .video-block__video {
    position: absolute;
    z-index: -1; }
  .page-header--video .video-block--is-postered .video-block__controls-poster,
  .page-header--video .video-block--is-paused .video-block__controls-poster {
    display: block; }

.page-header--video .video-block__controls {
  display: none; }
  @media (min-width: 1024px) {
    .page-header--video .video-block__controls {
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      z-index: 1000;
      background-color: rgba(0, 0, 0, 0.25); }
      .page-header--video .video-block__controls .video-block__control--play {
        width: 100%;
        height: 100%;
        position: relative;
        z-index: 1200; }
        .page-header--video .video-block__controls .video-block__control--play .icon__play {
          width: 57px;
          height: 57px;
          position: absolute;
          top: 40px;
          right: 40px;
          left: auto;
          transform: translate(0); } }

.page-header--video .video-block__controls-poster {
  width: 100%;
  height: 100%; }
  .page-header--video .video-block__controls-poster:hover .icon__play {
    transform: scale(1.1);
    transition: all 0.2s ease; }

.page-header--homepage .background-image {
  min-height: 277px; }
  @media (min-width: 1024px) {
    .page-header--homepage .background-image {
      min-height: 470px; } }

.page-header--homepage .page-header__title {
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 48px;
  line-height: 3rem; }
  @media (min-width: 1024px) {
    .page-header--homepage .page-header__title {
      font-size: 60px;
      font-size: 3.75rem;
      line-height: 66px;
      line-height: 4.125rem; } }

.content-panel--split {
  background-color: #353535; }
  .content-panel--split .content-panel__content {
    color: #fff;
    background-color: transparent;
    padding: 30px 20px; }
    @media (min-width: 1024px) {
      .content-panel--split .content-panel__content {
        min-height: 350px;
        padding: 50px; }
        .ie11 .content-panel--split .content-panel__content {
          max-width: 50%; } }
    @media (min-width: 1024px) {
      .content-panel--split .content-panel__content .content-panel__content-wrapper {
        max-width: 400px; } }
    .ie11 .content-panel--split .content-panel__content .content-panel__content-wrapper {
      width: 100%; }
    .content-panel--split .content-panel__content .copy-block__title {
      margin: 0; }
    .content-panel--split .content-panel__content .wysiwyg {
      margin-top: 10px;
      color: #fff; }
      .content-panel--split .content-panel__content .wysiwyg p,
      .content-panel--split .content-panel__content .wysiwyg ul {
        color: #fff; }
      .content-panel--split .content-panel__content .wysiwyg p:last-of-type {
        margin-bottom: 0; }
      .content-panel--split .content-panel__content .wysiwyg a {
        color: #fff; }
        .content-panel--split .content-panel__content .wysiwyg a:hover {
          color: rgba(255, 255, 255, 0.7); }
    .content-panel--split .content-panel__content .button-collection {
      justify-content: flex-start;
      margin: 25px 0 0; }
      @media (min-width: 1024px) {
        .content-panel--split .content-panel__content .button-collection {
          margin: 30px 0 0; } }
    @media (min-width: 1024px) {
      .content-panel--split .content-panel__content .button--primary:hover, .content-panel--split .content-panel__content .form__field--button-radio .form__option-label.is-active:hover, .form__field--button-radio .content-panel--split .content-panel__content .form__option-label.is-active:hover, .content-panel--split .content-panel__content .search-box--search-results .search__submit:hover, .search-box--search-results .content-panel--split .content-panel__content .search__submit:hover {
        background-color: transparent;
        color: #fff; } }
  .content-panel--split .content-panel__feature {
    display: block;
    position: relative;
    background-color: transparent; }
    .content-panel--split .content-panel__feature .background-image--content-panel {
      height: 100%;
      background-color: transparent; }
    @media (min-width: 1024px) {
      .ie11 .content-panel--split .content-panel__feature {
        max-width: 50%; } }
  .content-panel--split.content-panel--grey .button--primary, .content-panel--split.content-panel--grey .form__field--button-radio .form__option-label.is-active, .form__field--button-radio .content-panel--split.content-panel--grey .form__option-label.is-active, .content-panel--split.content-panel--grey .search-box--search-results .search__submit, .search-box--search-results .content-panel--split.content-panel--grey .search__submit {
    border-color: #fff;
    background-color: #fff;
    color: #1A1A1A; }
  .content-panel--split.content-panel--orange {
    background-color: #FF6900; }
    .content-panel--split.content-panel--orange .content-panel__content {
      color: #000; }
      .content-panel--split.content-panel--orange .content-panel__content .wysiwyg {
        margin-top: 10px;
        color: #000; }
        .content-panel--split.content-panel--orange .content-panel__content .wysiwyg p,
        .content-panel--split.content-panel--orange .content-panel__content .wysiwyg ul {
          color: #000; }
        .content-panel--split.content-panel--orange .content-panel__content .wysiwyg a {
          color: #000; }
          .content-panel--split.content-panel--orange .content-panel__content .wysiwyg a:hover {
            color: rgba(0, 0, 0, 0.7); }
    .content-panel--split.content-panel--orange .button--primary, .content-panel--split.content-panel--orange .form__field--button-radio .form__option-label.is-active, .form__field--button-radio .content-panel--split.content-panel--orange .form__option-label.is-active, .content-panel--split.content-panel--orange .search-box--search-results .search__submit, .search-box--search-results .content-panel--split.content-panel--orange .search__submit {
      border-color: #fff;
      background-color: #fff;
      color: #000; }
      @media (min-width: 1024px) {
        .content-panel--split.content-panel--orange .button--primary:hover, .content-panel--split.content-panel--orange .form__field--button-radio .form__option-label.is-active:hover, .form__field--button-radio .content-panel--split.content-panel--orange .form__option-label.is-active:hover, .content-panel--split.content-panel--orange .search-box--search-results .search__submit:hover, .search-box--search-results .content-panel--split.content-panel--orange .search__submit:hover {
          color: #000; } }
  .content-panel--split.content-panel--darkgrey {
    background-color: #1A1A1A; }

.content-panel--content-carousel {
  background-color: #1A1A1A; }
  .page-section--orange .content-panel--content-carousel {
    background-color: #FF6900;
    color: #000; }
    .page-section--orange .content-panel--content-carousel .content-carousel__counter {
      color: #000; }
    .page-section--orange .content-panel--content-carousel .content-panel__content {
      color: #000; }
      .page-section--orange .content-panel--content-carousel .content-panel__content .wysiwyg {
        color: #000; }
        .page-section--orange .content-panel--content-carousel .content-panel__content .wysiwyg p,
        .page-section--orange .content-panel--content-carousel .content-panel__content .wysiwyg ul {
          color: #000; }
        .page-section--orange .content-panel--content-carousel .content-panel__content .wysiwyg a {
          color: #000; }
          .page-section--orange .content-panel--content-carousel .content-panel__content .wysiwyg a:hover {
            color: rgba(0, 0, 0, 0.7); }
    .page-section--orange .content-panel--content-carousel .button--primary, .page-section--orange .content-panel--content-carousel .form__field--button-radio .form__option-label.is-active, .form__field--button-radio .page-section--orange .content-panel--content-carousel .form__option-label.is-active, .page-section--orange .content-panel--content-carousel .search-box--search-results .search__submit, .search-box--search-results .page-section--orange .content-panel--content-carousel .search__submit {
      border-color: #fff;
      background-color: #fff;
      color: #1A1A1A; }
      @media (min-width: 1024px) {
        .page-section--orange .content-panel--content-carousel .button--primary:hover, .page-section--orange .content-panel--content-carousel .form__field--button-radio .form__option-label.is-active:hover, .form__field--button-radio .page-section--orange .content-panel--content-carousel .form__option-label.is-active:hover, .page-section--orange .content-panel--content-carousel .search-box--search-results .search__submit:hover, .search-box--search-results .page-section--orange .content-panel--content-carousel .search__submit:hover {
          color: #000; } }
  .content-panel--content-carousel .content-panel__container {
    position: relative; }
    @media (min-width: 1024px) {
      .content-panel--content-carousel .content-panel__container {
        min-height: 470px; } }
  .content-panel--content-carousel .content-panel__feature::before {
    content: '';
    float: left;
    height: 0;
    margin-left: -1px;
    padding-top: calc(3 / 5 * 100%);
    width: 1px; }
  .content-panel--content-carousel .content-panel__feature::after {
    clear: both;
    content: '';
    display: table; }
  @media (min-width: 680px) {
    .content-panel--content-carousel .content-panel__feature {
      flex: 0 1 50%; }
      .ie11 .content-panel--content-carousel .content-panel__feature {
        max-width: 50%; } }
  .content-panel--content-carousel .content-panel__feature .background-image {
    width: 100%;
    height: 100%; }
  .content-panel--content-carousel .content-panel__content {
    align-items: flex-start;
    padding: 30px 20px; }
    @media (min-width: 680px) {
      .content-panel--content-carousel .content-panel__content {
        flex: 0 1 50%; }
        .ie11 .content-panel--content-carousel .content-panel__content {
          max-width: 50%; } }
    @media (min-width: 1024px) {
      .content-panel--content-carousel .content-panel__content {
        min-height: 470px;
        padding: 70px 80px; } }
    .content-panel--content-carousel .content-panel__content .content-carousel__title {
      margin-bottom: 0; }
      .ie11 .content-panel--content-carousel .content-panel__content .content-carousel__title {
        width: 100%; }
    .content-panel--content-carousel .content-panel__content .content-carousel__counter {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 20px;
      line-height: 1.25rem;
      margin-bottom: 30px; }
    .ie11 .content-panel--content-carousel .content-panel__content .content-carousel__wysiwyg {
      width: 100%; }
  .content-panel--content-carousel .video-block--is-postered,
  .content-panel--content-carousel .video-block--is-paused {
    background-repeat: no-repeat;
    background-size: cover !important; }
    .content-panel--content-carousel .video-block--is-postered .video-block__video,
    .content-panel--content-carousel .video-block--is-paused .video-block__video {
      position: relative;
      z-index: -1; }
    .content-panel--content-carousel .video-block--is-postered .video-block__controls-poster,
    .content-panel--content-carousel .video-block--is-paused .video-block__controls-poster {
      display: block; }

.page-section--banner-block .container {
  max-width: 100%;
  width: 100%; }

.banner-block {
  height: 100%; }
  .banner-block .banner-block__wrapper {
    text-decoration: none; }
    .banner-block .banner-block__wrapper:hover .background-image::after {
      background: rgba(26, 26, 26, 0.6); }
    .banner-block .banner-block__wrapper:hover .button--primary, .banner-block .banner-block__wrapper:hover .form__field--button-radio .form__option-label.is-active, .form__field--button-radio .banner-block .banner-block__wrapper:hover .form__option-label.is-active, .banner-block .banner-block__wrapper:hover .search-box--search-results .search__submit, .search-box--search-results .banner-block .banner-block__wrapper:hover .search__submit {
      color: #fff; }
  .banner-block .background-image {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px 20px;
    min-height: 160px; }
    @media (min-width: 680px) {
      .banner-block .background-image {
        min-height: 260px; } }
    .banner-block .background-image::after {
      display: block;
      background: rgba(26, 26, 26, 0.4); }
  .banner-block .banner-block__title {
    text-decoration: none;
    text-align: center;
    margin-bottom: 20px; }
  .banner-block .button-collection {
    margin-top: 0; }

.card--default {
  background-color: transparent;
  border: 0;
  position: relative; }
  .card--default .card__wrapper {
    text-decoration: none; }
  .card--default .card__content {
    padding: 20px 5px; }
  .card--default .card__label {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    padding: 4px 7px;
    font-weight: 500;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #FF6900;
    color: #000;
    display: block;
    z-index: 1; }
  .card--default .card__title {
    color: #1A1A1A;
    margin-bottom: 10px; }
  .card--default .post-meta__date {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    margin-bottom: 15px; }
  .card--default .post-meta__source {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    margin-bottom: 3px; }
  .card--default .card__text {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    margin-bottom: 20px; }

.card--drivers {
  padding: 30px 0; }
  @media (min-width: 680px) {
    .card--drivers {
      padding: 20px 0; } }
  @media (min-width: 1024px) {
    .card--drivers {
      padding: 0;
      background-color: #353535; } }
  .card--drivers .card__wrapper {
    display: grid;
    grid-template-columns: 100px auto;
    text-decoration: none; }
    @media (min-width: 1024px) {
      .card--drivers .card__wrapper {
        min-height: 250px;
        grid-template-columns: 1fr 1fr; } }
    .ie11 .card--drivers .card__wrapper {
      display: flex; }
  .card--drivers .card__feature {
    align-self: start; }
    .card--drivers .card__feature::before {
      content: '';
      float: left;
      height: 0;
      margin-left: -1px;
      padding-top: calc(1 / 1 * 100%);
      width: 1px; }
    .card--drivers .card__feature::after {
      clear: both;
      content: '';
      display: table; }
    @media (min-width: 1024px) {
      .card--drivers .card__feature {
        align-self: stretch; } }
    .ie11 .card--drivers .card__feature {
      width: 50%; }
  .card--drivers .copy-block__title {
    color: #1A1A1A;
    margin-bottom: 10px; }
    @media (min-width: 1024px) {
      .card--drivers .copy-block__title {
        color: #fff; } }
  .card--drivers .card__content {
    padding: 0 0 0 20px; }
    @media (min-width: 1024px) {
      .card--drivers .card__content {
        padding: 30px 40px; } }
    .ie11 .card--drivers .card__content {
      width: 50%; }
  .card--drivers .button-collection {
    margin-top: 15px; }
  @media (min-width: 1024px) {
    .card--drivers .button--text {
      color: #fff; } }
  .card--drivers .wysiwyg--drivers {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 26px;
    line-height: 1.625rem;
    display: none; }
    @media (min-width: 1024px) {
      .card--drivers .wysiwyg--drivers {
        display: block; }
        .card--drivers .wysiwyg--drivers p {
          font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
          font-style: normal;
          font-weight: 400;
          line-height: 1.625;
          font-size: 16px;
          font-size: 1rem;
          line-height: 26px;
          line-height: 1.625rem;
          color: #fff; }
          .card--drivers .wysiwyg--drivers p:last-of-type {
            margin-bottom: 0; } }

.card--search .card__wrapper {
  display: flex;
  grid-template-columns: 177px auto;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
  padding-bottom: 20px; }
  @media (min-width: 680px) {
    .card--search .card__wrapper {
      border-bottom: 0;
      margin-bottom: 40px; } }

.card--search .card__feature {
  display: none; }
  @media (min-width: 680px) {
    .card--search .card__feature {
      display: block;
      max-width: 177px;
      margin-right: 40px; } }

.card--search .card__content {
  padding: 0; }

.card--search .card__title {
  margin-bottom: 5px; }

.card--search .card--search__label {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16px;
  line-height: 1rem;
  color: #FF6900;
  font-weight: 500;
  margin-bottom: 10px; }
  @media (min-width: 680px) {
    .card--search .card--search__label {
      margin-bottom: 20px; } }

.announcement-bar {
  position: relative;
  background-color: #FF6900;
  display: none; }
  .announcement-bar.announcement-bar--active {
    display: block; }
  .announcement-bar:hover {
    background-color: #E4660D; }

.announcement-bar__body {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
  width: calc(100% - (15px * 2));
  font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 22px;
  line-height: 1.375rem;
  color: #787878;
  display: block;
  color: #000;
  max-width: 100%; }
  @media (min-width: 1024px) {
    .announcement-bar__body {
      width: calc(100% - (40px * 2)); } }
  .ie11 .announcement-bar__body {
    line-height: 18px;
    line-height: 1.125rem; }
  .announcement-bar__body .announcement-bar__link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    width: 100%;
    color: #000; }

.announcement-bar__button.button {
  min-width: auto;
  margin: 0; }

.announcement-bar__copy {
  display: inline-block;
  text-align: center;
  margin-right: 20px; }

.announcement-bar__cta {
  text-decoration: underline; }

.announcement-bar__close {
  color: #000;
  cursor: pointer;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center; }
  .announcement-bar__close .icon__close {
    width: 12px;
    height: 12px; }

.search-box--default {
  display: block; }
  .search-box--default .search-box__toggle {
    display: none; }
  .search-box--default .form--search {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    max-width: 500px;
    margin: 0 auto; }
  .search-box--default .form__label {
    display: none; }
  .search-box--default .form__field {
    margin: 0; }
  .search-box--default .form__field--submit {
    width: auto; }
  .search-box--default .search__input {
    font-size: 16px;
    font-size: 1rem;
    line-height: 20px;
    line-height: 1.25rem;
    padding: 10px 15px;
    display: block;
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    color: #1A1A1A;
    background-color: #fff;
    border: 1px solid #ccc;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
    box-sizing: border-box;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    border-radius: 0;
    width: 100%; }
    .search-box--default .search__input::-moz-placeholder {
      font-size: 16px;
      font-size: 1rem;
      line-height: 20px;
      line-height: 1.25rem;
      font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
      font-style: normal;
      font-weight: 400;
      line-height: 1.625;
      color: #1A1A1A;
      opacity: .8; }
    .search-box--default .search__input::placeholder {
      font-size: 16px;
      font-size: 1rem;
      line-height: 20px;
      line-height: 1.25rem;
      font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
      font-style: normal;
      font-weight: 400;
      line-height: 1.625;
      color: #1A1A1A;
      opacity: .8; }
    .search-box--default .search__input:-moz-placeholder {
      font-size: 16px;
      font-size: 1rem;
      line-height: 20px;
      line-height: 1.25rem;
      font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
      font-style: normal;
      font-weight: 400;
      line-height: 1.625;
      color: #1A1A1A;
      opacity: .8; }
    .search-box--default .search__input:-ms-input-placeholder {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 20px;
      line-height: 1.25rem;
      font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
      font-style: normal;
      font-weight: 400;
      line-height: 1.625;
      color: #1A1A1A;
      opacity: .8; }
    .search-box--default .search__input::-ms-input-placeholder {
      font-size: 16px;
      font-size: 1rem;
      line-height: 20px;
      line-height: 1.25rem;
      font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
      font-style: normal;
      font-weight: 400;
      line-height: 1.625;
      color: #1A1A1A;
      opacity: .8; }
    .search-box--default .search__input::-webkit-input-placeholder {
      font-size: 16px;
      font-size: 1rem;
      line-height: 20px;
      line-height: 1.25rem;
      font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
      font-style: normal;
      font-weight: 400;
      line-height: 1.625;
      color: #1A1A1A;
      opacity: .8; }
  .search-box--default .search__input,
  .search-box--default .search__submit {
    border-radius: 0;
    height: 44px; }
    .search-box--default .search__input .button__label,
    .search-box--default .search__submit .button__label {
      display: none; }
      @media (min-width: 680px) {
        .search-box--default .search__input .button__label,
        .search-box--default .search__submit .button__label {
          display: inline-block; } }
    .search-box--default .search__input .button__icon,
    .search-box--default .search__submit .button__icon {
      margin-left: 0; }
      @media (min-width: 680px) {
        .search-box--default .search__input .button__icon,
        .search-box--default .search__submit .button__icon {
          margin-left: 5px; } }
  .search-box--default input[type="search"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }

.seach-results__no-results-text {
  text-align: center; }

.search-box__toggle {
  color: #1A1A1A;
  margin: 0 20px 0 0;
  padding: 0; }
  .search-box__toggle .icon {
    top: 3px;
    position: relative;
    width: 18px;
    height: 18px; }
  @media only screen and (min-width: 1085px) {
    .search-box__toggle {
      margin: 0;
      padding: 0; }
      .search-box__toggle:hover {
        color: #FF6900; } }

.search-box--header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 68px;
  z-index: -1;
  padding: 0 15px 1px;
  opacity: 0;
  background-color: #fff;
  display: none;
  align-items: center;
  justify-content: space-between;
  will-change: transform;
  overflow: hidden;
  transition: left 400ms ease;
  transform: translateY(-100%); }
  .ie11 .search-box--header {
    display: none; }
  @media only screen and (min-width: 1085px) {
    .search-box--header {
      position: initial;
      grid-row: 1;
      grid-column: 2 / span 2;
      padding: 0 0 1px 15px; } }
  .search-box--header .search-box__wrapper {
    position: relative; }
    .search-box--header .search-box__wrapper .icon {
      width: 18px;
      height: 18px; }
    @media only screen and (min-width: 1085px) {
      .search-box--header .search-box__wrapper {
        padding: 0 10px 0 10px; } }
  .search-box--header .search-box__toggle--close {
    display: none; }
  .search-box--header .form--search {
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    max-width: 100%; }
    @media only screen and (min-width: 1085px) {
      .search-box--header .form--search {
        justify-content: flex-end; } }
    .ie11 .search-box--header .form--search {
      width: 80%; }
  .search-box--header .form__label {
    display: none; }
  .search-box--header .form__field--search {
    min-width: 100px;
    width: 100%;
    margin-left: 10px; }
    @media only screen and (min-width: 1085px) {
      .search-box--header .form__field--search {
        min-width: 300px;
        height: auto; }
        .ie11 .search-box--header .form__field--search {
          min-width: 100%; } }
  .search-box--header .search__input {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 16px;
    font-size: 1rem;
    line-height: 19px;
    line-height: 1.1875rem;
    color: #1A1A1A;
    background-color: transparent;
    border: 0;
    padding: 10px 0 9px;
    border-radius: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
    .search-box--header .search__input:focus {
      outline: none; }
  .search-box--header .form__field--submit {
    flex: 0; }
  .search-box--header .search__submit {
    height: auto; }
  .search-box--header.is-active {
    transform: translateY(0);
    opacity: 1;
    display: flex;
    overflow: visible;
    z-index: 1000; }
    .search-box--header.is-active::after {
      background-color: rgba(0, 0, 0, 0.7);
      content: '';
      display: block;
      position: absolute;
      left: 0;
      width: 100%;
      height: 100vh;
      z-index: 1000;
      top: 100%; }
    @media only screen and (min-width: 1085px) {
      .search-box--header.is-active::after {
        display: none; } }
    .search-box--header.is-active .search-box__toggle {
      display: block;
      margin: 0; }
      .search-box--header.is-active .search-box__toggle .icon {
        width: 18px;
        height: 18px; }
      .search-box--header.is-active .search-box__toggle .icon__close {
        width: 13px;
        height: 13px; }
    .search-box--header.is-active .search-box__toggle--close {
      display: block;
      padding: 0 0 0 15px;
      color: #1A1A1A; }
      .search-box--header.is-active .search-box__toggle--close:hover {
        color: #FF6900; }
      @media only screen and (min-width: 1085px) {
        .search-box--header.is-active .search-box__toggle--close {
          padding: 0 0 0 38px; } }

.search-box--search-results {
  margin: 0 auto;
  max-width: 290px; }
  @media (min-width: 680px) {
    .search-box--search-results {
      max-width: 500px; } }
  .search-box--search-results .form--search {
    flex-flow: row nowrap; }
    @media only screen and (min-width: 1085px) {
      .search-box--search-results .form--search {
        flex-flow: row nowrap; } }
  .search-box--search-results .form__field--search {
    flex: 0 1 75%;
    width: 100%; }
  .search-box--search-results .form__field--button {
    flex: 0 1 25%; }
  .search-box--search-results .search__submit {
    border-radius: 0;
    padding: 10px 25px;
    width: 75px; }
    .search-box--search-results .search__submit:hover {
      transform: translateY(0); }
    @media (min-width: 680px) {
      .search-box--search-results .search__submit {
        width: 150px; } }

.country-switch {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
  width: calc(100% - (15px * 2));
  height: auto;
  margin-top: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center; }
  @media (min-width: 1024px) {
    .country-switch {
      width: calc(100% - (40px * 2)); } }
  @media only screen and (min-width: 1085px) {
    .country-switch {
      justify-content: flex-end; } }
  .country-switch .contact-us {
    margin-left: 10px;
    padding: 8px 8px;
    font-weight: normal;
    text-transform: none;
    display: none; }
    @media only screen and (min-width: 1085px) {
      .country-switch .contact-us {
        color: white;
        display: block; }
        .country-switch .contact-us:hover {
          color: black; } }

.country-switch__list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 10px 0; }
  @media (min-width: 1024px) {
    .country-switch__list {
      justify-content: flex-end; } }

.country-switch__item {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16px;
  line-height: 1rem;
  width: 60px; }
  .country-switch__item.lang--en {
    width: 54px;
    text-align: right; }
  .country-switch__item + .country-switch__item {
    margin-left: 5px; }
    .country-switch__item + .country-switch__item .country-switch__link {
      position: relative;
      padding-left: 5px;
      border-left: 1px solid #1A1A1A; }
  .country-switch__item.is-current .country-switch__link {
    font-weight: 500;
    text-decoration: underline; }

.country-switch__link {
  position: relative;
  color: currentColor;
  text-decoration: none;
  text-align: left;
  white-space: nowrap; }
  .country-switch__link:hover {
    font-weight: 500;
    color: #1A1A1A; }

.breadcrumbs {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 22px;
  line-height: 1.375rem;
  margin: 20px 0; }
  .ie11 .breadcrumbs {
    margin: 20px auto; }
  .breadcrumbs .breadcrumbs__item--link {
    font-family: "Gotham A", "Gotham B", Helvetica, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 22px;
    line-height: 1.375rem;
    color: #1A1A1A;
    text-decoration: none;
    text-transform: none;
    background-color: transparent;
    letter-spacing: 0;
    padding: 0;
    border: 0; }
  .breadcrumbs .breadcrumbs__separator {
    color: #1A1A1A;
    padding: 0 3px; }
  .breadcrumbs .breadcrumb_last {
    color: #1A1A1A;
    font-weight: 500; }

.pagination {
  list-style: none;
  margin: 0;
  padding: 0 0 30px; }
  @media (min-width: 1024px) {
    .pagination {
      padding: 0 0 60px; } }

.pagination__item {
  display: inline-block;
  margin: 0 2px 0 0; }

.pagination__item--arrow {
  display: none; }

.pagination__link {
  font-weight: 500;
  color: #1A1A1A;
  border: 0;
  border-radius: 0;
  display: block;
  padding: 0px 6px;
  text-decoration: none; }
  .pagination__link:hover {
    background: transparent;
    color: #FF6900;
    transition: all 0.2s ease; }

.pagination__link--disabled,
.pagination__link--disabled:hover {
  background: #FF6900;
  border: 0;
  color: #fff;
  display: inline-block; }

@media only screen and (min-width: 1085px) {
  .menu--dropdown .menu__list {
    align-items: flex-end; } }

.menu__item--dropdown {
  position: relative;
  transition: all 0.2s ease; }
  .menu__item--dropdown .icon {
    transition: all 0.2s ease; }
  .menu__item--dropdown.js--isOpen .icon {
    transform: rotate(-180deg); }
  .menu__item--dropdown.js--isOpen .dropdown {
    display: block; }
  @media only screen and (min-width: 1085px) {
    .menu__item--dropdown.js--isOpen, .menu__item--dropdown:hover {
      background-color: #1A1A1A; }
      .menu__item--dropdown.js--isOpen .menu__link, .menu__item--dropdown:hover .menu__link {
        color: #fff; }
      .menu__item--dropdown.js--isOpen .dropdown, .menu__item--dropdown:hover .dropdown {
        opacity: 1;
        transform: translateY(0%);
        visibility: visible;
        z-index: 1; } }

.dropdown {
  display: none;
  padding: 25px 20px; }
  @media only screen and (min-width: 1085px) {
    .dropdown {
      background-color: #1A1A1A;
      display: block;
      min-width: 150px;
      position: absolute;
      top: 100%;
      opacity: 0;
      transform: translateY(-3em);
      transition: all 0.2s ease, visibility 0s linear 0.01s, z-index 0s linear 0s;
      visibility: hidden;
      z-index: -1; } }

.dropdown__list {
  list-style: none;
  margin: 0;
  padding: 0; }

.dropdown__item {
  margin: 0 0 15px; }
  @media only screen and (min-width: 1085px) {
    .dropdown__item:last-child {
      margin-bottom: 0; } }

.dropdown__link {
  cursor: pointer;
  display: block;
  line-height: 1; }
  @media only screen and (min-width: 1085px) {
    .dropdown__link {
      color: #fff; }
      .dropdown__link:hover {
        color: #fff; } }

.page-section--intro-block.page-section--default .container {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
  width: calc(100% - (15px * 2)); }
  @media (min-width: 1024px) {
    .page-section--intro-block.page-section--default .container {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) {
    .page-section--intro-block.page-section--default .container {
      width: calc(75% - (40px * 2)); } }

.page-section--intro-block.page-section--full .container {
  max-width: 100%;
  width: 100%; }

@media (min-width: 680px) {
  .intro-block {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items: center; } }

.intro-block .copy-block__title {
  margin-bottom: 10px; }

.intro-block .copy-block__wysiwyg p:last-of-type {
  margin-bottom: 0; }

.intro-block .button-collection {
  justify-content: flex-start;
  margin-top: 30px;
  margin-bottom: 0; }
  @media (min-width: 680px) {
    .intro-block .button-collection {
      justify-content: center; } }

.intro-block__image-wrapper {
  max-width: 250px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 30%; }
  @media (min-width: 680px) {
    .intro-block__image-wrapper {
      max-width: 275px;
      margin-bottom: 0;
      margin-right: 30px; } }
  @media (min-width: 680px) {
    .intro-block__image-wrapper + .intro-block__content-wrapper {
      text-align: left;
      flex: 0 1 70%; }
      .intro-block__image-wrapper + .intro-block__content-wrapper .button-collection {
        justify-content: flex-start; } }

.intro-block__image {
  width: 100%; }

@media (min-width: 680px) {
  .intro-block__content-wrapper {
    text-align: center; } }

.ie11 .intro-block__content-wrapper {
  margin: 0 15px; }

.page-section--contact-us .container {
  max-width: 100%;
  width: 100%; }

@media (min-width: 1024px) {
  .page-section--contact-us .page-section__body {
    margin: 0 auto;
    max-width: 1280px;
    padding: 0;
    width: calc(100% - (15px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .page-section--contact-us .page-section__body {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) and (min-width: 1024px) {
    .page-section--contact-us .page-section__body {
      width: calc(75% - (40px * 2)); } }

.page-section--contact-us .wysiwyg {
  text-align: center;
  margin-bottom: 40px; }

.section-header--contact-us {
  text-align: center; }

.page-section--carousel .container {
  max-width: 100%;
  width: 100%; }

.page-section--wysiwyg-block .container {
  max-width: 100%;
  width: 100%; }
  @media (min-width: 1024px) {
    .page-section--wysiwyg-block .container {
      margin-left: 0; } }

.page-section--drivers-block .container {
  width: 100%;
  max-width: 100%; }

.page-section--drivers-block .css-grid {
  grid-gap: 0; }
  @media (min-width: 680px) {
    .page-section--drivers-block .css-grid {
      grid-gap: 15px; } }
  @media (min-width: 1024px) {
    .page-section--drivers-block .css-grid {
      grid-gap: 40px; } }

.page-section--drivers-block .css-grid__item + .css-grid__item {
  border-top: 1px solid #ccc; }
  @media (min-width: 680px) {
    .page-section--drivers-block .css-grid__item + .css-grid__item {
      border-top: 0; } }

.ie11 .page-section--drivers-block .css-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

.page-section--drivers-block .card__wrapper:not(.block-link) .button-collection--drivers {
  display: none; }

.page-section--featured-content-post {
  margin: 0;
  padding: 30px 0; }
  @media (min-width: 1024px) {
    .page-section--featured-content-post {
      margin: 0;
      padding: 50px 0; } }
  .page-section--featured-content-post .page-section__body {
    display: grid;
    grid-row-gap: 40px;
    grid-template-rows: auto auto auto;
    grid-template-columns: auto; }
    @media (min-width: 680px) {
      .page-section--featured-content-post .page-section__body {
        grid-row-gap: 45px;
        grid-template-rows: auto auto;
        grid-template-columns: auto auto; } }
    .ie11 .page-section--featured-content-post .page-section__body {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between; }
  .page-section--featured-content-post .page-section__content {
    grid-row: 2; }
    .ie11 .page-section--featured-content-post .page-section__content {
      width: 100%; }
      .ie11 .page-section--featured-content-post .page-section__content .css-grid__item {
        width: 30%;
        margin: 0 0 40px; }
    @media (min-width: 680px) {
      .page-section--featured-content-post .page-section__content {
        grid-row: 2;
        grid-column: 1 / span 2; } }
    .ie11 .page-section--featured-content-post .page-section__content .css-grid {
      display: flex;
      align-items: flex-start;
      justify-content: space-between; }
  .page-section--featured-content-post .button--primary, .page-section--featured-content-post .form__field--button-radio .form__option-label.is-active, .form__field--button-radio .page-section--featured-content-post .form__option-label.is-active, .page-section--featured-content-post .search-box--search-results .search__submit, .search-box--search-results .page-section--featured-content-post .search__submit {
    grid-row: 3;
    align-self: self-start;
    justify-self: self-start; }
    @media (min-width: 680px) {
      .page-section--featured-content-post .button--primary, .page-section--featured-content-post .form__field--button-radio .form__option-label.is-active, .form__field--button-radio .page-section--featured-content-post .form__option-label.is-active, .page-section--featured-content-post .search-box--search-results .search__submit, .search-box--search-results .page-section--featured-content-post .search__submit {
        grid-row: 1;
        align-self: self-end;
        justify-self: self-end; } }
  .page-section--featured-content-post .section-header--news-events {
    grid-row: 1; }
    .ie11 .page-section--featured-content-post .section-header--news-events {
      margin-bottom: 30px; }
    .page-section--featured-content-post .section-header--news-events .copy-block__title {
      margin-bottom: 0;
      margin-top: 3px; }
  .page-section--featured-content-post.page-section--featured-content-post--black, .page-section--featured-content-post:nth-of-type(2) {
    background-color: #1A1A1A; }
    @media (min-width: 1024px) {
      .page-section--featured-content-post.page-section--featured-content-post--black, .page-section--featured-content-post:nth-of-type(2) {
        padding: 60px 0; } }
    .page-section--featured-content-post.page-section--featured-content-post--black .section-header--news-events .copy-block__title, .page-section--featured-content-post:nth-of-type(2) .section-header--news-events .copy-block__title {
      color: #fff; }
    .page-section--featured-content-post.page-section--featured-content-post--black .button--primary:hover, .page-section--featured-content-post.page-section--featured-content-post--black .form__field--button-radio .form__option-label.is-active:hover, .form__field--button-radio .page-section--featured-content-post.page-section--featured-content-post--black .form__option-label.is-active:hover, .page-section--featured-content-post.page-section--featured-content-post--black .search-box--search-results .search__submit:hover, .search-box--search-results .page-section--featured-content-post.page-section--featured-content-post--black .search__submit:hover, .page-section--featured-content-post:nth-of-type(2) .button--primary:hover, .page-section--featured-content-post:nth-of-type(2) .form__field--button-radio .form__option-label.is-active:hover, .form__field--button-radio .page-section--featured-content-post:nth-of-type(2) .form__option-label.is-active:hover, .page-section--featured-content-post:nth-of-type(2) .search-box--search-results .search__submit:hover, .search-box--search-results .page-section--featured-content-post:nth-of-type(2) .search__submit:hover {
      color: #fff; }
    .page-section--featured-content-post.page-section--featured-content-post--black .card--default, .page-section--featured-content-post:nth-of-type(2) .card--default {
      color: #fff; }
      .page-section--featured-content-post.page-section--featured-content-post--black .card--default .card__label, .page-section--featured-content-post:nth-of-type(2) .card--default .card__label {
        background-color: #fff;
        color: #1A1A1A; }
      .page-section--featured-content-post.page-section--featured-content-post--black .card--default .card__title, .page-section--featured-content-post:nth-of-type(2) .card--default .card__title {
        color: #fff; }
      .page-section--featured-content-post.page-section--featured-content-post--black .card--default .post-meta__date, .page-section--featured-content-post:nth-of-type(2) .card--default .post-meta__date {
        color: #fff; }
      .page-section--featured-content-post.page-section--featured-content-post--black .card--default .post-meta__source, .page-section--featured-content-post:nth-of-type(2) .card--default .post-meta__source {
        color: #fff; }
      .page-section--featured-content-post.page-section--featured-content-post--black .card--default .card__text, .page-section--featured-content-post:nth-of-type(2) .card--default .card__text {
        color: #fff; }
      .page-section--featured-content-post.page-section--featured-content-post--black .card--default .button--text, .page-section--featured-content-post:nth-of-type(2) .card--default .button--text {
        color: #fff; }
      .page-section--featured-content-post.page-section--featured-content-post--black .card--default:hover .button--text, .page-section--featured-content-post:nth-of-type(2) .card--default:hover .button--text {
        color: #000; }

.page-section--logo-carousel .container {
  width: 100%;
  max-width: 100%; }

.page-section--logo-carousel .section-header--logo-carousel {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
  width: calc(100% - (15px * 2));
  margin-bottom: 0px; }
  @media (min-width: 1024px) {
    .page-section--logo-carousel .section-header--logo-carousel {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 1024px) {
    .page-section--logo-carousel .section-header--logo-carousel {
      text-align: center;
      margin-bottom: 30px; } }

.page-section--logo-carousel .carousel-container {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0;
  width: calc(100% - (15px * 2)); }
  @media (min-width: 1024px) {
    .page-section--logo-carousel .carousel-container {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 680px) {
    .page-section--logo-carousel .carousel-container {
      width: 100%;
      max-width: 100%; } }

.page-section--mini-panels .container {
  max-width: 100%;
  width: 100%; }

.page-section--mini-panels .section-header .copy-block__title {
  margin-bottom: 30px; }

@media (min-width: 680px) {
  .page-section--mini-panels .section-header {
    margin: 0 auto;
    max-width: 1280px;
    padding: 0;
    width: calc(100% - (15px * 2));
    margin-left: 0; } }
  @media (min-width: 680px) and (min-width: 1024px) {
    .page-section--mini-panels .section-header {
      width: calc(100% - (40px * 2)); } }
  @media (min-width: 680px) and (min-width: 1024px) {
    .page-section--mini-panels .section-header {
      width: calc(75% - (40px * 2)); } }

@media (min-width: 680px) {
  .mini-panel {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto 1fr;
    grid-column-gap: 60px; } }

.mini-panel + .mini-panel {
  margin-top: 40px; }
  @media (min-width: 680px) {
    .mini-panel + .mini-panel {
      margin-top: 60px; } }

.mini-panel__title {
  grid-column: 1 / span 8;
  grid-row: 1;
  margin-bottom: 20px; }

.mini-panel__image-wrapper {
  grid-column: 9 / span 4;
  grid-row: 1 / span 2;
  margin-bottom: 20px;
  width: 100%; }
  @media (min-width: 1024px) {
    .mini-panel__image-wrapper {
      margin-bottom: 0;
      padding-right: 60px; } }

.mini-panel__image {
  max-width: 100%;
  width: 100%; }

.mini-panel__wysiwyg {
  grid-column: 1 / span 8;
  grid-row: 2; }
  .mini-panel__wysiwyg p:last-of-type {
    margin: 0; }
  .ie11 .mini-panel__wysiwyg {
    margin-right: 60px; }

.page-section--large-text-with-image-block .container {
  max-width: 100%;
  width: 100%; }

.large-text-section__wrapper {
  transition: all 0.2s ease;
  position: relative; }
  @media (min-width: 680px) {
    .large-text-section__wrapper {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      grid-template-rows: auto auto;
      grid-column-gap: 60px; } }
  .large-text-section__wrapper--has-title .large-text-section__wysiwyg {
    grid-row: 2; }
  @media (min-width: 680px) {
    .large-text-section__wrapper.large-text-section__image-left .large-text-section__content {
      grid-column: 3 / span 3;
      grid-row: 1; }
    .large-text-section__wrapper.large-text-section__image-left .large-text-section__gallery {
      grid-column: 1 / span 2;
      grid-row: 1 / span 2; } }

.large-text-section__content {
  grid-column: 1 / span 3;
  grid-row: 1; }

.large-text-section__title {
  margin-bottom: 15px; }

.large-text-section__gallery {
  grid-column: 4 / span 2;
  grid-row: 1 / span 2;
  width: 100%;
  display: flex;
  align-content: center;
  flex-wrap: wrap;
  gap: 20px; }

.large-text-section__image {
  width: 100%; }

.large-text-section__wysiwyg {
  margin: 20px 0 20px; }
  @media (min-width: 1024px) {
    .large-text-section__wysiwyg {
      margin-top: 0; } }
  .ie11 .large-text-section__wysiwyg {
    padding-right: 40px; }
  .large-text-section__wysiwyg p {
    margin-bottom: 30px; }
    .large-text-section__wysiwyg p:last-of-type {
      margin-bottom: 0; }

.page-section--signup-bar {
  visibility: hidden;
  height: 0;
  z-index: -1; }
  .container--one-column .page-section--signup-bar {
    margin: 0; }
  .page-section--signup-bar .container {
    box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.25);
    background: #fff;
    opacity: 1;
    max-width: 100%; }
    @media (min-width: 1024px) {
      .page-section--signup-bar .container {
        box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); } }
    .container--one-column .page-section--signup-bar .container {
      padding: 6px; }
      @media (min-width: 1024px) {
        .container--one-column .page-section--signup-bar .container {
          padding: 6px 0; } }
  @media (min-width: 1024px) {
    .page-section--signup-bar .page-section__body {
      width: calc(100% - (40px * 2));
      max-width: 1280px;
      margin: 0 auto; } }
  .page-section--signup-bar .signup-bar__image-wrapper {
    width: 127px;
    height: auto;
    display: none;
    align-items: center; }
    .page-section--signup-bar .signup-bar__image-wrapper img {
      width: 100%; }
    @media (min-width: 680px) {
      .page-section--signup-bar .signup-bar__image-wrapper {
        display: flex; } }
  .page-section--signup-bar .signup-bar__cta-container,
  .page-section--signup-bar .signup-bar__cta-container .button {
    width: 100%; }
  .page-section--signup-bar .signup-bar__cta-container .button {
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 18px;
    line-height: 1.125rem;
    padding: 10px 18px; }
  @media (min-width: 680px) {
    .page-section--signup-bar .signup-bar__cta-container,
    .page-section--signup-bar .signup-bar__cta-container .button {
      width: auto; } }
  .page-section--signup-bar .signup-bar {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between; }
  .page-section--signup-bar.js--signup-bar-open {
    z-index: 2000;
    background-color: #fff;
    visibility: visible; }
    .page-section--signup-bar.js--signup-bar-open .container {
      opacity: 1;
      height: auto;
      bottom: 0;
      position: fixed;
      width: 100%;
      transition: opacity 0.25s ease-in-out; }
      @media (min-width: 1024px) {
        .page-section--signup-bar.js--signup-bar-open .container {
          bottom: auto;
          top: 0; } }

.js--signup-bar-open .header {
  display: none; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2Fzc2V0cy9zdHlsZXMvX2FuaW1hdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvYXNzZXRzL3N0eWxlcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2Fzc2V0cy9zdHlsZXMvX3V0aWxpdGllcy5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9hc3NldHMvc3R5bGVzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvYXNzZXRzL3N0eWxlcy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9hc3NldHMvc3R5bGVzL19mdW5jdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvYXNzZXRzL3N0eWxlcy9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9hc3NldHMvc3R5bGVzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvYXNzZXRzL3N0eWxlcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvYXNzZXRzL3N0eWxlcy9fZ3JpZC5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2Fzc2V0cy9zdHlsZXMvX3BhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvZWxlbWVudHMvdHlwb2dyYXBoeS93eXNpd3lnL193eXNpd3lnLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvZWxlbWVudHMvZm9ybXMvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9lbGVtZW50cy9mb3Jtcy92YWxpZGF0aW9uL192YWxpZGF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvY29udGFpbmVycy9jb2xsZWN0aW9ucy9jc3MtZ3JpZC9fY3NzLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9jb250YWluZXJzL2NvbGxlY3Rpb25zL2Nzcy1ncmlkL19jc3MtZ3JpZC0tYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvY29udGFpbmVycy9jb2xsZWN0aW9ucy9mbGV4LWdyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3ZlbmRvci9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3RoZW1lL2RlZmF1bHQuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9jb250YWluZXJzL2ludGVyZmFjZXMvY2Fyb3VzZWwvX2Nhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2Fzc2V0cy9zdHlsZXMvX3otaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9jb250YWluZXJzL2ludGVyZmFjZXMvYWNjb3JkaW9uL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9jb250YWluZXJzL2ludGVyZmFjZXMvbW9kYWwvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvY29udGFpbmVycy9pbnRlcmZhY2VzL3RhYnMvX3RhYnMuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9jb250YWluZXJzL2ludGVyZmFjZXMvdG9nZ2xlL190b2dnbGUuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9lbGVtZW50cy9tZWRpYS9iYWNrZ3JvdW5kLWltYWdlL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvZWxlbWVudHMvbWVkaWEvdmlkZW8tYmxvY2svX3ZpZGVvLWJsb2NrLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvZWxlbWVudHMvaWZyYW1lL19pZnJhbWUuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9vYmplY3RzL2NhcmQvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9vYmplY3RzL2NvbnRlbnQtcGFuZWwvX2NvbnRlbnQtcGFuZWwuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9zaXRlLWVsZW1lbnRzL2FsZXJ0cy9fYWxlcnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9qdW1wLXRvL19qdW1wLXRvLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9uZXdzbGV0dGVyL19uZXdzbGV0dGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9zb2NpYWwvX3NvY2lhbC5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvdGFncy9fdGFncy5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvbWVudS9fbWVudS5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvbWVudS9fbWVudS0tY29sbGFwc2Uuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9zaXRlLWVsZW1lbnRzL3NlYXJjaC9fc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvcGFnZS1idWlsZGVyL19wYWdlLWJ1aWxkZXIuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL2NvbnRhaW5lcnMvaW50ZXJmYWNlcy9tb2RhbC9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL2NvbnRhaW5lcnMvaW50ZXJmYWNlcy9jYXJvdXNlbC9fY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL2NvbnRhaW5lcnMvaW50ZXJmYWNlcy9hY2NvcmRpb24vX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2NvbXBvbmVudHMvY29udGFpbmVycy9jb2xsZWN0aW9ucy9jc3MtZ3JpZC9fY3NzLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL3BhZ2UtYnVpbGRlci9fcGFnZS1idWlsZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvY29tcG9uZW50cy9lbGVtZW50cy9saW5rcy9idXR0b24vX2J1dHRvbi5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2NvbXBvbmVudHMvZWxlbWVudHMvbGlua3MvYnV0dG9uL19idXR0b24tLXRleHQuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL2VsZW1lbnRzL2Zvcm1zL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvY29tcG9uZW50cy9lbGVtZW50cy90eXBvZ3JhcGh5L3d5c2l3eWcvX3d5c2l3eWcuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL2xheW91dC1lbGVtZW50cy9zaXRlLWhlYWRlci9fc2l0ZS1oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL2xheW91dC1lbGVtZW50cy9zaXRlLWhlYWRlci9zaXRlLW5hdmlnYXRpb24vX3NpdGUtbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2NvbXBvbmVudHMvbGF5b3V0LWVsZW1lbnRzL3NpdGUtZm9vdGVyL19zaXRlLWZvb3Rlci5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2NvbXBvbmVudHMvbGF5b3V0LWVsZW1lbnRzL3BhZ2UtaGVhZGVyL19wYWdlLWhlYWRlci5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2NvbXBvbmVudHMvb2JqZWN0cy9jb250ZW50LXBhbmVsL19jb250ZW50LXBhbmVsLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvY29tcG9uZW50cy9vYmplY3RzL2Jhbm5lci1ibG9jay9fYmFubmVyLWJsb2NrLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvY29tcG9uZW50cy9vYmplY3RzL2NhcmQvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvYW5ub3VuY2VtZW50LWJhci9fYW5ub3VuY2VtZW50LWJhci5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9zZWFyY2gvX3NlYXJjaC5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9jb3VudHJ5LXN3aXRjaC9fY291bnRyeS1zd2l0Y2guc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvYnJlYWRjcnVtYnMvX2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvY29tcG9uZW50cy9zaXRlLWVsZW1lbnRzL3BhZ2luYXRpb24vX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvbWVudS9fbWVudS0tZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9zZWN0aW9ucy9pbnRyby1ibG9jay9faW50cm8tYmxvY2suc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9zZWN0aW9ucy9jb250YWN0LXVzL19jb250YWN0LXVzLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9zZWN0aW9ucy9jYXJvdXNlbC9fY2Fyb3VzZWwtc2VjdGlvbi5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3NlY3Rpb25zL3d5c2l3eWcvX3d5c2l3eWctc2VjdGlvbi5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3NlY3Rpb25zL2RyaXZlcnMvX2RyaXZlcnMtc2VjdGlvbi5zY3NzIiwid2VicGFjazovL2lhbW90YS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL3NlY3Rpb25zL25ld3MtZXZlbnRzL19uZXdzLWV2ZW50cy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvc2VjdGlvbnMvbG9nby1ibG9jay9fbG9nby1ibG9jay1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvc2VjdGlvbnMvbWluaS1wYW5lbHMvX21pbmktcGFuZWxzLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9pYW1vdGEtY29tcG9uZW50cy8uL3Jlc291cmNlcy9zZWN0aW9ucy9sYXJnZS10ZXh0LXdpdGgtaW1hZ2UvX2xhcmdlLXRleHQtd2l0aC1pbWFnZS1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaWFtb3RhLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvc2VjdGlvbnMvc2lnbi11cC1iYXIvX3NpZ24tdXAtYmFyLnNjc3MiXSwibmFtZXMiOltd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aEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7RWJtR2I7SWFwTlI7TUFnSHdCLGFBQWEsSUFDaEI7O0FiZ0diO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7O0FibUZiO0Vhak5SO0lBNkh3QixhQUFhLElBQ2hCOztBYm1GYjtFYWpOUjtJQTZId0IsYUFBYSxJQUNoQjs7QWJtRmI7RWFqTlI7SUE2SHdCLGFBQWEsSUFDaEI7RWJ5RGI7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2TFI7TUEwSXdCLGFBQWEsSUFDaEI7RWI0Q2I7SWF2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Q2xDL0M7RUFiRDtJQVdRLFdqQ25DdUI7O0FhZS9CO0VvQjRCSSxXQUFXO0VBQ1gsaURqQzVDMkI7RUw4THZCO0lrQi9LUjtNWjBDSSxjQUFjO01BQ2QsaUJSNEI2QjtNUTNCN0IsVUFBVTtNQUNWLDhCQUFpRCxJZ0NYcEQ7RXRDNklPO0lrQi9LUjtNWmdEUSw4QkFBeUMsSWdDZGhEO0V0QzZJTztJa0IvS1I7TVp3RFEsNkJBQXdDLElnQ3RCL0M7O0FwQjlCRDtFb0JpQ0ksdUJBQXVCO0VBQ3ZCLG1CcENuRDBCO0VnQmlCOUI7SW9CcUNRLG1CcEN0RHNCOztBZ0IwQjlCO0VsQmRJLGVBQXFCO0VBQ3JCLG1CRWxCd0I7RUZzQnhCLGlCQUF1QjtFQUN2QixxQkV2QndCO0VvQ2lFeEIsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixXakNoRTJCO0VpQ2lFM0IsOENqQ2pFMkI7RWlDa0UzQixpQkFBcUI7RXRDNEhqQjtJa0JsS1I7TWxCZEksZUFBcUI7TUFDckIsa0JFbEJ3QjtNRnNCeEIsaUJBQXVCO01BQ3ZCLG9CRXZCd0IsSW9Dc0UzQjs7QXBCS0Q7RW9CREksNkJBQTZCO0VwQkNqQztJb0JFUSxXakMxRXVCO0lpQzJFdkIsNEJwQ3pFc0I7SW9Db0U5QjtNbENwREksMERBbkJ5RDtNQW9CekQsa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQixrQkFBa0I7TUpQbEIsZUFBcUI7TUFDckIsZUVsQndCO01Gc0J4QixpQkFBdUI7TUFDdkIscUJFdkJ3QjtNb0NrRmhCLFdqQy9FbUI7SWlDc0UvQjtNbENwREksMERBbkJ5RDtNQW9CekQsa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQixrQkFBa0I7TUpQbEIsZUFBcUI7TUFDckIsZUVsQndCO01Gc0J4QixpQkFBdUI7TUFDdkIscUJFdkJ3QjtNb0N1RmhCLFdqQ3BGbUI7TWlDc0UvQjtRQWlCZ0IsK0JqQ3ZGZTs7QWlDZ0cvQjtFQUdRLGdCQUFnQjtFQUh4QjtJQU1ZLGNBQWM7O0FBTjFCO0VBYVksV0FBVzs7QUNuSHZCO0VBRVEscUJBQXFCO0VBQ3JCLG1CQUFtQjs7QUNQdkI7RUFDSSxtQnRDV3NCO0VzQ1Z0QixnQnRDVXNCO0VGNEx0QjtJd0N4TUo7TUFLUSxtQnRDT2tCO01zQ05sQixnQnRDTWtCLElzQ0p6Qjs7QUFFRDtFQUNJLG1CdENDc0I7RXNDQXRCLGdCdENBc0I7RUY0THRCO0l3QzlMSjtNQUtRLG1CdENIa0I7TXNDSWxCLGdCdENKa0IsSXNDTXpCOztBQUVEO0VBQ0ksbUJ0Q1RzQjtFc0NVdEIsZ0J0Q1ZzQjs7QXVDTzlCOztFQUVJLGdCcENtQ3lCO0VvQ2xDekIsZUFBZTtFQUNmLHFCQUFxQjtFQUNyQixrQnBDbUdzQjtFb0NsR3RCLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIseUIzQ2tJbUM7RU14SG5DLDBEQTVCeUQ7RUE2QnpELGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VKaEJoQixlQUFxQjtFQUNyQixtQkVsQndCO0VGc0J4QixpQkFBdUI7RUFDdkIsaUJFdkJ3QjtFdUN5QnhCLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsZ0JBQWdCO0VBZnBCOztJQW1CUSx5QnBDWDBCO0lvQ1kxQix5QnBDWjBCO0lvQ2ExQixjcENqQjBCO0lvQ2tCMUIsZUFBZTtJQXRCdkI7Ozs7O01BMEJZLHlCcENsQnNCO01vQ21CdEIseUJwQ25Cc0I7TW9Db0J0QixjcEN4QnNCO0lvQ0psQzs7TUFnQ1kseUJBQXlCO01BQ3pCLFNBQVM7TUFDVCxZQUFZO01BbEN4Qjs7Ozs7UUFzQ2dCLHlCQUF5QjtRQUN6QixTQUFTOztBQVF6QjtFQUNJLGNwQ3hDOEI7RW9DeUM5QixlQUFlO0VBQ2YsWUFBWTtFQUhoQjs7SUFPUSxjcEM5QzBCOztBb0N1RDlCO0VBQ0kseUJwQzlEMEI7RW9DK0QxQix5QnBDL0QwQjtFb0NnRTFCLFdwQ3pFdUI7RW9Dc0UzQjs7Ozs7O0lBT1EsNkJBQTZCO0lBQzdCLHlCcENyRXNCO0lvQ3NFdEIsY3BDcEVzQjs7QW9Dd0U5QjtFQUNJLGNwQzNFMEI7RW9DMEU5Qjs7SUFLUSxjQUE0Qzs7QUFsQnBEO0VBQ0ksc0JwQ3pFdUI7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TUE0QlksU0FBUztJQTVCckI7TUFnQ1ksZ0IvQ2pDa0I7TStDa0NsQixXNUNwQ21CO000Q0cvQjs7UUFxQ2dCLFc1Q3hDZTtNNENHL0I7UUF5Q2dCLGdCQUFnQjtNQXpDaEM7UUE2Q2dCLFc1Q2hEZTtRNENHL0I7VUFnRG9CLCtCNUNuRFc7STRDRy9CO01Bc0RZLDJCQUEyQjtNQUMzQixnQkFBb0I7TWpEb0l4QjtRaUQzTFI7VUEwRGdCLGdCQUFrQixJQUV6QjtJakQrSEQ7TWlEM0xSO1FBaUVvQiw2QkFBNkI7UUFDN0IsVzVDckVXLEk0Q3NFZDtFdkI1Q2pCO0l1QmtEUSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQTNFckM7TUE4RVksWUFBWTtNQUNaLDZCQUE2QjtJakQ0R2pDO01pRHhHSTtRQUNJLGNBQWMsSUFDakI7RUFyRmI7SUEyRlksa0I1QzlGbUI7STRDK0ZuQixzQjVDL0ZtQjtJNENnR25CLGM1Q25Gc0I7RTRDVmxDO0lBa0dRLHlCNUMxRjBCO0k0Q1JsQztNQXNHYSxXNUN2R2tCO000Q0MvQjtRQTJHZ0IsZ0IvQzVHYztRK0M2R2QsVzVDN0dlO1E0Q0MvQjs7VUFnSG9CLFc1Q2pIVztRNENDL0I7VUFvSG9CLFc1Q3JIVztVNENDL0I7WUF1SHdCLHlCNUN4SE87STRDQy9CO01BOEhZLGtCNUNqSW1CO000Q2tJbkIsc0I1Q2xJbUI7TTRDbUluQixXNUNqSW1CO01MNEx2QjtRaUQzTFI7VUFvSW9CLFc1Q3JJVyxJNENzSWQ7RUFySWpCO0lBMklRLHlCNUNqSTBCOztBNEMwSWxDO0VBQ0kseUI1QzNJOEI7RTRDNkk5QjtJQUNJLHlCNUNoSjBCO0k0Q2lKMUIsVzVDMUp1QjtJNEN3SjNCO01BS1EsVzVDN0ptQjtJNEN3SjNCO01BU1EsVzVDakttQjtNNEN3SjNCO1FBWVksVzVDcEtlO1E0Q3dKM0I7O1VBZ0JnQixXNUN4S1c7UTRDd0ozQjtVQW9CZ0IsVzVDNUtXO1U0Q3dKM0I7WUF1Qm9CLHlCNUMvS087STRDd0ozQjtNQThCUSxrQjVDeExtQjtNNEN5TG5CLHNCNUN6TG1CO000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RXZCd0I7SWlFcURoQixrQkFBa0I7RW5FK0l0QjtJbUUzTVI7O01Ba0VnQixXQUFXLElBQ2Q7RUFuRWI7SUF3RVEsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsOEJBQThCO0VBM0V0QztJQStFUSxhQUFhO0lBQ2Isc0I5RHRFdUI7SThEdUV2QixtQkFBbUI7SUFqRjNCO01Bb0ZZLFVBQVU7TUFDVixZQUFZO01BQ1osU0FBUztNQUNULGVBQWU7TUFDZixXQUFXO01BQ1gscUNBQXFDO01uRStHekM7UW1FeE1SO1VBNEZnQixZQUFZO1VBQ1osTUFBTSxJQUViOztBQUlUO0VBRVEsYUFBYSIsImZpbGUiOiJjc3MvYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQ29tbW9uIGFuaW1hdGlvbiBmcmFtZXMuIE5FRURTIFJFVklFVy9PUFRJTUlaQVRJT05cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRnJvbUJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRnJvbVRvcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkZyb21MZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRnJvbVJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaEJhY2tncm91bmQge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JlZW4sIC40KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JlZW4sIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBvZmZDYW52YXNGcm9tVG9wIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgb2ZmQ2FudmFzVG9Ub3Age1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRnJvbVJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDBweCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZVNjYWxlSW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMDEpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2UgVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gU3RvcmVzIGFsbCBnbG9iYWwgdmFyaWFibGVzIGZvciByZWZlcmVuY2UgaW50byBpbmRpdmlkdWFsIGNvbXBvbmVudHMuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgQmFzZSBQYXRoIFZhcmlhYmxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaW1hZ2UtcGF0aDogICAgICAgICAgICAgICAnL2Fzc2V0cy9pbWFnZXMnICFkZWZhdWx0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBDb2xvdXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVuaXZlcnNhbCBDb2xvcnNcbiR3aGl0ZTogICAgICAgICAgICAgICAgICAgICNmZmYgICAgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICAgICAgICAgICAgICAgICAjMDAwICAgICFkZWZhdWx0O1xuXG4vLyBUaGVtZSBDb2xvcnNcbi8vIElmIHlvdSBhcmUgaGF2aW5nIHRyb3VibGUgY29taW5nIHVwIHdpdGggbmFtZXMsIGNoZWNrIG91dFxuLy8gaHR0cDovL3d3dy5jb2xvci1ibGluZG5lc3MuY29tL2NvbG9yLW5hbWUtaHVlL1xuJHJlZDogICAgICAgICAgICAgICAgICAgICAgI2U0NDAzNyAhZGVmYXVsdDtcbiRncmVlbjogICAgICAgICAgICAgICAgICAgICM4ZGM2M2YgIWRlZmF1bHQ7XG4kamV0OiAgICAgICAgICAgICAgICAgICAgICAjMjIyICAgICFkZWZhdWx0O1xuJHNtb2tlOiAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRpcm9uOiAgICAgICAgICAgICAgICAgICAgICNjY2MgICAgIWRlZmF1bHQ7XG4kY29yYWw6ICAgICAgICAgICAgICAgICAgICAjZjg4Mzc5ICFkZWZhdWx0O1xuJG5hdnk6ICAgICAgICAgICAgICAgICAgICAgIzQ2NDY2MiAhZGVmYXVsdDtcbiRzdGVlbDogICAgICAgICAgICAgICAgICAgICM2NjYgICAgIWRlZmF1bHQ7XG4kYW1iZXI6ICAgICAgICAgICAgICAgICAgICAjZjQ4ZDNhICFkZWZhdWx0O1xuJHllbGxvdzogICAgICAgICAgICAgICAgICAgI2ZlY2Y1NCAhZGVmYXVsdDtcblxuLy8gVGhlbWUgTWFwcGluZ1xuLy8gLSBUcnkgdG8gYXZvaWQgZGVjbGFyaW5nIGNvbG91cnMgZGlyZWN0bHkgaW4geW91ciBTYXNzICFkZWZhdWx0O1xuLy8gICBpbnN0ZWFkLCB1c2Ugb25lIG9mIHRoZXNlIHZhcmlhYmxlc1xuJHByaW1hcnktY29sb3I6ICAgICAgICAgICAgJGNvcmFsICAgICAgICAgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAkbmF2eSAgICAgICAgICAhZGVmYXVsdDtcbiR0ZXJ0aWFyeS1jb2xvcjogICAgICAgICAgICRqZXQgICAgICAgICAgICFkZWZhdWx0O1xuJGRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJHNtb2tlICAgICAgICAgIWRlZmF1bHQ7XG5cbiRwcmltYXJ5LXRleHQtY29sb3I6ICAgICAgICRqZXQgICAgICAgICAgICFkZWZhdWx0O1xuJGhpZ2hsaWdodC10ZXh0LWNvbG9yOiAgICAgJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FwdGlvbi10ZXh0LWNvbG9yOiAgICAgICAkc3RlZWwgICAgICAgICAhZGVmYXVsdDtcbiRjYXB0aW9uLWJhY2tncm91bmQtY29sb3I6ICRpcm9uICAgICAgICAgICFkZWZhdWx0O1xuXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkaXJvbiAgICAgICAgICAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItLWxpZ2h0OiAgICAgICRzbW9rZSAgICAgICAgICFkZWZhdWx0O1xuXG4kYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAkc21va2UgICAgICAgICAhZGVmYXVsdDtcblxuJHN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgJGdyZWVuICAgICAgICAgIWRlZmF1bHQ7XG4kZXJyb3ItY29sb3I6ICAgICAgICAgICAgICAkcmVkICAgICAgICAgICAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICRhbWJlciAgICAgICAgICFkZWZhdWx0O1xuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9ybVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGlucHV0LWZvY3VzOiAgICAgICAgICAgICAgJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEdyYWRpZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGdyYWRpZW50OiAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKCRibGFjaywgLjEpIDAlLCByZ2JhKCRibGFjaywgLjMpIDEwMCUpICFkZWZhdWx0O1xuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFN0YW5kYXJkIENvbG91ciBQYWxldHRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY29sb3ItcGFsZXR0ZTogKFxuICAgIHByaW1hcnk6ICAgKFxuICAgICAgICBjb2xvcjogICAgICRwcmltYXJ5LWNvbG9yLFxuICAgICAgICBjb250cmFzdDogICR3aGl0ZVxuICAgICksXG4gICAgc2Vjb25kYXJ5OiAoXG4gICAgICAgIGNvbG9yOiAgICAgJHNlY29uZGFyeS1jb2xvcixcbiAgICAgICAgY29udHJhc3Q6ICAkd2hpdGVcbiAgICApLFxuICAgIGRpc2FibGVkOiAgKFxuICAgICAgICBjb2xvcjogICAgICRkaXNhYmxlZC1jb2xvcixcbiAgICAgICAgY29udHJhc3Q6ICAkcHJpbWFyeS10ZXh0LWNvbG9yXG4gICAgKSxcbiAgICB3aGl0ZTogICAgIChcbiAgICAgICAgY29sb3I6ICAgICAkd2hpdGUsXG4gICAgICAgIGNvbnRyYXN0OiAgJHByaW1hcnktdGV4dC1jb2xvclxuICAgIClcbikgIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIE1lZGlhIFF1ZXJ5IEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kY29udGFpbmVyLS10YWJsZXQ6ICAgICAgICA2ODBweCAhZGVmYXVsdDtcbiRjb250YWluZXItLWxhcHRvcDogICAgICAgIDEwMjRweCAhZGVmYXVsdDtcbiRjb250YWluZXItLWRlc2t0b3A6ICAgICAgIDEyODBweCAhZGVmYXVsdDtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgSGVhZGVyIC8gTmF2aWdhdGlvbiBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRoZWFkZXItbW9iaWxlLWhlaWdodDogICAgIDQuMzc1cmVtICFkZWZhdWx0O1xuJGhlYWRlci1kZXNrdG9wLWhlaWdodDogICAgNy41cmVtICFkZWZhdWx0O1xuJGhlYWRlci1taW5pLWhlaWdodDogICAgICAgMy4xMjVyZW0gIWRlZmF1bHQ7XG5cbiRoeXBoZW5zLXNtYWxsLW9ubHk6ICAgICAgICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5NXB4KScgIWRlZmF1bHQ7XG4kcmVhbGx5LXNtYWxsLW9ubHk6ICAgICAgICAnc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzBweCknICFkZWZhdWx0O1xuJHNtYWxsZXN0OiAgICAgICAgICAgICAgICAgJ3NjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpJyAhZGVmYXVsdDtcbiRzbWFsbC1uYXYtb25seTogICAgICAgICAgICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5OXB4KScgIWRlZmF1bHQ7XG4kbWVkaXVtLW5hdi11cDogICAgICAgICAgICAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCknICFkZWZhdWx0O1xuJG1lZGl1bS1uYXYtb25seTogICAgICAgICAgJ3NjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTM5cHgpJyAhZGVmYXVsdDtcbiRsYXJnZS1uYXYtdXA6ICAgICAgICAgICAgICdzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNDBweCknICFkZWZhdWx0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBCYXNlIE1hcmdpbiAmIFBhZGRpbmcgR2FwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kZ2FwOiAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG4kZ3JpZC1ndXR0ZXI6ICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLS1tb2JpbGU6ICAgICAgMjBweCAhZGVmYXVsdDtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgQm9yZGVycyBhbmQgVGV4dCBFZmZlY3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kYm9yZGVyOiAgICAgICAgICAgICAgICAgICAxcHggc29saWQgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRib3JkZXItLWxpZ2h0OiAgICAgICAgICAgIDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yLS1saWdodCAhZGVmYXVsdDtcblxuJGJhY2tncm91bmQtb3ZlcmxheS1jb2xvcjogcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgNXB4IDVweCAxNXB4IDAgcmdiYSgwLCA2MCwgMTIxLCAuMSksIDVweCA1cHggMTVweCAwIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDNweCByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBMZXR0ZXIgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGxldHRlci1zcGFjaW5nOiAgICAgICAgICAgLjA1cmVtICFkZWZhdWx0O1xuJGxldHRlci1zcGFjaW5nLXNtYWxsOiAgICAgLjAzcmVtICFkZWZhdWx0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBPYmplY3QgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC0tbGFyZ2U6ICAgICAgNC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtLWp1bWJvOiAgICAgIDQuNjI1cmVtICFkZWZhdWx0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBEZWZhdWx0IFRyYW5zaXRpb25zXG4vLyAgcHJvcGVydHkgbmFtZSB8IGR1cmF0aW9uIHwgdGltaW5nIGZ1bmN0aW9uIHwgZGVsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRhbmltOiAgICAgICAgICAgICAgICAgICAgIGFsbCAuMnMgZWFzZSAhZGVmYXVsdDtcbiRhbmltLS1zbG93OiAgICAgICAgICAgICAgIGFsbCAuM3MgZWFzZSAhZGVmYXVsdDtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNpdGUtd2lkZSBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBBbGwgc2l0ZS13aWRlIHV0aWxpdHkgZnVuY3Rpb25zIGFyZSBzdG9yZWQgaW4gaGVyZS5cbi8vIEhhcyBiZWVuIHJlZmFjdG9yZWQgKDIzLUZlYi0yMDE2KVxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gIEhpZGUgLyBTaG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGVcbi5oaWRkZW4sXG4uanMtcGFydGlhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhpZGRlbi0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmhpZGRlbi0tdGFibGV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5oaWRkZW4tLWxhcHRvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmhpZGRlbi0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBicChkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBTaG93XG4uc2hvdy0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnNob3ctLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5zaG93LS1sYXB0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnNob3ctLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicChkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmNsZWFyLWxlZnQge1xuICAgIGNsZWFyOiBsZWZ0O1xufVxuXG5cbi8vIENyZWF0ZSBjbGFzc2VzIHRvIHJvdGF0ZSBvYmplY3RzXG4vLyBlLmcuIC5yb3RhdGUtLTAsIC5yb3RhdGUtLTE1LCAucm90YXRlLS0zMFxuJHJvdGF0ZS1zdGVwLWRlZ3JlZXM6IDQ1ICFkZWZhdWx0OyAvLyBpbiBkZWdyZWVzXG5AZm9yICRyb3RhdGUtc3RlcCBmcm9tIC0oMzYwIC8gJHJvdGF0ZS1zdGVwLWRlZ3JlZXMpIHRocm91Z2ggKDM2MCAvICRyb3RhdGUtc3RlcC1kZWdyZWVzKSB7XG4gICAgLnJvdGF0ZS0tI3skcm90YXRlLXN0ZXAgKiAkcm90YXRlLXN0ZXAtZGVncmVlc30ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRyb3RhdGUtc3RlcCAqICRyb3RhdGUtc3RlcC1kZWdyZWVzfWRlZyk7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gU0FTUyBtaXhpbnMgdG8gaGVscCBleHRlbmQgY29tbW9uIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucyBlYXNpbHkuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5cblxuLy8gVHlwb2dyYXBoeSBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRm9udCBTaXplL0xpbmUgSGVpZ2h0XG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XG4gICAgZm9udC1zaXplOiAkc2l6ZSArIHB4OyAvLyBGYWxsYmFjayBpbiBweFxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlLXJlbSgkc2l6ZSk7XG59XG5cbkBtaXhpbiBsaW5lLWhlaWdodCgkc2l6ZSkge1xuICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZSArIHB4OyAvLyBGYWxsYmFjayBpbiBweFxuICAgIGxpbmUtaGVpZ2h0OiBjYWxjdWxhdGUtcmVtKCRzaXplKTtcbn1cblxuLy8gSGVhZGluZ3NcbkBtaXhpbiBoZWFkaW5ncygkZnJvbTogMSwgJHRvOiA2KSB7XG4gICAgQGZvciAkaSBmcm9tICRmcm9tIHRocm91Z2ggJHRvIHtcbiAgICAgICAgaCN7JGl9IHtcbiAgICAgICAgICAgIEBjb250ZW50XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIElubGluZSBsaXN0XG5AbWl4aW4gaW5saW5lLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICYsXG4gICAgJiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuQG1peGluIGVsbGlwc2lzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cblxuXG4vLyBVdGlsaXR5IE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBJbWFnZSBBc3BlY3QgUmF0aW9cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygjeyRoZWlnaHR9IC8gI3skd2lkdGh9ICogMTAwJSk7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbn1cblxuLy8gSGFtYnVyZ2VyIEljb24gQW5pbWF0aW9uXG4vLyBjcm9zc2VzIHdoZW4gb3BlbmVkXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGhlaWdodCwgJHRoaWNrbmVzcykge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAkd2lkdGg7XG5cbiAgICBzcGFuLFxuICAgIHNwYW46OmJlZm9yZSxcbiAgICBzcGFuOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogJHRoaWNrbmVzcztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gKCN7JHRoaWNrbmVzc30gLyAyKSk7XG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgfVxuXG4gICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdGhpY2tuZXNzICogNCk7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgIH1cblxuICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0aGlja25lc3MgKiA0KTtcbiAgICAgICAgdHJhbnNpdGlvbjogJGFuaW07XG4gICAgfVxuXG4gICAgJi5qcy0taXNPcGVuIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBQbHVzIEljb24gQW5pbWF0aW9uXG4vLyBjaGFuZ2VzIHRvIG1pbnVzIHdoZW4gb3BlbmVkXG5AbWl4aW4gcGx1cy10by1taW51cygkd2lkdGgsICRoZWlnaHQsICR0aGlja25lc3MpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHNwYW4sXG4gICAgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkamV0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkdGhpY2tuZXNzIC8gMjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6ICR0aGlja25lc3M7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cblxuICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRoaWNrbmVzcyAqIDMpO1xuICAgIH1cblxuICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRoaWNrbmVzcyAqIDMpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgICAgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNwaW5uZXIgYW5pbWF0aW9uXG5AbWl4aW4gc3Bpbm5lcigkcHJpbWFyeS1jb2xvciwgJHNlY29uZGFyeS1jb2xvciwgJGRpYW1ldGVyLCAkd2lkdGgpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogJGRpYW1ldGVyO1xuICAgICAgICB3aWR0aDogJGRpYW1ldGVyO1xuICAgIH1cbn1cblxuLy8gUHJvZ3Jlc3NpdmUgRW5oYW5jZW1lbnQgQnJlYWtwb2ludHNcbkBtaXhpbiBicCgkcG9pbnQpIHtcbiAgICAkYnAtbW9iaWxlOiAnKG1pbi13aWR0aDogMCknO1xuICAgICRicC10YWJsZXQ6ICcobWluLXdpZHRoOiAjeyRjb250YWluZXItLXRhYmxldH0pJztcbiAgICAkYnAtbGFwdG9wOiAnKG1pbi13aWR0aDogI3skY29udGFpbmVyLS1sYXB0b3B9KSc7XG4gICAgJGJwLWRlc2t0b3A6ICcobWluLXdpZHRoOiAjeyRjb250YWluZXItLWRlc2t0b3B9KSc7XG5cbiAgICBAaWYgJHBvaW50ID09IGRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgI3skYnAtZGVza3RvcH0geyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFwdG9wIHtcbiAgICAgICAgQG1lZGlhICN7JGJwLWxhcHRvcH0geyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0IHtcbiAgICAgICAgQG1lZGlhICN7JGJwLXRhYmxldH0gIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IG1vYmlsZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAjeyRwb2ludH0gIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG59XG5cbi8vIEdyYWNlZnVsIERlZ3JhZGF0aW9uIEJyZWFrcG9pbnRzICh1c2luZyBzcGFyaW5nbHkpXG5AbWl4aW4gYnBnZCgkcG9pbnQpIHtcbiAgICAkYnBnZC1tb2JpbGU6ICcobWF4LXdpZHRoOiAjeyRjb250YWluZXItLXRhYmxldH0pJztcbiAgICAkYnBnZC10YWJsZXQ6ICcobWF4LXdpZHRoOiAjeyRjb250YWluZXItLWxhcHRvcH0pJztcbiAgICAkYnBnZC1sYXB0b3A6ICcobWF4LXdpZHRoOiAjeyRjb250YWluZXItLWRlc2t0b3B9KSc7XG5cbiAgICBAaWYgJHBvaW50ID09IGRlc2t0b3Age1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGxhcHRvcCB7XG4gICAgICAgIEBtZWRpYSAjeyRicGdkLWxhcHRvcH0geyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0IHtcbiAgICAgICAgQG1lZGlhICN7JGJwZ2QtdGFibGV0fSAgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbW9iaWxlIHtcbiAgICAgICAgQG1lZGlhICN7JGJwZ2QtbW9iaWxlfSAgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAjeyRwb2ludH0gIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG59XG5cbi8vIFNwZWNpZmljIEJyZWFrcG9pbnRzICh1c2UgdmVyeSBzcGFyaW5nbHkpXG5AbWl4aW4gYnBleGFjdCgkcG9pbnQpIHtcbiAgICBAaW5jbHVkZSBicCgkcG9pbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgYnBnZCgkcG9pbnQpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2VuZXJhbCBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQ29udGFpbnMgYWxsIGRlZmF1bHQgdHlwb2dyYXBoeSBzdHlsZXMuIFRoZXNlIGFyZSB2ZXJ5IGJhc2ljIHN0eWxlcywgYXMgdGhlXG4vLyBtYWpvcml0eSBvZiB0aGUgc2l0ZSBzdHlsZXMgd2lsbCBiZSBjdXN0b20gYW5kIGluY2x1ZGVkIHZpYSBib2lsZXJwbGF0ZS5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvbnQgRmFtaWx5IFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvbnQtLXByaW1hcnk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC0taGVhZGVyOiAkZm9udC0tcHJpbWFyeSAhZGVmYXVsdDtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2UgU3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odG1sIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4gICAgOjpzZWxlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbnAge1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlcjtcbn1cblxuYSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuaSxcbmVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDg3LjUlO1xufVxuXG5cbi8vIExpc3RzXG51bCxcbm9sLFxuZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlcjtcblxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmLnVuc3R5bGVkIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1ndXR0ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGhlYWRpbmdzKDEsIDYpIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMCAwICRncmlkLWd1dHRlcjtcbn1cblxuaDEge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg0OCk7XG59XG5cbmgyIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzYpO1xufVxuXG5oMyB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI4KTtcbn1cblxuaDQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG59XG5cbmg1IHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xufVxuXG5oNiB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbn1cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFF1b3RlICYgQ29kZSBCbG9ja3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmJsb2NrcXVvdGUsXG5wcmUge1xuICAgIGNvbG9yOiAkY2FwdGlvbi10ZXh0LWNvbG9yO1xuICAgIG1hcmdpbjogJGdyaWQtZ3V0dGVyO1xuXG4gICAgY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuY29kZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcHRpb24tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiAgICBwYWRkaW5nOiBnYXAoLjI1KSBnYXAoLjUpO1xufVxuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50YWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtZ3V0dGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB0cjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgICBib3JkZXI6ICRib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoI3skZ3JpZC1ndXR0ZXJ9IC8gMik7XG4gICAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgVGFibGVzXG4ucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcblxuICAgIHRoZWFkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgICAgICB0b3A6IC05OTk5cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoI3skZ3JpZC1ndXR0ZXJ9IC8gMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoI3skZ3JpZC1ndXR0ZXJ9IC8gMik7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtZ3V0dGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGxhY2Vob2xkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gZm9udC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjYXB0aW9uLXRleHQtY29sb3IgIWltcG9ydGFudDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcbn1cblxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGluY2x1ZGUgZm9udC1wbGFjZWhvbGRlcjtcbn1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBmb250LXBsYWNlaG9sZGVyO1xufVxuXG46LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGluY2x1ZGUgZm9udC1wbGFjZWhvbGRlcjtcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBmb250LXBsYWNlaG9sZGVyO1xufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSWNvbiBiYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmljb24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgd2lkdGg6IDFlbTtcbn1cblxuLy8gRm9yIGJhc2VsaW5lIHBvc2l0aW9uaW5nXG4uc3ZnLS1iYXNlbGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMWVtO1xuXG4gICAgPiAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAuMTI1ZW07XG4gICAgfVxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQWNjZXNzaWJpbGl0eSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc3Itb25seSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogLTk5OTlweCAhaW1wb3J0YW50O1xuICAgIHRvcDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV29yZHByZXNzIFNpdGUgQ2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNZWRpYSBFbWJlZHNcbmltZyxcbi53cC1jYXB0aW9uLFxuLmFsaWdubm9uZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvLyAxNjo5XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gR2xvYmFsIGZ1bmN0aW9ucyB0byBoZWxwIG1ha2UgbWF0aCBlYXN5XG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb252ZXJ0IHBpeGVscyB0byBSRU1zXG5AZnVuY3Rpb24gY2FsY3VsYXRlLXJlbSgkc2l6ZSkge1xuICAgICRyZW0tc2l6ZTogJHNpemUgLyAxNjtcbiAgICBAcmV0dXJuICRyZW0tc2l6ZSAqIDFyZW07XG59XG5cbi8vIEdhcCBmdW5jdGlvblxuQGZ1bmN0aW9uIGdhcCgkbXVsdGlwbGllcjogMSkge1xuICAgIEByZXR1cm4gJGdhcCAqICRtdWx0aXBsaWVyO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJpbnQgU3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gVGhpcyBpcyBhIHNpbmdsZSBwbGFjZSB0byBzdHlsZSBwcmludCBDU1Ncbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gR2xvYmFsIG1vZGlmaWVyc1xuLnNjcmVlbi1vbmx5IHtcbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnByaW50LW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaXRlLVNwZWNpZmljIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb250YWlucyBhbGwgc2l0ZS13aWRlIHR5cG9ncmFwaHkgc3R5bGVzLiBBbGwgYmFzZSBsZXZlbCBIVE1MIHR5cG9ncmFwaGljYWxcbi8vIGVsZW1lbnRzIGFyZSBzdHlsZWQgaGVyZSBmaXJzdCwgd2l0aCBtaXhpbnMgYW5kIHZhcmlhYmxlcyB0byBoZWxwIHdpdGhcbi8vIGdyYW51bGFyIGluY2x1ZGVzIGF0IHRoZSBjb21wb25lbnQgbGV2ZWwuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb250IEZhbWlseSBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmb250LS1wcmltYXJ5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFR5cG9ncmFwaHkgTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250c2l6ZSgkbS1mb250c2l6ZSwgJG0tbGluZWhlaWdodCwgJGZvbnRzaXplLCAkbGluZWhlaWdodCkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbS1mb250c2l6ZSk7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoJG0tbGluZWhlaWdodCk7XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udHNpemUpO1xuICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoJGxpbmVoZWlnaHQpO1xuICAgIH1cbn1cblxuLy8gRGVmYXVsdCBmb250IG1peGluXG4vLyBUaGlzIG1ha2VzIG5vIGFzc3VtcHRpb24gYWJvdXQgc2l6ZXNcbkBtaXhpbiBmb250LWRlZmF1bHQge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC0tcHJpbWFyeTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42MjU7XG59XG5cbi8vIEhlYWRlciBmb250IG1peGluXG4vLyBUaGlzIG1ha2VzIG5vIGFzc3VtcHRpb24gYWJvdXQgc2l6ZXNcbkBtaXhpbiBmb250LWhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LS1wcmltYXJ5O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi8vIFBhcmFncmFwaHMvRGVmYXVsdCB0ZXh0IG1peGluXG4vLyBUaGlzIGlzIHVzZWQgZm9yIG1haW4gZWxlbWVudCBzdHlsZXM7IGluY2x1ZGVzIHNpemVzIGFuZCBjb2xvdXJcbkBtaXhpbiBmb250LXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGZvbnQtZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDI2KTtcbiAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcblxuICAgIC8vIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgIC8vICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgIC8vICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyOCk7XG4gICAgLy8gfVxufVxuXG4vLyBDYXB0aW9uIHRleHQgbWl4aW5cbi8vIFRoaXMgaXMgdXNlZCBmb3IgY2FwdGlvbiB0ZXh0IHN0eWxlczsgaW5jbHVkZXMgc2l6ZXMgYW5kIGNvbG91clxuQG1peGluIGZvbnQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjIpO1xuICAgIGNvbG9yOiAkY2FwdGlvbi10ZXh0LWNvbG9yO1xufVxuXG4vLyBKdW1ibyBGb250IHRleHQgbWl4aW5cbi8vIFRoaXMgaXMgdXNlZCBmb3IgaG9tZXBhZ2UgaGVybyBlbGVtZW50IHN0eWxlczsgaW5jbHVkZXMgc2l6ZXNcbkBtaXhpbiBmb250LWp1bWJvIHtcbiAgICBAaW5jbHVkZSBmb250LWhlYWRlcjtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnRzaXplKDQwLCA0OCwgNjAsIDY2KTtcbn1cblxuLy8gSnVtYm8gRm9udCB0ZXh0IG1peGluXG4vLyBUaGlzIGlzIHVzZWQgZm9yIGhvbWVwYWdlIGhlcm8gZWxlbWVudCBzdHlsZXM7IGluY2x1ZGVzIHNpemVzXG5AbWl4aW4gZm9udC1jYXJkIHtcbiAgICBAaW5jbHVkZSBmb250LWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNik7XG59XG5cbkBtaXhpbiBmb250LXRhZ3Mge1xuICAgIEBpbmNsdWRlIGZvbnQtaGVhZGVyO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjYpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNlIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaHRtbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBmb250LXByaW1hcnk7XG5cbiAgICAgOjpzZWxlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbmJvZHksXG5pbnB1dCxcbnRleHRhcmVhLFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5wIHtcbiAgICBAaW5jbHVkZSBmb250LXByaW1hcnk7XG4gICAgbWFyZ2luOiAwIDAgZ2FwKDIpO1xufVxuXG5hIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRibGFjaywgMjApO1xuICAgICAgICB0cmFuc2l0aW9uOiAkYW5pbTtcbiAgICB9XG59XG5cbnNtYWxsIHtcbiAgICBAaW5jbHVkZSBmb250LWNhcHRpb247XG59XG5cblxuLy8gTGlzdHNcbnVsLFxub2wsXG5kbCB7XG4gICAgQGluY2x1ZGUgZm9udC1wcmltYXJ5O1xufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGhlYWRpbmdzKDEsIDYpIHtcbiAgICBAaW5jbHVkZSBmb250LWhlYWRlcjtcbn1cblxuaDEsXG4laDEge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udHNpemUoNDAsIDQ0LCA0NSwgNTQpO1xufVxuXG5oMixcbiVoMiB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250c2l6ZSgyNCwgMzIsIDI4LCAzNCk7XG59XG5cbmgzLFxuJWgzIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnRzaXplKDE4LCAyNiwgMjAsIDI4KTtcbn1cblxuaDQsXG4laDQge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udHNpemUoMTQsIDIyLCAxNiwgMjQpO1xufVxuXG5oNSxcbiVoNSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbn1cblxuaDYsXG4laDYge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG59XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBZGRpdGlvbmFsIEN1c3RvbSBDbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4YW1wbGVcbi50ZXh0LS1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250LWNhcHRpb247XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNlIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIFN0b3JlcyBhbGwgZ2xvYmFsIHZhcmlhYmxlcyBmb3IgcmVmZXJlbmNlIGludG8gaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgQ29sb3Vyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVbml2ZXJzYWwgQ29sb3JzXG4kd2hpdGU6ICAgICAgICAgICAgICAgICAgICAjZmZmO1xuJHdoaXRlLS1vcGFxdWU6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC40KTtcbiRibGFjazogICAgICAgICAgICAgICAgICAgICMwMDA7XG5cblxuLy8gVGhlbWUgQ29sb3JzXG4vLyBJZiB5b3UgYXJlIGhhdmluZyB0cm91YmxlIGNvbWluZyB1cCB3aXRoIG5hbWVzLCBjaGVjayBvdXRcbi8vIGh0dHA6Ly93d3cuY29sb3ItYmxpbmRuZXNzLmNvbS9jb2xvci1uYW1lLWh1ZS9cblxuLy8gQnJhbmQgQ29sb3Vyc1xuJHNtb2tlOiAgICAgICAgICAgICAgICAgICAgI2YzZjNmMztcbiRzYWZldHktb3JhbmdlOiAgICAgICAgICAgICNGRjY5MDA7XG4kY2hhcmNvYWw6ICAgICAgICAgICAgICAgICAjMzUzNTM1O1xuJG5lcm86ICAgICAgICAgICAgICAgICAgICAgIzFBMUExQTtcblxuXG4vLyBEaXNhYmxlZCBncmV5XG4kZ3JleTogICAgICAgICAgICAgICAgICAgICAjNzg3ODc4O1xuJGxpZ2h0LWdyZXk6ICAgICAgICAgICAgICAgI0QzRDNEMztcblxuLy8gQWxlcnQgU3R5bGVzXG4kcmVkOiAgICAgICAgICAgICAgICAgICAgICAjRkYwMDAwO1xuJGdyZWVuOiAgICAgICAgICAgICAgICAgICAgIzQ0Y2M0NDtcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICAgICNmZmNjNDQ7XG5cblxuLy8gVGhlbWUgTWFwcGluZ1xuLy8gLSBUcnkgdG8gYXZvaWQgZGVjbGFyaW5nIGNvbG91cnMgZGlyZWN0bHkgaW4geW91ciBTYXNzICFkZWZhdWx0O1xuLy8gICBpbnN0ZWFkLCB1c2Ugb25lIG9mIHRoZXNlIHZhcmlhYmxlc1xuJHByaW1hcnktY29sb3I6ICAgICAgICAgICAgJHNhZmV0eS1vcmFuZ2U7XG4kc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAkY2hhcmNvYWw7XG4kdGVydGlhcnktY29sb3I6ICAgICAgICAgICAkbmVybztcbiRkaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmV5O1xuXG4kcHJpbWFyeS10ZXh0LWNvbG9yOiAgICAgICAkbmVybztcbiRoaWdobGlnaHQtdGV4dC1jb2xvcjogICAgICRwcmltYXJ5LWNvbG9yO1xuJGNhcHRpb24tdGV4dC1jb2xvcjogICAgICAgJGdyZXk7XG4kY2FwdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiAkc21va2U7XG5cbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICRsaWdodC1ncmV5O1xuJGJvcmRlci1jb2xvci0tbGlnaHQ6ICAgICAgJHdoaXRlLS1vcGFxdWU7XG5cbiRiYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICRzZWNvbmRhcnktY29sb3I7XG4kYmFja2dyb3VuZC1jb2xvci0tYmFzZTogICAkc21va2U7XG4kYmFja2dyb3VuZC1jb2xvci0tZGFyazogICAkbmVybztcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIDA7XG5cblxuLy8gRm9yIEFsZXJ0cyBhbmQgVmFsaWRhdGlvbnNcbiRzdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICRncmVlbjtcbiRlcnJvci1jb2xvcjogICAgICAgICAgICAgICRyZWQ7XG4kd2FybmluZy1jb2xvcjogICAgICAgICAgICAkeWVsbG93O1xuXG4kaW5wdXQtZm9jdXM6ICAgICAgICAgICAgICAkYm9yZGVyLWNvbG9yO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBCYXNlIE1hcmdpbiAmIFBhZGRpbmcgR2FwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kZ3JpZC1ndXR0ZXI6ICAgICAgICAgICAgICA0MHB4O1xuJGdyaWQtZ3V0dGVyLS1tb2JpbGU6ICAgICAgMTVweDtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3RhbmRhcmQgQ29sb3VyIFBhbGV0dGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2xvci1wYWxldHRlOiAoXG4gICAgcHJpbWFyeTogKFxuICAgICAgICBjb2xvcjogICAgICRwcmltYXJ5LWNvbG9yLFxuICAgICAgICBjb250cmFzdDogICR3aGl0ZVxuICAgICksXG4gICAgc2Vjb25kYXJ5OiAoXG4gICAgICAgIGNvbG9yOiAgICAgJHNlY29uZGFyeS1jb2xvcixcbiAgICAgICAgY29udHJhc3Q6ICAkd2hpdGVcbiAgICApLFxuICAgIHdoaXRlOiAoXG4gICAgICAgIGNvbG9yOiAgICAgJHdoaXRlLFxuICAgICAgICBjb250cmFzdDogICRwcmltYXJ5LXRleHQtY29sb3JcbiAgICApXG4pO1xuXG5cblxuLy8gQnV0dG9uIENvbG91ciBQYWxldHRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnV0dG9uLWNvbG9yLXBhbGV0dGU6IChcbiAgICBwcmltYXJ5OiAoXG4gICAgICAgIGNvbG9yOiAgICAgJHByaW1hcnktY29sb3IsXG4gICAgICAgIGNvbnRyYXN0OiAgJGJsYWNrLFxuICAgICAgICBob3ZlcjogICAgICRwcmltYXJ5LXRleHQtY29sb3JcbiAgICApLFxuICAgIHdoaXRlOiAoXG4gICAgICAgIGNvbG9yOiAgICAgJHdoaXRlLFxuICAgICAgICBjb250cmFzdDogICRwcmltYXJ5LXRleHQtY29sb3IsXG4gICAgICAgIGhvdmVyOiAgICAgJHdoaXRlXG4gICAgKVxuKTtcblxuJGJ1dHRvbi1jb2xvci0tZGlzYWJsZWQ6IChcbiAgICBjb2xvcjogICAgICRkaXNhYmxlZC1jb2xvcixcbiAgICBjb250cmFzdDogICRwcmltYXJ5LXRleHQtY29sb3Jcbik7XG5cblxuLy8gQnV0dG9uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnV0dG9uLXNpemVzOiAoXG4gICAgc21hbGw6IChcbiAgICAgICAgZm9udC1zaXplOiAxNCxcbiAgICAgICAgcGFkZGluZzogNHB4IDdweFxuICAgICksXG4gICAgbWVkaXVtOiAgICAgICAgIChcbiAgICAgICAgZm9udC1zaXplOiAxNCxcbiAgICAgICAgcGFkZGluZzogMTNweCAzMHB4XG4gICAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdyaWQgJiBMYXlvdXQgTW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gR2xvYmFsIGdyaWQgbW9kaWZpY2F0aW9ucyBhbmQgYmFzZSBjb250YWluZXIgbWF4aW11bXMuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtYXgtd2lkdGg6ICRjb250YWluZXItLWRlc2t0b3AgIWRlZmF1bHQ7XG4kbWF4LXdpZHRoX19jb250ZW50OiBjYWxjKCgjeyRjb250YWluZXItLWRlc2t0b3B9ICogLjc1KSAtICgjeyRncmlkLWd1dHRlcn0gLyAyKSkgIWRlZmF1bHQ7XG4kbWF4LXdpZHRoX19hc2lkZTogY2FsYygoI3skY29udGFpbmVyLS1kZXNrdG9wfSAqIC4yNSkgLSAoI3skZ3JpZC1ndXR0ZXJ9IC8gMikpICFkZWZhdWx0O1xuJG1heC13aWR0aF9fY29udGVudC0tbGVnYWN5OiBjYWxjKDc1JSAtICgjeyRncmlkLWd1dHRlcn0gLyAyKSkgIWRlZmF1bHQ7XG4kbWF4LXdpZHRoX19hc2lkZS0tbGVnYWN5OiBjYWxjKDI1JSAtICgjeyRncmlkLWd1dHRlcn0gLyAyKSkgIWRlZmF1bHQ7XG5cblxuLy8gT25lIENvbHVtbiBMYXlvdXRcbiRwYWdlLWdyaWQtLW1vYmlsZTogJ1tmdWxsLXN0YXJ0XSBtaW5tYXgoI3skZ3JpZC1ndXR0ZXItLW1vYmlsZX0sIDFmcikgW21haW4tc3RhcnRdIG1pbm1heCgwLCAjeyRtYXgtd2lkdGh9KSBbbWFpbi1lbmRdIG1pbm1heCgjeyRncmlkLWd1dHRlci0tbW9iaWxlfSwgMWZyKSBbZnVsbC1lbmRdJztcbiRwYWdlLWdyaWQ6ICdbZnVsbC1zdGFydF0gbWlubWF4KCN7JGdyaWQtZ3V0dGVyfSwgMWZyKSBbbWFpbi1zdGFydF0gbWlubWF4KDAsICN7JG1heC13aWR0aH0pIFttYWluLWVuZF0gbWlubWF4KCN7JGdyaWQtZ3V0dGVyfSwgMWZyKSBbZnVsbC1lbmRdJztcblxuLy8gQXJ0aWNsZSBHcmlkXG4kYXJ0aWNsZS1ncmlkOiAnW2Z1bGwtYXJ0aWNsZS1zdGFydF0gMTIuNSUgW21haW4tYXJ0aWNsZS1zdGFydF0gNzUlIFttYWluLWFydGljbGUtZW5kXSAxMi41JSBbZnVsbC1hcnRpY2xlLWVuZF0nO1xuXG4vLyBUd28gQ29sdW1uIExheW91dFxuJHBhZ2UtZ3JpZC0tdHdvLWNvbHVtbjogJ1tmdWxsLXN0YXJ0XSBtaW5tYXgoI3skZ3JpZC1ndXR0ZXJ9LCAxZnIpIFttYWluLXN0YXJ0XSBtaW5tYXgoMCwgI3skbWF4LXdpZHRoX19jb250ZW50fSkgW21haW4tZW5kXSAjeyRncmlkLWd1dHRlcn0gW2FzaWRlLXN0YXJ0XSAjeyRtYXgtd2lkdGhfX2FzaWRlfSBbYXNpZGUtZW5kXSBtaW5tYXgoI3skZ3JpZC1ndXR0ZXJ9LCAxZnIpIFtmdWxsLWVuZF0nO1xuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNlIExheW91dCBkZWNsYXJhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkAtbXMtdmlld3BvcnR7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8gU3RpY2t5IEZvb3RlclxuYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3ItLWJhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgLm1haW4ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gTm8gc2Nyb2xsIGJvZHlcbiAgICAmLm5vc2Nyb2xsIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHcmlkIExheW91dHMgKE9uZSAmIFR3byBDb2x1bW4pXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gKCN7JGdyaWQtZ3V0dGVyLS1tb2JpbGV9ICogMikpO1xuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoI3skZ3JpZC1ndXR0ZXJ9ICogMikpO1xuICAgIH1cbn1cblxuQG1peGluIGNvbnRhaW5lci0td3lzaXd5ZyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDc1JSAtICgjeyRncmlkLWd1dHRlcn0gKiAyKSk7XG4gICAgfVxufVxuXG4vLyBCYXNlIENvbnRhaW5lclxuLy8gRXZlbiBpZiB3ZSBkb24ndCBoYXZlIGEgZ3JpZCBpbiBwbGF5LCB3ZSBob2xkIGNvbnRlbnQgdG8gYSBzYW5lIG1heCB3aWR0aC5cbi5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbn1cblxuLy8gU2luZ2xlIENvbHVtblxuLmNvbnRhaW5lci0tb25lLWNvbHVtbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBmb3IgSUUgMTFcbiAgICB3aWR0aDogMTAwJTsgLy8gZm9yIElFIDExXG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICN7JHBhZ2UtZ3JpZC0tbW9iaWxlfTtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAjeyRwYWdlLWdyaWR9O1xuICAgIH1cblxuICAgIC8vIEFsbCBjb250ZW50IGRlZmF1bHRzIHRvIG9uZSBjb2x1bW5cbiAgICA+ICoge1xuICAgICAgICBncmlkLWNvbHVtbjogbWFpbjtcblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICgjeyRncmlkLWd1dHRlcn0gKiAyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGdWxsLWJsZWVkIGNvbnRlbnQgc3RyZXRjaGVzIHRvIHRoZSBlZGdlXG4gICAgLnBhZ2Utc2VjdGlvbi0tZnVsbC1ibGVlZCxcbiAgICAuY29udGFpbmVyLS1mdWxsLWJsZWVkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IGZ1bGw7XG5cbiAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1zZWN0aW9uLS1nYXAge1xuICAgICAgICBtYXJnaW46IGdhcCgzKSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luOiBnYXAoNSkgMDtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBnYXAoNSkgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXNlY3Rpb24tLWdhcC1ib3R0b20ge1xuICAgICAgICBtYXJnaW46IDAgMCBnYXAoMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCBnYXAoNSk7XG5cbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIGdhcCg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXNlY3Rpb24tLW5vLWdhcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cblxuLy8gVHdvIENvbHVtbnNcbi5jb250YWluZXItLXR3by1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gZm9yIElFIDExXG4gICAgd2lkdGg6IDEwMCU7IC8vIGZvciBJRSAxMVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogI3skcGFnZS1ncmlkLS10d28tY29sdW1ufTtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBBbGwgY29udGVudCBkZWZhdWx0cyB0byBvbmUgY29sdW1uXG4gICAgPiAqIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IG1haW4gLyBhc2lkZTtcbiAgICB9XG5cbiAgICAvLyBDb2x1bW4gb25lLCB0aGUgY29udGVudCBjb2x1bW5cbiAgICAuY29udGFpbmVyLS1jb250ZW50IHtcbiAgICAgICAgLy8gTGVnYWN5IEdyaWRcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1heC13aWR0aF9fY29udGVudC0tbGVnYWN5O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoZGVza3RvcCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoX19jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ1NTIEdyaWRcbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogbWFpbjtcblxuICAgICAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sdW1uIHR3bywgdGhlIGFzaWRlIGNvbHVtblxuICAgIC5jb250YWluZXItLWFzaWRlLFxuICAgIC5hc2lkZSB7XG4gICAgICAgIC8vIExlZ2FjeSBHcmlkXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGhfX2FzaWRlLS1sZWdhY3k7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChkZXNrdG9wKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGhfX2FzaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ1NTIEdyaWRcbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXNpZGU7XG5cbiAgICAgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZ1bGwtYmxlZWQgY29udGVudCBzdHJldGNoZXMgdG8gdGhlIGVkZ2VcbiAgICAucGFnZS1idWlsZGVyX19zZWN0aW9uLS1mdWxsLWJsZWVkLFxuICAgIC5jb250YWluZXItLWZ1bGwtYmxlZWQge1xuICAgICAgICBncmlkLWNvbHVtbjogZnVsbDtcbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gR2VuZXJpYyBwYWdlIHN0eWxlc1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyA0MDRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5lcnJvcjQwNF9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogZ2FwKDQpIDA7XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgcGFkZGluZzogZ2FwKDYpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2luZ2xlIFJlZ2lvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdlLXNlY3Rpb24tLXNlcnZpY2VzLWJsb2NrIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuXG4gICAgLmNzcy1ncmlkIHtcbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci0td3lzaXd5ZztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1ibG9ja19fbWV0YSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZXMtYmxvY2tfX3d5c2l3eWcge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZXMtYmxvY2tfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci0tZGFyaztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvdGlyZS5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IGdhcCg2KSAwO1xuXG4gICAgICAgIC5jc3MtZ3JpZCB7XG4gICAgICAgICAgICBncmlkLWdhcDogZ2FwKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlc19fbGlzdCB7XG4gICAgICAgIG1hcmdpbjogZ2FwKDQpIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci0td3lzaXd5ZztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGdhcCg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZXNfX2xpc3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktaXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBnYXAoMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQXJjaGl2ZSBQYWdlIC0gTmV3cyBSZWxlYXNlcywgU3RvcmllcywgRXZlbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFyY2hpdmUge1xuICAgIC5wYWdlLXNlY3Rpb24tLXBvc3RzLWdyaWQge1xuICAgICAgICBtYXJnaW46IGdhcCg0KSAwO1xuICAgIH1cbn1cblxuLmFyY2hpdmVfX3RpdGxlIHtcbiAgICBAZXh0ZW5kICVoMjtcbiAgICBwYWRkaW5nOiBnYXAoNCkgMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbn1cblxuLnBhZ2Utc2VjdGlvbl9fdGl0bGUtLWVtcHR5IHtcbiAgICBwYWRkaW5nOiBnYXAoMikgMDtcbn1cblxuLm1lbnUubWVudS0tcG9zdC10eXBlcy1uYXZpZ2F0aW9uIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiBnYXAoNCkgMCAwO1xuICAgIGJveC1zaGFkb3c6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDUxcHg7XG5cbiAgICAuaWUxMSAmIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgJi5tZW51LS1vcGVuIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAubWVudV9fbGlzdCB7XG4gICAgICAgICAgICBib3JkZXI6ICRib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiBnYXAoNCkgMCAwO1xuICAgIH1cblxuICAgIC5tZW51X19saXN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGdhcCg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51X19pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgZ2FwKDEuNSkgZ2FwKDEuNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZW51X190aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAubWVudV9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9wYXJlbnQge1xuICAgICAgICAgICAgICAgIC5tZW51X190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm1lbnVfX2l0ZW0tLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWl0ZW06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBnYXAoLjUpO1xuXG4gICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNpbmdsZSBQb3N0IFBhZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zaW5nbGUtcG9zdC0tYXJ0aWNsZSB7XG4gICAgIG1hcmdpbi1ib3R0b206IGdhcCgzKTtcblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXItLXd5c2l3eWc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCg1KTtcbiAgICB9XG5cbiAgICAucG9zdC1tZXRhX19kYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1jYXJkO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBnYXAoMyk7XG4gICAgfVxuXG4gICAgLnNpbmdsZS1wb3N0X190aXRsZSB7XG4gICAgICAgIEBleHRlbmQgJWgyO1xuICAgICAgICBtYXJnaW4tdG9wOiBnYXAoNC41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDEpO1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWltYWdlLS1wb3N0LWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDUsMyk7XG4gICAgICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCgzKTtcbiAgICB9XG59XG5cbi5zaW5nbGUtbmV3cy1yZWxlYXNlIHtcbiAgICAucGFnZS1zZWN0aW9uLS13eXNpd3lnLWJsb2NrLS1tdWx0aS1jb2x1bW5zIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IGdhcCg1KTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5ld3MgYW5kIEV2ZW50cyBQYWdlIFRlbXBsYXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnZS1uZXdzLWV2ZW50cyB7XG4gICAgLnBhZ2Utc2VjdGlvbi0taW50cm8tYmxvY2sge1xuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgICAgICBwYWRkaW5nOiBnYXAoMykgMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgcGFkZGluZzogZ2FwKDUpIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNlYXJjaCBSZXN1bHRzIHBhZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdlLXNlY3Rpb24tLXNlYXJjaC1yZXN1bHRzIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLS13eXNpd3lnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLXJlc3VsdHNfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IGdhcCg1KSAwIGdhcCgzKTtcblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXItLXd5c2l3eWc7XG4gICAgICAgIHBhZGRpbmc6IGdhcCg1KSAwO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcmVzdWx0c19fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1ndXR0ZXI7XG4gICAgfVxufVxuXG5cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdZU0lXWUdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBTdHlsZXMgZm9yIGJhc2ljIHBhZ2UgbGF5b3V0ICsgV1lTSVdZR1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnd5c2l3eWcge1xuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyO1xuXG4gICAgICAgICYuYWxpZ25yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRncmlkLWd1dHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ25jZW50ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ25sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtZ3V0dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndwLWNhcHRpb24ge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICAmLmFsaWducmlnaHQgaW1nIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRncmlkLWd1dHRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbGlnbmxlZnQgaW1nIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLWd1dHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBvbmVudDogRm9ybWtpdCBCYXNlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gRm9ybSBmaWVsZCBzdHlsaW5nIGZvciBiYXNlIGZvcm1zIGFuZCBjb21tb24gdmFyaWFudHMuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3JtIEZpZWxkIFN0eWxlc1xuLy8gLmZvcm1fX2ZpZWxkIGlzIHRoZSB1bml2ZXJzYWwgd3JhcHBlclxuLy8gZm9yIGV2ZXJ5IGZvcm0gZWxlbWVudDsgdGhlc2UgYXJlXG4vLyBnZW5lcmljIHN0eWxlcyBmb3IgYWxsIGVsZW1lbnRzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmZvcm1fX2ZpZWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCBnYXAoMik7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtX19maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuLy8gRm9ybSBsYWJlbFxuLmZvcm1fX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZvcm1fX29wdGlvbi1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mb3JtX19yZXF1aXJlZCB7XG4gICAgY29sb3I6ICRyZWQ7XG59XG5cbi5mb3JtX19ub3QtcmVxdWlyZWQge1xuICAgIGNvbG9yOiAkY2FwdGlvbi10ZXh0LWNvbG9yO1xuICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG59XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3JtIEVsZW1lbnQgU3R5bGVzXG4vLyAuZm9ybV9fY29udHJvbCBpcyB0aGUgdW5pdmVyc2FsIGNsYXNzXG4vLyBmb3IgZXZlcnkgaW5wdXQ7IHRoZXJlIGFyZSBzcGVjaWZpY1xuLy8gY2xhc3NlcyBmb3IgZWFjaCB0eXBlIG9mIGlucHV0LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmZvcm1fX2NvbnRyb2wge1xuXG59XG5cbi5mb3JtX19pbnB1dCxcbi5mb3JtX19zZWxlY3QsXG4uZm9ybV9fdGV4dGFyZWEge1xuICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm1fX2NoZWNrYm94LFxuLmZvcm1fX3JhZGlvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGVjaWFsdHkgRWxlbWVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ3VzdG9tIFNlbGVjdFxuLmZvcm1fX2ZpZWxkLS1jdXN0b20tc2VsZWN0IHtcblxuICAgIC5mb3JtX19zZWxlY3Qge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAuZm9ybV9fZWxlbWVudCB7XG4gICAgICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAvLyAuZm9ybV9faWNvbi0tc2VsZWN0LWNhcmV0IHtcbiAgICAvLyAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgLy8gfVxufVxuXG4vLyBJbWFnZSBSYWRpb1xuLmZvcm1fX2ZpZWxkLS1pbWFnZS1yYWRpbyB7XG4gICAgLmZvcm1fX2Nob2ljZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm1fX29wdGlvbi1sYWJlbCB7XG4gICAgICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogJGFuaW07XG5cbiAgICAgICAgJi5mb3JtX19vcHRpb24tbGFiZWwtLXNlbGVjdGVkLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNdWx0aS1CdXR0b24gUmFkaW9cbi5mb3JtX19maWVsZC0tYnV0dG9uLXJhZGlvIHtcbiAgICAuZm9ybV9fcmFkaW8ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5mb3JtX19vcHRpb24tbGFiZWwge1xuICAgICAgICBAZXh0ZW5kIC5idXR0b24tLXdoaXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogJGFuaW07XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uLS1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdWJtaXRcbi5mb3JtX19zcGlubmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9ybSBFbGVtZW50IFdyYXBwZXJcbi8vIC5mb3JtX19lbGVtZW50IHdyYXBzIHRoZSBpbnB1dHMgc28gd2Vcbi8vIGNhbiBwb3NpdGlvbiBpY29ucyBmb3IgdmFsaWRhdGlvblxuLy8gbmV4dCB0byB0aGUgaW5wdXQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZm9ybV9fZWxlbWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZm9ybV9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZm9ybV9faWNvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC5mb3JtX19maWVsZC0tdGV4dGFyZWEgJiB7XG4gICAgICAgIHRvcDogNXB4OyAvLyBzaW5jZSB0aGUgdGV4dGFyZWEgaXMgbGFyZ2UsIGNlbnRlcmluZyBpc24ndCBvcHRpbWFsLCBzbyBwdXR0aW5nIGl0IGF0IHRoZSB0b3AgaXMgcHJlZmVycmVkXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG5cbiAgICAuZm9ybV9fZmllbGQtLXNlbGVjdCAmIHtcbiAgICAgICAgcmlnaHQ6IDE1cHg7IC8vIGdpdmVzIHNwYWNlIGZvciB0aGUgc2VsZWN0IGFycm93c1xuICAgIH1cblxuICAgIC5mb3JtX19maWVsZC0tY3VzdG9tLXNlbGVjdCAmIHtcbiAgICAgICAgcmlnaHQ6IDA7IC8vIHNlbGVjdCBhcnJvdyBpcyBhbiBpY29uIGFuZCBtYWtlcyBpdCdzIG93biBzcGFjZSwgbm8gZXh0cmEgYnVmZmVyIGlzIG5lY3NzYXJ5XG4gICAgfVxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFzc3dvcmQgVmlzaWJpbGl0eVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhc3N3b3JkX190b2dnbGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDA7XG59XG5cbi5mb3JtX19pY29uLS1wYXNzd29yZC1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFzc3dvcmRfX3RvZ2dsZS0tdmlzaWJsZSB7XG4gICAgLmZvcm1fX2ljb24tLXBhc3N3b3JkLXNob3cge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5mb3JtX19pY29uLS1wYXNzd29yZC1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvcm0gVmFsaWRhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAndmFsaWRhdGlvbi92YWxpZGF0aW9uJztcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvcm0gVmFyaWF0aW9uc1xuLy8gVGhlc2UgdmFyaWF0aW9ucyBhcmUgaW50ZW5kZWQgdG8gZ2l2ZVxuLy8gcXVpY2sgYWNjZXNzIHRvIG90aGVyIGNvbW1vbiBsYXlvdXRzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCb3JkZXJlZCBGb3JtXG4uZm9ybS0tYm9yZGVyIHtcbiAgICAuZm9ybV9fZmllbGQge1xuICAgICAgICBib3JkZXI6ICRib3JkZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJiArIC5mb3JtX19maWVsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm1fX2lucHV0LFxuICAgIC5mb3JtX190ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG59XG5cbi8vIElubGluZSBGb3JtXG4uZm9ybS0taW5saW5lIHtcbiAgICAuZm9ybV9fbGFiZWwsXG4gICAgLmZvcm1fX2VsZW1lbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmZvcm1fX2lucHV0LFxuICAgIC5mb3JtX19zZWxlY3QsXG4gICAgLmZvcm1fX3RleHRhcmVhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb21wb25lbnQ6IFZhbGlkYXRpb24gSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBGb3JtIGZpZWxkIHZhbGlkYXRpb24gaWNvbnNcbi8vXG4vLyBAdXJsIC0gL2tpdGNoZW4tc2luay9mb3JtS2l0XG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kdmFsaWRhdGlvbi1hbmltYXRpb246IGZhZGVJbkZyb21Cb3R0b20gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJHZhbGlkYXRpb24taWNvbi12YWxpZC1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kdmFsaWRhdGlvbi1pY29uLWludmFsaWQtY29sb3I6ICRlcnJvci1jb2xvciAhZGVmYXVsdDtcbiR2YWxpZGF0aW9uLWNyZWRpdC1jYXJkcy1yaWdodDogZ2FwKDEuNSkgIWRlZmF1bHQ7XG4kdmFsaWRhdGlvbi1jcmVkaXQtY2FyZHMtY29sb3I6ICRjYXB0aW9uLXRleHQtY29sb3IgIWRlZmF1bHQ7XG4kdmFsaWRhdGlvbi1jcmVkaXQtY2FyZHMtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UgIWRlZmF1bHQ7XG4kdmFsaWRhdGlvbi1pY29uLWFjdGl2ZS1hbmltYXRpb246IGZhZGVJblJpZ2h0IDFzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJHZhbGlkYXRpb24taWNvbi1hY3RpdmUtY29sb3I6ICRzbW9rZSAhZGVmYXVsdDtcbiR2YWxpZGF0aW9uLWljb24taW5hY3RpdmUtYW5pbWF0aW9uOiBmYWRlSW5SaWdodCAxcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYWxpZGF0aW9uIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZm9ybV9faWNvbi0tdmFsaWRhdGlvbiB7XG4gICAgYW5pbWF0aW9uOiAkdmFsaWRhdGlvbi1hbmltYXRpb247XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3JtIFZhbGlkYXRpb24gSGVscGVyIFRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb3JtX192YWxpZGF0aW9uIHtcbiAgICBjb2xvcjogJGNhcHRpb24tdGV4dC1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3JtIFZhbGlkYXRpb24gTWFzdGVyIENoYW5nZXNcbi8vIC5mb3JtX19maWVsZCwgdGhlIGZvcm0gd3JhcHBlciwgaXNcbi8vIHdoZXJlIHZhbGlkYXRpb24gc3RhdGVzIGNhc2NhZGUgZnJvbS5cbi8vIEZvciB2YWxpZCBhbmQgaW52YWxpZCBzdGF0ZXMsIHRoZXJlXG4vLyBhcmUgc3BlY2lmaWMgb3ZlcnJpZGVzIGZvciBhbGwgdGhlXG4vLyBmaWVsZHMgY29udGFpbmVkIGJ5IHRoZSB3cmFwcGVyLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmZvcm1fX2ZpZWxkLS12YWxpZCB7XG4gICAgLmZvcm1fX2NvbnRyb2wge1xuICAgICAgICBib3JkZXItY29sb3I6ICR2YWxpZGF0aW9uLWljb24tdmFsaWQtY29sb3I7XG4gICAgfVxuXG4gICAgLmZvcm1fX3ZhbGlkYXRpb24ge1xuICAgICAgICBjb2xvcjogJHZhbGlkYXRpb24taWNvbi12YWxpZC1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBJY29uIENoYW5nZXNcbiAgICAuZm9ybV9faWNvbi0tdmFsaWRhdGlvbi12YWxpZCB7XG4gICAgICAgIGNvbG9yOiAkdmFsaWRhdGlvbi1pY29uLXZhbGlkLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4uZm9ybV9fZmllbGQtLWludmFsaWQge1xuICAgIC5mb3JtX19jb250cm9sIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdmFsaWRhdGlvbi1pY29uLWludmFsaWQtY29sb3I7XG4gICAgfVxuXG4gICAgLmZvcm1fX3ZhbGlkYXRpb24ge1xuICAgICAgICBjb2xvcjogJHZhbGlkYXRpb24taWNvbi1pbnZhbGlkLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEljb24gQ2hhbmdlc1xuICAgIC5mb3JtX19pY29uLS12YWxpZGF0aW9uLWludmFsaWQge1xuICAgICAgICBjb2xvcjogJHZhbGlkYXRpb24taWNvbi1pbnZhbGlkLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ3JlZGl0IENhcmQgVmFsaWRhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnZhbGlkYXRpb24tLWNyZWRpdC1jYXJkcyB7XG4gICAgcmlnaHQ6ICR2YWxpZGF0aW9uLWNyZWRpdC1jYXJkcy1yaWdodDtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIC5mb3JtX19maWVsZC1pY29uc19faWNvbi0tY3JlZGl0LWNhcmQge1xuICAgICAgICBjb2xvcjogJHZhbGlkYXRpb24tY3JlZGl0LWNhcmRzLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdmFsaWRhdGlvbi1jcmVkaXQtY2FyZHMtdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAuZm9ybV9fZmllbGQtaWNvbnNfX2ljb24tLWFjdGl2ZSB7XG4gICAgICAgIGFuaW1hdGlvbjogJHZhbGlkYXRpb24taWNvbi1hY3RpdmUtYW5pbWF0aW9uO1xuICAgICAgICBjb2xvcjogJHZhbGlkYXRpb24taWNvbi1hY3RpdmUtY29sb3I7XG4gICAgfVxuXG4gICAgLmZvcm1fX2ZpZWxkLWljb25zX19pY29uLS1pbmFjdGl2ZSB7XG4gICAgICAgIGFuaW1hdGlvbjogJHZhbGlkYXRpb24taWNvbi1pbmFjdGl2ZS1hbmltYXRpb247XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBvbmVudDogU3VnZ2VzdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIEZvcm0gZmllbGQgY29ycmVjdGlvbiBzdWdnZXN0aW9uIChlLmcuIFwiRGlkIHlvdSBtZWFuIGV4YW1wbGVAZ21haWwuY29tP1wiKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1haWxjaGVjayB7XG4gICAgY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWFpbGNoZWNrX19hY2NlcHQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmZvcm1fX2ZpZWxkLS1tYWlsY2hlY2sge1xuICAgIC5tYWlsY2hlY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDU1MgR3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIENvbnRhaW5lciBjb21wb25lbnQgdGhhdCBhbGxvd3MgZm9yIGl0ZW1zIHRvIGJlIHdyYXBwZWQgaW4gYSBDU1MgZ3JpZC5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNzcy1ncmlkLWd1dHRlci0tbW9iaWxlOiAkZ3JpZC1ndXR0ZXItLW1vYmlsZSAhZGVmYXVsdDtcbiRjc3MtZ3JpZC1ndXR0ZXI6ICRncmlkLWd1dHRlciAhZGVmYXVsdDtcbiRjc3MtZ3JpZC1jb2x1bW5zLWxhcmdlOiA4ICFkZWZhdWx0O1xuJGNzcy1ncmlkLWNvbHVtbnMtbWVkaXVtOiA4ICFkZWZhdWx0O1xuJGNzcy1ncmlkLWNvbHVtbnMtc21hbGw6IDQgIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFzZSBncmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY3NzLWdyaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiAkY3NzLWdyaWQtZ3V0dGVyLS1tb2JpbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBncmlkLWdhcDogJGNzcy1ncmlkLWd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uY3NzLWdyaWRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgY2FsYygjeyRjc3MtZ3JpZC1ndXR0ZXItLW1vYmlsZX0gLyAyKSAkY3NzLWdyaWQtZ3V0dGVyLS1tb2JpbGU7XG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGMoI3skY3NzLWdyaWQtZ3V0dGVyfSAvIDIpICRjc3MtZ3JpZC1ndXR0ZXI7XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgfVxufVxuXG5cbi8vIFN1cHBvcnQgLmNzcy1ncmlkLS1bc21hbGwsbWVkaXVtLGxhcmdlXS1bMS0xMl1cbkBmb3IgJGNvbHVtbnMgZnJvbSAxIHRocm91Z2ggJGNzcy1ncmlkLWNvbHVtbnMtc21hbGwge1xuICAgIC5jc3MtZ3JpZC0tc21hbGwtI3skY29sdW1uc30ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29sdW1ucywgMWZyKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIEBmb3IgJGNvbHVtbnMgZnJvbSAxIHRocm91Z2ggJGNzcy1ncmlkLWNvbHVtbnMtbWVkaXVtIHtcbiAgICAgICAgLmNzcy1ncmlkLS1tZWRpdW0tI3skY29sdW1uc30ge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbnMsIDFmcik7XG5cbiAgICAgICAgICAgIC5jc3MtZ3JpZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkY29sdW1ucyl9IC0gKCN7JGNzcy1ncmlkLWd1dHRlcn0gKiAyKSk7XG5cbiAgICAgICAgICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICBAZm9yICRjb2x1bW5zIGZyb20gMSB0aHJvdWdoICRjc3MtZ3JpZC1jb2x1bW5zLWxhcmdlIHtcbiAgICAgICAgLmNzcy1ncmlkLS1sYXJnZS0jeyRjb2x1bW5zfSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29sdW1ucywgMWZyKTtcblxuICAgICAgICAgICAgLmNzcy1ncmlkX19pdGVtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRjb2x1bW5zKX0gLSAoI3skY3NzLWdyaWQtZ3V0dGVyfSAqIDIpKTtcblxuICAgICAgICAgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gTm8gR3V0dGVyXG4uY3NzLWdyaWQtLW5vLWd1dHRlciB7XG4gICAgZ3JpZC1nYXA6IDA7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDU1MgR3JpZCAtLSBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb250YWluZXIgY29tcG9uZW50IHRoYXQgYWxsb3dzIGZvciBhIGdyaWQgb2YgaXRlbXMgdGhhdCBjYW4gYmUgY2xpY2tlZCB0b1xuLy8gZXhwYW5kIGludG8gYSBkZXRhaWwgcGFuZWwgYWJvdXQgdGhhdCBpdGVtLlxuLy9cbi8vIEBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFpbmVycy9jc3MtZ3JpZC9jc3MtZ3JpZCc7XG4vLyBAaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lcnMvY3NzLWdyaWQvY3NzLWdyaWQtLWFjY29yZGlvbic7XG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjc3MtZ3JpZC1hcnJvdy1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4kY3NzLWdyaWQtYXJyb3ctbWF4LXNpemU6IDE2cHg7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBY2NvcmRpb24gR3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNzcy1ncmlkLS1hY2NvcmRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIGF1dG8pO1xuICAgIH1cblxuICAgIC5jc3MtZ3JpZF9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAuY3NzLWdyaWRfX2l0ZW0tLWNhcmQge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogbWluKCRjc3MtZ3JpZC1ndXR0ZXItLW1vYmlsZSwgJGNzcy1ncmlkLWFycm93LW1heC1zaXplKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY3NzLWdyaWQtYXJyb3ctY29sb3I7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDFweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkYW5pbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtaW4oJGNzcy1ncmlkLWd1dHRlciwgJGNzcy1ncmlkLWFycm93LW1heC1zaXplKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuanMtYWN0aXZlIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jc3MtZ3JpZF9faXRlbS0tcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBncmlkLWNvbHVtbjogLTEgLyAxO1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmpzLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gU3VwcG9ydCAuY3NzLWdyaWQtLVtzbWFsbCxtZWRpdW0sbGFyZ2VdLVsxLTEyXVxuICAgIEBmb3IgJGNvbHVtbnMgZnJvbSAxIHRocm91Z2ggJGNzcy1ncmlkLWNvbHVtbnMtc21hbGwge1xuICAgICAgICAmLmNzcy1ncmlkLS1zbWFsbC0jeyRjb2x1bW5zfSAuY3NzLWdyaWRfX2l0ZW0tLXBhbmVsIHtcbiAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAkY29sdW1ucztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBAZm9yICRjb2x1bW5zIGZyb20gMSB0aHJvdWdoICRjc3MtZ3JpZC1jb2x1bW5zLW1lZGl1bSB7XG4gICAgICAgICAgICAmLmNzcy1ncmlkLS1tZWRpdW0tI3skY29sdW1uc30gLmNzcy1ncmlkX19pdGVtLS1wYW5lbCB7XG4gICAgICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46ICRjb2x1bW5zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIEBmb3IgJGNvbHVtbnMgZnJvbSAxIHRocm91Z2ggJGNzcy1ncmlkLWNvbHVtbnMtbGFyZ2Uge1xuICAgICAgICAgICAgJi5jc3MtZ3JpZC0tbGFyZ2UtI3skY29sdW1uc30gLmNzcy1ncmlkX19pdGVtLS1wYW5lbCB7XG4gICAgICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46ICRjb2x1bW5zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRmxleCBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQ29udGFpbmVyIGNvbXBvbmVudCB0aGF0IGFsbG93cyBmb3IgaXRlbXMgdG8gYmUgd3JhcHBlZCBpbiBhIGZsZXhib3ggZ3JpZC5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZsZXgtZ3JpZC1ndXR0ZXI6ICRncmlkLWd1dHRlciAhZGVmYXVsdDtcbiRmbGV4LWdyaWQtZ3V0dGVyLS1tb2JpbGU6ICRncmlkLWd1dHRlci0tbW9iaWxlICFkZWZhdWx0O1xuJGZsZXgtZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcbiRmbGV4LWdyaWQtbWF4LXJvd3MtbGltaXQ6IDQgIWRlZmF1bHQ7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGbGV4IEdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mbGV4LWdyaWQge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBwZXJjZW50YWdlKDEgLyAyKTtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEgLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogcGVyY2VudGFnZSgxIC8gMyk7XG5cbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxIC8gMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgYSBndXR0ZXIgZm9yIGFsbCBpdGVtcyBpbiB0aGUgcm93XG4gICAgJi0tZ3V0dGVyIHtcbiAgICAgICAgbWFyZ2luOiAwICgkZmxleC1ncmlkLWd1dHRlci0tbW9iaWxlIC8gLTIpO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZmxleC1ncmlkLWd1dHRlci0tbW9iaWxlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAoJGZsZXgtZ3JpZC1ndXR0ZXItLW1vYmlsZSAvIDIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkZmxleC1ncmlkLWd1dHRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICgkZmxleC1ncmlkLWd1dHRlciAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgKCRmbGV4LWdyaWQtZ3V0dGVyIC8gLTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZm9yIGZ1bGwtYmxlZWQgaXRlbXMsIHRoZSBuZWdhdGl2ZSBtYXJnaW4gY2F1c2VzIHRoZSBwYWdlIHRvIHNjcm9sbCwgc28gd2UgcmVtb3ZlIHRoaXMgaGFjayBmcm9tIG9ubHkgZnVsbC1ibGVlZCBlbGVtZW50c1xuICAgICAgICAuY29udGFpbmVyLS1mdWxsLWJsZWVkICYsXG4gICAgICAgIC5wYWdlLWJ1aWxkZXJfX3NlY3Rpb24tLWZ1bGwtYmxlZWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgKCRmbGV4LWdyaWQtZ3V0dGVyLS1tb2JpbGUgLyAyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyb3cgYW55IHJlbWFpbmRlcnNcbiAgICAmLS1ncm93IHtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1cHBvcnQgLmZsZXgtZ3JpZC0tW3NtYWxsLG1lZGl1bSxsYXJnZV0tWzEtMTJdXG4gICAgQGZvciAkY29sdW1ucyBmcm9tIDEgdGhyb3VnaCAkZmxleC1ncmlkLWNvbHVtbnMge1xuICAgICAgICAmLmZsZXgtZ3JpZC0tc21hbGwtI3skY29sdW1uc30ge1xuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBwZXJjZW50YWdlKDEgLyAkY29sdW1ucyk7XG5cbiAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEgLyAkY29sdW1ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgQGZvciAkY29sdW1ucyBmcm9tIDEgdGhyb3VnaCAkZmxleC1ncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgJi5mbGV4LWdyaWQtLW1lZGl1bS0jeyRjb2x1bW5zfSB7XG4gICAgICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogcGVyY2VudGFnZSgxIC8gJGNvbHVtbnMpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEgLyAkY29sdW1ucyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBAZm9yICRjb2x1bW5zIGZyb20gMSB0aHJvdWdoICRmbGV4LWdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAmLmZsZXgtZ3JpZC0tbGFyZ2UtI3skY29sdW1uc30ge1xuICAgICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHBlcmNlbnRhZ2UoMSAvICRjb2x1bW5zKTtcblxuICAgICAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRjb2x1bW5zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gSGlkZSB0aGUgY2hpbGRyZW4gdGhhdCBleGNlZWQgdGhlIG1heC1yb3dzXG4gICAgQGZvciAkbWF4LXJvd3MgZnJvbSAxIHRocm91Z2ggJGZsZXgtZ3JpZC1tYXgtcm93cy1saW1pdCB7XG4gICAgICAgIEBmb3IgJGNvbHVtbnMgZnJvbSAxIHRocm91Z2ggJGZsZXgtZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgICYuZmxleC1ncmlkLS1tYXgtcm93cy1zbWFsbC0jeyRtYXgtcm93c30uZmxleC1ncmlkLS1zbWFsbC0jeyRjb2x1bW5zfSA+KiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnBnZChtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQobisjeyRjb2x1bW5zICogJG1heC1yb3dzICsgMX0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBmb3IgJG1heC1yb3dzIGZyb20gMSB0aHJvdWdoICRmbGV4LWdyaWQtbWF4LXJvd3MtbGltaXQge1xuICAgICAgICBAZm9yICRjb2x1bW5zIGZyb20gMSB0aHJvdWdoICRmbGV4LWdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAmLmZsZXgtZ3JpZC0tbWF4LXJvd3MtbWVkaXVtLSN7JG1heC1yb3dzfS5mbGV4LWdyaWQtLW1lZGl1bS0jeyRjb2x1bW5zfSA+KiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnBleGFjdCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQobisjeyRjb2x1bW5zICogJG1heC1yb3dzICsgMX0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBmb3IgJG1heC1yb3dzIGZyb20gMSB0aHJvdWdoICRmbGV4LWdyaWQtbWF4LXJvd3MtbGltaXQge1xuICAgICAgICBAZm9yICRjb2x1bW5zIGZyb20gMSB0aHJvdWdoICRmbGV4LWdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAmLmZsZXgtZ3JpZC0tbWF4LXJvd3MtbGFyZ2UtI3skbWF4LXJvd3N9LmZsZXgtZ3JpZC0tbGFyZ2UtI3skY29sdW1uc30gPioge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChuKyN7JGNvbHVtbnMgKiAkbWF4LXJvd3MgKyAxfSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlcXVpcmVkIFRvb2xzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0ICd0b29scyc7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDdXN0b20gVGhlbWVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgJy4uL2Fzc2V0cy9zdHlsZXMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2Fzc2V0cy9zdHlsZXMvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuLi9hc3NldHMvc3R5bGVzL2dyaWQnO1xuQGltcG9ydCAnLi4vYXNzZXRzL3N0eWxlcy9wYWdlcyc7XG5AaW1wb3J0ICcuLi9hc3NldHMvc3R5bGVzL3otaW5kZXgnO1xuQGltcG9ydCAnLi4vYXNzZXRzL3N0eWxlcy9wcmludCc7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21wb25lbnQgTGlicmFyeSAodHJpbW1lZCB0byBvbmx5IGNvbXBvbmVudHMgdXNlZCBieSB0aGlzIHByb2plY3QpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBc3NldHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL2VsZW1lbnRzL3R5cG9ncmFwaHkvd3lzaXd5Zy93eXNpd3lnJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL2VsZW1lbnRzL2Zvcm1zL2Zvcm0nO1xuXG4vLyBDb250YWluZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICcuLi92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9jb250YWluZXJzL2NvbGxlY3Rpb25zL2Nzcy1ncmlkL2Nzcy1ncmlkJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL2NvbnRhaW5lcnMvY29sbGVjdGlvbnMvY3NzLWdyaWQvY3NzLWdyaWQtLWFjY29yZGlvbic7XG5AaW1wb3J0ICcuLi92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9jb250YWluZXJzL2NvbGxlY3Rpb25zL2ZsZXgtZ3JpZC9mbGV4LWdyaWQnO1xuXG5AaW1wb3J0ICcuLi92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9jb250YWluZXJzL2ludGVyZmFjZXMvY2Fyb3VzZWwvY2Fyb3VzZWwnO1xuQGltcG9ydCAnLi4vdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvY29udGFpbmVycy9pbnRlcmZhY2VzL2FjY29yZGlvbi9hY2NvcmRpb24nO1xuQGltcG9ydCAnLi4vdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvY29udGFpbmVycy9pbnRlcmZhY2VzL21vZGFsL21vZGFsJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL2NvbnRhaW5lcnMvaW50ZXJmYWNlcy90YWJzL3RhYnMnO1xuQGltcG9ydCAnLi4vdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvY29udGFpbmVycy9pbnRlcmZhY2VzL3RvZ2dsZS90b2dnbGUnO1xuXG4vLyBFbGVtZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi4vdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvZWxlbWVudHMvbWVkaWEvYmFja2dyb3VuZC1pbWFnZS9iYWNrZ3JvdW5kLWltYWdlJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL2VsZW1lbnRzL21lZGlhL3ZpZGVvLWJsb2NrL3ZpZGVvLWJsb2NrJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL2VsZW1lbnRzL3R5cG9ncmFwaHkvY29weS1ibG9jay9jb3B5LWJsb2NrJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL2VsZW1lbnRzL2lmcmFtZS9pZnJhbWUnO1xuXG5cblxuLy8gTGF5b3V0IEVsZW1lbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE9iamVjdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL29iamVjdHMvY2FyZC9jYXJkJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL29iamVjdHMvY29udGVudC1wYW5lbC9jb250ZW50LXBhbmVsJztcblxuLy8gU2l0ZSBFbGVtZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi4vdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9hbGVydHMvYWxlcnRzJztcblxuQGltcG9ydCAnLi4vdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9qdW1wLXRvL2p1bXAtdG8nO1xuQGltcG9ydCAnLi4vdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9uZXdzbGV0dGVyL25ld3NsZXR0ZXInO1xuQGltcG9ydCAnLi4vdmVuZG9yL2NvbXBvbmVudC1saWJyYXJ5L2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9zb2NpYWwvc29jaWFsJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvdGFncy90YWdzJztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvbWVudS9tZW51JztcbkBpbXBvcnQgJy4uL3ZlbmRvci9jb21wb25lbnQtbGlicmFyeS9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvbWVudS9tZW51LS1jb2xsYXBzZSc7XG5AaW1wb3J0ICcuLi92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9zaXRlLWVsZW1lbnRzL3NlYXJjaC9zZWFyY2gnO1xuXG4vLyBWZW5kb3IgQ29tcG9uZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFRlbXBsYXRlcyAvIFBhcnRpYWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICcuLi92ZW5kb3IvY29tcG9uZW50LWxpYnJhcnkvY29tcG9uZW50cy9wYWdlLWJ1aWxkZXIvcGFnZS1idWlsZGVyJztcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByb2plY3QgU3BlY2lmaWMgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCAnLi4vY29tcG9uZW50cy9jb250YWluZXJzL2ludGVyZmFjZXMvbW9kYWwvbW9kYWwnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9jb250YWluZXJzL2ludGVyZmFjZXMvY2Fyb3VzZWwvY2Fyb3VzZWwnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9jb250YWluZXJzL2ludGVyZmFjZXMvYWNjb3JkaW9uL2FjY29yZGlvbic7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2NvbnRhaW5lcnMvY29sbGVjdGlvbnMvY3NzLWdyaWQvY3NzLWdyaWQnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9wYWdlLWJ1aWxkZXIvX3BhZ2UtYnVpbGRlcic7XG5cbi8vIEVsZW1lbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2VsZW1lbnRzL2xpbmtzL2J1dHRvbi9idXR0b24nO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9lbGVtZW50cy9saW5rcy9idXR0b24vYnV0dG9uLS10ZXh0JztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvZWxlbWVudHMvZm9ybXMvZm9ybSc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2VsZW1lbnRzL3R5cG9ncmFwaHkvd3lzaXd5Zy93eXNpd3lnJztcblxuLy8gQXNzZXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExheW91dCBFbGVtZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi4vY29tcG9uZW50cy9sYXlvdXQtZWxlbWVudHMvc2l0ZS1oZWFkZXIvc2l0ZS1oZWFkZXInO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9sYXlvdXQtZWxlbWVudHMvc2l0ZS1oZWFkZXIvc2l0ZS1uYXZpZ2F0aW9uL3NpdGUtbmF2aWdhdGlvbic7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2xheW91dC1lbGVtZW50cy9zaXRlLWZvb3Rlci9zaXRlLWZvb3Rlcic7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2xheW91dC1lbGVtZW50cy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlcic7XG5cbi8vIE9iamVjdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvb2JqZWN0cy9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9vYmplY3RzL2Jhbm5lci1ibG9jay9iYW5uZXItYmxvY2snO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9vYmplY3RzL2NhcmQvY2FyZCc7XG5cbi8vIFNpdGUgRWxlbWVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9hbm5vdW5jZW1lbnQtYmFyL2Fubm91bmNlbWVudC1iYXInO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9zaXRlLWVsZW1lbnRzL3NlYXJjaC9zZWFyY2gnO1xuQGltcG9ydCAnLi4vY29tcG9uZW50cy9zaXRlLWVsZW1lbnRzL2NvdW50cnktc3dpdGNoL2NvdW50cnktc3dpdGNoJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9icmVhZGNydW1icy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL3NpdGUtZWxlbWVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJy4uL2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9tZW51L21lbnUtLWRyb3Bkb3duJztcblxuXG4vLyBDdXN0b20gQ29tcG9uZW50cyAvIFNlY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICcuLi9zZWN0aW9ucy9pbnRyby1ibG9jay9pbnRyby1ibG9jayc7XG5AaW1wb3J0ICcuLi9zZWN0aW9ucy9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwtc2VjdGlvbic7XG5AaW1wb3J0ICcuLi9zZWN0aW9ucy9jb250YWN0LXVzL2NvbnRhY3QtdXMtc2VjdGlvbic7XG5AaW1wb3J0ICcuLi9zZWN0aW9ucy9jYXJvdXNlbC9jYXJvdXNlbC1zZWN0aW9uJztcbkBpbXBvcnQgJy4uL3NlY3Rpb25zL3d5c2l3eWcvd3lzaXd5Zy1zZWN0aW9uJztcbkBpbXBvcnQgJy4uL3NlY3Rpb25zL2RyaXZlcnMvZHJpdmVycy1zZWN0aW9uJztcbkBpbXBvcnQgJy4uL3NlY3Rpb25zL25ld3MtZXZlbnRzL25ld3MtZXZlbnRzLXNlY3Rpb24nO1xuQGltcG9ydCAnLi4vc2VjdGlvbnMvbG9nby1ibG9jay9sb2dvLWJsb2NrLXNlY3Rpb24nO1xuQGltcG9ydCAnLi4vc2VjdGlvbnMvbWluaS1wYW5lbHMvbWluaS1wYW5lbHMtc2VjdGlvbic7XG5AaW1wb3J0ICcuLi9zZWN0aW9ucy9sYXJnZS10ZXh0LXdpdGgtaW1hZ2UvbGFyZ2UtdGV4dC13aXRoLWltYWdlLXNlY3Rpb24nO1xuQGltcG9ydCAnLi4vc2VjdGlvbnMvc2lnbi11cC1iYXIvc2lnbi11cC1iYXInO1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2Fyb3VzZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb21wb25lbnQgdXNlZCB0byBjcmVhdGUgYSBtb3ZpbmcgY2Fyb3VzZWwgLiBCYXNlIGNhcm91c2VsXG4vLyBzdHlsZXMgYXJlIHRoZW1lIGRlZmF1bHRzIGFuZCBpbmNsdWRlIGZ1bmN0aW9uYWwgc3R5bGVzIGZvciBhcnJvd3MgJiBkb3RzLlxuLy9cbi8vIENvbXBvbmVudCB1c2VzIHNsaWNrIEpTIGFuZCBiYXNlIFNDU1Ncbi8vIGh0dHA6Ly9rZW53aGVlbGVyLmdpdGh1Yi5pby9zbGljay9cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEltcG9ydHMgU2xpY2tcbkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjYXJvdXNlbC1hcnJvdy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcbiRjYXJvdXNlbC1hcnJvdy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtYXJyb3ctcGFkZGluZzogMTBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWRvdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kb3QtYmFja2dyb3VuZC1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kb3QtYm9yZGVyOiAycHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWRvdC1tYXJnaW46IDAgMTBweCAyMHB4IDAgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZG90LWhlaWdodDogMTZweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kb3Qtd2lkdGg6IDE2cHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1nYWxsZXJ5LWhlaWdodDogMzgwcHggIWRlZmF1bHQ7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNlIENhcm91c2VsIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlc2UgYXJlIGJhc2ljIHN0eWxlcyB0aGF0IGFsbCBjYXJvdXNlbHNcbi8vIGNvbnRhaW4uIFRoZXkgc3R5bGUgb3VyIGJhc2UgU2xpY2sgY2xhc3Nlcy5cbi5jYXJvdXNlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gSGlkZSBmb2N1cyBnbG93IG9uIGNhcm91c2Vsc1xuICAgIDpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQ2Fyb3VzZWwgYXJyb3cgc3R5bGVzXG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNhcm91c2VsLWFycm93LWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICRjYXJvdXNlbC1hcnJvdy1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6ICRjYXJvdXNlbC1hcnJvdy1wYWRkaW5nO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogJGFuaW07XG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LS1iYXNlLWNvbnRyb2xzO1xuXG4gICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY2Fyb3VzZWwtYXJyb3ctYm9yZGVyLXJhZGl1cyAwIDAgJGNhcm91c2VsLWFycm93LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICRjYXJvdXNlbC1hcnJvdy1ib3JkZXItcmFkaXVzICRjYXJvdXNlbC1hcnJvdy1ib3JkZXItcmFkaXVzIDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBTbGljayBiYXNlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDYXJvdXNlbCBkb3Qgc3R5bGVzXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46ICRjYXJvdXNlbC1kb3QtbWFyZ2luO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNhcm91c2VsLWRvdC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyOiAkY2Fyb3VzZWwtZG90LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGhlaWdodDogJGNhcm91c2VsLWRvdC1oZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6ICRjYXJvdXNlbC1kb3Qtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNhcm91c2VsLWRvdC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhbGxlcnkgQmFzZSBTdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5nYWxsZXJ5IHtcbiAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRjYXJvdXNlbC1nYWxsZXJ5LWhlaWdodDtcbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgWi1pbmRleFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHotaW5kZXgtLWJhc2U6ICAgICAgICAgICAgMTAwICFkZWZhdWx0O1xuJHotaW5kZXgtLWJhc2Utb3ZlcmxheTogICAgMzAwICFkZWZhdWx0O1xuJHotaW5kZXgtLWJhc2UtY29udHJvbHM6ICAgNTAwICFkZWZhdWx0O1xuJHotaW5kZXgtLWJhc2UtY29udGVudDogICAgNzAwICFkZWZhdWx0O1xuJHotaW5kZXgtLWhlYWRlcjogICAgICAgICAgOTAwICFkZWZhdWx0O1xuJHotaW5kZXgtLW5hdjogICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6LWluZGV4LS10b29sdGlwOlx0XHQgICAxNjAwICFkZWZhdWx0O1xuJHotaW5kZXgtLWxpZ2h0Ym94OiAgICAgICAgNTAwMCAhZGVmYXVsdDtcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIENvbGxhcHNpYmxlIGFjY29yZGlvbiBibG9jayB1c2VkIHRvIHJldmVhbCBleHRyYSBwcm9kdWN0IGluZm9ybWF0aW9uIHdoZW4gdGhlXG4vLyB1c2VyIGNsaWNrcyBhbiBpdGVtJ3MgaGVhZGVyIG9yIGV4cGFuZCBidXR0b24uXG4vL1xuLy8gUmVsYXRlZCBKUyBmaWxlOiBhY2NvcmRpb24vYWNjb3JkaW9uLmpzXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGFjY29yZGlvbi10cmFuc2l0aW9uOiBoZWlnaHQgLjNzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi1ib3R0b206IGdhcCgxLjUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1xdWVzdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcXVlc3Rpb24tbW9iaWxlLXBhZGRpbmc6IGdhcCgxKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcXVlc3Rpb24tcGFkZGluZzogZ2FwKDEpIGdhcCgxLjUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1hbnN3ZXItYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IGdhcCgxLjUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYWNjb3JkaW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmFjY29yZGlvbl9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFjY29yZGlvbi1pdGVtLW1hcmdpbi1ib3R0b207XG4gICAgdHJhbnNpdGlvbjogJGFjY29yZGlvbi10cmFuc2l0aW9uO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LXByaW1hcnk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLXF1ZXN0aW9uLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLXF1ZXN0aW9uLW1vYmlsZS1wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgJi5qcy1pcy1vcGVuIHtcblxuICAgICAgICAuYWNjb3JkaW9uX19pY29uLS1jbG9zZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY2NvcmRpb25fX2ljb24tLW9wZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLXF1ZXN0aW9uLXBhZGRpbmc7XG4gICAgfVxufVxuXG4uYWNjb3JkaW9uX19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246ICRhY2NvcmRpb24tdHJhbnNpdGlvbjtcblxuICAgIC5hY2NvcmRpb25fX2ljb24tLWNsb3NlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX19pY29uLS1vcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWFuc3dlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogJGFjY29yZGlvbi10cmFuc2l0aW9uO1xuXG4gICAgLmFjY29yZGlvbl9fY29udGVudF9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICAgIH1cblxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBPcGVuIEZpcnN0IChvcGVuX2ZpcnN0IHR3aWcgYXJndW1lbnQpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYWNjb3JkaW9uLS1vcGVuLWZpcnN0IHtcbiAgICAuYWNjb3JkaW9uX19pdGVtOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAuYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBJZiBKUyBpcyBkaXNhYmxlZCwgc2hvdyBhbGwgYWNjb3JkaW9uIGl0ZW1zXG4ubm8tanMge1xuICAgIC5hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1vZGFsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQSBtb2RhbCwgb3IgcG9wLXVwLCB0aGF0IGFwcGVhcnMgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gYW4gZWxlbWVudC5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb2RhbCAtIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG1vZGFsLWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb2xvcjogJHByaW1hcnktdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1vdmVybGF5LWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1vdmVybGF5LWJhY2tncm91bmQtb3BhY2l0eTogLjc1ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmc6ICRncmlkLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC16LWluZGV4OiAkei1pbmRleC0tbGlnaHRib3ggIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9kYWwgLSBCYXNlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVmYXVsdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1vZGFsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTAwO1xuICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgIGJhY2tncm91bmQ6IHBpbms7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm1vZGFsX19vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtb2RhbC1vdmVybGF5LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgIH1cbiAgICAmLm1vZGFsLS1vcGVuIHtcbiAgICAgICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgICAgICAubW9kYWxfX292ZXJsYXkge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgei1pbmRleDogY2FsYygjeyRtb2RhbC16LWluZGV4fSAtIDEpO1xuICAgICAgICAgICAgb3BhY2l0eTogJG1vZGFsLW92ZXJsYXktYmFja2dyb3VuZC1vcGFjaXR5O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJGFuaW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbF9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgY29sb3I6ICRtb2RhbC1jb2xvcjtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tncm91bmQtY29sb3I7XG4gICAgcGFkZGluZzogJG1vZGFsLXBhZGRpbmc7XG4gICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRncmlkLWd1dHRlcn0pO1xuICAgIHotaW5kZXg6ICR6LWluZGV4LS1saWdodGJveDtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogJG1vZGFsLXBhZGRpbmcgKiAyO1xuICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgfVxufVxuXG4ubW9kYWxfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9kYWxfX3RyaWdnZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBvbmVudDogVGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIEFsbG93cyBkeW5hbWljIHN3aXRjaCBvZiBjb250ZW50IHRhYnNcbi8vIFJlc291cmNlOiBodHRwOi8vY29kZXBlbi5pby9jc3Nqb2NrZXkvcGVuL2pHenVLXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0YWItYmFzZS1ib3JkZXItY29sb3I6ICNkY2RjZGMgIWRlZmF1bHQ7XG4kdGFiLWJhc2UtYm9yZGVyLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJHRhYi1iYXNlLWJhY2tncm91bmQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kdGFiLWJhc2Utc3BhY2luZzogMS41ZW0gIWRlZmF1bHQ7XG4kdGFiLWJvcmRlcjogMXB4IHNvbGlkICR0YWItYmFzZS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJGJhY2tncm91bmQtY29sb3IgICFkZWZhdWx0O1xuJHRhYi1hY3RpdmUtYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGFiLWluYWN0aXZlLWNvbG9yOiAkdGFiLWJhc2UtYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaW5hY3RpdmUtaG92ZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGFicyBTdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi50YWJzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBib3JkZXI6ICR0YWItYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICR0YWItYmFzZS1ib3JkZXItcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRhYi1iYXNlLXNwYWNpbmc7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxufVxuXG4udGFiIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIC50YWJfX2xpbmsge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkdGFiLWJhc2UtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0YWItYmFzZS1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQgLnRhYl9fbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkdGFiLWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAudGFiX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkdGFiLWJhc2UtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkdGFiLWJhc2UtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRhYl9fbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYi1pbmFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXItdG9wOiAkdGFiLWJvcmRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAoJHRhYi1iYXNlLXNwYWNpbmcgLyAyKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHRhYi1iYXNlLWJvcmRlci1yYWRpdXMgJHRhYi1iYXNlLWJvcmRlci1yYWRpdXMgMCAwO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRhYi0tYWN0aXZlICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFiLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlcjogJHRhYi1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdGFiLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50YWJfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogJHRhYi1iYXNlLXNwYWNpbmc7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgYm9yZGVyOiAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHRhYi1iYXNlLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkdGFiLWJhc2UtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0YWItYmFzZS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGFiLS1hY3RpdmUgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRvZ2dsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIEFsbG93cyBkeW5hbWljIHRvZ2dsaW5nIG9mIGNvbnRhaW5lZCBlbGVtZW50XG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0b2dnbGUtdHJhbnNpdGlvbjogJGFuaW0tLXNsb3cgIWRlZmF1bHQ7XG4kdG9nZ2xlLW1heC1oZWlnaHQ6IDk5OTlweCAhZGVmYXVsdDtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRvZ2dsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnRvZ2dsZV9fY29udHJvbCB7XG4gICAgbWFyZ2luOiBnYXAoMSkgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi50b2dnbGVfX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b2dnbGVfX2J1dHRvbi0tc2hvdyxcbi50b2dnbGUtZWxlbWVudC0tb3BlbiAudG9nZ2xlX19oaWRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b2dnbGUtZWxlbWVudC0tb3BlbiAudG9nZ2xlX19zaG93LFxuLnRvZ2dsZV9fYnV0dG9uLS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9nZ2xlX19jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiAkdG9nZ2xlLXRyYW5zaXRpb247XG59XG5cbi50b2dnbGUtZWxlbWVudC0tb3BlbiAudG9nZ2xlX19jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAkdG9nZ2xlLW1heC1oZWlnaHQ7XG4gICAgb3BhY2l0eTogMTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhY2tncm91bmQgSW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb250YWluZXIgY29tcG9uZW50IHRoYXQgYWxsb3dzIGltYWdlcyB0byBiZSBwbGFjZWQgYXMgdGhlIGJhY2tncm91bmQgb2Zcbi8vIG1hbnkgY29tcG9uZW50cyBpbiBvdXIgbGlicmFyeS5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJhY2tncm91bmQtaW1hZ2UtYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1pbWFnZS1jb250ZW50LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1pbWFnZS1jb250ZW50LWNvbG9yLXdpdGgtb3ZlcmxheTogJHdoaXRlICFkZWZhdWx0O1xuJGJhY2tncm91bmQtaW1hZ2Utb3ZlcmxheTogJGdyYWRpZW50ICFkZWZhdWx0O1xuJGJhY2tncm91bmQtaW1hZ2UtcG9zaXRpb246IDUwJSA1MCUgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1pbWFnZS10cmFuc2l0aW9uOiBvcGFjaXR5IC44cyBsaW5lYXIgIWRlZmF1bHQ7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYWNrZ3JvdW5kIEltYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaW1hZ2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkYmFja2dyb3VuZC1pbWFnZS1wb3NpdGlvbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuYmFja2dyb3VuZC1pbWFnZS0td2l0aC1vdmVybGF5OjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWltYWdlLW92ZXJsYXk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtLWJhc2Utb3ZlcmxheTtcbiAgICAgICAgdHJhbnNpdGlvbjogJGFuaW07XG4gICAgfVxuXG4gICAgJi5iYWNrZ3JvdW5kLWltYWdlLS1yZXBlYXQge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICAgfVxuXG4gICAgJi5sYXp5LXBhcmFsbGF4IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gVmlkZW9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLnZpZGVvLWJsb2NrIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC8vIFNob3cvSGlkZSB0aGUgdmlkZW8gd2hlbiBpdCdzIG5vdCBwbGF5aW5nXG4gICAgICAgIC8vIGkuZS4gd2hlbiB0aGUgdmlkZW8gc3RvcHMsIGZhZGUgb3V0IHRvIHRoZSBiYWNrZ3JvdW5kLWltYWdlXG4gICAgICAgIC52aWRlby1ibG9ja19fdmlkZW8ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRiYWNrZ3JvdW5kLWltYWdlLXRyYW5zaXRpb247XG5cbiAgICAgICAgICAgICYudmlkZW8tYmxvY2stLWlzLXBhdXNlZCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJhY2tncm91bmQtaW1hZ2VfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6ICR6LWluZGV4LS1iYXNlLWNvbnRlbnQ7XG5cbiAgICAvLyBUT0RPIHJlcGxhY2Ugd2l0aCBhbiBpbmNsdWRlIHRoYXQgYXBwbGllcyBkZWZhdWx0IGRhcmtlbmVkIHN0eWxlc1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZC1pbWFnZS1jb250ZW50LWNvbG9yO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZC1pbWFnZS1jb250ZW50LWNvbG9yO1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWltYWdlLS13aXRoLW92ZXJsYXkgJiB7XG4gICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZC1pbWFnZS1jb250ZW50LWNvbG9yLXdpdGgtb3ZlcmxheTtcbiAgICB9XG59XG5cbi5iYWNrZ3JvdW5kLWltYWdlLS1mbGV4LWhlaWdodCxcbi5iYWNrZ3JvdW5kLWltYWdlLS1mbGV4LWhlaWdodCAuYmFja2dyb3VuZC1pbWFnZV9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmlkZW8gQmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb250ZW50IGNvbXBvbmVudCB0aGF0IHBvc2l0aW9ucyBhIHZpZGVvIGluIGEgY3VzdG9tLXNpemVkIGJsb2NrLCBvciBpblxuLy8gdGhlIGZsZXgtcG9zaXRpb24gb3IgZmxleC1ncmlkLlxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdmlkZW8tYmxvY2stYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kdmlkZW8tYmxvY2stbWluLWhlaWdodDogMjI3cHg7XG4kdmlkZW8tYmxvY2stdGV4dC1zaGFkb3c6ICR0ZXh0LXNoYWRvdyAhZGVmYXVsdDtcbiR2aWRlby1ibG9jay1jb250cm9sLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdmlkZW8tYmxvY2stY29udHJvbC1wb3N0ZXItaWNvbi1zaXplOiA4MHB4ICFkZWZhdWx0O1xuJHZpZGVvLWJsb2NrLWNvbnRyb2wtcG9zdGVyLWljb24tc2l6ZS1kZXNrdG9wOiAxMjBweCAhZGVmYXVsdDtcbiR2aWRlby1ibG9jay1jb250cm9sLWhvdmVyLXNjYWxlLXJhdGlvOiAxLjEgIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmlkZW8gQmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi52aWRlby1ibG9jayB7XG4gICAgbWluLWhlaWdodDogJHZpZGVvLWJsb2NrLW1pbi1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHZpZGVvLWJsb2NrLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnZpZGVvLWJsb2NrX192aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5cbi8vIFB1c2ggVmlkZW8gLyBDb250cm9scyBiZWhpbmQgdGhlIFBvc3RlclxuLnZpZGVvLWJsb2NrLS1pcy1wb3N0ZXJlZCB7XG4gICAgLnZpZGVvLWJsb2NrX192aWRlbyxcbiAgICAudmlkZW8tYmxvY2tfX3ZpZGVvIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxufVxuXG4udmlkZW8tYmxvY2stLWlzLXBvc3RlcmVkIHtcbiAgICB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxufVxuXG5cbi8vIFB1c2ggdGhlIG5vbi1pbnRlcmFjdGl2ZSB2aWRlbyBiZWhpbmQgdGhlIFwiaW52aXNpYmxlIGNvdmVyXCJcbi52aWRlby1ibG9jay0taXMtbm90LWludGVyYWN0aXZlIHtcbiAgICAudmlkZW8tYmxvY2tfX3ZpZGVvLFxuICAgIC52aWRlby1ibG9ja19fdmlkZW8gaWZyYW1lLFxuICAgIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxufVxuXG5cblxuLy8gQWRkIGEgdHJhbnNwYXJlbnQgbGF5ZXIgb3ZlciBub24taW50ZXJhY3RpdmUgdmlkZW9zICh0byBibG9jayBjbGlja3MpXG4udmlkZW8tYmxvY2stLWlzLW5vdC1pbnRlcmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDApO1xufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmlkZW8gQmxvY2sgQ29udHJvbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi52aWRlby1ibG9ja19fY29udHJvbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJHZpZGVvLWJsb2NrLWNvbnRyb2wtY29sb3I7XG5cbiAgICBzdmcuaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgIH1cblxuICAgICY6aG92ZXIgc3ZnLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCR2aWRlby1ibG9jay1jb250cm9sLWhvdmVyLXNjYWxlLXJhdGlvKTtcbiAgICAgICAgdHJhbnNpdGlvbjogJGFuaW07XG4gICAgfVxufVxuXG4udmlkZW8tYmxvY2tfX2NvbnRyb2xzLWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogJGdyaWQtZ3V0dGVyLS1tb2JpbGU7XG4gICAgcmlnaHQ6ICRncmlkLWd1dHRlci0tbW9iaWxlO1xuICAgIHRleHQtc2hhZG93OiAkdmlkZW8tYmxvY2stdGV4dC1zaGFkb3c7XG4gICAgei1pbmRleDogJHotaW5kZXgtLWJhc2UtY29udHJvbHM7XG5cbiAgICAudmlkZW8tYmxvY2tfX2NvbnRyb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBib3R0b206ICRncmlkLWd1dHRlcjtcbiAgICAgICAgcmlnaHQ6ICRncmlkLWd1dHRlcjtcbiAgICB9XG5cblxuICAgIC8vIE1vdmUgdGhlIGNvbnRyb2wgYmFyIHRvIHRoZSBsZWZ0XG4gICAgJi52aWRlby1ibG9ja19fY29udHJvbHMtYmFyLS1sZWZ0IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDIwcHg7XG5cbiAgICAgICAgLnZpZGVvLWJsb2NrX19jb250cm9sIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogJGdyaWQtZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udmlkZW8tYmxvY2tfX2NvbnRyb2xzLXBvc3RlciB7XG4gICAgZGlzcGxheTogbm9uZTsgLy8gSGlkZGVuIHVubGVzcyB0aGUgcG9zdGVyIGlzIHZpc2libGVcblxuICAgIC52aWRlby1ibG9ja19fY29udHJvbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHN2Zy5pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgaGVpZ2h0OiAkdmlkZW8tYmxvY2stY29udHJvbC1wb3N0ZXItaWNvbi1zaXplO1xuICAgICAgICB3aWR0aDogJHZpZGVvLWJsb2NrLWNvbnRyb2wtcG9zdGVyLWljb24tc2l6ZTtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIGhlaWdodDogJHZpZGVvLWJsb2NrLWNvbnRyb2wtcG9zdGVyLWljb24tc2l6ZS1kZXNrdG9wO1xuICAgICAgICAgICAgd2lkdGg6ICR2aWRlby1ibG9jay1jb250cm9sLXBvc3Rlci1pY29uLXNpemUtZGVza3RvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIgc3ZnLmljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICB3aWR0aDogJHZpZGVvLWJsb2NrLWNvbnRyb2wtcG9zdGVyLWljb24tc2l6ZSAqICR2aWRlby1ibG9jay1jb250cm9sLWhvdmVyLXNjYWxlLXJhdGlvO1xuICAgICAgICBoZWlnaHQ6ICR2aWRlby1ibG9jay1jb250cm9sLXBvc3Rlci1pY29uLXNpemUgKiAkdmlkZW8tYmxvY2stY29udHJvbC1ob3Zlci1zY2FsZS1yYXRpbztcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIHdpZHRoOiAkdmlkZW8tYmxvY2stY29udHJvbC1wb3N0ZXItaWNvbi1zaXplLWRlc2t0b3AgKiAkdmlkZW8tYmxvY2stY29udHJvbC1ob3Zlci1zY2FsZS1yYXRpbztcbiAgICAgICAgICAgIGhlaWdodDogJHZpZGVvLWJsb2NrLWNvbnRyb2wtcG9zdGVyLWljb24tc2l6ZS1kZXNrdG9wICogJHZpZGVvLWJsb2NrLWNvbnRyb2wtaG92ZXItc2NhbGUtcmF0aW87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNwbGF5IHBvc3RlciBjb250cm9scyB3aGVuIHBvc3RlciBpcyB2aXNpYmxlXG4gICAgLnZpZGVvLWJsb2NrLS1pcy1wb3N0ZXJlZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG5cblxuLnZpZGVvLWJsb2NrX19jb250cm9sLS1wYXVzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLnZpZGVvLWJsb2NrLS1pcy1wYXVzZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4udmlkZW8tYmxvY2tfX2NvbnRyb2wtLXBsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAudmlkZW8tYmxvY2stLWlzLXBhdXNlZCAmIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLnZpZGVvLWJsb2NrX19jb250cm9sLS11bm11dGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAudmlkZW8tYmxvY2stLWlzLW11dGVkICYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4udmlkZW8tYmxvY2tfX2NvbnRyb2wtLW11dGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC52aWRlby1ibG9jay0taXMtbXV0ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gaWZyYW1lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gRW1iZWRkZWQgSWZyYW1lc1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gaWZyYW1lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaWZyYW1lIGlmcmFtZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmllMTEgJiB7XG4gICAgICAgIGh0bWwsXG4gICAgICAgIGJvZHkge1xuICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXJkIC0tIERlZmF1bHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBBIGNhcmQgY29tcG9uZW50LCB3aGljaCBjYW4gYmUgaW50ZWdyYXRlZCBhcyBhIGNvbGxlY3Rpb24gd2l0aGluIHRoZSBjc3MtZ3JpZFxuLy8gb3IgZmxleC1ncmlkIGNvbXBvbmVudHMgdG8gY3JlYXRlIGNvbnRlbnQgZHJpdmVycy5cbi8vXG4vLyBEZWZhdWx0IGNhcmQgc3R5bGVzIG1hdGNoIG1vc3QgY2xvc2VseSB3aXRoIGEgd2lyZWZyYW1laW5nIGV4YW1wbGUgb2YgY2FyZHMsXG4vLyB3aXRoIGFuIGltYWdlLCB0aXRsZSwgZGVzY3JpcHRpb24sIGFuZCBidXR0b24gaW5oZXJpdGluZyBjb3JlIHN0eWxlcy5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNhcmQtYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyOiAkYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtY29udGVudC1wYWRkaW5nOiAkZ3JpZC1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXJkIC0tIEJhc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZXJlIGFyZSBubyBiYXNlIHN0eWxlcyB0byBvdmVycmlkZTtcbi8vIGFsbG93cyBmb3IgZWFzaWVyIHZhcmlhbnQgc3R5bGluZy5cbi5jYXJkIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jYXJkX19mZWF0dXJlLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNiwgOSk7XG59XG5cbi5jYXJkX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXJkIC0tIERlZmF1bHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jYXJkLS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogJGNhcmQtYm9yZGVyO1xuXG4gICAgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAkY2FyZC1jb250ZW50LXBhZGRpbmc7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29udGVudCBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb250ZW50IHNlY3Rpb25zIGluIGJsb2Nrcywgc2lkZSBieSBzaWRlIHdpdGggbWVkaWEuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb250ZW50LXBhbmVsLWNvbnRlbnQtYmFja2dyb3VuZDogJGJhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kY29udGVudC1wYW5lbC1jb250ZW50LXBhZGRpbmc6ICRncmlkLWd1dHRlciAhZGVmYXVsdDtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbnRlbnQgUGFuZWwgLS0gQmFzZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNvbnRlbnQtcGFuZWwge1xuXG4gICAgLmJhY2tncm91bmQtaW1hZ2UtLWNvbnRlbnQtcGFuZWwge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTYsIDkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5jb250ZW50LXBhbmVsX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29udGVudC1wYW5lbC1jb250ZW50LWJhY2tncm91bmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGNvbnRlbnQtcGFuZWwtY29udGVudC1wYWRkaW5nO1xufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29udGVudCBQYW5lbCAtLSBTcGxpdCAoRGVmYXVsdClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jb250ZW50LXBhbmVsLS1zcGxpdCB7XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgLmNvbnRlbnQtcGFuZWxfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtcGFuZWxfX2NvbnRlbnQge1xuICAgICAgICAgICAgZmxleDogMCAxIDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LXBhbmVsX19mZWF0dXJlIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduLWxlZnQge1xuICAgICAgICAgICAgLmNvbnRlbnQtcGFuZWxfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudC1wYW5lbF9fZmVhdHVyZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgICAgICAgIC5jb250ZW50LXBhbmVsX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRlbnQtcGFuZWxfX2ZlYXR1cmUge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQWxsIGFsZXJ0IGFsZXJ0IGhhbmRsaW5nLCBmb3Igc3VjY2VzcywgZXJyb3IsIHdhcm5pbmcsIGFuZCBkZWZhdWx0IHN0YXRlc1xuLy8gZm9yIFdvcmRwcmVzcyBhbmQgTWFnZW50by5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGFsZXJ0cy1zdWNjZXNzLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRhbGVydHMtZXJyb3ItY29sb3I6ICRlcnJvci1jb2xvciAhZGVmYXVsdDtcbiRhbGVydHMtd2FybmluZy1jb2xvcjogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnRzLWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRhbGVydHMtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5hbGVydHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMTYpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFsZXJ0c19fbWVzc2FnZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICYuYWxlcnRzLS1ncm91cGVkIC5hbGVydHNfX3R5cGUsXG4gICAgJi5hbGVydHMtLXNpbmdsZSAuYWxlcnRzX19tZXNzYWdlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGFsZXJ0cy1ib3JkZXItcmFkaXVzO1xuICAgICAgICBtYXJnaW46IGdhcCgxKSAwO1xuICAgICAgICBwYWRkaW5nOiBnYXAoMSk7XG4gICAgfVxuXG4gICAgJi5hbGVydHMtLWdyb3VwZWQgLmFsZXJ0c19fdHlwZS0tc3VjY2VzcyxcbiAgICAmLmFsZXJ0cy0tc2luZ2xlIC5hbGVydHNfX3R5cGUtLXN1Y2Nlc3MgLmFsZXJ0c19fbWVzc2FnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhbGVydHMtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFsZXJ0cy1zdWNjZXNzLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGFsZXJ0cy1zdWNjZXNzLWNvbG9yO1xuICAgIH1cblxuICAgICYuYWxlcnRzLS1ncm91cGVkIC5hbGVydHNfX3R5cGUtLWVycm9yLFxuICAgICYuYWxlcnRzLS1zaW5nbGUgLmFsZXJ0c19fdHlwZS0tZXJyb3IgLmFsZXJ0c19fbWVzc2FnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhbGVydHMtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFsZXJ0cy1lcnJvci1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRhbGVydHMtZXJyb3ItY29sb3I7XG4gICAgfVxuXG4gICAgJi5hbGVydHMtLWdyb3VwZWQgLmFsZXJ0c19fdHlwZS0td2FybmluZyxcbiAgICAmLmFsZXJ0cy0tc2luZ2xlIC5hbGVydHNfX3R5cGUtLXdhcm5pbmcgLmFsZXJ0c19fbWVzc2FnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhbGVydHMtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFsZXJ0cy13YXJuaW5nLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGFsZXJ0cy13YXJuaW5nLWNvbG9yO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEp1bXAtVG9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb21wb25lbnQgdXNlZCBmb3IgaW50ZXJhbCBwYWdlIG5hdmlnYXRpb24sIHdpdGggc2Vjb25kYXJ5IGV4dGVybmFsIGxpbmtcbi8vIGZ1bmN0aW9uYWxpdHkuIEZvciB1c2Ugd2l0aCB0aGUgcGFnZSBidWlsZGVyIHRvIGxpbmsgc2VjdGlvbnMuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRqdW1wLXRvLWJvcmRlcjogJGJvcmRlci0tbGlnaHQgIWRlZmF1bHQ7XG4kanVtcC10by1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRqdW1wLXRvLWhlaWdodDogNDZweCAhZGVmYXVsdDtcbiRqdW1wLXRvLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGp1bXAtdG8tZXh0ZXJuYWwtbGluay1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRqdW1wLXRvLXRyYW5zaXRpb246ICRhbmltLS1zbG93ICFkZWZhdWx0O1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSnVtcC1Ub1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmp1bXAtdG8ge1xuICAgIGJvcmRlcjogJGp1bXAtdG8tYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRqdW1wLXRvLWJvcmRlci1yYWRpdXM7XG4gICAgaGVpZ2h0OiAkanVtcC10by1oZWlnaHQ7XG4gICAgbWFyZ2luOiBnYXAoMykgMDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBPcGVuIGZ1bmN0aW9uYWxpdHlcbiAgICAmLmp1bXAtdG8tLW9wZW4ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246ICRqdW1wLXRvLXRyYW5zaXRpb247XG5cbiAgICAgICAgLmp1bXAtdG9fX2l0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGp1bXAtdG8tYm9yZGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5qdW1wLXRvX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBnYXAoMSk7XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgZ2FwKDMpIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uanVtcC10b19fbGluayB7XG4gICAgY29sb3I6ICRqdW1wLXRvLWxpbmstY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLmp1bXAtdG9fX2xpbmstLWV4dGVybmFsIHtcbiAgICAgICAgY29sb3I6ICRqdW1wLXRvLWV4dGVybmFsLWxpbmstY29sb3I7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2l0ZSBOZXdzbGV0dGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmV3c2xldHRlci1oZWlnaHQ6IDQ0cHggIWRlZmF1bHQ7XG4kbmV3c2xldHRlci1idXR0b24td2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVmYXVsdCBTZWFyY2hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uZXdzbGV0dGVyLS1kZWZhdWx0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5mb3JtLS1uZXdzbGV0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXJfX2lucHV0LFxuICAgIC5uZXdzbGV0dGVyX19zdWJtaXQge1xuICAgICAgICBoZWlnaHQ6ICRuZXdzbGV0dGVyLWhlaWdodDtcbiAgICB9XG5cblxuICAgIC8vIE5ld3NsZXR0ZXIgSW5wdXQgV3JhcHBlclxuICAgIC5mb3JtX19maWVsZC0tZW1haWwge1xuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG5ld3NsZXR0ZXItYnV0dG9uLXdpZHRofSk7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybV9fbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTmV3c2xldHRlciBTdWJtaXQgQnV0dG9uIFdyYXBwZXJcbiAgICAuZm9ybV9fZmllbGQtLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogJG5ld3NsZXR0ZXItYnV0dG9uLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NsZXR0ZXJfX3N1Ym1pdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNvY2lhbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIFNpbXBsZSBsaXN0IHdpdGggc3R5bGVzIGZvciBpY29ucyBmb3Igc29jaWFsIG1lZGlhLiBUV0lHIGNvbnRhaW5zXG4vLyBicmFuZC1zcGVjaWZpYyByZWZlcmVuY2UgbGlua3MsIHRvIGJlIHVzZWQgZm9yIGJyYW5kLXNwZWNpZmljIGNvbG91cnMuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzb2NpYWwtbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc29jaWFsLWF1dGhvci1saW5rLWNvbG9yOiAkY2FwdGlvbi10ZXh0LWNvbG9yICFkZWZhdWx0O1xuJHNvY2lhbC1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzb2NpYWwtYm9yZGVyOiAwICFkZWZhdWx0O1xuJHNvY2lhbC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kc29jaWFsLWl0ZW0tbWFyZ2luOiAwIGdhcCgyKSAwIDAgIWRlZmF1bHQ7XG4kc29jaWFsLWl0ZW0tcGFkZGluZzogMCAhZGVmYXVsdDtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTb2NpYWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zb2NpYWwge1xuICAgIG1hcmdpbjogJHNvY2lhbC1tYXJnaW47XG59XG5cbi5zb2NpYWxfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5zb2NpYWxfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46ICRzb2NpYWwtaXRlbS1tYXJnaW47XG59XG5cbi5zb2NpYWxfX2xpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XG4gICAgYmFja2dyb3VuZDogJHNvY2lhbC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogJHNvY2lhbC1ib3JkZXI7XG4gICAgY29sb3I6ICRzb2NpYWwtbGluay1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkc29jaWFsLWl0ZW0tcGFkZGluZztcbiAgICB0cmFuc2l0aW9uOiAkYW5pbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRzb2NpYWwtbGluay1jb2xvciwgMTAlKTtcbiAgICB9XG5cbiAgICAuc29jaWFsLS1hdXRob3IgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRzb2NpYWwtYXV0aG9yLWxpbmstY29sb3I7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRzb2NpYWwtYXV0aG9yLWxpbmstY29sb3IsIDEwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUYWdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gVEJEOiBjb21iaW5lIHdpdGggYnV0dG9ucyBhbmQgZXhwYW5kIG9uIGxpbmstbGlzdCBjb21wb25lbnRcbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHRhZy1pdGVtLW1hcmdpbjogMCBnYXAoMSkgZ2FwKDEpIDAgIWRlZmF1bHQ7XG4kdGFnLWxpc3QtbWFyZ2luOiBnYXAoMykgMCBnYXAoMSkgIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGFnc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhZy1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogJHRhZy1saXN0LW1hcmdpbjtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udGFnLWxpc3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46ICR0YWctaXRlbS1tYXJnaW47XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gTmF2aWdhdGlvbiBwYXR0ZXJucyBmb3IgdGhlIHNpdGU7IHRoZSBkZWZhdWx0IGZ1bmN0aW9uYWxpdHkgaXMgc2ltcGx5IHRvIHBhcmVcbi8vIHRoZSBjb21wb25lbnQgZG93biB0byBpdHMgbW9zdCBiYXNlIHN0eWxlcy4gTGV2ZXJhZ2UgYWRkaXRpb25hbCB2YXJpYW50cyB0b1xuLy8gcG93ZXIgdXAgdGhlIG1lbnUgaW50byBtb3JlIGNvbXBsZXggcGF0dGVybnMuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtZW51LWJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuJG1lbnUtaXRlbS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kbWVudS1saW5rLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG1lbnUtbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kbWVudS1saW5rLXBhZGRpbmc6ICRncmlkLWd1dHRlci8yICRncmlkLWd1dHRlciAhZGVmYXVsdDsgLy8gdXNlIHBhZGRpbmcgYmVjYXVzZSBtZW51IGl0ZW1zIGNhbiBoYXZlIGJhY2tncm91bmRzXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZW51X19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubWVudV9faXRlbSB7XG4gICAgbWFyZ2luOiAkbWVudS1pdGVtLW1hcmdpbjtcbn1cblxuLm1lbnVfX2xpbmsge1xuICAgIGNvbG9yOiAkbWVudS1saW5rLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tZW51X190aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lbnUgLS0gRGVmYXVsdFxuLy9cbi8vIERlZmF1bHRzIHRvIGEgaG9yaXpvbnRhbCBmbG93IHR5cGljYWxcbi8vIG9mIG1vc3Qgc2l0ZSBtZW51cy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tZW51LS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgLm1lbnVfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9fbGluayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWxpbmstYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogJG1lbnUtbGluay1wYWRkaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiAkYW5pbTtcbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZW51IC0tIENvbGxhcHNlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQ29tcG9uZW50IHVzZWQgZm9yIGludGVyYWwgcGFnZSBuYXZpZ2F0aW9uLCB3aXRoIHNlY29uZGFyeSBleHRlcm5hbCBsaW5rXG4vLyBmdW5jdGlvbmFsaXR5LiBGb3IgdXNlIHdpdGggdGhlIHBhZ2UgYnVpbGRlciB0byBsaW5rIHNlY3Rpb25zLiBJbmhlcml0c1xuLy8gZnJvbSBtZW51LlxuLy9cbi8vIEBpbXBvcnQgJ2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9tZW51L21lbnUnO1xuLy8gQGltcG9ydCAnY29tcG9uZW50cy9zaXRlLWVsZW1lbnRzL21lbnUvbWVudS0tY29sbGFwc2UnO1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVudS1jb2xsYXBzZS1ib3JkZXI6ICRib3JkZXIgIWRlZmF1bHQ7XG4kbWVudS1jb2xsYXBzZS1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJG1lbnUtY29sbGFwc2UtaGVpZ2h0OiBjYWxjKDFlbSArICgjeyRtZW51LWNvbGxhcHNlLXBhZGRpbmd9ICogMikgKyA1cHgpICFkZWZhdWx0O1xuJG1lbnUtY29sbGFwc2UtdHJhbnNpdGlvbjogJGFuaW0gIWRlZmF1bHQ7XG4kbWVudS1jb2xsYXBzZS1leHRlcm5hbC1saW5rLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gbWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1lbnUtLWNvbGxhcHNlIHtcbiAgICBib3JkZXI6ICRtZW51LWNvbGxhcHNlLWJvcmRlcjtcbiAgICBoZWlnaHQ6ICRtZW51LWNvbGxhcHNlLWhlaWdodDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLmljb24gIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPcGVuIGZ1bmN0aW9uYWxpdHlcbiAgICAmLm1lbnUtLW9wZW4ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246ICRtZW51LWNvbGxhcHNlLXRyYW5zaXRpb247XG5cbiAgICAgICAgLm1lbnVfX2l0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG1lbnUtY29sbGFwc2UtYm9yZGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogJG1lbnUtY29sbGFwc2UtcGFkZGluZztcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtZ3V0dGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9fbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm1lbnVfX2l0ZW0tLWV4dGVybmFsIHtcbiAgICAgICAgY29sb3I6ICRtZW51LWNvbGxhcHNlLWV4dGVybmFsLWxpbmstY29sb3I7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQ29udGFpbnMgc3R5bGVzIGZvciB0aGUgc2VhcmNoIHJlc3VsdHMgcGFnZSBhbmQgdGhlIHR3byB2YXJpYW50IHNlYXJjaFxuLy8gYmFycyAoaGVhZGVyLCA0MDQpXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzZWFyY2gtYm94LWhlaWdodDogNDRweCAhZGVmYXVsdDtcbiRzZWFyY2gtYm94LWJ1dHRvbi13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWJveC10cmFuc2l0aW9uOiAkYW5pbSAhZGVmYXVsdDtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERlZmF1bHQgU2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2VhcmNoLWJveC0tZGVmYXVsdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuZm9ybS0tc2VhcmNoIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLnNlYXJjaF9faW5wdXQsXG4gICAgLnNlYXJjaF9fc3VibWl0IHtcbiAgICAgICAgaGVpZ2h0OiAkc2VhcmNoLWJveC1oZWlnaHQ7XG4gICAgfVxuXG5cbiAgICAvLyBTZWFyY2ggV3JhcHBlclxuICAgIC5mb3JtX19maWVsZC0tc2VhcmNoIHtcbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzZWFyY2gtYm94LWJ1dHRvbi13aWR0aH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm1fX2xhYmVsLFxuICAgICAgICAuc2VhcmNoX19pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIEJ1dHRvbiBXcmFwcGVyXG4gICAgLmZvcm1fX2ZpZWxkLS1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6ICRzZWFyY2gtYm94LWJ1dHRvbi13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2hfX3N1Ym1pdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlYWRlciBTZWFyY2hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zZWFyY2gtYm94LS1oZWFkZXIge1xuICAgIC5mb3JtX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNlYXJjaF9faWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuZm9ybV9fZWxlbWVudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDI1cHg7IC8vIGV4YWN0IGZvciBpY29uIHNwYWNlXG4gICAgfVxuXG4gICAgLnNlYXJjaF9faW5wdXQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAkc2VhcmNoLWJveC10cmFuc2l0aW9uO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgLmZvcm1fX2VsZW1lbnQge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoX19pbnB1dCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJlZGljdGl2ZSBTZWFyY2ggUmVzdWx0cyBCb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQXVnIDA5IDIwMTcgLSBDb2xlXG4vLyBBZnRlciByZWZhY3RvcmluZyBGb3Jta2l0LCB0aGlzIGlzXG4vLyBvdXQgb2YgZGF0ZSBhbmQgbmVlZHMgdG8gYmUgY2xlYW5lZC5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNlYXJjaC1wcmVkaWN0aW9ucy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiRzZWFyY2gtcHJlZGljdGlvbnMtbWFyZ2luLWJvdHRvbTogZ2FwKDYpO1xuJHNlYXJjaC1wcmVkaWN0aW9ucy16LWluZGV4OiAkei1pbmRleC0tYmFzZS1jb250cm9scztcbiRzZWFyY2gtcHJlZGljdGlvbnMtYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuJHNlYXJjaC1wcmVkaWN0aW9ucy1ib3JkZXI6ICRib3JkZXI7XG4kc2VhcmNoLXByZWRpY3Rpb25zLXdyYXBwZXItcGFkZGluZzogZ2FwKDEpO1xuJHNlYXJjaC1wcmVkaWN0aW9ucy1zZWxlY3RlZC1pdGVtLWJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHNlYXJjaC1wcmVkaWN0aW9ucy1zZWxlY3RlZC1pdGVtLWNvbG9yOiAkd2hpdGU7XG4kc2VhcmNoLXByZWRpY3Rpb25zLWltYWdlLXBhZGRpbmctcmlnaHQ6IGdhcCgyKTtcbiRzZWFyY2gtcHJlZGljdGlvbnMtaW1hZ2UtaGVpZ2h0OiA2MHB4O1xuJHNlYXJjaC1wcmVkaWN0aW9ucy1pbWFnZS1mbGV4OiAxIDAgMjAlO1xuJHNlYXJjaC1wcmVkaWN0aW9ucy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRzZWFyY2gtcHJlZGljdGlvbnMtZGVzYy1jb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiRzZWFyY2gtcHJlZGljdGlvbnMtY29udGVudC1mbGV4OiAxIDAgODAlO1xuXG5cblxuLnNlYXJjaC1ib3gtLXByZWRpY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlYXJjaC1ib3hfX3ByZWRpY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAkc2VhcmNoLXByZWRpY3Rpb25zLWJvcmRlcjtcbiAgICBib3JkZXItcmlnaHQ6ICRzZWFyY2gtcHJlZGljdGlvbnMtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzZWFyY2gtcHJlZGljdGlvbnMtYm9yZGVyLXJhZGl1cztcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRzZWFyY2gtcHJlZGljdGlvbnMtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRvcDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAkc2VhcmNoLXByZWRpY3Rpb25zLXotaW5kZXg7XG5cbiAgICAucHJlZGljdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtcHJlZGljdGlvbnMtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNlYXJjaC1wcmVkaWN0aW9ucy1ib3JkZXI7XG5cbiAgICAgICAgLnByZWRpY3Rpb25fX3dyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc2VhcmNoLXByZWRpY3Rpb25zLXdyYXBwZXItcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1wcmVkaWN0aW9ucy1zZWxlY3RlZC1pdGVtLWJhY2tncm91bmQtY29sb3I7XG5cbiAgICAgICAgICAgIC5wcmVkaWN0aW9uX190aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWFyY2gtcHJlZGljdGlvbnMtc2VsZWN0ZWQtaXRlbS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmVkaWN0aW9uX19pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNlYXJjaC1wcmVkaWN0aW9ucy1pbWFnZS1wYWRkaW5nLXJpZ2h0O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRzZWFyY2gtcHJlZGljdGlvbnMtaW1hZ2UtaGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4OiAkc2VhcmNoLXByZWRpY3Rpb25zLWltYWdlLWZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJlZGljdGlvbl9fY29udGVudCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlYXJjaC1wcmVkaWN0aW9ucy1pdGVtLWNvbG9yO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgZmxleDogJHNlYXJjaC1wcmVkaWN0aW9ucy1jb250ZW50LWZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJlZGljdGlvbl9fZGVzYyB7XG4gICAgICAgICAgICBjb2xvcjogJHNlYXJjaC1wcmVkaWN0aW9ucy1kZXNjLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBhZ2UgQnVpbGRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIE1haW4gY29udGVudCBhcmVhIG9uIGN1c3RvbSBwYWdlIHR5cGVzLCBhbGxvd2luZyBmb3IgbWl4LWFuZC1tYXRjaCB1c2Ugb2Zcbi8vIG1vc3QgY29tcG9uZW50cy4gQ29udGFpbnMgc3R5bGVzIGZvciBzZWN0aW9uYWwgc2VwYXJhdGlvbiBlbGVtZW50cyBhbmRcbi8vIHBhZ2Ugc3BlY2lmaWMgb3ZlcnJpZGVzLlxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcGFnZS1idWlsZGVyLXNlY3Rpb24tZ2FwOiBnYXAoNSkgIWRlZmF1bHQ7XG4kcGFnZS1idWlsZGVyLWRpdmlkZXItYm9yZGVyOiAkYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBhZ2UgQnVpbGRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2UtYnVpbGRlcl9fc2VjdGlvbiB7XG4gICAgJi5wYWdlLWJ1aWxkZXJfX3NlY3Rpb24tLWZ1bGwtYmxlZWQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLnBhZ2UtYnVpbGRlcl9fc2VjdGlvbi0tZ2FwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWdlLWJ1aWxkZXItc2VjdGlvbi1nYXA7XG4gICAgfVxuXG4gICAgJi5wYWdlLWJ1aWxkZXJfX3NlY3Rpb24tLW5vLWdhcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYucGFnZS1idWlsZGVyX19zZWN0aW9uLS1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHBhZ2UtYnVpbGRlci1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhZ2UtYnVpbGRlci1zZWN0aW9uLWdhcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWdlLWJ1aWxkZXItc2VjdGlvbi1nYXA7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9kYWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBBIG1vZGFsLCBvciBwb3AtdXAsIHRoYXQgYXBwZWFycyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhbiBlbGVtZW50LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTW9kYWwgLS0gVmlkZW8gTW9kYWwgZm9yIENvbnRlbnQgUGFuZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNvbnRlbnQtcGFuZWwtLXZpZGVvLW1vZGFsIHtcbiAgICAuY29udGVudC1wYW5lbF9fZmVhdHVyZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubW9kYWxfX3RyaWdnZXIge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3BsYXktaWNvbi5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDU3cHggNTdweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDkycHggOTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLm1vZGFsLS12aWRlby1tb2RhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLm1vZGFsLS1vcGVuICB7XG4gICAgICAgIC5tb2RhbF9fcG9wdXAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWxfX292ZXJsYXkge1xuICAgICAgICAgICAgb3BhY2l0eTogMC45NTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbF9fY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgdG9wOiAtNTBweDtcbiAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsX19wb3B1cCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgLm1vZGFsX19jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDkwJSAtIDgwcHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDI0cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxODBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52aWRlby1ibG9jayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZpZGVvLWJsb2NrX192aWRlbyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS5idXR0b24tLXByaW1hcnkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC01N3B4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBnYXAoMSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogZ2FwKDIpIGdhcCgzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52aWRlby1ibG9jayB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2Fyb3VzZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb21wb25lbnQgdXNlcyBzbGljayBKUyBhbmQgYmFzZSBTQ1NTXG4vLyBodHRwOi8va2Vud2hlZWxlci5naXRodWIuaW8vc2xpY2svXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXJvdXNlbCAtLSBEZWZhdWx0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2Fyb3VzZWwge1xuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmc6IGdhcCgyLjEpIGdhcCgxLjEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLXByZXYsXG4gICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIC43KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXNlY3Rpb24tLW9yYW5nZSAmIHtcbiAgICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIC43KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcm91c2VsIC0tIExvZ28gQmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcm91c2VsLS1sb2dvIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLWdhcDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICRncmlkLWd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay10cmFjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmxvZ28tY2Fyb3VzZWxfX2xvZ28taW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwxKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAgLy9hZGRlZCB0byBvdmVycmlkZSBzbGljayBzdHlsZXNcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIENvbGxhcHNpYmxlIGFjY29yZGlvbiBibG9jayB1c2VkIHRvIHJldmVhbCBleHRyYSBwcm9kdWN0IGluZm9ybWF0aW9uIHdoZW4gdGhlXG4vLyB1c2VyIGNsaWNrcyBhbiBpdGVtJ3MgaGVhZGVyIG9yIGV4cGFuZCBidXR0b24uXG4vL1xuLy8gUmVsYXRlZCBKUyBmaWxlOiBhY2NvcmRpb24vYWNjb3JkaW9uLmpzXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFjY29yZGlvbiBTZWN0aW9uIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2Utc2VjdGlvbi0tYWNjb3JkaW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBwYWRkaW5nOiBnYXAoNCkgMDtcblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBwYWRkaW5nOiBnYXAoNikgMDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLWNvbGxlY3Rpb24uY29weS1ibG9ja19fYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tLXByaW1hcnkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWN0aW9uLWhlYWRlci0tYWNjb3JkaW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiBnYXAoMyk7XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLS13eXNpd3lnO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCg1KTtcbiAgICB9XG5cbiAgICAuY29weS1ibG9ja19fdGl0bGUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQWNjb3JkaW9uIC0tIERlZmF1bHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5hY2NvcmRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgLjQpO1xuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci0td3lzaXd5ZztcbiAgICB9XG59XG5cbi5hY2NvcmRpb25fX2l0ZW0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IGdhcCgxLjUpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDEuNSk7XG4gICAgfVxufVxuXG4uYWNjb3JkaW9uX190aXRsZSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250c2l6ZSgxOCwgMjYsIDIwLCAyOCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgLjQpO1xuICAgIHBhZGRpbmc6IGdhcCgxLjUpIDAgMDtcbn1cblxuXG4uYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIC5hY2NvcmRpb25fX2NvbnRlbnRfX3RleHQge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiBnYXAoMikgZ2FwKDMpIGdhcCgyKSBnYXAoMSk7XG5cbiAgICAgICAgcCwgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1jYXJkO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1jYXJkO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFjY29yZGlvbiAtLSAyIGNvbHVtbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5hY2NvcmRpb24tLXR3by1jb2x1bW5zIHtcblxuICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgICAgLmNzcy1ncmlkIHtcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28tZ3JpZF9fbG9nby1pbWFnZSB7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENTUyBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQ29udGFpbmVyIGNvbXBvbmVudCB0aGF0IGFsbG93cyBmb3IgaXRlbXMgdG8gYmUgd3JhcHBlZCBpbiBhIENTUyBncmlkLlxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmllMTEge1xuICAgIC5jc3MtZ3JpZF9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYWdlIEJ1aWxkZXIgLSBDdXN0b21pemF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnZS1zZWN0aW9uIHtcbiAgICAmLS1tYXJnaW4tbWVkaXVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDIpO1xuICAgICAgICBtYXJnaW4tdG9wOiBnYXAoMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBnYXAoNCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBnYXAoNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tYXJnaW4tbGFyZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBnYXAoNCk7XG4gICAgICAgIG1hcmdpbi10b3A6IGdhcCg0KTtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCg4KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGdhcCg4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1hcmdpbi1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCgyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogZ2FwKDIpO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIERlZmF1bHQgYnV0dG9uIHN0eWxlcyB0byBiZSBpbmNsdWRlZCBpbiB2YXJpb3VzIGNvbXBvbmVudHMuIENvbnRhaW5zIHN0eWxlc1xuLy8gZm9yIHRoZSBkZWZhdWx0IGJ1dHRvbiBlZmZlY3QgKGZpbGwpIG9ubHk7IHRvIHVzZSBkaWZmZXJlbnQgc3R5bGVzLCBpbmNsdWRlXG4vLyB0aGUgYXNzb2NpYXRlZCB2YXJpYW50J3MgU0NTUyBmaWxlIGluIHlvdXIgcHJvamVjdC5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b24tYm9yZGVyLXdlaWdodDogMnB4O1xuJGJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiRidXR0b24tdHJhbnNpdGlvbjogJGFuaW07XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVmYXVsdCBCdXR0b24gU3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5idXR0b24sXG4uYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgbWVkaXVtKSwgcGFkZGluZyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgICBAaW5jbHVkZSBmb250LWhlYWRlcjtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE2KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIC8vIERpc2FibGVkIFN0eWxlcyBsaXZlIGhlcmUgYmVjYXVzZSB0aGV5IG92ZXJyaWRlIGV2ZXJ5dGhpbmdcbiAgICAmLmJ1dHRvbi0tZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRidXR0b24tY29sb3ItLWRpc2FibGVkLCBjb2xvcik7XG4gICAgICAgIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2VpZ2h0ICRidXR0b24tYm9yZGVyLXN0eWxlIG1hcC1nZXQoJGJ1dHRvbi1jb2xvci0tZGlzYWJsZWQsIGNvbG9yKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJ1dHRvbi1jb2xvci0tZGlzYWJsZWQsIGNvbnRyYXN0KTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgIGE6aG92ZXIgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRidXR0b24tY29sb3ItLWRpc2FibGVkLCBjb2xvcik7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdlaWdodCAkYnV0dG9uLWJvcmRlci1zdHlsZSBtYXAtZ2V0KCRidXR0b24tY29sb3ItLWRpc2FibGVkLCBjb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLWNvbG9yLS1kaXNhYmxlZCwgY29udHJhc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5idXR0b24tLXRleHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgIGE6aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gRGlzYWJsZWQgXCJsaW5rXCIgc3R5bGVcbi5saW5rLmxpbmstLWRpc2FibGVkIHtcbiAgICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLWNvbG9yLS1kaXNhYmxlZCwgY29sb3IpO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjM7XG5cbiAgICAmOmhvdmVyLFxuICAgIGE6aG92ZXIgJiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRidXR0b24tY29sb3ItLWRpc2FibGVkLCBjb2xvcik7XG4gICAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERlZmF1bHQgQ29sb3JzICYgU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBlYWNoICRjb2xvci1uYW1lLCAkY29sb3Itc2V0IGluICRidXR0b24tY29sb3ItcGFsZXR0ZSB7XG4gICAgLmJ1dHRvbi0tI3skY29sb3ItbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvci1zZXQsIGNvbG9yKTtcbiAgICAgICAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13ZWlnaHQgJGJ1dHRvbi1ib3JkZXItc3R5bGUgbWFwLWdldCgkY29sb3Itc2V0LCBjb2xvcik7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvci1zZXQsIGNvbnRyYXN0KTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICBhOmhvdmVyICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdlaWdodCAkYnV0dG9uLWJvcmRlci1zdHlsZSBtYXAtZ2V0KCRjb2xvci1zZXQsIGNvbG9yKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvci1zZXQsIGhvdmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rLS0jeyRjb2xvci1uYW1lfSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvci1zZXQsIGNvbG9yKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICBhOmhvdmVyICYge1xuICAgICAgICAgICAgY29sb3I6IGRhcmtlbihtYXAtZ2V0KCRjb2xvci1zZXQsIGNvbG9yKSwgNyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBlYWNoICRzaXplLW5hbWUsICRzaXplLWRhdGEgaW4gJGJ1dHRvbi1zaXplcyB7XG4gICAgLmJ1dHRvbi0tI3skc2l6ZS1uYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KCRzaXplLWRhdGEsIGZvbnQtc2l6ZSkpO1xuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRzaXplLWRhdGEsIHBhZGRpbmcpO1xuICAgIH1cbn1cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJ1dHRvbiBDb2xsZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiBnYXAoNCk7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYuYnV0dG9uLWNvbGxlY3Rpb24tLWxlZnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJi5idXR0b24tY29sbGVjdGlvbi0tY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5idXR0b24tY29sbGVjdGlvbi0tcmlnaHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJ1dHRvbiAtLSBUZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQnV0dG9ucyB3aXRoIGEgc2ltcGxlIHRleHQgQ1RBIHdpdGhvdXQgYW55IGJvcmRlciBvciBiYWNrZ3JvdW5kcy4gIEhpdCBhcmVhXG4vLyBvZiB0aGUgYnV0dG9uIGlzIGp1c3QgbGlrZSB0aGUgb3RoZXIgYnV0dG9ucyBhc3Npc3QgbW9iaWxlIHVzZXJzLlxuLy9cbi8vIEBpbXBvcnQgJ2NvbXBvbmVudHMvZWxlbWVudHMvbGlua3MvYnV0dG9uL2J1dHRvbic7XG4vLyBAaW1wb3J0ICdjb21wb25lbnRzL2VsZW1lbnRzL2xpbmtzL2J1dHRvbi9idXR0b24tLXRleHQnO1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQnV0dG9uIENvbG9ycyAmIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGVhY2ggJGNvbG9yLW5hbWUsICRjb2xvci1zZXQgaW4gJGJ1dHRvbi1jb2xvci1wYWxldHRlIHtcbiAgICAuYnV0dG9uLS0jeyRjb2xvci1uYW1lfSB7XG4gICAgICAgICYuYnV0dG9uLS10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA0cHggNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3Itc2V0LCBob3Zlcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkcHJpbWFyeS1jb2xvciAwJSwgJHByaW1hcnktY29sb3IgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDJweCAycHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAyMDBtcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgIGE6aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDRweCA0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb21wb25lbnQ6IEZvcm1raXQgQmFzZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIEZvcm0gZmllbGQgc3R5bGluZyBmb3IgYmFzZSBmb3JtcyBhbmQgY29tbW9uIHZhcmlhbnRzLlxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRm9ybSBWYXJpYWJsZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwbGFjZWhvbGRlci10ZXh0LWNvbG9yOiByZ2JhKCRwcmltYXJ5LXRleHQtY29sb3IsIC41KTtcbiRmb3JtLWJvcmRlcjogJGJvcmRlcjtcbiRmb3JtLWJvcmRlci1yYWRpdXM6IDA7XG4kZm9ybS1mb250LWNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuJF9mb3JtLWJveC1zaGFkb3ctZm9jdXM6IDA7XG5cblxuQG1peGluIHBsYWNlaG9sZGVyLXRleHQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMTYpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC0tcHJpbWFyeTtcbiAgICBjb2xvcjogJHBsYWNlaG9sZGVyLXRleHQtY29sb3I7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbi5mb3JtLS1kZWZhdWx0IHtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLS13eXNpd3lnO1xuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQcm9qZWN0IFNwZWNpZmljIEZvcm0gU3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmllbGRzZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDAgMCAkZ3JpZC1ndXR0ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmxlZ2VuZCB7XG4gICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgIEBleHRlbmQgJWg0O1xuICAgIG1hcmdpbi1ib3R0b206IGdhcCgyKTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5sYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW5wdXRzLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IGdhcCgyKSBnYXAoMi4zKTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICB9XG59XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1yaWdodDogZ2FwKDIpO1xufVxuXG5cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl1cbnNlbGVjdCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIH1cbn1cblxuLmZvcm1fX2ZpZWxkIHtcbiAgICBtYXJnaW46IDAgMCBnYXAoMyk7XG59XG5cbi5mb3JtX19sYWJlbCxcbi5mb3JtX19vcHRpb24tbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvbnQtZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE2KTtcbiAgICBjb2xvcjogJGZvcm0tZm9udC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZm9ybV9fb3B0aW9uLWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnYXAoLjUpO1xufVxuXG4uZm9ybV9fbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IGdhcCgxKTtcbn1cblxuLmZvcm1fX2Rlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250LWNhcHRpb247XG59XG5cbi5mb3JtX19pY29ucyB7XG4gICAgcmlnaHQ6IDVweDtcbn1cblxuLmZvcm1fX2lucHV0LFxuLmZvcm1fX3NlbGVjdCxcbi5mb3JtX190ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxNik7XG4gICAgcGFkZGluZzogZ2FwKDEuNykgZ2FwKDEuNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ2FwKDEuNSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LS1wcmltYXJ5O1xuICAgIGNvbG9yOiAkZm9ybS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6ICRmb3JtLWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1ib3JkZXItcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlci10ZXh0O1xuICAgIH1cblxuICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXItdGV4dDtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyLXRleHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXItdGV4dDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXItdGV4dDtcbiAgICB9XG5cbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGZvcm0tZm9udC1jb2xvcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMHB4IDEwMDBweCAkd2hpdGUgaW5zZXQ7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEN1c3RvbSBTZWxlY3QgRmllbGRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmZvcm1fX2ZpZWxkLS1jdXN0b20tc2VsZWN0IHtcbiAgICAuZm9ybV9fZWxlbWVudCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC0tcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRmb3JtLWZvbnQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAkZm9ybS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCgxKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuZm9ybV9fc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IGdhcCgxLjcpIGdhcCgxLjUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5mb3JtX19pY29uLS1zZWxlY3QtY2FyZXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDNweDtcbiAgICB9XG5cbiAgICAuZm9ybV9faWNvbnMge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgfVxufVxuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEN1c3RvbSBDaGVja2JveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZm9ybV9fZmllbGQtLWNoZWNrYm94IHtcbiAgICAuZm9ybV9fY2hvaWNlLS1jaGVja2JveCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQgfiAuY2hlY2ttYXJrOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJNUxqZzBJREV3TGpFd04zRXdJQzQzTVRRdExqVWdNUzR5TVRSTU1UTXVPVGdnTWpZdU5qaHhMUzQxTGpVdE1TNHlNVFF1TlhRdE1TNHlNVFF0TGpWTU1pNDJOaUF4Tnk0M09EVnhMUzQxTFM0MUxTNDFMVEV1TWpFMGRDNDFMVEV1TWpFeWJESXVORE10TWk0ME0zRXVOUzB1TlNBeExqSXhOQzB1TlhReExqSXhOQzQxYkRVdU1qVWdOUzR5TjB3eU5DNDBPRElnTmk0ME5qTnhMalV0TGpVZ01TNHlNVFF0TGpWME1TNHlNVFF1Tld3eUxqUXpJREl1TkROeExqVXVOUzQxSURFdU1qRXplaUl2UGp3dmMzWm5QZz09Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2ttYXJrIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ2FwKDEpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ3VzdG9tIFJhZGlvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb3JtX19maWVsZC0tcmFkaW8ge1xuICAgIC5mb3JtX19jaG9pY2UtLXJhZGlvIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLmNoZWNrbWFyazphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja21hcmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ2FwKDEpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBmcm9tIGhpZGRlbiBmb3JtIGZpZWxkc1xuLmZvcm1fX2ZpZWxkLS1oaWRkZW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mb3JtX19maWVsZC0tZmlsZSB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLmZvcm1fX2lucHV0LS1maWxlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSG9uZXkgUG90IElucHV0IC0gUmVtb3ZlIHZpc2libGUgbWFyZ2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb3JtX19maWVsZC0taHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvcm0gLSBWYWxpZGF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZm9ybV9fdmFsaWRhdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG5cbiAgICAuZm9ybV9fZmllbGQtLWludmFsaWQge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXJyb3ItY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICB9XG59XG5cbi5mb3JtX19yZXNwb25zZS0tc3VjY2VzcyB7XG4gICAgcGFkZGluZzogZ2FwKDQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvcm1fX3Jlc3BvbnNlLS1lcnJvciB7XG4gICAgLmZvcm1fX3Jlc3BvbnNlTWVzc2FnZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9ybSAtIENTUyBHcmlkIEZvcm1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jc3MtZ3JpZC0tZm9ybSB7XG4gICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAyNXB4O1xuICAgICAgICBncmlkLXJvdy1nYXA6IDA7XG4gICAgfVxuXG4gICAgLmNzcy1ncmlkX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmllMTEgJiB7XG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXWVNJV1lHXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gU3R5bGVzIGZvciBiYXNpYyBwYWdlIGxheW91dCArIFdZU0lXWUdcbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi53eXNpd3lnIHtcbiAgICB1bCxcbiAgICBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCgxKTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNdWx0aSBjb2x1bW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdlLXNlY3Rpb24tLXd5c2l3eWctYmxvY2stLW11bHRpLWNvbHVtbnMge1xuICAgICYgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBCYXNpYyBzaXRlIG5hdmlnYXRpb24sIGluY2x1ZGluZyBhIGxvZ28sIG1haW4gbWVudSwgYW5kIHNlYXJjaC5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4kaGVhZGVyLWxvZ28taGVpZ2h0LW1vYmlsZTogMjdweDtcbiRoZWFkZXItbG9nby1oZWlnaHQtZGVza3RvcDogMjVweDtcbiR6LWluZGV4LS1oZWFkZXI6IDIwMDA7XG4kaGVhZGVyLWJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSgwLDAsMCwuMSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlYWRlciAtLSBCYXNlIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgIHotaW5kZXg6ICR6LWluZGV4LS1oZWFkZXI7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgYm94LXNoYWRvdzogJGhlYWRlci1ib3gtc2hhZG93O1xuXG4gICAgLy8gT3ZlcmxheSBmb3IgYmVoaW5kIG1lbnVcbiAgICAmLmpzLS1pc09wZW4ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAuNjUpO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pZTExICYge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTI1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMjBweCAqIDIpKTtcbiAgICAgICAgcGFkZGluZzogZ2FwKDEpIDA7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4NXB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoI3skZ3JpZC1ndXR0ZXJ9ICogMikpO1xuICAgICAgICBwYWRkaW5nOiBnYXAoMSkgMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgbW9iaWxlIGhlYWRlclxuLmhlYWRlcl9fd3JhcHBlci0tbW9iaWxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMjBweCAkZ3JpZC1ndXR0ZXItLW1vYmlsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5qcy0taXNPcGVuICYge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIH1cblxuICAgIC5pZTExICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGhlaWdodDogJGhlYWRlci1sb2dvLWhlaWdodC1tb2JpbGU7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjU0cHgpIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLWxvZ28taGVpZ2h0LWRlc2t0b3A7XG4gICAgfVxufVxuXG5cbi5oZWFkZXJfX2xpbmstLW1lbnUge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigyNXB4LCAxNXB4LCAycHgpO1xuXG4gICAgc3BhbixcbiAgICBzcGFuOjpiZWZvcmUsXG4gICAgc3Bhbjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5oZWFkZXJfX2xpbmstd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaGVhZGVyX19saW5rLS1zZWFyY2gge1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuLmhlYWRlcl9fbGluay0tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLmpzLS1pc09wZW4gJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE2KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgIC8vICY6aG92ZXIge1xuICAgICAgICAvLyAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4vLyBNb2JpbGUgbWVudSBmdW5jdGlvbmFsaXR5O1xuLy8gYWxsIHN0eWxlcyBpbiBfbWVudS5zY3NzXG4uaGVhZGVyLS1kZWZhdWx0IHtcbiAgICAubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi5qcy0taXNPcGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGVyIC0tIENvdW50cnkgU3dpdGNoZXIgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaGVhZGVyX19jb3VudHJ5LXN3aXRjaGVyLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci0tYmFzZTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGVyIC0tIFNlY29uZGFyeSBOYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5oZWFkZXJfX3NlY29uZGFyeS1uYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuICAgIC5qcy0taXNPcGVuICYge1xuICAgICAgICBwYWRkaW5nLXRvcDogZ2FwKDQpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1lbnVfX2xpbmstLXNlYXJjaCAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC11cy1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2l0ZSBOYXZpZ2F0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gTmF2aWdhdGlvbiBwYXR0ZXJucyBmb3IgdGhlIHNpdGU7IHRoZSBkZWZhdWx0IGZ1bmN0aW9uYWxpdHkgaXMgc2ltcGx5IHRvIHBhcmVcbi8vIHRoZSBjb21wb25lbnQgZG93biB0byBpdHMgbW9zdCBiYXNlIHN0eWxlcy4gTGV2ZXJhZ2UgYWRkaXRpb25hbCB2YXJpYW50cyB0b1xuLy8gcG93ZXIgdXAgdGhlIG1lbnUgaW50byBtb3JlIGNvbXBsZXggcGF0dGVybnMuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtZW51LWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tbWFyZ2luOiAwO1xuJG1lbnUtbGluay1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWVudSAtLSBIZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tZW51LS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWJhY2tncm91bmQtY29sb3I7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODRweCkge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMFxuICAgIH1cblxuICAgIC5tZW51X19pdGVtIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICAubWVudV9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgLy90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtLFxuICAgICAgICAmLmN1cnJlbnQtcGFnZS1hbmNlc3RvciB7XG4gICAgICAgICAgICAubWVudV9fdGl0bGUge1xuICAgICAgICAgICAgICAgIC8vY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgubWVudV9faXRlbS0tZHJvcGRvd24pIHtcbiAgICAgICAgICAgIC5tZW51X19saW5rOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J1VURi04JyUzRiUzRSUzQ3N2ZyB3aWR0aD0nMjBweCcgaGVpZ2h0PScxM3B4JyB2aWV3Qm94PScwIDAgMjYgMTMnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayclM0UlM0NnIGlkPSdVSScgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyUzRSUzQ2cgaWQ9J0Rlc3Rrb3AtLS1OYXZpZ2F0aW9uLUhlbXAtRm9vZHMtLS1DQkQtSG92ZXJlZCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTYwOS4wMDAwMDAsIC0yMzguMDAwMDAwKScgc3Ryb2tlPSclMjMxQTFBMUEnIHN0cm9rZS13aWR0aD0nMS44JyUzRSUzQ2cgaWQ9J0dyb3VwLTknIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDYxMC4wMDAwMDAsIDIzOS4wMDAwMDApJyUzRSUzQ2xpbmUgeDE9JzE4LjUyMDAwMTgnIHkxPScwLjUyMDAwMTc5OCcgeDI9JzIzLjUnIHkyPSc1LjUnIGlkPSdMaW5lJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTguNTIwMDAxOCcgeTE9JzUuNTEwMDAwOScgeDI9JzIzLjUnIHkyPScxMC40ODk5OTkxJyBpZD0nTGluZS1Db3B5JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgyMS4wMDAwMDAsIDcuOTg5OTk5KSBzY2FsZSgxLCAtMSkgdHJhbnNsYXRlKC0yMS4wMDAwMDAsIC03Ljk4OTk5OSkgJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMC41JyB5MT0nNS41JyB4Mj0nMjIuNScgeTI9JzUuNScgaWQ9J0xpbmUnJTNFJTNDL2xpbmUlM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnVfX2xpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1saW5rLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogZ2FwKDIuNSkgJGdyaWQtZ3V0dGVyLS1tb2JpbGUgMDtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgcGFkZGluZzogZ2FwKDEpIGdhcCgxLjUpO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoZGVza3RvcCkge1xuICAgICAgICAgICAgcGFkZGluZzogZ2FwKDEpIGdhcCgxLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnVfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjEpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwODRweCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1NHB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZW51IC0tIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gTmF2aWdhdGlvbiBmb3IgdGhlIHNpdGUsIGNvbnNpc3Rpbmcgb2YgYW4gYWNjb3JkaW9uLXN0eWxlZCBtZWdhXG4vLyBtb2JpbGUgbWVudSBhbmQgYSBob3Zlci1zdHlsZSBkcm9wZG93biBkZXNrdG9wIG1lbnUuIEluaGVyaXRzIGZyb20gbWVudS5cbi8vXG4vLyBAaW1wb3J0ICdjb21wb25lbnRzL3NpdGUtZWxlbWVudHMvbWVudS9tZW51Jztcbi8vIEBpbXBvcnQgJ2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9tZW51L21lbnUtLWRyb3Bkb3duJztcbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG1lbnUtZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbG9yO1xuJG1lbnUtZHJvcGRvd24tbWluLXdpZHRoOiAxNTBweDtcbiRtZW51LWRyb3Bkb3duLXBhZGRpbmc6IDI1cHggMjBweDtcbiRtZW51LWRyb3Bkb3duLWl0ZW0tbWFyZ2luOiAwIDAgMTVweDtcbiRtZW51LWRyb3Bkb3duLWxpbmstY29sb3I6ICR3aGl0ZTtcblxuLy8gVHJhbnNpdGlvbiBWYXJpYWJsZXM6IHByb3BlcnR5IG5hbWUgfCBkdXJhdGlvbiB8IHRpbWluZyBmdW5jdGlvbiB8IGRlbGF5XG4kbWVudS1kcm9wZG93bi10cmFuc2l0aW9uOiAkYW5pbSwgdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjAxcywgei1pbmRleCAwcyBsaW5lYXIgMHMgIWRlZmF1bHQ7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWVudSAtLSBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWVudS0taGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgZ2FwKDEuNSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg0cHgpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubWVudV9fbGlzdCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGluaXRpYWw7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiBnYXAoMSkgJGdyaWQtZ3V0dGVyLS1tb2JpbGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogZ2FwKDIuNSkgZ2FwKDEuNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9faXRlbS0tZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgIFxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdhcCgyKSAkZ3JpZC1ndXR0ZXItLW1vYmlsZSBnYXAoMSk7XG4gICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogZ2FwKDIuNSkgZ2FwKDAuNzUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNTRweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBnYXAoMi41KSBnYXAoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgICAgIC5tZW51X190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAubWVudV9fbGluayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiBnYXAoMSkgJGdyaWQtZ3V0dGVyLS1tb2JpbGU7XG4gICAgXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdhcCgyLjUpIGdhcCgwLjc1KTtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI1NHB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZ2FwKDIuNSkgZ2FwKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC8vIEZvciBtb2JpbGUsIHR1cm4gdGhlIGRyb3Bkb3duIGludG8gYSB0b2dnbGVcbiAgICAgICAgJi5qcy0taXNPcGVuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb2xvcjtcbiAgICBcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAubWVudV9fbGluayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgLmRyb3Bkb3duX19pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgIFxuICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBnYXAoMSkgJGdyaWQtZ3V0dGVyLS1tb2JpbGUgZ2FwKDIuNSk7XG4gICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJG1lbnUtZHJvcGRvd24tcGFkZGluZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLy8gRXhjbHVkZSBkcm9wZG93biBob3ZlciB0byBsYXJnZSBzY3JlZW5zXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICAmLmpzLS1pc09wZW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIFxuICAgICAgICAgICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gRHJvcGRvd24gU3R5bGVzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLmRyb3Bkb3duIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICBcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtZW51LWRyb3Bkb3duLXBhZGRpbmc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICRtZW51LWRyb3Bkb3duLW1pbi13aWR0aDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICBcbiAgICAgICAgICAgIC8vIFRyYW5zaXRpb24gYW5pbWF0aW9uXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJG1lbnUtZHJvcGRvd24tdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5kcm9wZG93bl9fbGlzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgLmRyb3Bkb3duX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgZ2FwKDIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICBtYXJnaW46ICRtZW51LWRyb3Bkb3duLWl0ZW0tbWFyZ2luO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0gIHtcbiAgICAgICAgICAgIC5kcm9wZG93bl9fbGluayB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmRyb3Bkb3duX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxOSk7XG4gICAgICAgIGNvbG9yOiAkbWVudS1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWVudS1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMTkpO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZHJvcGRvd25fX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAkZ3JpZC1ndXR0ZXItLW1vYmlsZTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiAgICBcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNlY29uZGFyeSBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm1lbnUubWVudS0tc2Vjb25kYXJ5LW5hdiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3ItLWJhc2U7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5tZW51X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51X19saW5rLS1zZWFyY2gge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubWVudV9faXRlbS0tY291bnRyeS1zd2l0Y2hlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gTGl2ZXMgYXQgdGhlIGJvdHRvbSBvZiBldmVyeSBwYWdlIHRvIHByb3ZpZGUgc2Vjb25kYXJ5IG5hdmlnYXRpb24gb3B0aW9ucy5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiRmb290ZXItYmFja2dyb3VuZC1wYWRkaW5nOiBnYXAoNikgMCBnYXAoNCk7XG4kZm9vdGVyLWNvbnRlbnQtbWFyZ2luOiAwIDAgZ2FwKDMpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb290ZXIgLS0gQ3VzdG9tIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmZvb3Rlci0tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHBhZGRpbmc6ICRmb290ZXItYmFja2dyb3VuZC1wYWRkaW5nO1xuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uZm9vdGVyX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgZ2FwKDIpO1xuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46ICRmb290ZXItY29udGVudC1tYXJnaW47XG4gICAgfVxufVxuXG4uZm9vdGVyX19jb3B5IHtcbiAgICBAaW5jbHVkZSBmb250LWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyNik7XG4gICAgbWFyZ2luOiAwIDAgZ2FwKDIpO1xuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZGVmYXVsdDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjYpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIC43KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb250ZW50LW1hcmdpbjtcbiAgICB9XG59XG5cbi5mb290ZXJfX2NvbnRlbnQtLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubWVudS0tZm9vdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5tZW51X19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9fbGluayB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5tZW51X190aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxOSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCBnYXAoMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjEpO1xuICAgICAgICAgICAgcGFkZGluZzogMCBnYXAoMS41KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGVnYWwgLS0gQ3VzdG9tXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmxlZ2FsX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5sZWdhbF9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjYpO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuXG59XG5cbi5tZW51LS1sZWdhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGJvcmRlcjtcbiAgICAgICAgcGFkZGluZzogMCBnYXAoMS41KSAwIDA7XG4gICAgfVxuXG4gICAgLm1lbnVfX2xpc3Qge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH1cblxuICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLm1lbnVfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIC43KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51X190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZGVmYXVsdDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjYpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCBnYXAoMikgMCAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBnYXAoMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXJfX2NvcHlyaWdodCB7XG4gICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjYpO1xuICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU29jaWFsIC0tIEN1c3RvbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZm9vdGVyX19jb250ZW50LS1zb2NpYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAuc29jaWFsLS1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBnYXAoMS41KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb2NpYWxfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxOCk7XG4gICAgfVxuXG4gICAgLnNvY2lhbF9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCBnYXAoMSkgMCAwO1xuICAgIH1cblxuICAgIC5zb2NpYWxfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuNyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYWdlIEhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIFByaW1hcnkgaGVhZGVyIGZvciB0aGUgc2l0ZS4gQ29udGFpbnMgdGl0bGUgYW5kIGRlc2NyaXB0aW9uLCB3aXRoIHNlYXJjaFxuLy8gdmFyaWFudC4gSW5oZXJpdHMgYSBzaXRlLXdpZGUga25vY2tvdXQgdGhlbWUsIGZvdW5kIGluIF92YXJpYWJsZS5zY3NzLlxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcGFnZS1oZWFkZXItLWltYWdlLWhlaWdodCAgICAgICAgIDogMjAwcHg7XG4kcGFnZS1oZWFkZXItLWltYWdlLWhlaWdodC1kZXNrdG9wIDogMjY1cHg7XG4kcGFnZS1oZWFkZXItLXZpZGVvLWhlaWdodCAgICAgICAgIDogMjc3cHg7XG4kcGFnZS1oZWFkZXItLXZpZGVvLWhlaWdodC1kZXNrdG9wIDogNDcwcHg7XG4kcGFnZS1oZWFkZXItLXZpZGVvLXRpdGxlLXdpZHRoICAgIDogNjAwcHg7XG4kcGFnZS1oZWFkZXItLWltYWdlLW92ZXJsYXkgICAgICAgIDogcmdiYSgkYmxhY2ssIC4yNSk7XG5cblxuXG4vLyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAvLyBQYWdlIEhlYWRlciAtLSBEZWZhdWx0IFN0eWxlc1xuLy8gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2UtaGVhZGVyIHtcbiAgICBncmlkLWNvbHVtbjogZnVsbDtcblxuICAgIC5pZTExICYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucGFnZS1oZWFkZXJfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiBnYXAoMTApIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBhZ2UgSGVhZGVyIC0tIFRleHQgT25seVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2UtaGVhZGVyLS10ZXh0LW9ubHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cbiAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5wYWdlLWhlYWRlcl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWltYWdlX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLS13eXNpd3lnO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFnZSBIZWFkZXIgLS0gSW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdlLWhlYWRlci0taW1hZ2Uge1xuICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtaW4taGVpZ2h0OiAkcGFnZS1oZWFkZXItLWltYWdlLWhlaWdodDtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRwYWdlLWhlYWRlci0taW1hZ2UtaGVpZ2h0LWRlc2t0b3A7XG5cbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5iYWNrZ3JvdW5kLWltYWdlLS13aXRoLW92ZXJsYXkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHBhZ2UtaGVhZGVyLS1pbWFnZS1vdmVybGF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtaGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWltYWdlX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuXG4gICAgICAgIHBhZGRpbmc6IGdhcCgzKSBnYXAoMSk7XG4gICAgICAgIG1hcmdpbjogZ2FwKDYpIGF1dG87XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWhlYWRlcl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW46IGdhcCgxMCkgMDtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWhlYWRlcl9fdGl0bGU6aGFzKCsgLnBhZ2UtaGVhZGVyX19jdGEtY29udGFpbmVyKSB7XG4gICAgICAgIG1hcmdpbjogZ2FwKDYpIDAgZ2FwKDIpO1xuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtaGVhZGVyX19jdGEtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiBnYXAoNCkgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogZ2FwKDQpIGF1dG8gZ2FwKDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtaGVhZGVyX19zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luOiBnYXAoMikgYXV0byAwO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFnZSBIZWFkZXIgLS0gVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdlLWhlYWRlci0tdmlkZW8ge1xuICAgIC5wYWdlLWhlYWRlcl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAucGFnZS1oZWFkZXJfX3N1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW46IGdhcCgyKSBhdXRvIDA7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtaW1hZ2VfX2NvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIHBhZGRpbmc6IGdhcCgzKSBnYXAoMSk7XG4gICAgICAgIG1hcmdpbjogZ2FwKDYpIGF1dG87XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICAgICAgLnBhZ2UtaGVhZGVyX190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aWRlby1ibG9jayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR2aWRlby1ibG9jay1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6ICRwYWdlLWhlYWRlci0tdmlkZW8taGVpZ2h0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAkcGFnZS1oZWFkZXItLXZpZGVvLWhlaWdodC1kZXNrdG9wO1xuXG4gICAgICAgICAgICAmLmlzLXBsYXlpbmcge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8tYmxvY2tfX3ZpZGVvIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LCA5KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpZGVvLWJsb2NrLS1pcy1wb3N0ZXJlZCxcbiAgICAudmlkZW8tYmxvY2stLWlzLXBhdXNlZCB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC8vIEltcG9ydGFudCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW5saW5lIHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLnZpZGVvLWJsb2NrX192aWRlbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52aWRlby1ibG9ja19fY29udHJvbHMtcG9zdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpZGVvLWJsb2NrX19jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcblxuXG4gICAgICAgICAgICAudmlkZW8tYmxvY2tfX2NvbnRyb2wtLXBsYXkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTIwMDtcblxuICAgICAgICAgICAgICAgIC5pY29uX19wbGF5IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU3cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTdweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8tYmxvY2tfX2NvbnRyb2xzLXBvc3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICY6aG92ZXIgLmljb25fX3BsYXkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSggMS4xKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYWdlIEhlYWRlciAtLSBIb21lcGFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2UtaGVhZGVyLS1ob21lcGFnZSB7XG4gICAgLy8gU2V0IGhlaWdodCBmb3IgaG9tZXBhZ2UgaW1hZ2UgaGVyb1xuICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogJHBhZ2UtaGVhZGVyLS12aWRlby1oZWlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkcGFnZS1oZWFkZXItLXZpZGVvLWhlaWdodC1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtaGVhZGVyX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtanVtYm87XG4gICAgfVxufVxuXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb250ZW50IFBhbmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIENvbnRlbnQgc2VjdGlvbnMgaW4gYmxvY2tzLCBzaWRlIGJ5IHNpZGUgd2l0aCBtZWRpYS5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbnRlbnQgUGFuZWwgLSBBbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNwbGl0IFBhbmVsXG4vLyA1MC81MCBDb250ZW50IFBhbmVsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jb250ZW50LXBhbmVsLS1zcGxpdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICAuY29udGVudC1wYW5lbF9fY29udGVudCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiBnYXAoMykgZ2FwKDIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiBnYXAoNSk7XG5cbiAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LXBhbmVsX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29weS1ibG9ja19fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnd5c2l3eWcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogZ2FwKDEpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIC43KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luOiBnYXAoMi41KSAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogZ2FwKDMpIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24tLXByaW1hcnkge1xuICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1wYW5lbF9fZmVhdHVyZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5iYWNrZ3JvdW5kLWltYWdlLS1jb250ZW50LXBhbmVsIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY29udGVudC1wYW5lbC0tZ3JleSB7XG4gICAgICAgIC5idXR0b24tLXByaW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY29udGVudC1wYW5lbC0tb3JhbmdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cblxuICAgICAgICAuY29udGVudC1wYW5lbF9fY29udGVudCB7XG4gICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIC5jb3B5LWJsb2NrX190aXRsZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53eXNpd3lnIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBnYXAoMSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgICAgIHAsXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJGJsYWNrLCAuNyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLS1wcmltYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jb250ZW50LXBhbmVsLS1kYXJrZ3JleSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yLS1kYXJrO1xuICAgIH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcm91c2VsIFBhbmVsXG4vLyA1MC81MCBDb250ZW50IFBhbmVsIC0gV2l0aGluIGEgQ2Fyb3VzZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNvbnRlbnQtcGFuZWwtLWNvbnRlbnQtY2Fyb3VzZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yLS1kYXJrO1xuXG4gICAgLnBhZ2Utc2VjdGlvbi0tb3JhbmdlICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAuY29udGVudC1jYXJvdXNlbF9fY291bnRlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtcGFuZWxfX2NvbnRlbnQge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgLnd5c2l3eWcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAgICAgICBwLFxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRibGFjaywgLjcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1wYW5lbF9fY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDcwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1wYW5lbF9fZmVhdHVyZSB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyg1LDMpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgZmxleDogMCAxIDUwJTtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXBhbmVsX19jb250ZW50IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IGdhcCgzKSBnYXAoMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgNTAlO1xuXG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDcwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiBnYXAoNykgZ2FwKDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtY2Fyb3VzZWxfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtY2Fyb3VzZWxfX2NvdW50ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDIwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCgzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LWNhcm91c2VsX193eXNpd3lnIHtcbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpZGVvLWJsb2NrLS1pcy1wb3N0ZXJlZCxcbiAgICAudmlkZW8tYmxvY2stLWlzLXBhdXNlZCB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC8vIEltcG9ydGFudCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW5saW5lIHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLnZpZGVvLWJsb2NrX192aWRlbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52aWRlby1ibG9ja19fY29udHJvbHMtcG9zdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFubmVyIEJsb2NrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQSB3cmFwcGVyIGZvciBhIGxpbmssIHRvIGludGVncmF0ZSB3aXRoIEJhY2tncm91bmQgSW1hZ2UsIGZsZXhcbi8vIGNvbnRhaW5lciwgYW5kIHRoZSBDb3B5IEJsb2NrIGNvbXBvbmVudHMgdG8gY3JlYXRlIGEgc3RhbmRhcmQgYmFubmVyIGJsb2NrLlxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVmYXVsdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2Utc2VjdGlvbi0tYmFubmVyLWJsb2NrIHtcbiAgICAmIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmJhbm5lci1ibG9jayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC5iYW5uZXItYmxvY2tfX3dyYXBwZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLWNvbG9yLS1kYXJrLCAwLjYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IGdhcCg1KSBnYXAoMik7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQtY29sb3ItLWRhcmssIDAuNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFubmVyLWJsb2NrX190aXRsZSB7XG4gICAgICAgIEBleHRlbmQgJWgyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDIpO1xuICAgIH1cblxuICAgIC5idXR0b24tY29sbGVjdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FyZCAtLSBEZWZhdWx0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQSBjYXJkIGNvbXBvbmVudCwgd2hpY2ggY2FuIGJlIGludGVncmF0ZWQgYXMgYSBjb2xsZWN0aW9uIHdpdGhpbiB0aGUgY3NzLWdyaWRcbi8vIG9yIGZsZXgtZ3JpZCBjb21wb25lbnRzIHRvIGNyZWF0ZSBjb250ZW50IGRyaXZlcnMuXG4vL1xuLy8gRGVmYXVsdCBjYXJkIHN0eWxlcyBtYXRjaCBtb3N0IGNsb3NlbHkgd2l0aCBhIHdpcmVmcmFtZWluZyBleGFtcGxlIG9mIGNhcmRzLFxuLy8gd2l0aCBhbiBpbWFnZSwgdGl0bGUsIGRlc2NyaXB0aW9uLCBhbmQgYnV0dG9uIGluaGVyaXRpbmcgY29yZSBzdHlsZXMuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjYXJkLWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiRjYXJkLWJvcmRlcjogJGJvcmRlcjtcbiRjYXJkLWNvbnRlbnQtcGFkZGluZzogJGdyaWQtZ3V0dGVyO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcmQgLS0gRGVmYXVsdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNhcmQtLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY2FyZF9fd3JhcHBlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuY2FyZF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IGdhcCgyKSBnYXAoLjUpO1xuICAgIH1cblxuICAgIC5jYXJkX19sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtY2FyZDtcbiAgICAgICAgcGFkZGluZzogZ2FwKC40KSBnYXAoLjcpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5jYXJkX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBnYXAoMSk7XG4gICAgfVxuXG4gICAgLnBvc3QtbWV0YV9fZGF0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtY2FyZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDEuNSk7XG4gICAgfVxuXG4gICAgLnBvc3QtbWV0YV9fc291cmNlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1jYXJkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBnYXAoLjMpO1xuICAgIH1cblxuICAgIC5jYXJkX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1jYXJkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBnYXAoMik7XG4gICAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcmQgLS0gRHJpdmVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jYXJkLS1kcml2ZXJzIHtcbiAgICBwYWRkaW5nOiBnYXAoMykgMDtcblxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiBnYXAoMikgMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgLmNhcmRfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IGF1dG87XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmRfX2ZlYXR1cmUge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwxKTtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvcHktYmxvY2tfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCgxKTtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIGdhcCgyKTtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdhcCgzKSBnYXAoNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBnYXAoMS41KTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnd5c2l3eWctLWRyaXZlcnMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWNhcmQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1jYXJkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcmQgLS0gRHJpdmVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2FyZC0tc2VhcmNoIHtcbiAgICAuY2FyZF9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTc3cHggYXV0bztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ2FwKDIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkX19mZWF0dXJlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNzdweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtZ3V0dGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jYXJkX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCguNSk7XG4gICAgfVxuXG4gICAgLmNhcmQtLXNlYXJjaF9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxNik7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQW5ub3VuY2VtZW50IEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRhbm5vdW5jZW1lbnQtYmFyLWJhY2tncm91bmQtY29sb3I6ICAgICAgICAkcHJpbWFyeS1jb2xvcjtcbiRhbm5vdW5jZW1lbnQtYmFyLWJhY2tncm91bmQtY29sb3ItLWhvdmVyOiAjRTQ2NjBEO1xuJGFubm91bmNlbWVudC1iYXItdGV4dC1jb2xvcjogICAgICAgICAgICAgICRibGFjaztcbiRhbm5vdW5jZW1lbnQtYmFyLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICAkYW5ub3VuY2VtZW50LWJhci10ZXh0LWNvbG9yO1xuJGFubm91bmNlbWVudC1iYXItcGFkZGluZzogICAgICAgICAgICAgICAgIGdhcCgxKSAwO1xuXG4uYW5ub3VuY2VtZW50LWJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbm5vdW5jZW1lbnQtYmFyLWJhY2tncm91bmQtY29sb3I7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuYW5ub3VuY2VtZW50LWJhci0tYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbm5vdW5jZW1lbnQtYmFyLWJhY2tncm91bmQtY29sb3ItLWhvdmVyO1xuICAgIH1cbn1cblxuLmFubm91bmNlbWVudC1iYXJfX2JvZHkge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBmb250LWNhcHRpb247XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICRhbm5vdW5jZW1lbnQtYmFyLXRleHQtY29sb3I7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgLmllMTEgJiB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE4KTtcbiAgICB9XG5cbiAgICAuYW5ub3VuY2VtZW50LWJhcl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkYW5ub3VuY2VtZW50LWJhci1wYWRkaW5nO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRhbm5vdW5jZW1lbnQtYmFyLXRleHQtY29sb3I7XG4gICAgfVxufVxuXG4uYW5ub3VuY2VtZW50LWJhcl9fYnV0dG9uLmJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmFubm91bmNlbWVudC1iYXJfX2NvcHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiBnYXAoMik7XG59XG5cbi5hbm5vdW5jZW1lbnQtYmFyX19jdGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYW5ub3VuY2VtZW50LWJhcl9fY2xvc2Uge1xuICAgIGNvbG9yOiAkYW5ub3VuY2VtZW50LWJhci1jbG9zZS1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBnYXAoMik7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5pY29uX19jbG9zZSB7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgfVxuXG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZWFyY2hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBDb250YWlucyBzdHlsZXMgZm9yIHRoZSBzZWFyY2ggcmVzdWx0cyBwYWdlIGFuZCB0aGUgdHdvIHZhcmlhbnQgc2VhcmNoXG4vLyBiYXJzIChoZWFkZXIsIDQwNClcbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNlYXJjaC1ib3gtaGVpZ2h0OiA0NHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1ib3gtYnV0dG9uLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiRzZWFyY2gtYm94LXRyYW5zaXRpb246ICRhbmltICFkZWZhdWx0O1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVmYXVsdCBTZWFyY2hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zZWFyY2gtYm94LS1kZWZhdWx0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5zZWFyY2gtYm94X190b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5mb3JtLS1zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuZm9ybV9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5mb3JtX19maWVsZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZm9ybV9fZmllbGQtLXN1Ym1pdCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5zZWFyY2hfX2lucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjApO1xuICAgICAgICBwYWRkaW5nOiBnYXAoMSkgZ2FwKDEuNSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtLXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMjApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDIwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDIwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyMCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDIwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaF9faW5wdXQsXG4gICAgLnNlYXJjaF9fc3VibWl0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgaGVpZ2h0OiAkc2VhcmNoLWJveC1oZWlnaHQ7XG5cbiAgICAgICAgLmJ1dHRvbl9fbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbl9faWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGdhcCguNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG59XG5cbi5zZWFjaC1yZXN1bHRzX19uby1yZXN1bHRzLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2VhcmNoIC0tIEhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNlYXJjaC1ib3hfX3RvZ2dsZSB7XG4gICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiAgICBtYXJnaW46IDAgZ2FwKDIpIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmljb24ge1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlYXJjaC1ib3gtLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjhweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwYWRkaW5nOiAwICRncmlkLWd1dHRlci0tbW9iaWxlIDFweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDQwMG1zIGVhc2U7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblxuICAgIC5pZTExICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDI7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxcHggJGdyaWQtZ3V0dGVyLS1tb2JpbGU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1ib3hfX3dyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCBnYXAoMSkgMCBnYXAoMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWJveF9fdG9nZ2xlLS1jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0tLXNlYXJjaCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm1fX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBTZWFyY2ggRmllbGRcbiAgICAuZm9ybV9fZmllbGQtLXNlYXJjaCB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogZ2FwKDEpO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAgICAgLnNlYXJjaF9faW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE5KTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiBnYXAoMSkgMCBnYXAoLjkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIC8vIFNlYXJjaCBTdWJtaXQgQnV0dG9uXG4gICAgLmZvcm1fX2ZpZWxkLS1zdWJtaXQge1xuICAgICAgICBmbGV4OiAwO1xuICAgIH1cblxuICAgICAgICAuc2VhcmNoX19zdWJtaXQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cblxuICAgIC8vIFdoZW4gdG9nZ2xlZCwgdGhpcyBjaGFuZ2VzOlxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtYm94X190b2dnbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uX19jbG9zZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaC1ib3hfX3RvZ2dsZS0tY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCBnYXAoMS41KTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIGdhcCgzLjgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNlYXJjaCAtLSBTZWFyY2ggUmVzdWx0cyBGb3JtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2VhcmNoLWJveC0tc2VhcmNoLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMjkwcHg7XG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICB9XG5cbiAgICAuZm9ybS0tc2VhcmNoIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybV9fZmllbGQtLXNlYXJjaCB7XG4gICAgICAgIGZsZXg6IDAgMSA3NSU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtX19maWVsZC0tYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAxIDI1JTtcbiAgICB9XG5cbiAgICAuc2VhcmNoX19zdWJtaXQge1xuICAgICAgICBAZXh0ZW5kIC5idXR0b24tLXByaW1hcnk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICAgICAgd2lkdGg6IDc1cHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvdW50cnkgU2VsZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQ291bnRyeSBzZWxlY3QgZm9yIHRoZSBzaXRlLiBVc2VzIFdQTUwuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb3VudHJ5IFNlbGVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNvdW50cnktc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtdXMge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDg1cHgpIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb3VudHJ5LXN3aXRjaF9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBnYXAoMSkgMDtcblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuLmNvdW50cnktc3dpdGNoX19pdGVtIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDE2KTtcbiAgICB3aWR0aDogNjBweDtcblxuICAgICYubGFuZy0tZW4ge1xuICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgJiArIC5jb3VudHJ5LXN3aXRjaF9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG5cbiAgICAgICAgLmNvdW50cnktc3dpdGNoX19saW5rIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1jdXJyZW50IHtcblxuICAgICAgICAuY291bnRyeS1zd2l0Y2hfX2xpbmsge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY291bnRyeS1zd2l0Y2hfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQtY29sb3I7XG4gICAgfVxufVxuXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIEJyZWFkY3J1bWIgbmF2aWdhdGlvbiBwcm92aWRlcyBsaW5rcyB0byBlYWNoIHByZXZpb3VzIHBhZ2UgdGhyb3VnaCB3aGljaCB0aGVcbi8vIHVzZXIgbmF2aWdhdGVkLCBhcyB3ZWxsIGFzIHRoZWlyIGN1cnJlbnQgbG9jYXRpb24gaW4gdGhlIHdlYnNpdGUuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRicmVhZGNydW1icy1zZXBhcmF0b3ItcGFkZGluZzogMCBnYXAoLjcpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLXNlcGFyYXRvci1jb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiRicmVhZGNydW1icy1hbmNlc3Rvci1jb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiRicmVhZGNydW1icy1jdXJyZW50LWNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDIyKTtcbiAgICBtYXJnaW46IGdhcCgyKSAwO1xuXG4gICAgLmllMTEgJiB7XG4gICAgICAgIG1hcmdpbjogZ2FwKDIpIGF1dG87XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWJzX19pdGVtLS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1kZWZhdWx0O1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgyMik7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtYW5jZXN0b3ItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC5icmVhZGNydW1ic19fc2VwYXJhdG9yIHtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDAgZ2FwKC4zKTtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYl9sYXN0IHtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1jdXJyZW50LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQnJlYWRjcnVtYnMgLS0gRGFyayBCYWNrZ3JvdW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5icmVhZGNydW1icy0tZGFyay1iYWNrZ3JvdW5kIHtcbi8vICAgICAuYnJlYWRjcnVtYnNfX2l0ZW0tLWxpbmsge1xuLy8gICAgICAgICBjb2xvcjogJHdoaXRlO1xuLy8gICAgIH1cblxuLy8gICAgIC5icmVhZGNydW1ic19fc2VwYXJhdG9yIHtcbi8vICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbi8vICAgICB9XG5cbi8vICAgICAuYnJlYWRjcnVtYl9sYXN0IHtcbi8vICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbi8vICAgICB9XG4vLyB9XG5cblxuXG5cblxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIEZvciBwYWdlcnMgYW5kIHByZXZpb3VzL25leHQgbmF2aWdhdGlvbiwgd2l0aCBwb3NpdGlvbmluZyB2YXJpYW50cy5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHBhZ2luYXRpb24tYm9yZGVyOiAwO1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogMDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24tdHJhbnNpdGlvbjogJGFuaW07XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogMDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAkd2hpdGU7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBhZ2luYXRpb24gKGRlZmF1bHQ6IGxlZnQtYWxpZ25lZClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdpbmF0aW9uIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgZ2FwKDMpO1xuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCBnYXAoNik7XG4gICAgfVxufVxuXG4ucGFnaW5hdGlvbl9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCBnYXAoLjIpIDAgMDtcbn1cblxuLnBhZ2luYXRpb25fX2l0ZW0tLWFycm93IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnaW5hdGlvbl9fbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJHByaW1hcnktdGV4dC1jb2xvcjtcbiAgICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGdhcCgwKSBnYXAoLjYpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246ICRwYWdpbmF0aW9uLXRyYW5zaXRpb247XG4gICAgfVxufVxuXG4ucGFnaW5hdGlvbl9fbGluay0tZGlzYWJsZWQsXG4ucGFnaW5hdGlvbl9fbGluay0tZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lbnUgLS0gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBOYXZpZ2F0aW9uIGZvciB0aGUgc2l0ZSwgY29uc2lzdGluZyBvZiBhbiBhY2NvcmRpb24tc3R5bGVkIG1lZ2Fcbi8vIG1vYmlsZSBtZW51IGFuZCBhIGhvdmVyLXN0eWxlIGRyb3Bkb3duIGRlc2t0b3AgbWVudS4gSW5oZXJpdHMgZnJvbSBtZW51LlxuLy9cbi8vIEBpbXBvcnQgJ2NvbXBvbmVudHMvc2l0ZS1lbGVtZW50cy9tZW51L21lbnUnO1xuLy8gQGltcG9ydCAnY29tcG9uZW50cy9zaXRlLWVsZW1lbnRzL21lbnUvbWVudS0tZHJvcGRvd24nO1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVudS1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRtZW51LWRyb3Bkb3duLW1pbi13aWR0aDogMjUwcHggIWRlZmF1bHQ7XG4kbWVudS1kcm9wZG93bi1wYWRkaW5nOiAkZ3JpZC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbWVudS1kcm9wZG93bi1pdGVtLW1hcmdpbjogMCAwICRncmlkLWd1dHRlciAhZGVmYXVsdDtcbiRtZW51LWRyb3Bkb3duLWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gVHJhbnNpdGlvbiBWYXJpYWJsZXM6IHByb3BlcnR5IG5hbWUgfCBkdXJhdGlvbiB8IHRpbWluZyBmdW5jdGlvbiB8IGRlbGF5XG4kbWVudS1kcm9wZG93bi10cmFuc2l0aW9uOiAkYW5pbSwgdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjAxcywgei1pbmRleCAwcyBsaW5lYXIgMHMgIWRlZmF1bHQ7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lbnUgLS0gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1lbnUtLWRyb3Bkb3duIHtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIC5tZW51X19saXN0IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lbnVfX2l0ZW0tLWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogJGFuaW07XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltO1xuICAgIH1cblxuICAgIC8vIEZvciBtb2JpbGUsIHR1cm4gdGhlIGRyb3Bkb3duIGludG8gYSB0b2dnbGVcbiAgICAmLmpzLS1pc09wZW4ge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4Y2x1ZGUgZHJvcGRvd24gaG92ZXIgdG8gbGFyZ2Ugc2NyZWVuc1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgICYuanMtLWlzT3BlbixcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgICAgICAubWVudV9fbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERyb3Bkb3duIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogJG1lbnUtZHJvcGRvd24tcGFkZGluZztcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4NXB4KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6ICRtZW51LWRyb3Bkb3duLW1pbi13aWR0aDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG5cbiAgICAgICAgLy8gVHJhbnNpdGlvbiBhbmltYXRpb25cbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zZW0pO1xuICAgICAgICB0cmFuc2l0aW9uOiAkbWVudS1kcm9wZG93bi10cmFuc2l0aW9uO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuLmRyb3Bkb3duX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZHJvcGRvd25fX2l0ZW0ge1xuICAgIG1hcmdpbjogJG1lbnUtZHJvcGRvd24taXRlbS1tYXJnaW47XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRyb3Bkb3duX19saW5rIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODVweCkge1xuICAgICAgICBjb2xvcjogJG1lbnUtZHJvcGRvd24tbGluay1jb2xvcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbWVudS1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSW50cm8gQmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2Utc2VjdGlvbi0taW50cm8tYmxvY2sge1xuICAgICYucGFnZS1zZWN0aW9uLS1kZWZhdWx0IC5jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXItLXd5c2l3eWc7XG4gICAgfVxuXG4gICAgJi5wYWdlLXNlY3Rpb24tLWZ1bGwgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uaW50cm8tYmxvY2sge1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5jb3B5LWJsb2NrX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCgxKTtcbiAgICB9XG5cbiAgICAuY29weS1ibG9ja19fd3lzaXd5ZyB7XG4gICAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmludHJvLWJsb2NrX19pbWFnZS13cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IGdhcCgyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMCAxIDMwJTtcblxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBtYXgtd2lkdGg6IDI3NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdhcCgzKTtcbiAgICB9XG5cbiAgICAmICsgLmludHJvLWJsb2NrX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmbGV4OiAwIDEgNzAlO1xuXG4gICAgICAgICAgICAuYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmludHJvLWJsb2NrX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbnRyby1ibG9ja19fY29udGVudC13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5pZTExICYge1xuICAgICAgICBtYXJnaW46IDAgZ2FwKDEuNSk7XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29udGFjdCBVcyBTZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gQSBzZWN0aW9uIHdpdGggY29udGFjdCB1cyBzZWN0aW9uIGhlYWRlciwgZGVzY3JpcHRpb24gYW5kIGZvcm0uXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5wYWdlLXNlY3Rpb24tLWNvbnRhY3QtdXMge1xuICAgICYgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnBhZ2Utc2VjdGlvbl9fYm9keSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLS13eXNpd3lnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnd5c2l3eWcge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCg0KTtcbiAgICB9XG59XG5cbi5zZWN0aW9uLWhlYWRlci0tY29udGFjdC11cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29udGVudCBQYW5lbHMgU2VjdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIEEgc2VjdGlvbiB3aXRoIHJlcGVhdGluZyBDb250ZW50IHBhbmVsIGJsb2Nrcy5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLXNlY3Rpb24tLWNhcm91c2VsIHtcbiAgICAmIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFd5c2l3eWcgQmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2Utc2VjdGlvbi0td3lzaXd5Zy1ibG9jayB7XG4gICAgJiAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRHJpdmVycyBCbG9ja1xuLy9cbi8vIEEgMiBjb2x1bW4gY3NzIGdyaWQgd2l0aCBjYXJkc1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2Utc2VjdGlvbi0tZHJpdmVycy1ibG9jayB7XG4gICAgJiAuY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY3NzLWdyaWQge1xuICAgICAgICBncmlkLWdhcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAkZ3JpZC1ndXR0ZXItLW1vYmlsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgZ3JpZC1nYXA6ICRncmlkLWd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmNzcy1ncmlkX19pdGVtIHtcbiAgICAgICAgJiArIC5jc3MtZ3JpZF9faXRlbSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmllMTEgJiB7XG4gICAgICAgIC5jc3MtZ3JpZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkX193cmFwcGVyIHtcblxuICAgICAgICAmOm5vdCguYmxvY2stbGluaykge1xuXG4gICAgICAgICAgICAuYnV0dG9uLWNvbGxlY3Rpb24tLWRyaXZlcnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOZXdzIGFuZCBFdmVudCBTZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLXNlY3Rpb24tLWZlYXR1cmVkLWNvbnRlbnQtcG9zdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IGdhcCgzKSAwO1xuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogZ2FwKDUpIDA7XG4gICAgfVxuXG4gICAgLnBhZ2Utc2VjdGlvbl9fYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtcm93LWdhcDogNDBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgZ3JpZC1yb3ctZ2FwOiA0NXB4O1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmNzcy1ncmlkX19pdGVtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGdhcCg0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jc3MtZ3JpZCB7XG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tLXByaW1hcnkge1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzZWxmLXN0YXJ0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzZWxmLWVuZDtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogc2VsZi1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1oZWFkZXItLW5ld3MtZXZlbnRzIHtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvcHktYmxvY2tfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBnYXAoLjMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5wYWdlLXNlY3Rpb24tLWZlYXR1cmVkLWNvbnRlbnQtcG9zdC0tYmxhY2ssXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yLS1kYXJrO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgcGFkZGluZzogZ2FwKDYpIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi1oZWFkZXItLW5ld3MtZXZlbnRzIHtcbiAgICAgICAgICAgIC5jb3B5LWJsb2NrX190aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24tLXByaW1hcnkge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLS1kZWZhdWx0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgIC5jYXJkX19sYWJlbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FyZF9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LW1ldGFfX2RhdGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LW1ldGFfX3NvdXJjZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcmRfX3RleHQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24tLXRleHQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmJ1dHRvbi0tdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cblxuLy8gLmZlYXR1cmVkLWNvbnRlbnQtcG9zdC0tYmxhY2sge1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yLS1kYXJrO1xuXG4vLyAgICAgLnNlY3Rpb24taGVhZGVyLS1uZXdzLWV2ZW50cyB7XG4vLyAgICAgICAgIC5jb3B5LWJsb2NrX190aXRsZSB7XG4vLyAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgLmJ1dHRvbi0tcHJpbWFyeSB7XG4vLyAgICAgICAgICY6aG92ZXIge1xuLy8gICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cblxuLy8gICAgIC5jYXJkLS1kZWZhdWx0IHtcbi8vICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuLy8gICAgICAgICAuY2FyZF9fbGFiZWwge1xuLy8gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuLy8gICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQtY29sb3I7XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAuY2FyZF9fdGl0bGUge1xuLy8gICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIC5wb3N0LW1ldGFfX2RhdGUge1xuLy8gICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIC5wb3N0LW1ldGFfX3NvdXJjZSB7XG4vLyAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgLmNhcmRfX3RleHQge1xuLy8gICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIC5idXR0b24tLXRleHQge1xuLy8gICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExvZ28gQmxvY2tcbi8vXG4vLyBBIFBhZ2Ugc2VjdGlvbiB3aXRoIGNhcm91c2VsIG9mIGxvZ29zXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnZS1zZWN0aW9uLS1sb2dvLWNhcm91c2VsIHtcbiAgICAmIC5jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLWhlYWRlci0tbG9nby1jYXJvdXNlbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZ2FwKDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWluaSBQYW5lbCBTZWN0aW9uXG4vL1xuLy8gQSByZXBlYXRlciBvZiB0ZXh0L2ltYWdlIGdyaWRcbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBhZ2Utc2VjdGlvbi0tbWluaS1wYW5lbHMge1xuICAgICYgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgLmNvcHktYmxvY2tfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdhcCgzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLS13eXNpd3lnO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5taW5pLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogNjBweDtcbiAgICB9XG5cbiAgICAmICsgLm1pbmktcGFuZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiBnYXAoNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBnYXAoNik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5taW5pLXBhbmVsX190aXRsZSB7XG4gICAgQGV4dGVuZCAlaDM7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDg7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogZ2FwKDIpO1xufVxuXG4ubWluaS1wYW5lbF9faW1hZ2Utd3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDkgLyBzcGFuIDQ7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgbWFyZ2luLWJvdHRvbTogZ2FwKDIpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGdhcCg2KTtcbiAgICB9XG59XG5cbi5taW5pLXBhbmVsX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubWluaS1wYW5lbF9fd3lzaXd5ZyB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDg7XG4gICAgZ3JpZC1yb3c6IDI7XG5cbiAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuaWUxMSAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExhcmdlIFRleHQgd2l0aCBJbWFnZSBCbG9ja1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnZS1zZWN0aW9uLS1sYXJnZS10ZXh0LXdpdGgtaW1hZ2UtYmxvY2sge1xuICAgICYgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ubGFyZ2UtdGV4dC1zZWN0aW9uX193cmFwcGVyIHtcbiAgICB0cmFuc2l0aW9uOiAkYW5pbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogNjBweDtcbiAgICB9XG5cbiAgICAmLS1oYXMtdGl0bGUge1xuICAgICAgICAubGFyZ2UtdGV4dC1zZWN0aW9uX193eXNpd3lnIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXJnZS10ZXh0LXNlY3Rpb25fX2ltYWdlLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIC5sYXJnZS10ZXh0LXNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAzO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFyZ2UtdGV4dC1zZWN0aW9uX19nYWxsZXJ5IHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxhcmdlLXRleHQtc2VjdGlvbl9fY29udGVudCB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgZ3JpZC1yb3c6IDE7XG59XG5cbi5sYXJnZS10ZXh0LXNlY3Rpb25fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnYXAoMS41KTtcbn1cblxuLmxhcmdlLXRleHQtc2VjdGlvbl9fZ2FsbGVyeSB7XG4gICAgZ3JpZC1jb2x1bW46IDQgLyBzcGFuIDI7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMjBweDtcbn1cblxuLmxhcmdlLXRleHQtc2VjdGlvbl9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubGFyZ2UtdGV4dC1zZWN0aW9uX193eXNpd3lnIHtcbiAgICBtYXJnaW46IGdhcCgyKSAwIGdhcCgyKTtcblxuICAgIEBpbmNsdWRlIGJwKGxhcHRvcCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5pZTExICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBnYXAoMyk7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNpZ24gVXAgYmFyIFNlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2Utc2VjdGlvbi0tc2lnbnVwLWJhciB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGhlaWdodDogMDtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIC5jb250YWluZXItLW9uZS1jb2x1bW4gJiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IC00cHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicChsYXB0b3ApIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhaW5lci0tb25lLWNvbHVtbiAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1zZWN0aW9uX19ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKCN7JGdyaWQtZ3V0dGVyfSAqIDIpKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpZ251cC1iYXJfX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTI3cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lnbnVwLWJhcl9fY3RhLWNvbnRhaW5lciB7XG4gICAgICAgICYsXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxOCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaWdudXAtYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJi5qcy0tc2lnbnVwLWJhci1vcGVuIHtcbiAgICAgICAgei1pbmRleDogMjAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmpzLS1zaWdudXAtYmFyLW9wZW4ge1xuICAgIC5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9*/