@charset "UTF-8";
/* ==========================================================================
   Config
   ========================================================================== */
/* ==========================================================================
   Default settings defined as variables
   ========================================================================== */
/* -------------------------------------------------------------------------
 Base font sizes (used by scut, sass-mq)
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Fontstack definitions
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Wordpress: Theme name (same as 'project name' in 'gulp config')
 --------------------------------------------------------------------------- */
/* ==========================================================================
   Default color definitions defined as sass list ( used via color mixin)
   ========================================================================== */
/* Variables, Naming may vary from project to project */
/* ==========================================================================
   Fonts
   ========================================================================== */
/* ==========================================================================
   Colors
   ========================================================================== */
/* text */
/* background */
/* grey */
/* dark grey */
/* orange */
/* line-colors */
/* dark blue */
/* orange */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  --text-color: #12182d;
  --text-highlight-color: #f1a948;
  --spacing-l: 4em; }

.c-bg-dark {
  --text-color: #fff; }

.c-bg-highlight {
  --text-highlight-color: #fff; }

@media only screen and (min-width: 1200px) {
  --spacing-l: 6em; }

@media only screen and (max-width: 600px) {
  --spacing-l: 3em; }

/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/*
 * 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/*
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* =============================================================================
   Base
   ========================================================================== */
/*
 * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *    http://clagnut.com/blog/348/#c790
 * 2. Keeps page centred in all browsers regardless of content height
 * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
 * 4. Correct the line height in all browsers.
 */
html {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 4 */
  overflow-y: scroll;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  -ms-text-size-adjust: 100%;
  /* 3 */ }

/**
 * Remove default margin.


 */
body {
  margin: 0;
  padding: 0;
  /* cubegrafik */ }

/* =============================================================================
/**
 * Remove the gray background color from active links in IE 10.

 */
a {
  background: transparent; }

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted; }

/* =============================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

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

/*
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold; }

blockquote {
  margin: 1em 40px; }

/*
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic; }

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

/*
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/*
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

/*
 * Improves readability of pre-formatted text in all browsers
 * Contain overflow in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow: auto; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**

 * Prevent `sub` and `sup` affecting `line-height` in all browsers.

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* =============================================================================
   Embedded content
   ========================================================================== */
/*
 * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */ }

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden; }

/* =============================================================================
   Figures
   ========================================================================== */
/*
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* =============================================================================
   Forms
   ========================================================================== */
/*
 * Corrects margin displayed oddly in IE6/7
 */
form {
  margin: 0; }

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  border: 0;
  /* cubegrafik */
  margin: 0;
  /* cubegrafik */
  padding: 0;
  /* cubegrafik */ }

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

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.

 * 4. Improves appearance and consistency in all browsers
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 4 */ }

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

/**

 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal; }

/**
 * 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; }

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 * and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 * `input` and others.
 * 4. Removes inner spacing in IE7 without affecting normal text inputs.
 * Known issue: inner spacing remains in IE6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  *overflow: visible;
  /* 4 */ }

/*
 * Re-set default cursor for disabled elements
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
input::-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; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

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

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

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

/**

 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).

 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**

 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/**
 * 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 */ }

/* =============================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

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

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

/* ==========================================================================
   Elements cubegrafik
   ========================================================================== */
a:active {
  outline: none; }

div, p {
  padding: 0;
  margin: 0; }

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

th, td {
  vertical-align: top;
  text-align: left; }

input,
textarea {
  /* Removed because of visibilitychange-addition to fancy-forms plugin.
     * 2015/01/22 - Florian Mäder
     * -webkit-appearance: none;*/
  -webkit-border-radius: 0; }

html {
  -webkit-box-sizing: border-box;
  /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
  /* Firefox 1 - 28 */
  box-sizing: border-box;
  /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */ }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

label[for] {
  cursor: pointer;
  -ms-touch-action: manipulation;
  /* IE 10  */
  touch-action: manipulation;
  /* IE 11+ */ }

/* ==========================================================================
   Form Placeholder
   ========================================================================== */
/* ==========================================================================
   Fonts smoothing
   ========================================================================== */
/* ==========================================================================
  Hiding
   ========================================================================== */
.c-hide-visually {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.c-hide-completely {
  display: none;
  visibility: hidden; }

/* image replacement */
.c-ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr; }

/* ==========================================================================
   Sticky Footer
   ========================================================================== */
html {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

body {
  min-height: 100vh;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.c-header,
.c-footer {
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.c-content {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

/* ==========================================================================
   Saas Tools (imported from node_modules)
   ========================================================================== */
/* ==========================================================================
   Settings for Saas Tool 'Scut: Sass-CSS Utitilies'
   https://davidtheclark.github.io/scut/
   ========================================================================== */
/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v1.4.0
* Docs at http://davidtheclark.github.io/scut
*/
/* ==========================================================================
   Settings for Saas Tool 'Media Queries with superpowers'
   https://github.com/sass-mq/sass-mq
   ========================================================================== */
/* -------------------------------------------------------------------------
 Horizontal Breakpoints (Width)
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Vertical Breakpoints (Height)
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Settings: Show horizontal breakpoints
 --------------------------------------------------------------------------- */
/*$mq-show-breakpoints: (
	mini,
	mobile,
	tween,
	palm,
	palmer,
	tablet,
	bigtablet,
	predesktop,
	desktop,
	huge,
	bigger,
	diff,
	gigantic
);*/
/* ==========================================================================
   Sizes
   ========================================================================== */
/* ==========================================================================
   Font sizes defined as variables
   ========================================================================== */
/* -------------------------------------------------------------------------
Line Heights
--------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Default
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Navigation
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Title
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Page title
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Pageheader title
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Content
 --------------------------------------------------------------------------- */
/* ==========================================================================
   Image sizes
   ========================================================================== */
/* -------------------------------------------------------------------------
 Wordpress Admin Post Overview
 --------------------------------------------------------------------------- */
/* ==========================================================================
   Height Sizes
   ========================================================================== */
/* ==========================================================================
   Padding Sizes
   ========================================================================== */
/* -------------------------------------------------------------------------
 Wrapper (Container)
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Siteheader
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Language Navigation
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Navigation Item
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Main
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Pageheader Image
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Abstand klein
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Abstand: Bild zu Titel
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Column padding
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Text padding
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
  Context text padding
  --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Form padding
 --------------------------------------------------------------------------- */
/* ==========================================================================
   Width Sizes
   ========================================================================== */
/* ==========================================================================
   Old stuff
   ========================================================================== */
/* ==========================================================================
   Helper
   ========================================================================== */
.wrapper {
  padding-left: 1em;
  padding-right: 1em;
  width: 100%; }
  @media (min-width: 13.75em) {
    .wrapper {
      padding-left: 10%;
      padding-right: 10%; } }
  @media (min-width: 82.5em) {
    .wrapper {
      max-width: 1100px; } }

/* ==========================================================================
   Normalize, Boilerplate
   ========================================================================== */
/*
@import 'common/consistency/normalize';
@import 'common/consistency/boilerplate';
@import 'common/consistency/sys';
*/
/* ==========================================================================
   Common
   ========================================================================== */
@font-face {
  font-family: 'HK Grotesk';
  src: url("/app/themes/werosoft/assets/fonts/hankengrotesk-regular.eot");
  src: url("/app/themes/werosoft/assets/fonts/hankengrotesk-regular.eot?#iefix") format("embedded-opentype"), url("/app/themes/werosoft/assets/fonts/hankengrotesk-regular.woff2") format("woff2"), url("/app/themes/werosoft/assets/fonts/hankengrotesk-regular.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'HK Grotesk Bold';
  src: url("/app/themes/werosoft/assets/fonts/hankengrotesk-bold.eot");
  src: url("/app/themes/werosoft/assets/fonts/hankengrotesk-bold.eot?#iefix") format("embedded-opentype"), url("/app/themes/werosoft/assets/fonts/hankengrotesk-bold.woff2") format("woff2"), url("/app/themes/werosoft/assets/fonts/hankengrotesk-bold.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

/* ==========================================================================
   HK Grotesk
   ========================================================================== */
.no-js .page-numbers.current,
.no-js .c-content,
.wf_hkgrotesk .page-numbers.current,
.wf_hkgrotesk .c-content {
  font-family: "HK Grotesk", "Arial", "Helvetica", sans-serif;
  font-weight: normal;
  font-style: normal; }

/* ==========================================================================
   HK Grotesk Bold
   ========================================================================== */
.no-js h1,
.no-js h2,
.no-js h3,
.no-js h4,
.no-js h5,
.no-js h6,
.no-js b,
.no-js strong,
.no-js .c-link-arrow,
.no-js .c-lead,
.no-js .c-text-big,
.no-js .c-text-block .c-lead,
.no-js .c-caption,
.no-js .c-subtitle,
.no-js .c-subtitle-big,
.no-js .c-testimonial blockquote p,
.no-js .c-testimonial blockquote cite,
.no-js .c-text-block blockquote p,
.no-js .c-text-block blockquote cite,
.no-js .c-pie-number-status,
.no-js .c-pie-number-total,
.no-js .c-site-navigation,
.no-js .c-news-item-link,
.no-js .c-caption,
.no-js .c-subtitle,
.no-js .c-subtitle-big,
.no-js .page-numbers,
.no-js .c-btn,
.no-js .gfield_label,
.no-js .gform_wrapper .form-error,
.no-js .cn-button,
.no-js .scroll-navigation li a,
.no-js .post-password-form input[type='submit'],
.no-js .post-password-form label,
.wf_hkgrotesk-bold h1,
.wf_hkgrotesk-bold h2,
.wf_hkgrotesk-bold h3,
.wf_hkgrotesk-bold h4,
.wf_hkgrotesk-bold h5,
.wf_hkgrotesk-bold h6,
.wf_hkgrotesk-bold b,
.wf_hkgrotesk-bold strong,
.wf_hkgrotesk-bold .c-link-arrow,
.wf_hkgrotesk-bold .c-lead,
.wf_hkgrotesk-bold .c-text-big,
.wf_hkgrotesk-bold .c-text-block .c-lead,
.wf_hkgrotesk-bold .c-caption,
.wf_hkgrotesk-bold .c-subtitle,
.wf_hkgrotesk-bold .c-subtitle-big,
.wf_hkgrotesk-bold .c-testimonial blockquote p,
.wf_hkgrotesk-bold .c-testimonial blockquote cite,
.wf_hkgrotesk-bold .c-text-block blockquote p,
.wf_hkgrotesk-bold .c-text-block blockquote cite,
.wf_hkgrotesk-bold .c-pie-number-status,
.wf_hkgrotesk-bold .c-pie-number-total,
.wf_hkgrotesk-bold .c-site-navigation,
.wf_hkgrotesk-bold .c-news-item-link,
.wf_hkgrotesk-bold .c-caption,
.wf_hkgrotesk-bold .c-subtitle,
.wf_hkgrotesk-bold .c-subtitle-big,
.wf_hkgrotesk-bold .page-numbers,
.wf_hkgrotesk-bold .c-btn,
.wf_hkgrotesk-bold .gfield_label,
.wf_hkgrotesk-bold .gform_wrapper .form-error,
.wf_hkgrotesk-bold .cn-button,
.wf_hkgrotesk-bold .scroll-navigation li a,
.wf_hkgrotesk-bold .post-password-form input[type='submit'],
.wf_hkgrotesk-bold .post-password-form label {
  font-family: "HK Grotesk Bold", "Arial", "Helvetica", sans-serif;
  font-weight: normal;
  font-style: normal; }

.browserupgrade {
  margin-bottom: 2em;
  margin-top: 2em; }
  @media (min-width: 31.25em) {
    .browserupgrade {
      margin-bottom: 2.4em;
      margin-top: 2.4em; } }
  @media (min-width: 48em) {
    .browserupgrade {
      margin-bottom: 3em;
      margin-top: 3em; } }
  @media (min-width: 75em) {
    .browserupgrade {
      margin-bottom: 4em;
      margin-top: 4em; } }

/* ==========================================================================
   Typography
   ========================================================================== */
/* -------------------------------------------------------------------------
 Font-weight: bold
 --------------------------------------------------------------------------- */
b,
.bold,
strong,
.strong,
.c-site-title,
.jobs .job-title,
.mitarbeiter .mitarbeiter-ocupation,
.contact-wrapper .small .subtitle,
.jobs .job-description .subtitle,
.image-text .small .subtitle,
.title-wrapper .small .subtitle,
.news-teaser .subtitle,
.news-teaser.download .news-teaser-title,
.news-teaser.standard .news-teaser-title
.infografik .index,
.infografik .subtitle,
.c-news-item-link,
.c-caption,
.c-subtitle,
.c-subtitle-big,
.c-site-navigation li a,
.page-numbers,
.gfield_label,
.cn-button,
.post-password-form input[type='submit'],
.post-password-form label {
  font-weight: bold; }

/* -------------------------------------------------------------------------
 Font-weight: normal
 --------------------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6,
body,
.c-navigation-title,
.c-page-title,
.page-numbers.current {
  font-weight: normal; }

/* -------------------------------------------------------------------------
 Font-weight: italic
 --------------------------------------------------------------------------- */
em,
.italic {
  font-style: italic; }

/* -------------------------------------------------------------------------
 Fontstack: sans serif
 --------------------------------------------------------------------------- */
html,
body,
b,
.bold,
strong,
.strong,
cite,
.c-navigation-title,
.jobs .job-title,
.contact-wrapper .small .subtitle,
.jobs .job-description .subtitle,
.image-text .small .subtitle,
.title-wrapper .small .subtitle,
.news-teaser .subtitle,
.news-teaser.download .news-teaser-title,
.news-teaser.standard .news-teaser-title,
.infografik .index,
.infografik .subtitle {
  font-family: "Arial", "Helvetica", sans-serif;
  font-style: normal; }

/* ==========================================================================
   Elements
   ========================================================================== */
/* ==========================================================================
   Standard img / media declaration
   ========================================================================== */
.c-content img,
embed,
object,
video,
iframe {
  width: 100%; }

.no-js .gform_wrapper,
.c-media + .c-media,
.c-media + h2,
.c-media + h3,
.c-media + h4,
.c-media + p,
.c-media + span,
.c-media + .jsform {
  margin-top: 20px; }
  @media (min-width: 31.25em) {
    .no-js .gform_wrapper,
    .c-media + .c-media,
    .c-media + h2,
    .c-media + h3,
    .c-media + h4,
    .c-media + p,
    .c-media + span,
    .c-media + .jsform {
      margin-top: 40px; } }
  @media (min-width: 48em) {
    .no-js .gform_wrapper,
    .c-media + .c-media,
    .c-media + h2,
    .c-media + h3,
    .c-media + h4,
    .c-media + p,
    .c-media + span,
    .c-media + .jsform {
      margin-top: 60px; } }
  @media (min-width: 75em) {
    .no-js .gform_wrapper,
    .c-media + .c-media,
    .c-media + h2,
    .c-media + h3,
    .c-media + h4,
    .c-media + p,
    .c-media + span,
    .c-media + .jsform {
      margin-top: 80px; } }

/*.c-footer img,
.c-header img,
.c-content .c-img-max-size {
	max-width: 100%;
	height: auto;
}

.c-image{
	max-width: $contentMaxSize;
}

.c-parallax{
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
	width: 100%;
}

.c-content{
	figure{
		figcaption{
			p{
                font-size: $mobileSmallFontSize;
                @include mq($from: desktop){
                    font-size: $desktopSmallFontSize;
                }
			}
		}
	}
}

figure{
	margin: 0;
	figcaption{
		p{
			font-size: 1em;
            padding-top: scut-em(18);
		}
	}
}

img{
	height: auto;
	width: 100%;
}

*/
.js .hassvglogo .c-site-title,
.js .hassvglogo .text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

.js .hassvglogo .img-logo {
  display: none;
  visibility: hidden; }

.js .nosvglogo.haslogo .c-site-title,
.js .nosvglogo.haslogo .text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

.js .nosvglogo.haslogo .svg-logo {
  display: none;
  visibility: hidden; }

/*
.js.inlinesvg{
	.hassvglogo{
		.svg-logo{
			display: block;
			visibility: visible;
		}
		.img-logo{
			display: none;
			visibility: hidden;
		}
        .c-site-title,
		.text{
			@include visuallyhidden;
		}
	}
	.nosvglogo.haslogo{
		.svg-logo{
			display: none;
			visibility: hidden;
		}
		.img-logo{
			display: block;
			visibility: visible;
		}
		.text{
			@include visuallyhidden;
		}
	}
}
.js.no-inlinesvg{
	.hassvglogo.haslogo,
	.haslogo{
		.svg-logo{
			display: none;
			visibility: hidden;
		}
		.img-logo{
			display: block;
			visibility: visible;
		}
		.text{
			@include visuallyhidden;
		}
	}
	.hassvglogo{
		.svg-logo,
		.img-logo{
			display: none;
			visibility: hidden;
		}
	}
}
.js.svgasimg{
    .infografik{
        .hassvg{
            .image{
                display: none;
    			visibility: hidden;
            }
        }
    }
}
.js.no-svgasimg{
    .infografik{
        .svgimage{
            display: none;
			visibility: hidden;
        }
    }
}
*/
.no-js .hassvglogo .svg-logo,
.no-js .hassvglogo .img-logo,
.no-js .haslogo .svg-logo,
.no-js .haslogo .img-logo {
  display: none;
  visibility: hidden; }

.no-js .hassvglogo .c-site-title,
.no-js .hassvglogo .text,
.no-js .haslogo .c-site-title,
.no-js .haslogo .text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

.no-js .hassvglogo .nojsimage,
.no-js .haslogo .nojsimage {
  height: auto;
  height: auto;
  display: block;
  max-height: 80px;
  visibility: visible;
  width: 80px; }
  @media (min-width: 20em) {
    .no-js .hassvglogo .nojsimage,
    .no-js .haslogo .nojsimage {
      max-height: 90px;
      width: 90px; } }

.no-js .hassmalllogo .nojsimage {
  display: none; }
  @media (min-width: 53.75em) {
    .no-js .hassmalllogo .nojsimage {
      display: block; } }
  .no-js .hassmalllogo .nojsimage.smalllogo {
    display: block; }
    @media (min-width: 53.75em) {
      .no-js .hassmalllogo .nojsimage.smalllogo {
        display: none; } }

/*
.js{
    &.inlinesvg{
        .img-icon{
            display: none;
			visibility: hidden;
        }
    }
    &.no-inlinesvg{
        .svg-icon{
            display: none;
            visibility: hidden;
        }
        .img-icon .icon-fallback{
            height: 0;
        	opacity: 1;
        	overflow: hidden;
        	width: 100%;
        }
    }
}
*/
.no-js .svgimage,
.no-js .svg-icon,
.no-js .icon-fallback {
  display: none;
  visibility: hidden; }

.icon-wrapper .icon-image,
.icon-wrapper .icon-svg {
  margin-left: auto;
  margin-right: auto; }

.icon-wrapper.big .icon-image,
.icon-wrapper.big .icon-svg {
  max-width: 90%;
  min-width: 2em; }

.icon-wrapper.medium .icon-image,
.icon-wrapper.medium .icon-svg {
  max-width: 70%;
  min-width: 2em; }

.icon-wrapper.small .icon-image,
.icon-wrapper.small .icon-svg {
  max-width: 50%;
  min-width: 2em; }

.icon-wrapper figcaption {
  text-align: center; }

.js .has-svg .icon-svg .svg {
  display: block;
  opacity: 0; }

.js.svgasimg .has-svg .icon-image,
.js.no-svgasimg .has-svg .icon-svg {
  display: none; }

.no-js .has-svg .icon-svg,
.no-js .has-svg .icon-svg .svg,
.no-js .has-svg .icon-image .image,
.no-js .image.lazyload {
  display: none; }

.js .image {
  height: 0;
  opacity: 1;
  overflow: hidden;
  width: 100%; }

.js .icon-image .image {
  opacity: 0; }

.js.svgasimg .infografik .svgimage.lazyload, .js.svgasimg .infografik .svgimage.loading, .js.svgasimg .infografik .svgimage.lazyloading,
.js.no-inlinesvg .img-icon .icon-fallback.lazyload,
.js.no-inlinesvg .img-icon .icon-fallback.loading,
.js.no-inlinesvg .img-icon .icon-fallback.lazyloading,
.js .image.lazyload,
.js .image.loading,
.js .image.lazyloading {
  opacity: 0; }

.js .image.loaded,
.js .image.lazyloaded,
.js.svgasimg .infografik .svgimage,
.js.no-inlinesvg .img-icon .icon-fallback {
  height: auto;
  opacity: 1;
  padding-bottom: 0 !important; }

.js .icon-image .image.lazyloaded,
.js .icon-svg .svg.lazyloaded {
  opacity: 1; }

.csstransitions.js .icon-svg .svg,
.csstransitions.js .image,
.csstransitions.js.svgasimg .infografik .svgimage,
.csstransitions.js.no-inlinesvg .icon-fallback {
  -webkit-transition: opacity .5s ease-in-out;
  transition: opacity .5s ease-in-out; }

.no-csstransitions.lazyload, .no-csstransitions.loading, .no-csstransitions.lazyloading {
  height: auto;
  opacity: 1;
  padding-bottom: 0 !important; }

/* ==========================================================================
   Components
   ========================================================================== */
/* -------------------------------------------------------------------------
 Siteheader
 --------------------------------------------------------------------------- */
/* ==========================================================================
   header
   ========================================================================== */
.c-header {
  background-color: #fff; }

.c-header-logo a {
  display: block; }

.c-site-header {
  background-color: #fff;
  padding-bottom: 7px;
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 14px; }
  @media (min-width: 13.75em) {
    .c-site-header {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (min-width: 37.5em) {
    .c-site-header {
      padding-left: 40px;
      padding-right: 40px; } }
  @media (min-width: 48em) {
    .c-site-header {
      padding-bottom: 18.571429px;
      padding-top: 26px; } }
  @media (min-width: 75em) {
    .c-site-header {
      padding-left: 120px;
      padding-right: 120px; } }
  @media (min-width: 87.5em) {
    .c-site-header {
      padding-left: 120px;
      padding-right: 120px; } }
  @media (min-width: 105em) {
    .c-site-header {
      padding-left: 80px;
      padding-right: 80px; } }

.c-header-logo {
  display: inline-block;
  font-size: 1em;
  position: relative;
  text-decoration: none; }
  @media (min-width: 53.75em) {
    .c-header-logo {
      z-index: 200; } }
  .c-header-logo:hover, .c-header-logo:focus {
    text-decoration: none; }
  .c-header-logo .logo-image {
    display: inline-block;
    height: auto;
    vertical-align: bottom; }
  .c-header-logo .img-logo,
  .c-header-logo .svg-logo {
    height: auto;
    width: 80px; }
    @media (min-width: 20em) {
      .c-header-logo .img-logo,
      .c-header-logo .svg-logo {
        width: 90px; } }
    @media (min-width: 31.25em) {
      .c-header-logo .img-logo,
      .c-header-logo .svg-logo {
        width: 100px; } }
    @media (min-width: 48em) {
      .c-header-logo .img-logo,
      .c-header-logo .svg-logo {
        width: 160px; } }
    .c-header-logo .img-logo svg,
    .c-header-logo .img-logo img,
    .c-header-logo .svg-logo svg,
    .c-header-logo .svg-logo img {
      max-height: 80px;
      height: auto; }
      @media (min-width: 20em) {
        .c-header-logo .img-logo svg,
        .c-header-logo .img-logo img,
        .c-header-logo .svg-logo svg,
        .c-header-logo .svg-logo img {
          max-height: 90px; } }
  .c-header-logo .c-site-title {
    color: #1e2154;
    display: inline-block;
    font-size: 1.1em; }
  .c-header-logo .c-site-byline {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap; }

/* -------------------------------------------------------------------------
 Navigation
 --------------------------------------------------------------------------- */
/* ==========================================================================
   Meta-Navigation (Language- and Footer-Navigation)
   ========================================================================== */
.c-language-navigation,
.c-footer-disclaimer-list {
  margin: 0;
  list-style: none; }
  .c-language-navigation a,
  .c-footer-disclaimer-list a {
    text-decoration: none; }
    .c-language-navigation a:visited,
    .c-footer-disclaimer-list a:visited {
      text-decoration: none; }

/* ==========================================================================
  Language--Navigation
  ========================================================================== */
.c-header-navigation .c-language-navigation {
  text-align: right; }
  .c-header-navigation .c-language-navigation li + li {
    padding-top: 0.625em; }
    @media (min-width: 13.75em) {
      .c-header-navigation .c-language-navigation li + li {
        padding-left: 0.9375em; } }
    @media (min-width: 37.5em) {
      .c-header-navigation .c-language-navigation li + li {
        padding-top: 0; } }
  @media (min-width: 13.75em) {
    .c-header-navigation .c-language-navigation li {
      display: inline-block; } }
  .c-header-navigation .c-language-navigation a {
    color: #fff;
    display: inline-block;
    padding-top: 0; }
    .c-header-navigation .c-language-navigation a:focus:not(:hover), .c-header-navigation .c-language-navigation a:focus:not(:active) {
      color: #f1a948; }
  .c-header-navigation .c-language-navigation .c-active a,
  .c-header-navigation .c-language-navigation a:hover {
    color: #f1a948; }

/* ==========================================================================
  Page-Navigation
  ========================================================================== */
.c-pagenavivation {
  padding-top: 54px; }
  @media (min-width: 31.25em) {
    .c-pagenavivation {
      padding-top: 70px; } }
  @media (min-width: 48em) {
    .c-pagenavivation {
      padding-top: 80px; } }
  @media (min-width: 53.75em) {
    .c-pagenavivation {
      padding-top: 90px; } }
  @media (min-width: 75em) {
    .c-pagenavivation {
      padding-top: 100px; } }
  @media (min-width: 82.5em) {
    .c-pagenavivation {
      padding-top: 120px; } }
  .c-pagenavivation .menu {
    list-style: none;
    padding: 0; }
    .c-pagenavivation .menu li {
      display: inline-block;
      padding-top: 1em; }
    .c-pagenavivation .menu .ajaxNavigationButton {
      background-color: transparent;
      border: 0; }
    .c-pagenavivation .menu .ajaxNavigationButton,
    .c-pagenavivation .menu .page-numbers {
      color: #f1a948;
      display: inline-block;
      margin-right: .5em;
      padding: 0 1em;
      text-decoration: none; }
      .c-pagenavivation .menu .ajaxNavigationButton:hover, .c-pagenavivation .menu .ajaxNavigationButton:focus,
      .c-pagenavivation .menu .page-numbers:hover,
      .c-pagenavivation .menu .page-numbers:focus {
        color: #f1a948; }
      .c-pagenavivation .menu .ajaxNavigationButton.current,
      .c-pagenavivation .menu .page-numbers.current {
        color: #12182d; }
        .c-pagenavivation .menu .ajaxNavigationButton.current:hover, .c-pagenavivation .menu .ajaxNavigationButton.current:focus,
        .c-pagenavivation .menu .page-numbers.current:hover,
        .c-pagenavivation .menu .page-numbers.current:focus {
          color: #12182d; }
      .c-pagenavivation .menu .ajaxNavigationButton.dots:hover, .c-pagenavivation .menu .ajaxNavigationButton.dots:focus,
      .c-pagenavivation .menu .page-numbers.dots:hover,
      .c-pagenavivation .menu .page-numbers.dots:focus {
        color: #f1a948; }
      .c-pagenavivation .menu .ajaxNavigationButton.prev, .c-pagenavivation .menu .ajaxNavigationButton.next,
      .c-pagenavivation .menu .page-numbers.prev,
      .c-pagenavivation .menu .page-numbers.next {
        display: block;
        margin-right: 0;
        padding: 0; }
        @media (min-width: 20em) {
          .c-pagenavivation .menu .ajaxNavigationButton.prev, .c-pagenavivation .menu .ajaxNavigationButton.next,
          .c-pagenavivation .menu .page-numbers.prev,
          .c-pagenavivation .menu .page-numbers.next {
            display: inline-block;
            margin-right: .5em; } }
        .c-pagenavivation .menu .ajaxNavigationButton.prev .c-link-arrow, .c-pagenavivation .menu .ajaxNavigationButton.next .c-link-arrow,
        .c-pagenavivation .menu .page-numbers.prev .c-link-arrow,
        .c-pagenavivation .menu .page-numbers.next .c-link-arrow {
          margin: 0 1em; }

.js .c-pagenavivation .menu .page-numbers {
  display: none;
  visibility: hidden; }

/* ==========================================================================
  Scroll-Navigation
  ========================================================================== */
.scroll-navigation {
  display: none; }

.js .scroll-navigation {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  display: block;
  visibility: hidden; }

@media (min-width: 87.5em) {
  .js .scrollnav #open-navigation.closed .nav.button.open {
    font-size: 0.8em;
    margin-right: 0; } }

@media (min-width: 105em) {
  .js .scrollnav #open-navigation.closed .nav.button.open {
    margin-right: 80px; } }

.js .scrollnav #open-navigation.closed .scroll-navigation {
  visibility: hidden; }

.js .scrollnav #open-navigation.closed .scroll-navigation.fixed {
  border: none;
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  padding: 0;
  position: static;
  width: auto;
  white-space: normal;
  background-color: #fff;
  border-bottom: 1px solid #efefef;
  left: 0;
  padding-bottom: .5em;
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 14px;
  position: fixed;
  top: 0;
  visibility: visible;
  width: 100%;
  z-index: 300;
  /*.nav.button{
                	&.open{
                        margin-top: 0;
                        @include mq($from: mini){
                            margin-top: 0;
                        }
                    }
                }*/ }
  @media (min-width: 13.75em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed {
      padding-left: 30px;
      padding-right: 30px; } }
  @media (min-width: 37.5em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed {
      padding-left: 40px;
      padding-right: 40px; } }
  @media (min-width: 75em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed {
      padding-left: 120px;
      padding-right: 120px; } }
  @media (min-width: 82.5em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed {
      padding-bottom: 0;
      padding-right: 0;
      padding-top: 0; } }
  @media (min-width: 87.5em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed {
      padding-left: 120px;
      padding-right: 120px; } }
  @media (min-width: 105em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed {
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 82.5em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation {
      padding-bottom: .5em;
      padding-top: .5em; } }
  @media (min-width: 87.5em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation {
      position: relative; } }
  @media (min-width: 105em) {
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation {
      padding-left: 80px;
      padding-right: 80px;
      margin-left: auto;
      margin-right: auto;
      max-width: 1600px; } }
  .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu {
    display: none; }
    @media (min-width: 53.75em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu {
        bottom: 0;
        display: block;
        font-size: 16px;
        height: 1.8em;
        left: 50%;
        margin-left: -30%;
        overflow: hidden;
        margin-bottom: .4em;
        position: absolute;
        text-align: center;
        width: 60%; } }
    @media (min-width: 64em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu {
        margin-left: -33%;
        width: 65%; } }
    @media (min-width: 75em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu {
        margin-left: -44%;
        padding-left: 17%;
        width: 80%;
        padding-right: 10%; } }
    @media (min-width: 83.75em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu {
        margin-left: -48%;
        width: 87%;
        padding-left: 20%;
        padding-right: 11%; } }
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu .current_page_ancestor > a,
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu .current_page_item > a,
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu .current-menu-ancestor > a,
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu .current-menu-item > a,
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu .active > a {
      color: #f1a948; }
    @media (min-width: 53.75em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu > li {
        background-color: transparent;
        display: inline-block;
        padding: 0;
        text-align: center;
        white-space: nowrap; } }
    @media (min-width: 53.75em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu > li a {
        font-size: 1em;
        color: #1e2154;
        display: inline-block;
        margin-left: 1em;
        margin-right: 1em; } }
    @media (min-width: 53.75em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu > li ul {
        display: none; } }
    @media (min-width: 53.75em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu > li:first-child a {
        margin-left: 0; } }
    @media (min-width: 53.75em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .inner-scroll-navigation .menu > li:last-child a {
        margin-right: 0; } }
  .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .c-header-logo {
    font-size: 20px; }
    @media (min-width: 20em) {
      .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .c-header-logo {
        font-size: .9em; } }
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .c-header-logo .img-logo,
    .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .c-header-logo .svg-logo {
      height: auto;
      width: 80px; }
      @media (min-width: 20em) {
        .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .c-header-logo .img-logo,
        .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .c-header-logo .svg-logo {
          width: 90px; } }
      @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .c-header-logo .img-logo img,
        .js .scrollnav #open-navigation.closed .scroll-navigation.fixed .c-header-logo .svg-logo img {
          height: 28px; } }

.js.csstransitions .scrollnav .inner-wrapper.closed .scroll-navigation.fixed {
  -webkit-transition: -webkit-transform .2s ease-in-out;
  transition: -webkit-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
  transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out; }
  .js.csstransitions .scrollnav .inner-wrapper.closed .scroll-navigation.fixed .inner-scroll-navigation {
    -webkit-transition: opacity .6s ease-in;
    transition: opacity .6s ease-in; }

.js.csstransforms .scrollnav .inner-wrapper.closed .scroll-navigation {
  -webkit-transform: translateY(-9.375em);
      -ms-transform: translateY(-9.375em);
          transform: translateY(-9.375em); }
  .js.csstransforms .scrollnav .inner-wrapper.closed .scroll-navigation .inner-scroll-navigation {
    opacity: 0; }
  .js.csstransforms .scrollnav .inner-wrapper.closed .scroll-navigation.fixed {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
    .js.csstransforms .scrollnav .inner-wrapper.closed .scroll-navigation.fixed .inner-scroll-navigation {
      opacity: 1; }

.c-header-navigation a {
  color: #1e2154;
  text-decoration: none; }

.c-site-navigation,
.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0; }

.c-site-navigation li a {
  font-weight: bold;
  font-size: 24px; }

.scroll-navigation .menu a,
.c-site-navigation a {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(60%, #f1a948), color-stop(40%, transparent));
  background-image: -webkit-linear-gradient(top, #f1a948 60%, transparent 40%);
  background-image: linear-gradient(to bottom, #f1a948 60%, transparent 40%);
  background-position: 0 65%;
  background-repeat: no-repeat;
  background-size: 0 6%;
  display: inline;
  padding-bottom: .4em;
  padding-top: .4em;
  -webkit-transition: background-size .3s ease-in-out;
  transition: background-size .3s ease-in-out; }
  .scroll-navigation .menu a:hover,
  .c-site-navigation a:hover {
    color: #f1a948;
    background-size: 100% 6%; }
  .scroll-navigation .menu a:active,
  .c-site-navigation a:active {
    -webkit-transition: background-size .3s;
    transition: background-size .3s; }

.scroll-navigation .menu .current_page_ancestor > a,
.scroll-navigation .menu .current_page_item > a,
.scroll-navigation .menu .current-menu-ancestor > a,
.scroll-navigation .menu .current-menu-item > a,
.scroll-navigation .menu .active > a,
.c-site-navigation .current_page_ancestor > a,
.c-site-navigation .current_page_item > a,
.c-site-navigation .current-menu-ancestor > a,
.c-site-navigation .current-menu-item > a,
.c-site-navigation .active > a {
  color: #f1a948;
  background-size: 100% 6%; }

.c-site-navigation ul.sub-menu {
  margin-top: 2em;
  /*a{
            padding-bottom: .18em;
            @include mq($from: palm){
                padding-bottom: .2em;
            }
            @include mq($from: tablet){
                padding-bottom: .24em;
            }
            @include mq($from: desktop){
                padding-bottom: .32em;
            }
        }*/ }
  @media (min-width: 48em) {
    .c-site-navigation ul.sub-menu {
      margin-top: 3em; } }
  @media (min-width: 75em) {
    .c-site-navigation ul.sub-menu {
      margin-top: 4em; } }
  .c-site-navigation ul.sub-menu li a {
    font-size: 20px; }
  .c-site-navigation ul.sub-menu li + li {
    margin-top: .8em; }
    @media (min-width: 48em) {
      .c-site-navigation ul.sub-menu li + li {
        margin-top: 1.2em; } }
    @media (min-width: 75em) {
      .c-site-navigation ul.sub-menu li + li {
        margin-top: 2em; } }

.outer-wrapper {
  background-color: #282622;
  min-height: 100%;
  height: auto !important;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%; }

.inner-wrapper {
  background-color: #fff; }

/* 	------------
 	Transitions
	------------ */
.no-js #open-navigation:not(:target) {
  -webkit-transition: left .35s ease-in-out;
  transition: left .35s ease-in-out; }
  @media (min-width: 13.75em) {
    .no-js #open-navigation:not(:target) {
      -webkit-transition: left .4s ease-in-out;
      transition: left .4s ease-in-out; } }
  @media (min-width: 31.25em) {
    .no-js #open-navigation:not(:target) {
      -webkit-transition: left .3s ease-in-out;
      transition: left .3s ease-in-out; } }

.no-js #open-navigation:target {
  -webkit-transition: left .4s ease-in-out;
  transition: left .4s ease-in-out; }
  @media (min-width: 13.75em) {
    .no-js #open-navigation:target {
      -webkit-transition: left .5s ease-in-out;
      transition: left .5s ease-in-out; } }
  @media (min-width: 31.25em) {
    .no-js #open-navigation:target {
      -webkit-transition: left .3s ease-in-out;
      transition: left .3s ease-in-out; } }

/* 	------------
 	Positions
	------------ */
.no-js #open-navigation:not(:target) {
  left: 0; }

.no-js #open-navigation,
.no-js #open-navigation:target {
  left: -100%;
  position: relative; }

/* ==========================================================================
   Feature test: css transforms are supported
   ========================================================================== */
/* 	------------
 	Transitions
	------------ */
/*.csstransforms #open-navigation,
.csstransforms #open-navigation:target,
.csstransforms #open-navigation:not(:target)*/
.csstransforms #open-navigation.transform {
  -webkit-transition: left 0s, -webkit-transform .4s ease-in-out;
  transition: left 0s, -webkit-transform .4s ease-in-out;
  transition: transform .4s ease-in-out, left 0s;
  transition: transform .4s ease-in-out, left 0s, -webkit-transform .4s ease-in-out; }
  @media (min-width: 13.75em) {
    .csstransforms #open-navigation.transform {
      -webkit-transition: left 0s, -webkit-transform .5s ease-in-out;
      transition: left 0s, -webkit-transform .5s ease-in-out;
      transition: transform .5s ease-in-out, left 0s;
      transition: transform .5s ease-in-out, left 0s, -webkit-transform .5s ease-in-out; } }
  @media (min-width: 31.25em) {
    .csstransforms #open-navigation.transform {
      -webkit-transition: left 0s, -webkit-transform .3s ease-in-out;
      transition: left 0s, -webkit-transform .3s ease-in-out;
      transition: transform .3s ease-in-out, left 0s;
      transition: transform .3s ease-in-out, left 0s, -webkit-transform .3s ease-in-out; } }

/* 	------------
 	Positions
	------------ */
.csstransforms #open-navigation.closed.transform {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.csstransforms #open-navigation.closed {
  position: relative; }

/*.csstransforms #open-navigation,
.csstransforms #open-navigation:target*/
.csstransforms #open-navigation.opened {
  left: 0;
  -webkit-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0); }

.c-site-header {
  z-index: 3; }
  @media (min-width: 53.75em) {
    .c-site-header .c-header-navigation {
      position: static;
      right: auto;
      top: auto;
      width: 100%;
      z-index: 100; } }
  .c-site-header .c-header-navigation .offcanvas-navigation {
    margin-right: -100%;
    position: absolute;
    right: 0;
    text-align: right;
    top: 0;
    width: 100%; }

.c-site-navigation {
  text-align: left; }

.nav.button.open, .nav.button.close {
  background-color: transparent;
  border: 0; }
  .nav.button.open .text, .nav.button.close .text {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap; }

.c-site-navigation .sub-menu .sub-menu {
  margin-left: .6em; }
  @media (min-width: 20em) {
    .c-site-navigation .sub-menu .sub-menu {
      margin-left: 1em; } }
  @media (min-width: 53.75em) {
    .c-site-navigation .sub-menu .sub-menu {
      margin-left: 1.4em; } }

.c-site-navigation .sub-menu {
  line-height: 1.5; }

.c-language-navigation + .c-site-navigation {
  padding-top: 1.4em; }
  @media (min-width: 31.25em) {
    .c-language-navigation + .c-site-navigation {
      padding-top: 0; } }

.c-site-navigation > li {
  padding-bottom: 2.8em;
  padding-top: 1.4em; }
  @media (min-width: 31.25em) {
    .c-site-navigation > li {
      padding-bottom: 3.571429%;
      padding-top: 5%; } }
  @media (min-width: 48em) {
    .c-site-navigation > li {
      padding-bottom: 7%;
      padding-top: 5%; } }
  @media (min-width: 53.75em) {
    .c-site-navigation > li {
      padding-bottom: 10%; } }

@media (min-width: 31.25em) {
  .c-site-navigation > li {
    display: inline-block;
    vertical-align: top;
    width: 50%; } }

@media (min-width: 53.75em) {
  .c-site-navigation > li {
    width: 33%; } }

@media (min-width: 75em) {
  .c-site-navigation > li {
    width: 25%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li {
    width: 20%; } }

@media (min-width: 105em) {
  .c-site-navigation > li {
    width: 16%; } }

@media (min-width: 31.25em) {
  .c-site-navigation > li + li {
    padding-left: 4%; } }

@media (min-width: 53.75em) {
  .c-site-navigation > li + li {
    padding-left: 3%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li + li {
    padding-left: 2%; } }

@media (min-width: 31.25em) {
  .c-site-navigation > li:nth-child(2n) {
    width: 49%; } }

@media (min-width: 53.75em) {
  .c-site-navigation > li:nth-child(2n) {
    width: 33%; } }

@media (min-width: 75em) {
  .c-site-navigation > li:nth-child(2n) {
    width: 25%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li:nth-child(2n) {
    width: 20%; } }

@media (min-width: 105em) {
  .c-site-navigation > li:nth-child(2n) {
    width: 16%; } }

@media (min-width: 53.75em) {
  .c-site-navigation > li:nth-child(3n) {
    width: 31%; } }

@media (min-width: 75em) {
  .c-site-navigation > li:nth-child(3n) {
    width: 25%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li:nth-child(3n) {
    width: 20%; } }

@media (min-width: 105em) {
  .c-site-navigation > li:nth-child(3n) {
    width: 16%; } }

@media (min-width: 75em) {
  .c-site-navigation > li:nth-child(4n) {
    width: 23%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li:nth-child(4n) {
    width: 20%; } }

@media (min-width: 105em) {
  .c-site-navigation > li:nth-child(4n) {
    width: 16%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li:nth-child(5n) {
    width: 18%; } }

@media (min-width: 105em) {
  .c-site-navigation > li:nth-child(5n) {
    width: 16%; } }

@media (min-width: 105em) {
  .c-site-navigation > li:nth-child(6n) {
    width: 15%; } }

@media (min-width: 31.25em) {
  .c-site-navigation > li:nth-child(2n+1) {
    padding-left: 0; } }

@media (min-width: 53.75em) {
  .c-site-navigation > li:nth-child(2n+1) {
    padding-left: 3%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li:nth-child(2n+1) {
    padding-left: 2%; } }

@media (min-width: 53.75em) {
  .c-site-navigation > li:nth-child(3n+1) {
    padding-left: 0; } }

@media (min-width: 75em) {
  .c-site-navigation > li:nth-child(3n+1) {
    padding-left: 3%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li:nth-child(3n+1) {
    padding-left: 2%; } }

@media (min-width: 75em) {
  .c-site-navigation > li:nth-child(4n+1) {
    padding-left: 0; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li:nth-child(4n+1) {
    padding-left: 2%; } }

@media (min-width: 87.5em) {
  .c-site-navigation > li:nth-child(5n+1) {
    padding-left: 0; } }

@media (min-width: 105em) {
  .c-site-navigation > li:nth-child(5n+1) {
    padding-left: 2%; } }

@media (min-width: 105em) {
  .c-site-navigation > li:nth-child(6n+1) {
    padding-left: 0; } }

.c-site-navigation > li a {
  color: #fff; }

.c-site-navigation > li .current_page_ancestor.deactivate > a,
.c-site-navigation > li .current_page_item.deactivate > a,
.c-site-navigation > li .current-menu-ancestor.deactivate > a,
.c-site-navigation > li .current-menu-item.deactivate > a,
.c-site-navigation > li .active.deactivate > a {
  color: #fff;
  background-size: 0 6%;
  background-position: 0 65%; }
  .c-site-navigation > li .current_page_ancestor.deactivate > a:hover,
  .c-site-navigation > li .current_page_item.deactivate > a:hover,
  .c-site-navigation > li .current-menu-ancestor.deactivate > a:hover,
  .c-site-navigation > li .current-menu-item.deactivate > a:hover,
  .c-site-navigation > li .active.deactivate > a:hover {
    color: #f1a948;
    background-size: 100% 6%; }

.navtoogle-wrapper {
  padding-bottom: 1.4em;
  padding-top: .5em; }
  @media (min-width: 27.5em) {
    .navtoogle-wrapper {
      padding-top: 0; } }
  @media (min-width: 53.75em) {
    .navtoogle-wrapper {
      padding-bottom: 0; } }

@media (min-width: 48em) {
  .c-site-navigation.two > li,
  .c-site-navigation.more > li {
    padding-left: 5%;
    padding-right: 5%; } }

@media (min-width: 75em) {
  .c-site-navigation.two > li,
  .c-site-navigation.more > li {
    padding: 3em 4em; } }

.nav.button.open {
  display: inline-block;
  font-size: 1em;
  height: 1.6em;
  margin-left: 0;
  margin-right: 1em;
  margin-top: -0.533333em;
  padding-right: 1.4em;
  position: absolute;
  right: 0;
  top: 50%;
  width: 1.6em;
  /*@include mq($from: tablet){
			margin-top: $wrapper-padding-vertical_mobile/1.2;
		}*/ }
  @media (min-width: 13.75em) {
    .nav.button.open {
      margin-right: 30px; } }
  @media (min-width: 31.25em) {
    .nav.button.open {
      margin-right: 40px; } }
  @media (min-width: 53.75em) {
    .nav.button.open {
      padding-right: 2.4em;
      z-index: 100; } }
  @media (min-width: 75em) {
    .nav.button.open {
      margin-right: 120px; } }
  @media (min-width: 87.5em) {
    .nav.button.open {
      margin-right: 80px; } }
  .nav.button.open:before {
    content: '';
    display: block;
    position: absolute;
    border-bottom-color: #12182d;
    border-top-color: #12182d;
    border-bottom-style: solid;
    border-top-style: solid;
    border-bottom-width: 2px;
    border-top-width: 2px;
    height: .92em;
    right: 0;
    top: 0;
    width: 1.6em; }
    @media (min-width: 13.75em) {
      .nav.button.open:before {
        height: 1.14em; } }
  .nav.button.open:after {
    content: '';
    display: block;
    position: absolute;
    background-color: #12182d;
    height: 2px;
    margin-top: .4em;
    right: 0;
    top: 0;
    width: 1.28em; }
    @media (min-width: 13.75em) {
      .nav.button.open:after {
        margin-top: .5em; } }
  .nav.button.open:hover {
    cursor: pointer; }
    .nav.button.open:hover:after {
      background-color: #f1a948; }
    .nav.button.open:hover:before {
      border-bottom-color: #f1a948;
      border-top-color: #f1a948; }
  .nav.button.open:focus:not(:hover):before, .nav.button.open:focus:not(:active):before {
    border-bottom-color: #f1a948;
    border-top-color: #f1a948; }
  .nav.button.open:focus:not(:hover):after, .nav.button.open:focus:not(:active):after {
    background-color: #f1a948; }
  .nav.button.open .c-navigation-title {
    margin: 0; }

.nav.button.close {
  display: inline-block;
  height: 1.6em;
  padding-bottom: .5em;
  padding-left: .5em;
  padding-right: .5em;
  padding-top: .5em;
  text-align: right;
  position: relative;
  position: relative; }
  .nav.button.close:after {
    content: '';
    display: block;
    position: absolute; }
  .nav.button.close:before {
    content: '';
    display: block;
    position: absolute; }
  @media (min-width: 13.75em) {
    .nav.button.close {
      margin-top: .24em;
      padding-bottom: .8em;
      padding-left: 1em;
      padding-right: 1em;
      padding-top: .8em; } }
  @media (min-width: 20em) {
    .nav.button.close {
      margin-top: .5em; } }
  @media (min-width: 31.25em) {
    .nav.button.close {
      margin-top: 1em; } }
  @media (min-width: 53.75em) {
    .nav.button.close {
      color: #12182d;
      margin-bottom: 2em;
      margin-top: 1.6em;
      padding-bottom: 0;
      padding-left: 0;
      padding-right: 2.2em;
      padding-top: .4em; } }
  .nav.button.close:after, .nav.button.close:before {
    background-color: #fff;
    height: 2px;
    right: 0;
    margin-top: 1em;
    top: 0;
    width: 1.6em; }
  .nav.button.close:after {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  .nav.button.close:before {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .nav.button.close:hover {
    cursor: pointer; }
    .nav.button.close:hover:after, .nav.button.close:hover:before {
      background-color: #f1a948; }
  .nav.button.close:focus:not(:hover):after, .nav.button.close:focus:not(:hover):before, .nav.button.close:focus:not(:active):after, .nav.button.close:focus:not(:active):before {
    background-color: #f1a948; }

/* 	------------
 	Off canvas open
	------------ */
.no-js #open-navigation:target .nav.button.open,
#open-navigation.opened .nav.button.open,
#open-navigation.opened.transform .nav.button.open {
  display: none; }

.no-js #open-navigation:target .c-header-logo,
#open-navigation.opened .c-header-logo,
#open-navigation.opened.transform .c-header-logo {
  visibility: hidden; }

@media (min-width: 48em) {
  .no-js #open-navigation:target .c-site-navigation a,
  #open-navigation.opened .c-site-navigation a,
  #open-navigation.opened.transform .c-site-navigation a {
    padding-bottom: .8em; } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:target .c-site-navigation a,
  #open-navigation.opened .c-site-navigation a,
  #open-navigation.opened.transform .c-site-navigation a {
    padding-bottom: 1.2em; } }

@media (min-width: 75em) {
  .no-js #open-navigation:target .c-site-navigation a,
  #open-navigation.opened .c-site-navigation a,
  #open-navigation.opened.transform .c-site-navigation a {
    padding-bottom: 2em; } }

@media (min-width: 48em) {
  .no-js #open-navigation:target .c-site-navigation .sub-menu a,
  #open-navigation.opened .c-site-navigation .sub-menu a,
  #open-navigation.opened.transform .c-site-navigation .sub-menu a {
    padding-bottom: .4em; } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:target .c-site-navigation .sub-menu a,
  #open-navigation.opened .c-site-navigation .sub-menu a,
  #open-navigation.opened.transform .c-site-navigation .sub-menu a {
    padding-bottom: .8em; } }

@media (min-width: 75em) {
  .no-js #open-navigation:target .c-site-navigation .sub-menu a,
  #open-navigation.opened .c-site-navigation .sub-menu a,
  #open-navigation.opened.transform .c-site-navigation .sub-menu a {
    padding-bottom: 1em; } }

.no-js #open-navigation:target .c-site-header .c-header-navigation,
#open-navigation.opened .c-site-header .c-header-navigation,
#open-navigation.opened.transform .c-site-header .c-header-navigation {
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }
  @media (min-width: 64em) {
    .no-js #open-navigation:target .c-site-header .c-header-navigation,
    #open-navigation.opened .c-site-header .c-header-navigation,
    #open-navigation.opened.transform .c-site-header .c-header-navigation {
      word-wrap: normal;
      overflow-wrap: normal;
      -webkit-hyphens: none;
          -ms-hyphens: none;
              hyphens: none; } }
  .no-js #open-navigation:target .c-site-header .c-header-navigation .c-language-navigation,
  .no-js #open-navigation:target .c-site-header .c-header-navigation .c-site-navigation,
  .no-js #open-navigation:target .c-site-header .c-header-navigation .navtoogle-wrapper,
  #open-navigation.opened .c-site-header .c-header-navigation .c-language-navigation,
  #open-navigation.opened .c-site-header .c-header-navigation .c-site-navigation,
  #open-navigation.opened .c-site-header .c-header-navigation .navtoogle-wrapper,
  #open-navigation.opened.transform .c-site-header .c-header-navigation .c-language-navigation,
  #open-navigation.opened.transform .c-site-header .c-header-navigation .c-site-navigation,
  #open-navigation.opened.transform .c-site-header .c-header-navigation .navtoogle-wrapper {
    margin-left: 40px;
    margin-right: 40px; }
    @media (min-width: 75em) {
      .no-js #open-navigation:target .c-site-header .c-header-navigation .c-language-navigation,
      .no-js #open-navigation:target .c-site-header .c-header-navigation .c-site-navigation,
      .no-js #open-navigation:target .c-site-header .c-header-navigation .navtoogle-wrapper,
      #open-navigation.opened .c-site-header .c-header-navigation .c-language-navigation,
      #open-navigation.opened .c-site-header .c-header-navigation .c-site-navigation,
      #open-navigation.opened .c-site-header .c-header-navigation .navtoogle-wrapper,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .c-language-navigation,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .c-site-navigation,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .navtoogle-wrapper {
        margin-left: 120px;
        margin-right: 120px; } }
    @media (min-width: 87.5em) {
      .no-js #open-navigation:target .c-site-header .c-header-navigation .c-language-navigation,
      .no-js #open-navigation:target .c-site-header .c-header-navigation .c-site-navigation,
      .no-js #open-navigation:target .c-site-header .c-header-navigation .navtoogle-wrapper,
      #open-navigation.opened .c-site-header .c-header-navigation .c-language-navigation,
      #open-navigation.opened .c-site-header .c-header-navigation .c-site-navigation,
      #open-navigation.opened .c-site-header .c-header-navigation .navtoogle-wrapper,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .c-language-navigation,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .c-site-navigation,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .navtoogle-wrapper {
        margin-left: 80px;
        margin-right: 80px; } }
    @media (min-width: 105em) {
      .no-js #open-navigation:target .c-site-header .c-header-navigation .c-language-navigation,
      .no-js #open-navigation:target .c-site-header .c-header-navigation .c-site-navigation,
      .no-js #open-navigation:target .c-site-header .c-header-navigation .navtoogle-wrapper,
      #open-navigation.opened .c-site-header .c-header-navigation .c-language-navigation,
      #open-navigation.opened .c-site-header .c-header-navigation .c-site-navigation,
      #open-navigation.opened .c-site-header .c-header-navigation .navtoogle-wrapper,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .c-language-navigation,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .c-site-navigation,
      #open-navigation.opened.transform .c-site-header .c-header-navigation .navtoogle-wrapper {
        margin-left: auto;
        margin-right: auto;
        width: 1600px; } }

.no-js #open-navigation:target .c-site-header .c-header-navigation .offcanvas-navigation.fixnavi,
#open-navigation.opened .c-site-header .c-header-navigation .offcanvas-navigation.fixnavi,
#open-navigation.opened.transform .c-site-header .c-header-navigation .offcanvas-navigation.fixnavi {
  height: 100%;
  height: 100vh; }

.js #open-navigation.opened .c-site-header .c-header-navigation .offcanvas-navigation.fixnavi,
.js #open-navigation.opened.transform .c-site-header .c-header-navigation .offcanvas-navigation.fixnavi {
  height: 100%;
  height: 100vh;
  height: -webkit-calc((var(--vh, 1vh) * 100));
  height: calc((var(--vh, 1vh) * 100)); }

.csstransforms .inner-wrapper.transform .offcanvas-navigation .navtoogle-wrapper,
.csstransforms .inner-wrapper.transform .offcanvas-navigation .c-language-navigation,
.csstransforms .inner-wrapper.transform .offcanvas-navigation .c-site-navigation {
  opacity: 0;
  -webkit-transform: translateX(6.25em);
      -ms-transform: translateX(6.25em);
          transform: translateX(6.25em); }

.csstransforms .inner-wrapper.closed.transform .offcanvas-navigation .navtoogle-wrapper,
.csstransforms .inner-wrapper.closed.transform .offcanvas-navigation .c-language-navigation,
.csstransforms .inner-wrapper.closed.transform .offcanvas-navigation .c-site-navigation,
.csstransforms .fixbody .inner-wrapper.opened .offcanvas-navigation.fixnavi .navtoogle-wrapper,
.csstransforms .fixbody .inner-wrapper.opened .offcanvas-navigation.fixnavi .c-language-navigation,
.csstransforms .fixbody .inner-wrapper.opened .offcanvas-navigation.fixnavi .c-site-navigation {
  opacity: 1;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.csstransitions .fixbody .inner-wrapper.opened .offcanvas-navigation.fixnavi .navtoogle-wrapper,
.csstransitions .fixbody .inner-wrapper.opened .offcanvas-navigation.fixnavi .c-language-navigation,
.csstransitions .fixbody .inner-wrapper.opened .offcanvas-navigation.fixnavi .c-site-navigation {
  -webkit-transition: opacity .5s ease-in-out, -webkit-transform .3s ease-in-out;
  transition: opacity .5s ease-in-out, -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out, opacity .5s ease-in-out;
  transition: transform .3s ease-in-out, opacity .5s ease-in-out, -webkit-transform .3s ease-in-out; }

.csstransitions .inner-wrapper.transform.closed .c-site-header .c-site-navigation .rubrik-info {
  -webkit-transition: opacity .5s ease-in-out;
  transition: opacity .5s ease-in-out; }

/* 	------------
 	Off canvas closed
	------------ */
@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .c-language-navigation,
  #open-navigation.closed .c-language-navigation {
    display: none; } }

@media (max-width: 53.74em) {
  .no-js #open-navigation:not(:target) .c-header-navigation,
  #open-navigation.closed .c-header-navigation {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 100; } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .offcanvas-navigation,
  #open-navigation.closed .offcanvas-navigation {
    height: 100%;
    margin: 0;
    padding: 0; } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .c-site-navigation,
  #open-navigation.closed .c-site-navigation {
    height: 40px;
    left: 50%;
    margin-left: -23%;
    margin-top: -15px;
    overflow: hidden;
    position: absolute;
    text-align: center;
    top: 50%;
    width: 60%; } }

@media (min-width: 64em) {
  .no-js #open-navigation:not(:target) .c-site-navigation,
  #open-navigation.closed .c-site-navigation {
    margin-left: -33%;
    padding-left: 10%;
    width: 74%;
    padding-right: 9%; } }

@media (min-width: 75em) {
  .no-js #open-navigation:not(:target) .c-site-navigation,
  #open-navigation.closed .c-site-navigation {
    margin-left: -36%;
    padding-left: 17%;
    width: 80%;
    padding-right: 10%; } }

@media (min-width: 83.75em) {
  .no-js #open-navigation:not(:target) .c-site-navigation,
  #open-navigation.closed .c-site-navigation {
    height: 45px;
    margin-left: -40%;
    margin-top: -14px;
    padding-left: 20%;
    padding-right: 11%;
    width: 87%; } }

.no-js #open-navigation:not(:target) .c-site-navigation .current_page_ancestor > a,
.no-js #open-navigation:not(:target) .c-site-navigation .current_page_item > a,
.no-js #open-navigation:not(:target) .c-site-navigation .current-menu-ancestor > a,
.no-js #open-navigation:not(:target) .c-site-navigation .current-menu-item > a,
.no-js #open-navigation:not(:target) .c-site-navigation .active > a,
#open-navigation.closed .c-site-navigation .current_page_ancestor > a,
#open-navigation.closed .c-site-navigation .current_page_item > a,
#open-navigation.closed .c-site-navigation .current-menu-ancestor > a,
#open-navigation.closed .c-site-navigation .current-menu-item > a,
#open-navigation.closed .c-site-navigation .active > a {
  color: #f1a948; }

@media (min-width: 31.25em) {
  .no-js #open-navigation:not(:target) .scroll-navigation > li,
  .no-js #open-navigation:not(:target) .c-site-navigation > li,
  #open-navigation.closed .scroll-navigation > li,
  #open-navigation.closed .c-site-navigation > li {
    width: auto; } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .scroll-navigation > li,
  .no-js #open-navigation:not(:target) .c-site-navigation > li,
  #open-navigation.closed .scroll-navigation > li,
  #open-navigation.closed .c-site-navigation > li {
    background-color: transparent;
    display: inline-block;
    padding: 0;
    text-align: center;
    white-space: nowrap;
    width: auto; } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .scroll-navigation > li,
  .no-js #open-navigation:not(:target) .c-site-navigation > li a,
  #open-navigation.closed .scroll-navigation > li,
  #open-navigation.closed .c-site-navigation > li a {
    font-size: 1em;
    color: #12182d;
    display: inline-block;
    margin-left: 1em;
    margin-right: 1em;
    padding-bottom: 1.2em;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(60%, #f1a948), color-stop(40%, transparent));
    background-image: -webkit-linear-gradient(top, #f1a948 60%, transparent 40%);
    background-image: linear-gradient(to bottom, #f1a948 60%, transparent 40%); } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .scroll-navigation > li:hover,
  .no-js #open-navigation:not(:target) .c-site-navigation > li a:hover,
  #open-navigation.closed .scroll-navigation > li:hover,
  #open-navigation.closed .c-site-navigation > li a:hover {
    color: #f1a948;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(60%, #f1a948), color-stop(40%, transparent));
    background-image: -webkit-linear-gradient(top, #f1a948 60%, transparent 40%);
    background-image: linear-gradient(to bottom, #f1a948 60%, transparent 40%); } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .c-site-navigation > li ul,
  #open-navigation.closed .c-site-navigation > li ul {
    display: none; } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .c-site-navigation > li:first-child a,
  #open-navigation.closed .c-site-navigation > li:first-child a {
    margin-left: 0; } }

@media (min-width: 53.75em) {
  .no-js #open-navigation:not(:target) .scroll-navigation > li:last-child a,
  .no-js #open-navigation:not(:target) .c-site-navigation > li:last-child a,
  #open-navigation.closed .scroll-navigation > li:last-child a,
  #open-navigation.closed .c-site-navigation > li:last-child a {
    margin-right: 0; } }

.no-js #open-navigation:not(:target) .c-site-header,
#open-navigation.closed .c-site-header {
  position: relative; }
  @media (min-width: 105em) {
    .no-js #open-navigation:not(:target) .c-site-header,
    #open-navigation.closed .c-site-header {
      margin-left: auto;
      margin-right: auto;
      width: 1600px; } }
  @media (min-width: 53.75em) {
    .no-js #open-navigation:not(:target) .c-site-header .nav.button.close,
    #open-navigation.closed .c-site-header .nav.button.close {
      display: none; } }

.csstransitions #open-navigation.closed .c-site-navigation > li a {
  -webkit-transition: background-color .2s ease-in-out, background-size .3s ease-in-out, color .2s ease-in-out;
  transition: background-color .2s ease-in-out, background-size .3s ease-in-out, color .2s ease-in-out; }

/* -------------------------------------------------------------------------
 Form
 --------------------------------------------------------------------------- */
.no-js .jsform {
  display: none; }

.js .nojsform {
  display: none; }

.c-text-block form ul li {
  padding-left: 0; }
  .c-text-block form ul li:before {
    display: none; }

.post-password-form {
  text-align: left; }
  .post-password-form label {
    display: inline-block;
    margin-bottom: 0.2em; }
  .post-password-form .submit-button {
    position: relative;
    display: inline-block;
    margin-top: 3.75em;
    padding-left: 40px;
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    transition: -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    position: relative;
    position: relative; }
    .post-password-form .submit-button:hover {
      -webkit-transform: translate(20px, 0);
          -ms-transform: translate(20px, 0);
              transform: translate(20px, 0); }
    .post-password-form .submit-button:after {
      content: '';
      display: block;
      position: absolute; }
    .post-password-form .submit-button:before {
      content: '';
      display: block;
      position: absolute; }
    .post-password-form .submit-button:after {
      border-radius: 50%;
      border: solid 2px #f1a948;
      display: inline-block;
      height: 30px;
      left: 0;
      -webkit-transform: perspective(1px) translateZ(0);
              transform: perspective(1px) translateZ(0);
      top: 0;
      width: 30px; }
    .post-password-form .submit-button:before {
      background-image: url(/app/themes/werosoft/assets/img/sprite.svg);
      background-position: 0 0;
      background-repeat: no-repeat;
      height: 16px;
      left: 0;
      margin-left: 5%;
      top: 28%;
      width: 16px; }
      @media (min-width: 87.5em) {
        .post-password-form .submit-button:before {
          top: 22%; } }
  .post-password-form input[type='password'] {
    display: block;
    min-width: 50%; }
  .post-password-form input[type='submit'] {
    background-color: transparent;
    border: none;
    color: #f1a948; }

form input[type='text'],
form input[type='tel'],
form input[type='email'],
form input[type='number'],
form input[type='password'],
form select {
  border: none;
  border-bottom: solid 1px #12182d;
  padding: .5em 0;
  background-color: transparent; }
  form input[type='text']:focus,
  form input[type='tel']:focus,
  form input[type='email']:focus,
  form input[type='number']:focus,
  form input[type='password']:focus,
  form select:focus {
    border-color: #f1a948; }

form input[type='text'],
form input[type='tel'],
form input[type='email'],
form input[type='number'],
form select {
  width: 100%; }

form input,
form select {
  -webkit-box-shadow: none;
          box-shadow: none; }
  form input:focus,
  form select:focus {
    outline: none; }

form ul {
  list-style: none;
  padding: 0; }

.c-bg-dark form input[type='text']:focus,
.c-bg-dark form input[type='tel']:focus,
.c-bg-dark form input[type='email']:focus,
.c-bg-dark form input[type='number']:focus,
.c-bg-dark form select:focus,
.c-text-highlight form input[type='text']:focus,
.c-text-highlight form input[type='tel']:focus,
.c-text-highlight form input[type='email']:focus,
.c-text-highlight form input[type='number']:focus,
.c-text-highlight form select:focus {
  border-color: #fff; }

.c-bg-dark form input[type='text'],
.c-bg-dark form input[type='tel'],
.c-bg-dark form input[type='email'],
.c-bg-dark form input[type='number'],
.c-bg-dark form select {
  border-color: #fff;
  color: #fff; }
  .c-bg-dark form input[type='text']:focus,
  .c-bg-dark form input[type='tel']:focus,
  .c-bg-dark form input[type='email']:focus,
  .c-bg-dark form input[type='number']:focus,
  .c-bg-dark form select:focus {
    border-color: #f1a948; }

.gfield_label {
  display: inline-block;
  margin-bottom: 0.2em; }

.gform_wrapper .instruction {
  margin-top: 0.2em; }

.gsection_title {
  color: #5E5E5E;
  text-transform: none; }

.gform_footer {
  text-align: left; }
  .gform_footer .gform_button.button {
    background-color: transparent;
    border: none;
    color: #f1a948; }

.c-text-highlight .gform_footer .gform_button.button {
  color: #fff; }

.gform_confirmation_wrapper .gfield,
.gform_wrapper .gfield {
  margin-bottom: 2em; }
  @media (min-width: 48em) {
    .gform_confirmation_wrapper .gfield,
    .gform_wrapper .gfield {
      margin-bottom: 2em; } }

.gform_confirmation_wrapper .divider-list-item,
.gform_confirmation_wrapper li[class*="column-count-"],
.gform_wrapper .divider-list-item,
.gform_wrapper li[class*="column-count-"] {
  display: inline-block;
  margin-bottom: 2em;
  vertical-align: top; }
  @media (min-width: 48em) {
    .gform_confirmation_wrapper .divider-list-item,
    .gform_confirmation_wrapper li[class*="column-count-"],
    .gform_wrapper .divider-list-item,
    .gform_wrapper li[class*="column-count-"] {
      margin-bottom: 2em; } }
  .gform_confirmation_wrapper .divider-list-item .gfield,
  .gform_confirmation_wrapper li[class*="column-count-"] .gfield,
  .gform_wrapper .divider-list-item .gfield,
  .gform_wrapper li[class*="column-count-"] .gfield {
    margin-bottom: 0; }
  .gform_confirmation_wrapper .divider-list-item .gfield + .gfield,
  .gform_confirmation_wrapper li[class*="column-count-"] .gfield + .gfield,
  .gform_wrapper .divider-list-item .gfield + .gfield,
  .gform_wrapper li[class*="column-count-"] .gfield + .gfield {
    margin-top: 1.2em; }

.gform_footer {
  padding-top: 1.875em;
  position: relative; }

.c-text-highlight .gform_ajax_spinner {
  border-color: #fff;
  border-left-color: #f1a948; }

.c-bg-dark .gform_ajax_spinner {
  border-color: #f1a948;
  border-left-color: #282622; }

.c-bg-medium .gform_ajax_spinner {
  border-color: #f1a948;
  border-left-color: #F5F3F3; }

.gform_ajax_spinner {
  border: 0.25em solid #f1a948;
  border-left: 0.25em solid #fff;
  -webkit-animation: spinner 1.1s infinite linear;
          animation: spinner 1.1s infinite linear;
  border-radius: 50%;
  height: 30px !important;
  left: 0;
  margin-top: -4px;
  position: absolute;
  top: 0;
  width: 30px !important; }
  @media (min-width: 87.5em) {
    .gform_ajax_spinner {
      height: 31px !important;
      margin-top: -1px;
      width: 31px !important; } }

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

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

.gform_wrapper .checkbox .gfield_label {
  display: none; }

.gform_wrapper .checkbox .gfield_description {
  margin-left: 3em; }

.gform_wrapper .checkbox .validation_message {
  margin-top: 1em; }

.gform_wrapper ul.gfield_checkbox li input[type='checkbox'] {
  display: none; }

.gform_wrapper ul.gfield_checkbox li label {
  display: block;
  padding-left: 3em;
  position: relative; }
  .gform_wrapper ul.gfield_checkbox li label .box:before {
    content: '';
    display: block;
    position: absolute;
    background-color: #ffffff;
    border: solid 1px #12182d;
    height: 2em;
    left: 0;
    width: 2em;
    top: 0; }
    @media (min-width: 75em) {
      .gform_wrapper ul.gfield_checkbox li label .box:before {
        top: 0.2em; } }

.gform_wrapper ul.gfield_checkbox li + li {
  margin-top: 2em; }

.gform_wrapper .gfield.gfield_error ul.gfield_checkbox li label .box:before {
  border-color: #d80c0c; }

.c-bg-medium ul.gfield_checkbox li label .box:before {
  background-color: #F5F3F3; }

.c-bg-dark ul.gfield_checkbox li label .box:before {
  background-color: #282622;
  border-color: #fff; }

.c-bg-dark .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:after, .c-bg-dark .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:before {
  background-color: #fff; }

.c-text-highlight ul.gfield_checkbox li label .box:before {
  background-color: #f1a948; }

.c-text-highlight .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:after, .c-text-highlight .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:before {
  background-color: #12182d; }

.gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:after, .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:before {
  content: '';
  display: block;
  position: absolute;
  background-color: #12182d;
  top: 1.1em;
  border-radius: 2px;
  height: .14em;
  left: 0;
  margin-top: .1em;
  width: .5em;
  z-index: 20; }
  @media (min-width: 47.9375em) {
    .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:after, .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:before {
      height: .14em;
      margin-top: .22em; } }
  @media (min-width: 75em) {
    .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:after, .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:before {
      height: .1em;
      margin-top: .4em; } }

.gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:after {
  margin-top: -.2em;
  margin-left: .56em;
  -webkit-transform: rotate(-50deg);
      -ms-transform: rotate(-50deg);
          transform: rotate(-50deg);
  width: 1.3em; }
  @media (min-width: 47.9375em) {
    .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:after {
      margin-top: -.14em; } }
  @media (min-width: 75em) {
    .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:after {
      margin-top: .1em;
      margin-left: .56em; } }

.gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:before {
  margin-left: .36em;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
  @media (min-width: 47.9375em) {
    .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:before {
      margin-left: .38em; } }
  @media (min-width: 75em) {
    .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label:before {
      margin-left: .42em; } }

/*
.gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked+label{
    &:before{
        background-color: color(formInputBorderColorfocus);
        border-color: color(formInputBorderColor);
    }
}*/
.gform_wrapper select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

.gform_wrapper .ginput_container_select {
  position: relative; }
  .gform_wrapper .ginput_container_select:after, .gform_wrapper .ginput_container_select:before {
    content: '';
    display: block;
    position: absolute;
    border-radius: 2px;
    height: 2px;
    margin-top: 0;
    right: 0;
    top: 50%;
    width: 10px;
    z-index: 20; }
  .gform_wrapper .ginput_container_select:after {
    margin-right: 16px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .gform_wrapper .ginput_container_select:before {
    margin-right: 22px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }

.gform_validation_container, .gform_wrapper .gform_validation_container, body .gform_wrapper .gform_body ul.gform_fields li.gfield.gform_validation_container, body .gform_wrapper li.gform_validation_container, body .gform_wrapper ul.gform_fields li.gfield.gform_validation_container {
  display: none !important;
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

.gform_wrapper .form-error {
  color: #d80c0c;
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 25px;
  clear: both;
  width: 100%;
  text-align: left; }
  .gform_wrapper .form-error a {
    color: #d80c0c; }

.gform_wrapper li.gfield.gfield_error input[type='text'],
.gform_wrapper li.gfield.gfield_error input[type='tel'],
.gform_wrapper li.gfield.gfield_error input[type='email'],
.gform_wrapper li.gfield.gfield_error select, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning input[type='text'],
.gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning input[type='tel'],
.gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning input[type='email'],
.gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning select {
  border-bottom: solid 1px #d80c0c; }

.gform_wrapper li.gfield_error div.ginput_complex.ginput_container label, .gform_wrapper li.gfield_error ul.gfield_radio {
  color: #d80c0c; }

.gform_wrapper .validation_message {
  color: #d80c0c;
  font-size: 90%;
  letter-spacing: normal;
  margin-top: 0.2em; }

/* -------------------------------------------------------------------------
 Lightbox
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
 Components
 --------------------------------------------------------------------------- */
/* styles for every project */
/* ==========================================================================
   Base Project
   ========================================================================== */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  color: #12182d;
  font-family: "HK Grotesk", "Arial", "Helvetica", sans-serif;
  font-size: 20px;
  -webkit-tap-highlight-color: transparent; }

/* links */
a,
a:visited,
a:focus,
a:hover {
  text-decoration: none;
  color: #f1a948; }

.colored {
  color: #f1a948; }

.c-text-highlight .colored {
  color: #fff; }

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #12182d; }

textarea {
  resize: none; }

/* ==========================================================================
   Standard img / media declaration
   ========================================================================== */
embed,
object,
video,
iframe,
.c-content img,
.c-modal img {
  width: 100%; }

.c-content img,
.c-modal img {
  height: auto; }

.c-img-max-width,
.c-content .c-img-max-width {
  max-width: 100%; }

img {
  vertical-align: bottom; }

/* ==========================================================================
   Standard Main Container Declaration
   ========================================================================== */
.c-header,
.c-content,
.c-footer,
.c-container,
.c-container-wide,
.c-footer .c-content-modul,
.c-content-modul,
.c-video-wrapper {
  position: relative;
  width: 100%;
  z-index: auto; }

/* ==========================================================================
      Standard Padding between Components
      ========================================================================== */
.c-content-modul {
  padding-top: 4em;
  padding-bottom: 4em; }

.c-box {
  margin-left: 40px;
  margin-right: 40px;
  padding-top: 4em;
  padding-bottom: 4em; }

.c-teaser-3col-item {
  padding-top: 4em; }

.c-cta-back {
  padding-bottom: 4em; }

.c-news-item {
  margin-bottom: 4em; }

.c-news-item-with-img .c-news-item-text {
  padding: 40px; }

.c-box-border .c-row {
  min-height: -webkit-calc(50vh - 11.1875em);
  min-height: calc(50vh - 11.1875em); }
  @media (min-width: 48em) {
    .c-box-border .c-row {
      min-height: -webkit-calc(50vh - 13.8125em);
      min-height: calc(50vh - 13.8125em); } }
  @media (min-width: 75em) {
    .c-box-border .c-row {
      min-height: -webkit-calc(50vh - 18.5625em);
      min-height: calc(50vh - 18.5625em); } }

.js .c-box-border .c-row {
  min-height: -webkit-calc((var(--vh, 1vh) * 50) - 11.1875em);
  min-height: calc((var(--vh, 1vh) * 50) - 11.1875em); }
  @media (min-width: 48em) {
    .js .c-box-border .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 50) - 13.8125em);
      min-height: calc((var(--vh, 1vh) * 50) - 13.8125em); } }
  @media (min-width: 75em) {
    .js .c-box-border .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 50) - 18.5625em);
      min-height: calc((var(--vh, 1vh) * 50) - 18.5625em); } }
  @media (min-width: 87.5em) {
    .js .c-box-border .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 50) - 17.25em);
      min-height: calc((var(--vh, 1vh) * 50) - 17.25em); } }

.c-showroom .c-row {
  min-height: -webkit-calc(100vh - 8.8125em);
  min-height: calc(100vh - 8.8125em);
  padding-bottom: 5em; }
  @media screen and (max-height: 500px) and (min-width: 600px) {
    .c-showroom .c-row {
      padding-bottom: 4.4em; } }
  @media screen and (min-height: 500px) and (min-width: 320px) {
    .c-showroom .c-row {
      padding-bottom: 4.4em; } }
  @media screen and (min-height: 500px) and (min-width: 500px) {
    .c-showroom .c-row {
      padding-bottom: 3em; } }
  @media screen and (min-height: 680px) and (min-width: 320px) {
    .c-showroom .c-row {
      padding-bottom: 1em; } }
  @media screen and (min-height: 680px) and (min-width: 440px) {
    .c-showroom .c-row {
      padding-bottom: 0; } }
  @media (min-width: 37.5em) {
    .c-showroom .c-row {
      min-height: -webkit-calc(100vh - 11.1875em);
      min-height: calc(100vh - 11.1875em); } }
  @media (min-width: 48em) {
    .c-showroom .c-row {
      min-height: -webkit-calc(100vh - 13.8125em);
      min-height: calc(100vh - 13.8125em); } }
  @media (min-width: 75em) {
    .c-showroom .c-row {
      min-height: -webkit-calc(100vh - 18.5625em);
      min-height: calc(100vh - 18.5625em); } }
  @media (min-width: 87.5em) {
    .c-showroom .c-row {
      min-height: -webkit-calc(100vh - 17.25em);
      min-height: calc(100vh - 17.25em); } }

.js .c-showroom .c-row {
  min-height: -webkit-calc((var(--vh, 1vh) * 100) - 8.8125em);
  min-height: calc((var(--vh, 1vh) * 100) - 8.8125em); }
  @media (min-width: 37.5em) {
    .js .c-showroom .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 100) - 11.1875em);
      min-height: calc((var(--vh, 1vh) * 100) - 11.1875em); } }
  @media (min-width: 48em) {
    .js .c-showroom .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 100) - 13.8125em);
      min-height: calc((var(--vh, 1vh) * 100) - 13.8125em); } }
  @media (min-width: 75em) {
    .js .c-showroom .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 100) - 18.5625em);
      min-height: calc((var(--vh, 1vh) * 100) - 18.5625em); } }
  @media (min-width: 87.5em) {
    .js .c-showroom .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 100) - 17.25em);
      min-height: calc((var(--vh, 1vh) * 100) - 17.25em); } }

.c-hero .c-row {
  min-height: -webkit-calc(70vh - 11.1875em);
  min-height: calc(70vh - 11.1875em); }
  @media (min-width: 48em) {
    .c-hero .c-row {
      min-height: -webkit-calc(60vh - 13.8125em);
      min-height: calc(60vh - 13.8125em); } }
  @media (min-width: 75em) {
    .c-hero .c-row {
      min-height: -webkit-calc(60vh - 18.5625em);
      min-height: calc(60vh - 18.5625em); } }
  @media (min-width: 87.5em) {
    .c-hero .c-row {
      min-height: -webkit-calc(60vh - 17.25em);
      min-height: calc(60vh - 17.25em); } }

.js .c-hero .c-row {
  min-height: -webkit-calc((var(--vh, 1vh) * 70) - 8em);
  min-height: calc((var(--vh, 1vh) * 70) - 8em); }
  @media (min-width: 48em) {
    .js .c-hero .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 60) - 13.8125em);
      min-height: calc((var(--vh, 1vh) * 60) - 13.8125em); } }
  @media (min-width: 75em) {
    .js .c-hero .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 60) - 18.5625em);
      min-height: calc((var(--vh, 1vh) * 60) - 18.5625em); } }
  @media (min-width: 87.5em) {
    .js .c-hero .c-row {
      min-height: -webkit-calc((var(--vh, 1vh) * 60) - 17.25em);
      min-height: calc((var(--vh, 1vh) * 60) - 17.25em); } }

.c-bg-light + .c-bg-light,
.c-bg-medium + .c-bg-medium,
.c-bg-dark + .c-bg-dark,
.c-bg-highlight + .c-bg-highlight,
.beitragsdetail br + .c-bg-light {
  padding-top: 0; }

/* ==========================================================================
      Spacing Blog
      ========================================================================== */
.beitragsdetail {
  --spacing-blog: 4rem; }

.beitragsdetail br + .c-bg-light {
  margin-top: -1.6em; }

.beitragsdetail .c-col-6,
.beitragsdetail .c-col-8 {
  /*border: solid 1px red;*/ }

.beitragsdetail .c-media + h2 {
  margin-top: 3em;
  margin-top: var(--spacing-blog) !important; }

.beitragsdetail .c-content-modul {
  padding-bottom: 3em;
  padding-bottom: var(--spacing-blog); }

@media only screen and (max-width: 767px) {
  .beitragsdetail {
    --spacing-blog: 2.6em; }
  .beitragsdetail .c-img-2col .c-col-6:first-child {
    padding-bottom: var(--spacing-blog); } }

/* ==========================================================================
      Standard Grid Declaration
      ========================================================================== */
.c-container {
  padding-left: 40px;
  padding-right: 40px; }

.c-row {
  margin-right: -20px;
  margin-left: -20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap; }

.c-row-justify-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.c-row-justify-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.c-row-justify-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.c-row-justify-around {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.c-row-justify-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.c-row-align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.c-row-align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.c-row-align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.c-col-1,
.c-col-2,
.c-col-3,
.c-col-4,
.c-col-5,
.c-col-6,
.c-col-7,
.c-col-8,
.c-col-9,
.c-col-10,
.c-col-11,
.c-col-12 {
  position: relative;
  min-height: 1px;
  padding-right: 20px;
  padding-left: 20px; }

.c-col-12 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%; }

.c-col-11 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 91.66667%;
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.c-col-10 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 83.33333%;
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.c-col-9 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%; }

.c-col-8 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.c-col-7 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 58.33333%;
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.c-col-6 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%; }

.c-col-5 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 41.66667%;
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.c-col-4 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.c-col-3 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%; }

.c-col-2 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.c-col-1 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 8.33333%;
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

/* offset cols */
.c-col-offset-1 {
  margin-left: 8.333%; }

.c-col-offset-2 {
  margin-left: 16.667%; }

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

.c-col-offset-4 {
  margin-left: 33.333%; }

.c-col-offset-5 {
  margin-left: 41.667%; }

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

.c-col-offset-7 {
  margin-left: 58.333%; }

.c-col-offset-8 {
  margin-left: 66.667%; }

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

.c-col-offset-10 {
  margin-left: 83.333%; }

.c-col-offset-11 {
  margin-left: 91.667%; }

/* ==========================================================================
      Grid Varianten
      ========================================================================== */
.c-footer .c-container {
  padding-left: 0;
  padding-right: 0; }

.c-row-footer {
  margin-left: 0;
  margin-right: 0;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; }

.c-footer-main,
.c-footer-member {
  padding-left: 40px;
  padding-right: 40px; }

.c-title-left .c-col-8 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 83.33333%;
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.c-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; }

/* ==========================================================================
   Titles
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: bold; }

h1,
.c-h1,
.c-subtitle-big {
  padding-bottom: .2em;
  line-height: 1.25;
  font-size: 60px; }

h2,
.c-h2 {
  padding-bottom: .4em;
  line-height: 1.2;
  font-size: 45px; }

h3,
.c-h3 {
  font-size: 35px;
  line-height: 1.2;
  padding-bottom: .4em; }

h4,
.c-h4 {
  font-size: 24px;
  line-height: 1.6;
  padding-bottom: .4em; }

h5,
.c-h5 {
  line-height: 1.6;
  font-size: 1em;
  padding-bottom: .5em; }

/* ==========================================================================
	  Basic Text Content
	  ========================================================================== */
.c-content,
.c-modal,
.c-footer,
button {
  line-height: 1.6; }

.c-text-block p,
.c-modal-dialog p {
  padding-bottom: 1.6em; }

.beitragsdetail .c-text-block p:last-child {
  padding-bottom: 0; }

.c-lead,
.c-text-block .c-lead,
.c-text-big {
  font-size: 24px;
  font-weight: bold; }

.c-lead,
.c-text-block .c-lead {
  padding-bottom: 1.2em; }

.c-lead-big {
  font-size: 30px;
  line-height: 1.375;
  font-weight: normal; }

.c-lead-big,
.c-text-block .c-lead-big {
  padding-bottom: 0.8em; }

.c-caption,
.c-subtitle,
.c-subtitle-big {
  color: #f1a948;
  font-weight: bold; }

.c-date {
  display: inline-block;
  padding-left: 0.5em;
  color: #12182d; }

.c-caption {
  margin-top: 1em;
  text-align: left; }

.c-subtitle {
  display: block;
  padding-bottom: 1em; }

.c-footer .c-subtitle,
.c-teaser-3col .c-subtitle {
  padding-bottom: 0.5em; }

.c-subtitle-big {
  display: block;
  padding-bottom: 0; }

.c-text-highlight .c-caption,
.c-text-highlight .c-subtitle,
.c-text-highlight .c-subtitle-big,
.c-text-light .c-date {
  color: #fff; }

.c-text-highlight h2,
.c-text-highlight p {
  color: #12182d; }

.c-footer,
.c-text-small {
  font-size: 16px; }

.c-bodytext {
  font-size: 20px; }

/* ==========================================================================
	  Basic Lists Content
	  ========================================================================== */
.c-text-block ul {
  margin: 0 0 1.6em 0;
  padding: 0;
  list-style: none; }

.c-text-block ul li {
  position: relative;
  padding-left: 20px; }

.c-text-block ul li::before {
  content: '';
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 4px;
  height: 4px;
  background-color: #12182d;
  border-radius: 50%; }

.c-text-light ul li::before {
  background-color: #fff; }

.c-text-block .c-list-no-bullet,
.c-list-no-bullet,
.c-list-special {
  margin: 0;
  padding: 0;
  list-style: none; }

.c-text-block ol {
  margin: 0 0 1.6em 0;
  padding: 0 0 0 25px; }

/* ==========================================================================
	 List Special, List Eventinfo
	  ========================================================================== */
.c-text-block .c-list-special li {
  position: static;
  padding-left: 0; }

.c-text-block .c-list-special li::before {
  display: none; }

.c-list-special,
.c-list-eventinfo {
  border-top: solid 1px #12182d; }

.c-list-special li {
  padding-top: 1em;
  padding-bottom: 1em;
  border-bottom: solid 1px #12182d; }

.c-list-eventinfo {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.c-list-eventinfo dt,
.c-list-eventinfo dd {
  margin: 0;
  padding-top: 1em;
  padding-bottom: 1em;
  border-bottom: solid 1px #12182d; }

.c-list-eventinfo dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%;
  padding-right: 10px;
  font-weight: bold; }

.c-list-eventinfo dd {
  padding-left: 10px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

.c-text-light .c-list-special,
.c-text-light .c-list-special li,
.c-text-light .c-list-eventinfo,
.c-text-light .c-list-eventinfo dt,
.c-text-light .c-list-eventinfo dd {
  border-color: rgba(255, 255, 255, 0.3); }

/* ==========================================================================
	  Quote
	  ========================================================================== */
.c-text-block blockquote {
  margin: 0;
  padding: 0; }

.c-text-block blockquote p {
  padding-bottom: 0;
  line-height: 1.2;
  font-size: 35px;
  font-weight: bold; }

.c-text-block blockquote cite {
  display: block;
  padding-top: 1.4em;
  font-style: normal;
  font-weight: bold;
  color: #f1a948; }

.c-text-highlight blockquote cite {
  color: #fff; }

/* ==========================================================================
	  Text helpers
	  ========================================================================== */
.c-text-right {
  text-align: right; }

.c-text-center {
  text-align: center; }

.c-text-light {
  color: #fff; }

/* ==========================================================================
	  Text sizes responsive
	  ========================================================================== */
@media only screen and (max-width: 1400px) {
  body,
  .c-bodytext {
    font-size: 16px; }
  h5,
  .c-h5 {
    font-size: 16px; }
  .c-link-arrow .c-link-arrow-icon {
    top: -0.2em; }
  .c-text-small {
    font-size: 14px; } }

@media only screen and (max-width: 1100px) {
  h1, .c-h1,
  .c-subtitle-big {
    font-size: 44px; }
  h2, .c-h2 {
    font-size: 36px; }
  h3, .c-h3,
  .c-lead,
  .c-text-block .c-lead,
  .c-text-big,
  .c-text-block blockquote p {
    font-size: 20px; }
  .c-lead-big,
  .c-text-block .c-lead-big {
    font-size: 24px; } }

@media only screen and (max-width: 980px) {
  h1, .c-h1,
  .c-subtitle-big {
    font-size: 40px; }
  h2, .c-h2 {
    font-size: 32px; }
  .c-lead,
  .c-text-block .c-lead {
    font-size: 16px; }
  .c-lead-big,
  .c-text-block .c-lead-big,
  .c-text-block blockquote p {
    font-size: 22px; } }

@media only screen and (max-width: 600px) {
  h1, .c-h1,
  .c-subtitle-big {
    font-size: 36px; }
  h2, .c-h2 {
    font-size: 28px; }
  .c-lead-big,
  .c-text-block .c-lead-big,
  .c-text-block blockquote p {
    font-size: 20px; } }

/* ==========================================================================
   Mainnav
   ========================================================================== */
.c-main-nav {
  background-color: #F5F3F3; }

.c-main-nav-list {
  margin: 0;
  padding: 0;
  list-style: none; }

.c-main-nav-list li {
  display: inline-block; }

.c-main-nav-list a {
  display: block;
  padding: 0.5em 20px 0.5em 0; }

.c-main-nav-list a,
.c-main-nav-list a:visited {
  color: #12182d; }

.c-main-nav-list a:hover,
.c-main-nav-list .c-active a {
  color: #f1a948; }

/* ==========================================================================
   Newsfilter
   ========================================================================== */
.c-filter-news-list-title {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; }

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  overflow: hidden; }

.c-footer-nav-list,
.c-footer-nav-list ul,
.c-footer-social-list {
  margin: 0;
  padding: 0;
  list-style: none; }

.c-footer-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.c-footer-nav-list > li {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
  padding-right: 10px; }

.c-footer-social {
  padding-top: 3em; }

.c-footer-social-list li {
  display: inline-block;
  padding-right: 10px; }

.c-footer .c-logos-list {
  text-align: left; }

.c-footer .c-logos-list:first-of-type {
  padding-bottom: 3em; }

.c-footer .c-logos-list li {
  width: 47%; }

.c-footer-disclaimer-list {
  margin: 0;
  padding: 2em 0 1em 0;
  list-style: none; }

.c-footer-disclaimer-list li {
  display: inline-block;
  line-height: 1;
  padding-right: 10px;
  margin-right: 6px;
  border-right: solid 1px #12182d; }

.c-footer-disclaimer-list li:last-child {
  padding-right: 0;
  margin-right: 0;
  border-right: none; }

.c-footer-disclaimer a,
.c-footer-disclaimer a:visited,
.c-footer-disclaimer a:focus,
.c-footer-disclaimer a:hover {
  color: #12182d; }

.c-footer-disclaimer .current-menu-item a {
  font-weight: bold; }

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  top: 50%;
  margin-top: -20px;
  right: 30px;
  width: 40px;
  height: 40px;
  color: transparent;
  background-color: transparent;
  -webkit-transform: perspective(1px) translateZ(0);
          transform: perspective(1px) translateZ(0);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .c-offcanvas-trigger span {
    display: block;
    width: 26px;
    height: 2px;
    margin: 7px 0px 7px 14px;
    border-radius: 1px;
    background-color: #12182d;
    opacity: 1;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  .c-offcanvas-trigger span:nth-child(1) {
    margin-top: 10px; }
  .c-offcanvas-trigger span:nth-child(2) {
    width: 20px;
    margin-left: 20px; }

.c-offcanvas-trigger:focus,
.c-offcanvas-trigger:hover {
  -webkit-animation: pulse 0.8s infinite;
          animation: pulse 0.8s infinite; }
  .c-offcanvas-trigger:focus span,
  .c-offcanvas-trigger:hover span {
    background-color: #f1a948; }

#c-offcanvas[type=checkbox] {
  display: none;
  /*&:checked ~ div.c-offcanvas-dialog {
		right: 0px;
	}
	&:checked ~ .c-header {
		position: fixed;
		z-index: 10;
	}	*/
  /*&:checked ~ .c-content {
		overflow: hidden;
		display: none;
	}
	
	&:checked ~ .c-footer {
		overflow: hidden;
		height: 0;
	}*/ }
  #c-offcanvas[type=checkbox]:checked ~ .c-header .c-offcanvas-trigger span:nth-child(1),
  #c-offcanvas[type=checkbox]:checked ~ .c-header .c-offcanvas-trigger span:nth-child(3) {
    position: absolute;
    top: 10px;
    right: -2px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  #c-offcanvas[type=checkbox]:checked ~ .c-header .c-offcanvas-trigger span:nth-child(2) {
    display: none; }
  #c-offcanvas[type=checkbox]:checked ~ .c-header .c-offcanvas-trigger span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    margin-top: 10px; }

/* ==========================================================================
   Contentelements
   ========================================================================== */
/* small elements that don't need their own .scss */
/* ==========================================================================
   Colors
   ========================================================================== */
.c-bg-light {
  background-color: #fff; }

.c-bg-medium {
  background-color: #F5F3F3; }

.c-bg-dark {
  background-color: #282622; }

.c-bg-highlight {
  background-color: #f1a948; }

.c-border-light {
  border-color: #fff; }

.c-border-dark {
  border-color: #12182d; }

.c-border-highlight {
  border-color: #f1a948; }

/* ==========================================================================
  Text img
   ========================================================================== */
.c-img-content {
  text-align: center; }

/* ==========================================================================
  Box Border
   ========================================================================== */
.c-box-border {
  border-width: 3px;
  border-style: solid;
  border-left: none;
  border-right: none; }

/* ==========================================================================
  Showroom / Teaser Big
   ========================================================================== */
.c-subtitle-logo,
.c-quote-logo {
  display: inline-block;
  padding-bottom: 1.6em; }

.c-subtitle-logo {
  width: 70px; }

.c-showroom-video,
.c-showroom-img,
.c-showroom-overlay,
.c-news-item-img,
.c-news-item-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.c-showroom-img {
  opacity: 1;
  -webkit-transition: opacity .2s ease-in-out;
  transition: opacity .2s ease-in-out; }
  .c-showroom-img.hide-image {
    opacity: 0; }

.no-js .c-showroom-video {
  display: none; }

.c-showroom-video {
  opacity: 0;
  overflow: hidden;
  -webkit-transition: opacity .4s ease-in-out;
  transition: opacity .4s ease-in-out; }
  .c-showroom-video.show-video {
    opacity: 1; }
  .c-showroom-video iframe {
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.c-showroom-overlay,
.c-news-item-overlay,
.c-link-video {
  background-color: rgba(0, 0, 0, 0.3); }

.js .c-showroom-img.compat-object-fit,
.js .c-news-item-img.compat-object-fit,
.no-js .c-showroom-img.compat-object-fit,
.no-js .c-news-item-img.compat-object-fit {
  background-size: cover;
  background-position: center center; }
  .js .c-showroom-img.compat-object-fit img,
  .js .c-showroom-img.compat-object-fit img.loaded,
  .js .c-showroom-img.compat-object-fit img.lazyloaded,
  .js .c-news-item-img.compat-object-fit img,
  .js .c-news-item-img.compat-object-fit img.loaded,
  .js .c-news-item-img.compat-object-fit img.lazyloaded,
  .no-js .c-showroom-img.compat-object-fit img,
  .no-js .c-showroom-img.compat-object-fit img.loaded,
  .no-js .c-showroom-img.compat-object-fit img.lazyloaded,
  .no-js .c-news-item-img.compat-object-fit img,
  .no-js .c-news-item-img.compat-object-fit img.loaded,
  .no-js .c-news-item-img.compat-object-fit img.lazyloaded {
    opacity: 0; }

.js .c-showroom-img img,
.js .c-showroom-img img.loaded,
.js .c-showroom-img img.lazyloaded,
.js .c-news-item-img img,
.js .c-news-item-img img.loaded,
.js .c-news-item-img img.lazyloaded,
.no-js .c-showroom-img img,
.no-js .c-showroom-img img.loaded,
.no-js .c-showroom-img img.lazyloaded,
.no-js .c-news-item-img img,
.no-js .c-news-item-img img.loaded,
.no-js .c-news-item-img img.lazyloaded {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.c-showroom-small .c-showroom-overlay {
  display: none; }

/* showroom no image */
.c-showroom-no-image {
  text-align: center; }

.c-showroom-no-image .c-row {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

/* ==========================================================================
  News Teaser
   ========================================================================== */
.c-news-item-with-img {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-bottom: 100%; }

.c-news-item-text {
  position: relative; }

.c-news-item-with-img .c-news-item-text {
  position: absolute;
  left: 0;
  bottom: 0; }

/* ==========================================================================
  Product Teaser
   ========================================================================== */
.c-products-list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.c-products-list li {
  padding: 2.6em 5px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.c-products-teaser .c-subtitle-logo {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1em; }

/* ==========================================================================
  News Filter / Logo list
   ========================================================================== */
.c-filter-news-list,
.c-logos-list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center; }

.c-filter + .c-filter {
  padding-top: 1.1em; }

.c-filter-news-list li,
.c-logos-list li {
  display: inline-block;
  padding: 0.5em 8px; }

.c-logos-list li {
  width: 23.5%; }

/* ==========================================================================
  Download Info
   ========================================================================== */
.c-news-item-link .info,
.c-list-special .info {
  font-size: 80%; }

/* ==========================================================================
   Map
   ========================================================================== */
.map-wrapper .hidden {
  display: none; }

.map-wrapper .mapimage {
  height: auto;
  width: 100%; }

.js .map-wrapper .enhanced-map {
  height: 0;
  padding-bottom: 100%; }

.no-js .map-wrapper {
  overflow: hidden; }
  .no-js .map-wrapper .mapimage {
    display: none; }
  .no-js .map-wrapper .nojsmapimage {
    height: auto;
    width: 100%; }

/* ==========================================================================
  Teaser 2 col 2024
   ========================================================================== */
/*.c-teaser-2col {
    margin-top: -4em;
    margin-top: calc(var(--spacing-l) * -1);
}*/
.c-teaser-2col-item {
  position: relative;
  /*margin-top: 4em;
    margin-top: var(--spacing-l);*/ }

.c-teaser-2col-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.c-teaser-2col-link,
.c-teaser-2col-link:visited,
.c-teaser-2col-link:hover,
.c-teaser-2col-link:focus {
  color: #12182d;
  color: var(--text-color);
  background-image: none !important; }

.c-teaser-2col-item .c-link-arrow {
  color: #f1a948;
  color: var(--text-highlight-color);
  pointer-events: none; }

.c-teaser-2col-img {
  margin-bottom: 1.6em; }

.c-teaser-2col-img img {
  -webkit-transition: all .5s ease-out;
  transition: all .5s ease-out; }

.c-teaser-2col-item:hover .c-teaser-2col-img img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2); }

.c-teaser-2col-item:focus-within .c-teaser-2col-img img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2); }

.c-teaser-2col-text {
  color: var(--text-color); }

/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none; }

/* standard links in text-block */
.c-text-highlight a,
.c-text-highlight a:visited,
.c-text-highlight a:focus,
.c-text-highlight a:hover {
  color: #fff; }

.c-text-block a,
.c-link-text-big,
.c-link-teaser h3,
.c-footer-disclaimer a {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(50%, rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 50%);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 50%);
  background-repeat: repeat-x;
  background-size: 2px 2px;
  background-position: 0 1.1em;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out; }

.c-link-text-big,
.c-text-block .c-link-text-big {
  background-size: 4px 4px; }

.c-link-teaser h3 {
  background-size: 3px 3px;
  padding-bottom: 1px; }

.c-text-block a:focus,
.c-text-block a:hover,
.c-link-text-big:focus,
.c-link-text-big:hover {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #f1a948), color-stop(50%, rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, #f1a948 50%, rgba(0, 0, 0, 0) 50%);
  background-image: linear-gradient(to bottom, #f1a948 50%, rgba(0, 0, 0, 0) 50%); }

.c-text-highlight a:focus,
.c-text-highlight a:hover,
.c-text-highlight .c-link-text-big:focus,
.c-text-highlight .c-link-text-big:hover {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, #fff 50%, rgba(0, 0, 0, 0) 50%);
  background-image: linear-gradient(to bottom, #fff 50%, rgba(0, 0, 0, 0) 50%); }

.c-footer-disclaimer a:focus,
.c-footer-disclaimer a:hover {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #12182d), color-stop(50%, rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, #12182d 50%, rgba(0, 0, 0, 0) 50%);
  background-image: linear-gradient(to bottom, #12182d 50%, rgba(0, 0, 0, 0) 50%); }

/* special links */
.c-link-arrow {
  font-weight: bold; }

.c-products-teaser a.c-products-item-link,
.c-text-block .c-link-video,
.c-text-block .c-link-video:focus,
.c-text-block .c-link-video:hover,
.c-text-block .c-link-arrow,
.c-text-block .c-link-arrow:focus,
.c-text-block .c-link-arrow:hover,
.c-text-block .c-link-extern,
.c-text-block .c-link-extern:focus,
.c-text-block .c-link-extern:hover,
.c-text-block .c-link-download,
.c-text-block .c-link-download:focus,
.c-text-block .c-link-download:hover,
.c-text-block .c-link-email,
.c-text-block .c-link-email:focus,
.c-text-block .c-link-email:hover,
.c-text-highlight .c-link-arrow,
.c-text-highlight .c-link-arrow:focus,
.c-text-highlight .c-link-arrow:hover,
.c-text-highlight .c-link-extern,
.c-text-highlight .c-link-extern:focus,
.c-text-highlight .c-link-extern:hover,
.c-text-highlight .c-link-download,
.c-text-highlight .c-link-download:focus,
.c-text-highlight .c-link-download:hover,
.c-text-highlight .c-link-email,
.c-text-highlight .c-link-email:focus,
.c-text-highlight .c-link-email:hover,
.c-footer-address a:focus,
.c-footer-address a:hover {
  background-image: none; }

.c-link-extern,
.c-link-extern:visited,
.c-link-download,
.c-link-download:visited,
.c-link-email,
.c-link-email:visited {
  color: #12182d; }

.c-text-light .c-link-extern,
.c-text-light .c-link-extern:visited,
.c-text-light .c-link-download,
.c-text-light .c-link-download:visited,
.c-text-light .c-link-email,
.c-text-light .c-link-email:visited,
.c-footer-address a,
.c-footer-address a:visited,
.c-footer-nav-list li li a,
.c-footer-nav-list li li a:visited {
  color: #fff; }

.c-link-extern:focus,
.c-link-extern:hover,
.c-link-download:focus,
.c-link-download:hover,
.c-link-email:focus,
.c-link-email:hover,
.c-text-light .c-link-extern:focus,
.c-text-light .c-link-extern:hover,
.c-text-light .c-link-download:focus,
.c-text-light .c-link-download:hover,
.c-text-light .c-link-email:focus,
.c-text-light .c-link-email:hover {
  color: #f1a948; }

.c-text-highlight .c-link-extern:focus,
.c-text-highlight .c-link-extern:hover,
.c-text-highlight .c-link-download:focus,
.c-text-highlight .c-link-download:hover,
.c-text-highlight .c-link-email:focus,
.c-text-highlight .c-link-email:hover {
  color: #fff; }

.c-bg-light .c-news-item-link,
.c-bg-medium .c-news-item-link,
.c-bg-dark .c-text-light .c-news-item-link {
  color: #f1a948; }

.c-bg-light .teaser-link .c-date,
.c-bg-light .teaser-link .c-text-block,
.c-bg-medium .teaser-link .c-date,
.c-bg-medium .teaser-link .c-text-block,
.c-bg-highlight .teaser-link .c-date,
.c-bg-highlight .teaser-link .c-text-block {
  color: #12182d; }

.c-bg-light .teaser-link .c-news-item-with-img .c-date,
.c-bg-light .teaser-link .c-news-item-with-img .c-text-block,
.c-bg-medium .teaser-link .c-news-item-with-img .c-date,
.c-bg-medium .teaser-link .c-news-item-with-img .c-text-block,
.c-bg-highlight .teaser-link .c-news-item-with-img .c-date,
.c-bg-highlight .teaser-link .c-news-item-with-img .c-text-block {
  color: #fff; }

.c-bg-highlight .c-news-item-link {
  color: #fff; }

.c-bg-dark .teaser-link .c-date,
.c-bg-dark .teaser-link .c-text-block {
  color: #fff; }

.teaser-link {
  display: block; }
  .teaser-link .c-text-block {
    background-image: none; }

.c-text-highlight .teaser-link,
.c-text-highlight .teaser-link:hover,
.c-text-highlight .teaser-link:focus,
.c-text-block .teaser-link,
.c-text-block .teaser-link:hover,
.c-text-block .teaser-link:focus {
  background-image: none; }

.c-link-teaser {
  display: block; }

.c-link-teaser h3 {
  display: inline;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out; }

.c-link-teaser h3,
.c-link-teaser h3:visited,
.c-link-teaser h3:focus,
.c-link-teaser h3:hover {
  color: #12182d; }

@media (hover: hover) {
  .csstransitions.js .c-link-teaser img,
  .csstransitions.js .c-teaser-2col-img img {
    -webkit-transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-out;
    transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-out;
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-out;
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-out, -webkit-transform 0.5s ease-out; }
  .c-link-teaser:hover img,
  .c-teaser-2col-item:hover .c-teaser-2col-img img {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2); } }

.c-link-teaser:focus h3,
.c-link-teaser:hover h3 {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #12182d), color-stop(50%, rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, #12182d 50%, rgba(0, 0, 0, 0) 50%);
  background-image: linear-gradient(to bottom, #12182d 50%, rgba(0, 0, 0, 0) 50%); }

.c-text-light .c-link-teaser h3,
.c-text-light .c-link-teaser h3:visited,
.c-text-light .c-link-teaser h3:focus,
.c-text-light .c-link-teaser h3:hover {
  color: #fff; }

.c-text-light .c-link-teaser:focus h3,
.c-text-light .c-link-teaser:hover h3 {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, #fff 50%, rgba(0, 0, 0, 0) 50%);
  background-image: linear-gradient(to bottom, #fff 50%, rgba(0, 0, 0, 0) 50%); }

/* ==========================================================================
   Button and links with icons
   ========================================================================== */
.c-btn {
  display: inline-block;
  margin: 0;
  padding: 0.5em 30px;
  border: none;
  border-radius: 20px;
  background-color: #f8d6a7;
  line-height: 1;
  text-align: center;
  -webkit-transition: background-color .2s ease-in-out;
  transition: background-color .2s ease-in-out; }

.c-btn,
.c-btn:visited {
  color: #12182d; }

.c-btn:hover,
.c-btn:focus,
.current-menu-item .c-btn,
.active .c-btn {
  color: #12182d;
  background-color: #f1a948; }

.c-bg-highlight .c-btn:hover,
.c-bg-highlight .c-btn:focus,
.c-bg-highlight .current-menu-item .c-btn,
.c-bg-highlight .active .c-btn {
  background-color: #fff; }

/* icons */
.c-icon::before {
  position: absolute;
  content: '';
  background-image: url(/app/themes/werosoft/assets/img/sprite.svg);
  background-repeat: no-repeat; }

.c-icon {
  position: relative; }

/* links with icon */
.c-link-arrow,
.c-link-extern,
.c-link-download,
.c-link-email {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .c-link-arrow .c-icon,
  .c-link-extern .c-icon,
  .c-link-download .c-icon,
  .c-link-email .c-icon {
    position: absolute; }

button.c-link-arrow {
  background: none;
  border: none;
  color: #f1a948;
  line-height: 1.6; }

.c-text-highlight button.c-link-arrow {
  color: #fff; }

.c-link-arrow:hover,
.c-teaser-2col-item:hover .c-link-arrow {
  -webkit-transform: translate(20px, 0);
      -ms-transform: translate(20px, 0);
          transform: translate(20px, 0); }

.c-link-circle {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: solid 2px #f1a948;
  -webkit-transform: perspective(1px) translateZ(0);
          transform: perspective(1px) translateZ(0); }

.c-text-highlight .c-link-circle {
  border-color: #fff; }

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); } }

@-webkit-keyframes pulseicononly {
  0% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); } }

@keyframes pulseicononly {
  0% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); } }

.c-link-arrow-icon {
  position: absolute;
  left: 0;
  top: 0; }

.c-link-arrow-icon::before {
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background-position: 0 0; }

.c-link-arrow-back .c-link-arrow-icon::before {
  background-position: 0 -20px; }

.c-text-highlight .c-link-arrow-icon::before {
  background-position: -50px 0; }

.c-text-highlight .c-link-arrow-back .c-link-arrow-icon::before {
  background-position: -50px -20px; }

.c-link-intern-icon,
.c-link-extern-icon,
.c-link-download-icon,
.c-link-email-icon {
  position: absolute;
  top: 0.8em;
  left: 0; }

.c-link-intern-icon::before {
  top: 50%;
  left: 0;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background-position: 0 0px; }

.c-text-highlight .c-link-intern-icon::before {
  background-position: -50px 0px; }

.c-link-extern-icon::before {
  top: 50%;
  left: 0;
  margin-top: -6px;
  width: 12px;
  height: 12px;
  background-position: 0 -60px; }

.c-text-highlight .c-link-extern-icon::before {
  background-position: -50px -60px; }

.c-link-download-icon::before {
  top: 50%;
  left: 0;
  margin-top: -10px;
  width: 16px;
  height: 20px;
  background-position: 0 -80px; }

.c-text-highlight .c-link-download-icon::before {
  background-position: -50px -80px; }

.c-link-email-icon::before {
  top: 50%;
  left: 0;
  margin-top: -9px;
  width: 22px;
  height: 18px;
  background-position: 0 -240px; }

.c-text-highlight .c-link-download-email::before {
  background-position: -50px -240px; }

.c-link-xing-icon::before {
  top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -7px;
  width: 15px;
  height: 18px;
  background-position: 0 -120px; }

.c-link-linkedin-icon::before {
  top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -8px;
  width: 16px;
  height: 16px;
  background-position: 0 -140px; }

.c-link-twitter-icon::before {
  top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -10px;
  width: 19px;
  height: 16px;
  background-position: 0 -160px; }

.c-link-facebook-icon::before {
  top: 50%;
  left: 50%;
  margin-top: -10px;
  margin-left: -6px;
  width: 11px;
  height: 20px;
  background-position: 0 -180px; }

.c-link-youtube-icon::before {
  top: 50%;
  left: 50%;
  margin-top: -6px;
  margin-left: -9px;
  width: 18px;
  height: 13px;
  background-position: 0 -220px; }

.c-link-down {
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -15px; }
  @media screen and (min-height: 500px) and (min-width: 500px) {
    .c-link-down {
      margin-bottom: -2em; } }
  @media screen and (min-height: 500px) and (min-width: 1200px) {
    .c-link-down {
      margin-bottom: -4em; } }

.c-link-arrow-down-icon::before {
  top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -8px;
  width: 16px;
  height: 16px;
  background-position: 0 -40px; }

.c-text-highlight .c-link-arrow-down-icon::before {
  background-position: -50px -40px; }

.c-link-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.c-link-video-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -40px;
  margin-top: -40px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: solid 2px #fff; }

.c-link-video-icon::before {
  top: 50%;
  left: 50%;
  margin-top: -14px;
  margin-left: -8px;
  width: 22px;
  height: 29px;
  background-position: 0 -260px; }

.c-link-arrow-icon:hover,
.c-link-arrow:hover .c-link-arrow-icon,
.c-link-social:hover .c-link-circle,
.c-link-down:hover .c-link-circle,
.c-teaser-2col-item:hover .c-link-arrow .c-link-arrow-icon {
  -webkit-animation: pulse 0.8s infinite;
          animation: pulse 0.8s infinite; }

.c-link-extern-icon:hover,
.c-link-extern:hover .c-link-intern-icon,
.c-link-extern:hover .c-link-extern-icon,
.c-link-download-icon:hover,
.c-link-download:hover .c-link-download-icon,
.c-link-email-icon:hover,
.c-link-email:hover .c-link-email-icon,
.c-link-video-icon:hover,
.c-link-video:hover .c-link-video-icon {
  -webkit-animation: pulseicononly 0.8s infinite;
          animation: pulseicononly 0.8s infinite; }

/* ==========================================================================
   Ratio Box
   ========================================================================== */
.c-ratiobox {
  position: relative;
  height: 0;
  display: block;
  overflow: hidden; }

.c-ratiobox > img,
.c-ratiobox > iframe,
.c-ratiobox > object {
  position: absolute !important;
  top: 0;
  left: 0; }

.c-ratiobox > img {
  width: 100%;
  height: auto; }

.c-ratiobox > iframe,
.c-ratiobox > object {
  width: 100% !important;
  height: 100% !important;
  background-color: #000; }

.c-ratiobox-16by9 {
  padding-bottom: 56.25%; }

.c-ratiobox-4by3 {
  padding-bottom: 75%; }

/* ==========================================================================
   Variables Form
   ========================================================================== */
:root {
  /* form */
  --form-color-highlight: #f1a948;
  --text-color-form: #12182d;
  --border-form: #12182d;
  --border-form-focus: #f1a948;
  --form-disabled: #ccc;
  --form-error: #dd0000;
  --form-ok: #12182d;
  --form-initial: #1D1D1B;
  --form-bg-content: transparent;
  --form-box-margin: -30px; }

.c-text-light {
  --text-color-form: #fff;
  --border-form: #fff;
  --border-form-focus: #f1a948;
  --form-ok: #fff; }

.c-text-highlight {
  --form-color-highlight: #fff;
  --border-form-focus: #fff; }

@media only screen and (min-width: 601px) {
  :root {
    --form-box-margin: -40px; } }

@media only screen and (max-width: 500px) {
  :root {
    --form-box-margin: -12px; } }

/* ==========================================================================
   Form
   ========================================================================== */
/* safari form fix */
input,
input[type="text"],
input[type="email"],
textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  -webkit-box-shadow: none; }

/* remove chrome autofill yellow color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-transition-delay: 2000s; }

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

/* Firefox */
input[type=number] {
  -moz-appearance: textfield; }

.c-form-standard {
  text-align: left; }

.c-form-contact {
  max-width: 650px;
  margin: 0 auto; }

.c-box .c-form-contact {
  margin-left: var(--form-box-margin);
  margin-right: var(--form-box-margin); }

.c-form-item,
.gfield,
.gform_wrapper .c-form-standard .gfield {
  position: relative;
  width: 100%;
  padding-bottom: 2em;
  margin-bottom: 0; }

.c-form-standard .gform_footer {
  padding-top: 0;
  position: relative; }

.gform_required_legend {
  font-size: 0.8em; }

/* ==========================================================================
   formfields
   ========================================================================== */
.c-form-standard input[type="text"],
.c-form-standard input[type="email"],
.c-form-standard input[type="password"],
.c-form-standard input[type="url"],
.c-form-standard input[type="date"],
.c-form-standard input[type="tel"],
.c-form-standard textarea,
.c-form-text {
  width: 100%;
  border: none;
  border-bottom: solid 1px #12182d;
  border-color: var(--border-form);
  color: var(--text-color-form);
  padding: .5em 0;
  background-color: transparent; }

.c-form-standard textarea {
  border: solid 1px #12182d;
  border-color: var(--border-form);
  min-height: 6em;
  padding: .5em 8px; }

/*
.c-text-light .c-form-text {
	border-color: $border-light;
	color: $text-color-light;
}*/
.c-form-standard input[type="text"]:focus,
.c-form-standard input[type="email"]:focus,
.c-form-standard input[type="password"],
.c-form-standard input[type="url"]:focus,
.c-form-standard input[type="date"]:focus,
.c-form-standard input[type="tel"]:focus,
.c-form-standard textarea:focus,
.c-text-highlight .c-form-text:focus {
  border-color: #fff;
  border-color: var(--border-form-focus);
  outline: none; }

.c-form-standard input[type="text"]:disabled,
.c-form-standard input[type="email"]:disabled,
.c-form-standard input[type="password"],
.c-form-standard input[type="url"]:disabled,
.c-form-standard input[type="date"]:disabled,
.c-form-standard input[type="tel"]:disabled,
.c-form-standard textarea:disabled {
  border-color: var(--form-disabled);
  color: var(--form-disabled); }

.c-form-standard label {
  display: block;
  padding-bottom: 2px;
  font-weight: bold; }

/* ==========================================================================
   checkbox / radios
   ========================================================================== */
.c-form-standard .wpcf7-list-item {
  display: block;
  position: relative; }

.c-form-standard .c-form-multiline .wpcf7-list-item {
  display: inline-block;
  padding-right: 1.6em; }

.c-form-standard input[type="checkbox"],
.c-form-standard input[type="radio"] {
  margin: 4px 0 0;
  margin-top: 0;
  line-height: normal; }

.c-form-standard input[type="checkbox"]:checked,
.c-form-standard input[type="checkbox"]:not(:checked),
.c-form-standard input[type="radio"]:checked,
.c-form-standard input[type="radio"]:not(:checked) {
  position: absolute;
  left: -9999px; }

.c-form-standard input[type="checkbox"] + label,
.c-form-standard input[type="radio"] + label,
.c-form-standard input[type="checkbox"] + label,
.c-form-standard input[type="radio"] + label {
  margin-left: 0;
  font-weight: normal;
  overflow: hidden; }

.c-form-standard input[type="checkbox"]:checked + label,
.c-form-standard input[type="checkbox"]:not(:checked) + label,
.c-form-standard input[type="radio"]:checked + label,
.c-form-standard input[type="radio"]:not(:checked) + label {
  position: relative;
  display: inline-block;
  padding-left: 50px;
  padding-top: 0.55em;
  line-height: 1.5;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  min-height: 44px; }

.c-form-standard input[type="checkbox"]:checked + label::before,
.c-form-standard input[type="checkbox"]:not(:checked) + label::before,
.c-form-standard input[type="radio"]:checked + label::before,
.c-form-standard input[type="radio"]:not(:checked) + label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 38px;
  height: 38px;
  border: 1px solid #12182d;
  border-color: var(--border-form);
  background-color: var(--form-bg-content);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

.c-form-standard input[type="radio"]:checked + label::before,
.c-form-standard input[type="radio"]:not(:checked) + label::before {
  border-radius: 50%; }

.c-form-standard input[type="checkbox"]:focus + label::before,
.c-form-standard input[type="radio"]:focus + label::before {
  border-color: var(--border-form-focus);
  background-color: var(--form-bg-content); }

.c-form-standard input[type="checkbox"]:checked + label::before,
.c-form-standard input[type="radio"]:checked + label::before {
  background-color: var(--form-bg-content); }

.c-form-standard input[type="checkbox"]:checked + label::after,
.c-form-standard input[type="checkbox"]:not(:checked) + label::after {
  content: '';
  display: block;
  position: absolute;
  top: -webkit-calc(0.15em + 5px);
  top: calc(0.15em + 5px);
  left: 11px;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  width: 16px;
  height: 22px;
  border: solid var(--form-color-highlight);
  border-width: 0 4px 4px 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg); }

.c-form-standard input[type="radio"]:checked + label::after,
.c-form-standard input[type="radio"]:not(:checked) + label::after {
  content: '';
  display: block;
  position: absolute;
  top: -webkit-calc(0.15em + 9px);
  top: calc(0.15em + 9px);
  left: 9px;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background-color: var(--form-color-highlight); }

.c-form-standard input[type="checkbox"]:not(:checked) + label::after {
  opacity: 0; }

.c-form-standard input[type="radio"]:not(:checked) + label::after {
  opacity: 0;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0); }

.gform_fields input[type="checkbox"]:checked + label::after,
.c-form-standard input[type="checkbox"]:checked + label::after {
  opacity: 1; }

.c-form-standard input[type="radio"]:checked + label::after {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.c-form-standard input[type="checkbox"]:disabled + label::before,
.c-form-standard input[type="checkbox"]:disabled + label::after,
.c-form-standard input[type="radio"]:disabled + label::before,
.c-form-standard input[type="radio"]:disabled + label::after {
  color: var(--form-disabled);
  border-color: var(--form-disabled); }

/* ==========================================================================
   dropdown
   ========================================================================== */
.c-form-standard select {
  display: block;
  padding: 0.5em 30px 0.5em 0px !important;
  width: 100%;
  height: auto !important;
  border: none;
  border-bottom: solid 1px #12182d;
  border-color: var(--border-form);
  border-radius: 0;
  background: url("/app/themes/werosoft/assets/img/icon-form-arrow.svg") right center no-repeat;
  background-color: transparent;
  color: var(--text-color-form);
  font-size: 100%;
  line-height: 1.5rem !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.c-bg-dark .c-form-standard select {
  background: url("/app/themes/werosoft/assets/img/icon-form-arrow-light.svg") right center no-repeat; }

.c-form-standard select:focus {
  border-color: var(--border-form-focus);
  outline: none; }

.c-form-standard select option {
  padding: 0;
  outline: none; }

.c-form-standard select::-ms-expand {
  display: none; }

.c-form-standard select:disabled::-ms-expand {
  color: var(--form-disabled); }

.c-form-standard select:disabled,
.c-form-standard select[disabled] {
  color: var(--form-disabled);
  border-color: var(--form-disabled); }

/* ==========================================================================
   error / ok message tbd
   ========================================================================== */
.gform_wrapper .c-form-standard .validation_message {
  color: #d80c0c;
  color: var(--form-error);
  font-size: 0.8em;
  margin-top: .35em; }

.gform_confirmation_message {
  font-size: 1em;
  color: var(--form-ok);
  font-weight: bold; }

.c-form-standard_wrapper.gform_wrapper .form-error,
.gform_wrapper .c-form-standard .form-error {
  color: #d80c0c;
  color: var(--form-error);
  font-size: 1em;
  font-weight: 700;
  margin-bottom: 1.5em;
  clear: both;
  width: 100%;
  text-align: left; }

/* ==========================================================================
   Slider
   ========================================================================== */
.js .slider .c-quote-logo,
.no-js .slider .c-quote-logo {
  max-width: 12.5em; }

.js .slider .slide + .slide,
.no-js .slider .slide + .slide {
  margin-top: 2em; }

.no-js .slide .image {
  display: none; }

.enhanced .slider {
  position: relative; }
  .enhanced .slider.image-slider, .enhanced .slider.testimonial {
    padding-top: 70px; }
  @media (min-width: 37.5em) {
    .enhanced .slider.image-slider {
      padding-top: 0; } }
  .enhanced .slider.image-slider .c-pie {
    right: 30px; }
    @media (min-width: 37.5em) {
      .enhanced .slider.image-slider .c-pie {
        right: 50px;
        top: 10px; } }
    @media (min-width: 53.75em) {
      .enhanced .slider.image-slider .c-pie {
        right: 80px;
        top: 40px; } }
    @media (min-width: 75em) {
      .enhanced .slider.image-slider .c-pie {
        right: 40px; } }
  .enhanced .slider.testimonial .c-quote-logo {
    position: relative;
    z-index: 40; }
  .enhanced .slider.testimonial .c-pie {
    right: 12px; }
    @media (min-width: 31.25em) {
      .enhanced .slider.testimonial .c-pie {
        right: 30px; } }
    @media (min-width: 37.5em) {
      .enhanced .slider.testimonial .c-pie {
        right: 40px; } }
    @media (min-width: 75em) {
      .enhanced .slider.testimonial .c-pie {
        right: 20px; } }
  .enhanced .slider .slider-index {
    margin-top: 1em;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 40; }
    .enhanced .slider .slider-index div {
      background-color: #282622;
      border-radius: 50%;
      display: inline-block;
      height: 10px;
      width: 10px; }
      .enhanced .slider .slider-index div.active {
        background-color: #f1a948; }
      .enhanced .slider .slider-index div:hover {
        cursor: pointer; }
      .enhanced .slider .slider-index div .text {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap; }
    .enhanced .slider .slider-index div + div {
      margin-left: 1em; }
  .enhanced .slider .slide + .slide {
    margin-top: 0; }
  .enhanced .slider .slide {
    left: 0;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .6s ease-in-out;
    transition: opacity .6s ease-in-out;
    top: 0;
    visibility: hidden; }
    .enhanced .slider .slide .c-quote-logo {
      opacity: 0; }
  .enhanced .slider .slide.active {
    left: auto;
    opacity: 1;
    position: relative;
    top: auto;
    visibility: visible; }
    .enhanced .slider .slide.active .c-quote-logo {
      opacity: 1;
      -webkit-transition: opacity .6s ease-in-out;
      transition: opacity .6s ease-in-out; }
  .enhanced .slider .slider-navigation {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 20; }
    .enhanced .slider .slider-navigation .next,
    .enhanced .slider .slider-navigation .prev {
      height: 100%;
      position: absolute;
      top: 0;
      width: 30%; }
      .enhanced .slider .slider-navigation .next:hover,
      .enhanced .slider .slider-navigation .prev:hover {
        cursor: pointer; }
      .enhanced .slider .slider-navigation .next .text,
      .enhanced .slider .slider-navigation .prev .text {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap; }
    .enhanced .slider .slider-navigation .next {
      right: 0; }
    .enhanced .slider .slider-navigation .prev {
      left: 0; }

.enhanced .c-bg-dark .slider .slider-index div {
  background-color: #fff; }
  .enhanced .c-bg-dark .slider .slider-index div.active {
    background-color: #f1a948; }

/* ==========================================================================
   Slider Counter
   ========================================================================== */
.c-pie {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  border-radius: 50%;
  border: solid 3px #12182d; }

.c-pie-separator {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -2px;
  margin-top: -15px;
  width: 3px;
  height: 30px;
  background-color: #12182d;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg); }

.c-bg-dark .c-pie {
  border-color: #fff; }

.c-bg-dark .c-pie-separator {
  background-color: #fff;
  margin-left: -1px;
  margin-top: -14px;
  width: 2px; }

.c-bg-dark .c-pie-number-status,
.c-bg-dark .c-pie-number-total {
  color: #fff; }

.c-pie-number-status,
.c-pie-number-total {
  display: block;
  position: absolute;
  min-width: 15px; }

.c-pie-number-status {
  top: 0.5em;
  left: 6px; }

.c-pie-number-total {
  bottom: 0.5em;
  right: 5px; }

.c-pie-slice {
  position: absolute;
  top: -3px;
  left: -3px;
  width: -webkit-calc(100% + 6px);
  width: calc(100% + 6px);
  height: -webkit-calc(100% + 6px);
  height: calc(100% + 6px);
  clip: rect(0, 50px, 50px, 25px); }

.c-pie-bar,
.c-pie-fill {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg); }

.c-pie-bar,
.c-pie-fill {
  border-radius: 50%;
  border: solid 3px #f1a948; }

.c-pie-fill {
  border-color: transparent; }

.c-pie.c-pie1 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(3.6deg);
      -ms-transform: rotate(3.6deg);
          transform: rotate(3.6deg); }

.c-pie.c-pie2 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(7.2deg);
      -ms-transform: rotate(7.2deg);
          transform: rotate(7.2deg); }

.c-pie.c-pie3 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(10.8deg);
      -ms-transform: rotate(10.8deg);
          transform: rotate(10.8deg); }

.c-pie.c-pie4 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(14.4deg);
      -ms-transform: rotate(14.4deg);
          transform: rotate(14.4deg); }

.c-pie.c-pie5 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(18deg);
      -ms-transform: rotate(18deg);
          transform: rotate(18deg); }

.c-pie.c-pie6 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(21.6deg);
      -ms-transform: rotate(21.6deg);
          transform: rotate(21.6deg); }

.c-pie.c-pie7 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(25.2deg);
      -ms-transform: rotate(25.2deg);
          transform: rotate(25.2deg); }

.c-pie.c-pie8 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(28.8deg);
      -ms-transform: rotate(28.8deg);
          transform: rotate(28.8deg); }

.c-pie.c-pie9 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(32.4deg);
      -ms-transform: rotate(32.4deg);
          transform: rotate(32.4deg); }

.c-pie.c-pie10 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(36deg);
      -ms-transform: rotate(36deg);
          transform: rotate(36deg); }

.c-pie.c-pie11 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(39.6deg);
      -ms-transform: rotate(39.6deg);
          transform: rotate(39.6deg); }

.c-pie.c-pie12 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(43.2deg);
      -ms-transform: rotate(43.2deg);
          transform: rotate(43.2deg); }

.c-pie.c-pie13 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(46.8deg);
      -ms-transform: rotate(46.8deg);
          transform: rotate(46.8deg); }

.c-pie.c-pie14 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(50.4deg);
      -ms-transform: rotate(50.4deg);
          transform: rotate(50.4deg); }

.c-pie.c-pie15 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(54deg);
      -ms-transform: rotate(54deg);
          transform: rotate(54deg); }

.c-pie.c-pie16 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(57.6deg);
      -ms-transform: rotate(57.6deg);
          transform: rotate(57.6deg); }

.c-pie.c-pie17 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(61.2deg);
      -ms-transform: rotate(61.2deg);
          transform: rotate(61.2deg); }

.c-pie.c-pie18 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(64.8deg);
      -ms-transform: rotate(64.8deg);
          transform: rotate(64.8deg); }

.c-pie.c-pie19 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(68.4deg);
      -ms-transform: rotate(68.4deg);
          transform: rotate(68.4deg); }

.c-pie.c-pie20 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(72deg);
      -ms-transform: rotate(72deg);
          transform: rotate(72deg); }

.c-pie.c-pie21 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(75.6deg);
      -ms-transform: rotate(75.6deg);
          transform: rotate(75.6deg); }

.c-pie.c-pie22 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(79.2deg);
      -ms-transform: rotate(79.2deg);
          transform: rotate(79.2deg); }

.c-pie.c-pie23 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(82.8deg);
      -ms-transform: rotate(82.8deg);
          transform: rotate(82.8deg); }

.c-pie.c-pie24 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(86.4deg);
      -ms-transform: rotate(86.4deg);
          transform: rotate(86.4deg); }

.c-pie.c-pie25 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }

.c-pie.c-pie26 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(93.6deg);
      -ms-transform: rotate(93.6deg);
          transform: rotate(93.6deg); }

.c-pie.c-pie27 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(97.2deg);
      -ms-transform: rotate(97.2deg);
          transform: rotate(97.2deg); }

.c-pie.c-pie28 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(100.8deg);
      -ms-transform: rotate(100.8deg);
          transform: rotate(100.8deg); }

.c-pie.c-pie29 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(104.4deg);
      -ms-transform: rotate(104.4deg);
          transform: rotate(104.4deg); }

.c-pie.c-pie30 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(108deg);
      -ms-transform: rotate(108deg);
          transform: rotate(108deg); }

.c-pie.c-pie31 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(111.6deg);
      -ms-transform: rotate(111.6deg);
          transform: rotate(111.6deg); }

.c-pie.c-pie32 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(115.2deg);
      -ms-transform: rotate(115.2deg);
          transform: rotate(115.2deg); }

.c-pie.c-pie33 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(118.8deg);
      -ms-transform: rotate(118.8deg);
          transform: rotate(118.8deg); }

.c-pie.c-pie34 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(122.4deg);
      -ms-transform: rotate(122.4deg);
          transform: rotate(122.4deg); }

.c-pie.c-pie35 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(126deg);
      -ms-transform: rotate(126deg);
          transform: rotate(126deg); }

.c-pie.c-pie36 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(129.6deg);
      -ms-transform: rotate(129.6deg);
          transform: rotate(129.6deg); }

.c-pie.c-pie37 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(133.2deg);
      -ms-transform: rotate(133.2deg);
          transform: rotate(133.2deg); }

.c-pie.c-pie38 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(136.8deg);
      -ms-transform: rotate(136.8deg);
          transform: rotate(136.8deg); }

.c-pie.c-pie39 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(140.4deg);
      -ms-transform: rotate(140.4deg);
          transform: rotate(140.4deg); }

.c-pie.c-pie40 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(144deg);
      -ms-transform: rotate(144deg);
          transform: rotate(144deg); }

.c-pie.c-pie41 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(147.6deg);
      -ms-transform: rotate(147.6deg);
          transform: rotate(147.6deg); }

.c-pie.c-pie42 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(151.2deg);
      -ms-transform: rotate(151.2deg);
          transform: rotate(151.2deg); }

.c-pie.c-pie43 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(154.8deg);
      -ms-transform: rotate(154.8deg);
          transform: rotate(154.8deg); }

.c-pie.c-pie44 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(158.4deg);
      -ms-transform: rotate(158.4deg);
          transform: rotate(158.4deg); }

.c-pie.c-pie45 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(162deg);
      -ms-transform: rotate(162deg);
          transform: rotate(162deg); }

.c-pie.c-pie46 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(165.6deg);
      -ms-transform: rotate(165.6deg);
          transform: rotate(165.6deg); }

.c-pie.c-pie47 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(169.2deg);
      -ms-transform: rotate(169.2deg);
          transform: rotate(169.2deg); }

.c-pie.c-pie48 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(172.8deg);
      -ms-transform: rotate(172.8deg);
          transform: rotate(172.8deg); }

.c-pie.c-pie49 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(176.4deg);
      -ms-transform: rotate(176.4deg);
          transform: rotate(176.4deg); }

.c-pie.c-pie50 .c-pie-bar {
  clip: rect(0, 25px, 50px, 0);
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

.c-pie.c-pie51 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie51 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie51 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(183.6deg);
      -ms-transform: rotate(183.6deg);
          transform: rotate(183.6deg); }

.c-pie.c-pie52 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie52 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie52 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(187.2deg);
      -ms-transform: rotate(187.2deg);
          transform: rotate(187.2deg); }

.c-pie.c-pie53 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie53 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie53 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(190.8deg);
      -ms-transform: rotate(190.8deg);
          transform: rotate(190.8deg); }

.c-pie.c-pie54 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie54 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie54 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(194.4deg);
      -ms-transform: rotate(194.4deg);
          transform: rotate(194.4deg); }

.c-pie.c-pie55 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie55 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie55 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(198deg);
      -ms-transform: rotate(198deg);
          transform: rotate(198deg); }

.c-pie.c-pie56 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie56 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie56 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(201.6deg);
      -ms-transform: rotate(201.6deg);
          transform: rotate(201.6deg); }

.c-pie.c-pie57 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie57 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie57 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(205.2deg);
      -ms-transform: rotate(205.2deg);
          transform: rotate(205.2deg); }

.c-pie.c-pie58 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie58 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie58 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(208.8deg);
      -ms-transform: rotate(208.8deg);
          transform: rotate(208.8deg); }

.c-pie.c-pie59 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie59 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie59 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(212.4deg);
      -ms-transform: rotate(212.4deg);
          transform: rotate(212.4deg); }

.c-pie.c-pie60 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie60 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie60 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(216deg);
      -ms-transform: rotate(216deg);
          transform: rotate(216deg); }

.c-pie.c-pie61 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie61 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie61 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(219.6deg);
      -ms-transform: rotate(219.6deg);
          transform: rotate(219.6deg); }

.c-pie.c-pie62 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie62 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie62 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(223.2deg);
      -ms-transform: rotate(223.2deg);
          transform: rotate(223.2deg); }

.c-pie.c-pie63 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie63 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie63 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(226.8deg);
      -ms-transform: rotate(226.8deg);
          transform: rotate(226.8deg); }

.c-pie.c-pie64 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie64 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie64 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(230.4deg);
      -ms-transform: rotate(230.4deg);
          transform: rotate(230.4deg); }

.c-pie.c-pie65 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie65 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie65 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(234deg);
      -ms-transform: rotate(234deg);
          transform: rotate(234deg); }

.c-pie.c-pie66 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie66 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie66 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(237.6deg);
      -ms-transform: rotate(237.6deg);
          transform: rotate(237.6deg); }

.c-pie.c-pie67 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie67 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie67 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(241.2deg);
      -ms-transform: rotate(241.2deg);
          transform: rotate(241.2deg); }

.c-pie.c-pie68 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie68 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie68 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(244.8deg);
      -ms-transform: rotate(244.8deg);
          transform: rotate(244.8deg); }

.c-pie.c-pie69 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie69 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie69 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(248.4deg);
      -ms-transform: rotate(248.4deg);
          transform: rotate(248.4deg); }

.c-pie.c-pie70 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie70 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie70 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(252deg);
      -ms-transform: rotate(252deg);
          transform: rotate(252deg); }

.c-pie.c-pie71 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie71 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie71 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(255.6deg);
      -ms-transform: rotate(255.6deg);
          transform: rotate(255.6deg); }

.c-pie.c-pie72 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie72 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie72 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(259.2deg);
      -ms-transform: rotate(259.2deg);
          transform: rotate(259.2deg); }

.c-pie.c-pie73 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie73 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie73 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(262.8deg);
      -ms-transform: rotate(262.8deg);
          transform: rotate(262.8deg); }

.c-pie.c-pie74 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie74 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie74 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(266.4deg);
      -ms-transform: rotate(266.4deg);
          transform: rotate(266.4deg); }

.c-pie.c-pie75 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie75 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie75 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg); }

.c-pie.c-pie76 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie76 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie76 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(273.6deg);
      -ms-transform: rotate(273.6deg);
          transform: rotate(273.6deg); }

.c-pie.c-pie77 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie77 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie77 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(277.2deg);
      -ms-transform: rotate(277.2deg);
          transform: rotate(277.2deg); }

.c-pie.c-pie78 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie78 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie78 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(280.8deg);
      -ms-transform: rotate(280.8deg);
          transform: rotate(280.8deg); }

.c-pie.c-pie79 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie79 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie79 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(284.4deg);
      -ms-transform: rotate(284.4deg);
          transform: rotate(284.4deg); }

.c-pie.c-pie80 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie80 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie80 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(288deg);
      -ms-transform: rotate(288deg);
          transform: rotate(288deg); }

.c-pie.c-pie81 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie81 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie81 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(291.6deg);
      -ms-transform: rotate(291.6deg);
          transform: rotate(291.6deg); }

.c-pie.c-pie82 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie82 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie82 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(295.2deg);
      -ms-transform: rotate(295.2deg);
          transform: rotate(295.2deg); }

.c-pie.c-pie83 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie83 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie83 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(298.8deg);
      -ms-transform: rotate(298.8deg);
          transform: rotate(298.8deg); }

.c-pie.c-pie84 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie84 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie84 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(302.4deg);
      -ms-transform: rotate(302.4deg);
          transform: rotate(302.4deg); }

.c-pie.c-pie85 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie85 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie85 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(306deg);
      -ms-transform: rotate(306deg);
          transform: rotate(306deg); }

.c-pie.c-pie86 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie86 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie86 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(309.6deg);
      -ms-transform: rotate(309.6deg);
          transform: rotate(309.6deg); }

.c-pie.c-pie87 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie87 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie87 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(313.2deg);
      -ms-transform: rotate(313.2deg);
          transform: rotate(313.2deg); }

.c-pie.c-pie88 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie88 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie88 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(316.8deg);
      -ms-transform: rotate(316.8deg);
          transform: rotate(316.8deg); }

.c-pie.c-pie89 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie89 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie89 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(320.4deg);
      -ms-transform: rotate(320.4deg);
          transform: rotate(320.4deg); }

.c-pie.c-pie90 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie90 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie90 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(324deg);
      -ms-transform: rotate(324deg);
          transform: rotate(324deg); }

.c-pie.c-pie91 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie91 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie91 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(327.6deg);
      -ms-transform: rotate(327.6deg);
          transform: rotate(327.6deg); }

.c-pie.c-pie92 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie92 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie92 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(331.2deg);
      -ms-transform: rotate(331.2deg);
          transform: rotate(331.2deg); }

.c-pie.c-pie93 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie93 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie93 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(334.8deg);
      -ms-transform: rotate(334.8deg);
          transform: rotate(334.8deg); }

.c-pie.c-pie94 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie94 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie94 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(338.4deg);
      -ms-transform: rotate(338.4deg);
          transform: rotate(338.4deg); }

.c-pie.c-pie95 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie95 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie95 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(342deg);
      -ms-transform: rotate(342deg);
          transform: rotate(342deg); }

.c-pie.c-pie96 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie96 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie96 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(345.6deg);
      -ms-transform: rotate(345.6deg);
          transform: rotate(345.6deg); }

.c-pie.c-pie97 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie97 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie97 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(349.2deg);
      -ms-transform: rotate(349.2deg);
          transform: rotate(349.2deg); }

.c-pie.c-pie98 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie98 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie98 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(352.8deg);
      -ms-transform: rotate(352.8deg);
          transform: rotate(352.8deg); }

.c-pie.c-pie99 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie99 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie99 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(356.4deg);
      -ms-transform: rotate(356.4deg);
          transform: rotate(356.4deg); }

.c-pie.c-pie100 .c-pie-slice {
  clip: rect(auto, auto, auto, auto); }

.c-pie.c-pie100 .c-pie-bar {
  clip: rect(0, 50px, 50px, 25px); }

.c-pie.c-pie100 .c-pie-fill {
  clip: rect(0, 25px, 50px, 0);
  border-color: #f1a948;
  -webkit-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
          transform: rotate(360deg); }

.c-video-wrapper {
  overflow: hidden;
  position: relative;
  height: 0; }

.c-video-wrapper .image.lazyloaded {
  position: relative;
  z-index: 1; }

.c-video-wrapper .image.lazyloaded.remove {
  opacity: 0; }

.c-link-video {
  z-index: 1; }

.videoplayer {
  height: 0;
  left: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: absolute;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  width: 100%;
  z-index: 0; }

.videoplayer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width; }

/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  /* grid gap */
  .c-container {
    padding-left: 80px;
    padding-right: 80px; }
  .c-box {
    margin-left: 80px;
    margin-right: 80px; }
  .c-row {
    margin-right: -40px;
    margin-left: -40px; }
  .c-col-1,
  .c-col-2,
  .c-col-3,
  .c-col-4,
  .c-col-5,
  .c-col-6,
  .c-col-7,
  .c-col-8,
  .c-col-9,
  .c-col-10,
  .c-col-11,
  .c-col-12 {
    padding-right: 40px;
    padding-left: 40px; }
  .c-footer .c-container {
    padding-left: 0;
    padding-right: 0; }
  .c-row-footer {
    margin-left: 0;
    margin-right: 0; }
  .c-img-left,
  .c-img-right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc(50% + 40px);
    flex: 0 0 -webkit-calc(50% + 40px);
    flex: 0 0 calc(50% + 40px);
    max-width: -webkit-calc(50% + 40px);
    max-width: calc(50% + 40px); }
  .c-container .c-media.left {
    margin-left: -80px; }
  .c-container .c-media.right {
    margin-right: -80px; }
  .c-img-left {
    padding-left: 0;
    margin-left: -40px; }
  .c-img-right {
    padding-right: 0;
    margin-right: -40px; }
  .c-img-only {
    padding: 0; }
  .c-content-modul,
  .c-box {
    padding-top: 6em;
    padding-bottom: 6em; }
  .c-teaser-3col-item {
    padding-top: 6em; }
  .c-cta-back {
    padding-bottom: 6em; }
    .c-cta-back.bottom {
      padding-left: 120px; }
  .c-content-modul,
  .c-header {
    padding-left: 40px;
    padding-right: 40px; }
  .c-footer .c-content-modul {
    padding-left: 0;
    padding-right: 0; }
  .c-footer-main {
    padding-right: 120px;
    padding-left: 80px; }
  .c-footer-member {
    padding-left: 120px;
    padding-right: 80px; }
  .c-footer-member {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .c-teaser-3col .c-row {
    margin-left: -20px;
    margin-right: -20px; }
  .c-teaser-3col-item {
    padding-left: 20px;
    padding-right: 20px; }
  .c-footer-disclaimer {
    left: -40px; }
  .c-offcanvas-trigger {
    right: 80px; } }

@media only screen and (min-width: 1680px) {
  /* container max width */
  .c-container {
    width: 1600px;
    margin-left: auto;
    margin-right: auto; }
  .c-footer .c-container {
    width: 100%; }
  .c-box {
    width: 1440px;
    margin-left: auto;
    margin-right: auto; }
  .c-box .c-container {
    width: 100%; }
  .c-footer .c-content-modul {
    width: 640px; } }

@media only screen and (min-width: 1501px) {
  .c-footer-nav {
    padding-left: 0; } }

@media only screen and (min-width: 768px) {
  .c-showroom-small .c-showroom-overlay {
    display: block; }
  .c-showroom-small .c-content-modul {
    position: absolute;
    left: 0;
    bottom: 0; }
  .c-showroom-small .c-showroom-small-text {
    color: #fff; }
    .c-showroom-small .c-showroom-small-text .c-text-highlight .c-subtitle {
      color: #f1a948; } }

@media only screen and (max-width: 1500px) {
  .c-footer-address,
  .c-footer-nav {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-top: 3em; } }

@media only screen and (min-width: 961px) and (max-width: 1199px) {
  .c-footer-disclaimer {
    left: -20px; } }

@media only screen and (min-width: 961px) {
  .c-footer-member,
  .c-footer-member .c-content-modul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .c-footer-member .c-row {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .c-footer-disclaimer {
    position: absolute;
    bottom: 2em; } }

@media only screen and (max-width: 960px) {
  .c-footer .c-col-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .c-quote-logo {
    max-width: 200px; } }

@media only screen and (min-width: 801px) {
  .c-teaser-3col-item:nth-child(-n+3) {
    padding-top: 0; } }

@media only screen and (max-width: 800px) {
  .c-section-title .c-col-8,
  .c-text-only .c-col-8,
  .c-list-special-content .c-col-10,
  .c-quote .c-col-10,
  .c-showroom-text .c-col-8,
  .c-showroom-small-text .c-col-8,
  .c-title .c-col-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .c-subtitle-logo {
    width: 60px; }
  .c-teaser-3col-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }
  .c-news-item-with-img .c-news-item-text {
    padding: 20px; } }

@media only screen and (min-width: 501px) and (max-width: 800px) {
  .c-teaser-3col-item:nth-child(-n+2) {
    padding-top: 0; } }

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .c-products-list li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; } }

.c-text-2col .paddingtop {
  padding-top: 1em; }

@media only screen and (min-width: 768px) {
  .c-text-img-2col .paddingtop {
    padding-top: 1em; } }

@media only screen and (max-width: 767px) {
  .c-text-img-2col .c-col-6,
  .c-text-2col .c-col-6,
  .c-img-2col .c-col-6,
  .c-news-teaser .c-col-6,
  .c-products-teaser .c-col-6,
  .c-teaser-2col .c-col-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .c-text-img-2col .c-col-6:first-child,
  .c-img-2col .c-col-6:first-child,
  .c-products-teaser .c-col-6:first-child {
    padding-bottom: 2.6em; }
  .c-teaser-2col .c-col-6:first-child {
    padding-bottom: var(--spacing-l); }
  .c-footer-nav {
    display: none; }
  .c-box-border {
    border-width: 3px; }
  /*list events */
  .c-list-eventinfo dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33%;
            flex: 0 0 33%;
    max-width: 33%; }
  .c-list-eventinfo dd {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 67%;
            flex: 0 0 67%;
    max-width: 67%; } }

@media only screen and (max-width: 600px) {
  /* grid gap */
  .c-container {
    padding-left: 30px;
    padding-right: 30px; }
  .c-box {
    margin-left: 30px;
    margin-right: 30px; }
  .c-row {
    margin-right: -15px;
    margin-left: -15px; }
  .c-col-1,
  .c-col-2,
  .c-col-3,
  .c-col-4,
  .c-col-5,
  .c-col-6,
  .c-col-7,
  .c-col-8,
  .c-col-9,
  .c-col-10,
  .c-col-11,
  .c-col-12 {
    padding-right: 15px;
    padding-left: 15px; }
  .c-footer .c-container {
    padding-left: 0;
    padding-right: 0; }
  .c-row-footer {
    margin-left: 0;
    margin-right: 0; }
  .c-content-modul,
  .c-box {
    padding-top: 3em;
    padding-bottom: 3em; }
  .c-teaser-3col-item {
    padding-top: 3em; }
  .c-cta-back {
    padding-bottom: 3em; }
  .c-footer-main,
  .c-footer-member {
    padding-left: 30px;
    padding-right: 30px; }
  .c-products-list li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; } }

@media only screen and (max-width: 500px) {
  .c-teaser-3col-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .c-teaser-3col-item:nth-child(1) {
    padding-top: 0; }
  .c-products-list {
    text-align: left; }
  .c-products-list li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0; }
  .c-products-list a {
    display: block;
    position: relative;
    padding-left: 80px; }
  .c-products-teaser .c-subtitle-logo {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -30px;
    padding-bottom: 0; }
  .c-logos .c-logos-list li {
    width: 47%; }
  .c-box-outer {
    padding-top: 12px;
    padding-bottom: 12px; }
  .c-box {
    margin-left: 12px;
    margin-right: 12px; } }

/* -------------------------------------------------------------------------
 Content
 --------------------------------------------------------------------------- */
/*
// homepage
@import 'components/content/homepage/homepage-teaser';
@import 'components/content/homepage/homepage-teaser_fullscreen';
@import 'components/content/homepage/homepage-teaser_flex';
//@import 'components/content/homepage/homepage-teaser_grid';
@import 'components/content/homepage/homepage-teaser_effects';

// page header
@import 'components/content/page-header';

// accordeon
@import 'components/content/accordeon';

// adress
@import 'components/content/adress';

// c-text
@import 'components/content/c-text';

// image
@import 'components/content/image-only';
@import 'components/content/image-text';

// infografik
@import 'components/content/infografik';

// jobs
@import 'components/content/jobs';

// map
@import 'components/content/map';

// mitarbeiter
@import 'components/content/mitarbeiter';

// mitgliedschaften
@import 'components/content/mitgliedschaften';

// news detail
@import 'components/content/newsdetail';

// news übersicht
@import 'components/content/newsuebersicht';

// quote
@import 'components/content/quote';
*/
/* ==========================================================================
   Tooltip for Section Id
   ========================================================================== */
.js .showid {
  cursor: pointer; }
  .js .showid input {
    cursor: pointer; }

.showid {
  background-color: transparent;
  border: 0;
  cursor: text;
  font-family: 'Courier New',Courier,'Lucida Sans Typewriter','Lucida Typewriter', monospace;
  font-size: 16px;
  left: 30px;
  outline: 0;
  padding: 0 0 0 26px;
  position: absolute;
  top: 16px;
  z-index: 100;
  position: absolute;
  position: absolute; }
  @media (min-width: 37.5em) {
    .showid {
      left: 40px; } }
  @media (min-width: 75em) {
    .showid {
      top: 30px; } }
  @media (min-width: 87.5em) {
    .showid {
      top: 40px; } }
  .showid:after {
    content: '';
    display: block;
    position: absolute; }
  .showid:before {
    content: '';
    display: block;
    position: absolute; }
  .showid:after {
    background-color: transparent;
    border: .05em solid transparent;
    border-width: 0 .05em .05em 0;
    -webkit-box-shadow: inset 0 0 0 .065em, .13em .11em 0 -.05em;
            box-shadow: inset 0 0 0 .065em, .13em .11em 0 -.05em;
    border-radius: 0 .3em 0 0;
    height: .95em;
    left: .2em;
    margin: 0 .17em .05em .1em;
    top: .25em;
    width: .75em; }
  .showid:before {
    border-radius: .1em;
    border-color: transparent;
    border-right-color: currentColor;
    border-style: solid;
    border-width: .2em;
    left: .5em;
    top: .28em;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .showid input {
    background-color: transparent;
    border: 0;
    display: inline-block;
    min-width: 2em;
    outline: 0;
    width: auto; }
  .showid input::-moz-selection {
    background-color: black;
    color: white; }
  .showid input::selection {
    background-color: black;
    color: white; }

.c-bg-dark .showid {
  color: #fff; }
  .c-bg-dark .showid input {
    color: currentColor; }
  .c-bg-dark .showid:before {
    border-right-color: currentColor; }
  .c-bg-dark .showid input::-moz-selection {
    background-color: white;
    color: black; }
  .c-bg-dark .showid input::selection {
    background-color: white;
    color: black; }

/*
// title
@import 'components/content/title';
*/
/* -------------------------------------------------------------------------
 Teaser
 --------------------------------------------------------------------------- */
.c-text-block .c-news-item-img {
  padding-bottom: 0; }

.csstransitions .c-news-teaser .c-col-6 {
  opacity: 1;
  -webkit-transition: opacity .6s ease-in-out;
  transition: opacity .6s ease-in-out; }

.csstransitions .c-news-teaser .c-col-6.fadein {
  opacity: 0; }

.c-teaser-3col-item figure {
  margin-bottom: 1.6em; }

/* -------------------------------------------------------------------------
 Sitefooter
 --------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
Cookie Notice
--------------------------------------------------------------------------- */
#cookie-notice {
  bottom: 0;
  display: block;
  font-size: 14px;
  left: 0;
  padding: 1em;
  position: fixed;
  text-align: center;
  visibility: visible;
  width: 100%;
  z-index: 100000; }
  @media (min-width: 75em) {
    #cookie-notice {
      font-size: 16px; } }

#cookie-notice .cn-button {
  margin-left: 1em; }

.cookie-notice {
  background-color: #282622;
  color: #fff; }
  .cookie-notice p {
    margin: 0; }
    @media (min-width: 64em) {
      .cookie-notice p {
        display: inline-block; } }

.cn-button {
  color: #12182d;
  background-color: #f8d6a7;
  border-radius: 30px;
  display: inline-block;
  margin-top: .5em;
  padding: 0.375em 1em 0.1875em;
  text-decoration: none; }
  @media (min-width: 64em) {
    .cn-button {
      margin-top: 0; } }

.cn-button:hover {
  background-color: #f1a948;
  text-decoration: none; }

.csstransitions .cn-button {
  -webkit-transition: background-color .2s ease-in-out;
  transition: background-color .2s ease-in-out; }

/* -------------------------------------------------------------------------
 Fix offcanvas navigation
 --------------------------------------------------------------------------- */
.fixnavi,
.fixbody {
  position: fixed;
  top: 0; }

.fixnavi {
  overflow-y: auto;
  overflow-x: hidden;
  right: 0;
  -webkit-overflow-scrolling: touch; }

.fixbody {
  left: 0;
  overflow: hidden;
  width: 100%; }

.fixbody {
  overflow: hidden; }

/* ==========================================================================
   DEV Info: Position of the breakpoints info
   ========================================================================== */
/*body:before{
	bottom: 0;
	top: auto;
	z-index: 3000;
}*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwiY29tbW9uL3NldHRpbmdzL19jb25maWcuc2NzcyIsImNvbW1vbi9zZXR0aW5ncy9fY29sb3JzLnNjc3MiLCJjb21tb24vc3UvX3ZhcmlhYmxlcy5zY3NzIiwiY29tbW9uL3N1L19ub3JtYWxpemUuc2NzcyIsImNvbW1vbi9zdS9fbWl4aW5zLnNjc3MiLCJjb21tb24vc3UvX2hlbHBlcnMuc2NzcyIsImNvbW1vbi9zZXR0aW5ncy9fc2N1dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NjdXQvZGlzdC9fc2N1dC5zY3NzIiwiY29tbW9uL3NldHRpbmdzL19icmVha3BvaW50cy5zY3NzIiwiY29tbW9uL3NldHRpbmdzL3NpemVzL19mb250LXNpemVzLnNjc3MiLCJjb21tb24vc2V0dGluZ3Mvc2l6ZXMvX2ltYWdlLXNpemVzLnNjc3MiLCJjb21tb24vc2V0dGluZ3Mvc2l6ZXMvX2hlaWdodC1zaXplcy5zY3NzIiwiY29tbW9uL3NldHRpbmdzL3NpemVzL19wYWRkaW5nLXNpemVzLnNjc3MiLCJjb21tb24vc2V0dGluZ3Mvc2l6ZXMvX3dpZHRoLXNpemVzLnNjc3MiLCJoZWxwZXIvX3dyYXBwZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1tcS9fbXEuc2NzcyIsImNvbW1vbi9mb250cy9fZm9udGZhY2Uuc2NzcyIsImNvbW1vbi9mb250cy9fd2ViZm9udC5zY3NzIiwiY29tbW9uL19lcnJvci1tZXNzYWdlcy5zY3NzIiwiY29tbW9uL190eXBvZ3JhcGh5LnNjc3MiLCJlbGVtZW50cy9faW1hZ2VzLnNjc3MiLCJoZWxwZXIvX2hpZGUtdGhpbmdzLnNjc3MiLCJjb21wb25lbnRzL19zaXRlLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL19tZXRhLW5hdmlnYXRpb24uc2NzcyIsImhlbHBlci9fY2VudGVyLXRoaW5ncy5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vb2ZmY2FudmFzL19vZmZjYW52YXMtd3JhcHBlcnMuc2NzcyIsImNvbXBvbmVudHMvbmF2aWdhdGlvbi9vZmZjYW52YXMvX29mZmNhbnZhcy5zY3NzIiwiaGVscGVyL19wc2V1ZG8tZWxlbWVudHMuc2NzcyIsImNvbXBvbmVudHMvbmF2aWdhdGlvbi9vZmZjYW52YXMvb3BlbmVkL19vZmZjYW52YXMtb3BlbmVkLnNjc3MiLCJoZWxwZXIvX3dvcmRicmVhay5zY3NzIiwiY29tcG9uZW50cy9uYXZpZ2F0aW9uL29mZmNhbnZhcy9jbG9zZWQvX29mZmNhbnZhcy1jbG9zZWQuc2NzcyIsImNvbXBvbmVudHMvZm9ybS9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9mb3JtL19mb3JtLWNoZWNrYm94LnNjc3MiLCJjb21wb25lbnRzL2Zvcm0vX2Zvcm0tc2VsZWN0LnNjc3MiLCJjb21wb25lbnRzL2Zvcm0vX2Zvcm0tdmFsaWRhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9zdS9fYmFzZS5zY3NzIiwiY29tcG9uZW50cy9zdS9fZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9zdS9fdHlwb2dyYXBoeS5zY3NzIiwiY29tcG9uZW50cy9zdS9fbmF2LnNjc3MiLCJjb21wb25lbnRzL3N1L19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvc3UvX29mZmNhbnZhcy5zY3NzIiwiY29tcG9uZW50cy9zdS9fY29udGVudGVsZW1lbnRzLnNjc3MiLCJjb21wb25lbnRzL3N1L19idXR0b24tbGlua3Muc2NzcyIsImNvbXBvbmVudHMvc3UvX3JhdGlvYm94LnNjc3MiLCJjb21wb25lbnRzL3N1L19mb3JtLnNjc3MiLCJjb21wb25lbnRzL3N1L19zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvc3UvX3ZpZGVvLnNjc3MiLCJjb21wb25lbnRzL3N1L19yZXNwb25zaXZlLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQvX3NlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvdGVhc2VyL19uZXdzLXRlYXNlci5zY3NzIiwiY29tcG9uZW50cy90ZWFzZXIvX3JlbGF0ZWQtcGFnZXMtdGVhc2VyLnNjc3MiLCJjb21wb25lbnRzL19jb29raWUtbm90aWNlLnNjc3MiLCJjb21wb25lbnRzL25hdmlnYXRpb24vb2ZmY2FudmFzL29wZW5lZC9fZml4LWVsZW1lbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQ2hCOzsrRURFK0U7QUVGL0U7OytFRksrRTtBRUEvRTs7OEVGRzhFO0FFSTlFOzs4RUZEOEU7QUVTOUU7OzhFRk44RTtBR2Q5RTs7K0VIaUIrRTtBSWxCL0UsdURBQUE7QUFFQTs7K0VKb0IrRTtBSWQvRTs7K0VKaUIrRTtBSWIvRSxTQUFBO0FBT0EsZUFBQTtBQUdxQixTQUFBO0FBQ0YsY0FBQTtBQUNLLFdBQUE7QUFLeEIsZ0JBQUE7QUFFdUIsY0FBQTtBQUNLLFdBQUE7QUFLNUI7OytFSkQrRTtBSUsvRTtFQUNJLHFCQUFhO0VBQ2IsK0JBQXVCO0VBQ3ZCLGdCQUFZLEVBQUE7O0FBR2hCO0VBQ0ksa0JBQWEsRUFBQTs7QUFHakI7RUFDSSw0QkFBdUIsRUFBQTs7QUFHM0I7RUFDSSxnQkFBWSxFQUFBOztBQUdoQjtFQUNJLGdCQUFZLEVBQUE7O0FDNURoQiwyREFBQTtBQUVBOzsrRUx1RCtFO0FLbkQvRTs7RUxzREU7QUtsREY7Ozs7Ozs7Ozs7OztFQVlJLGNBQWMsRUFBQTs7QUFHbEI7OztFTHFERTtBS2hERjs7OztFQUlFLHFCQUFxQjtFQUFFLE1BQUE7RUFDdkIsd0JBQXdCO0VBQUUsTUFBQSxFQUFPOztBQUduQzs7O0VMcURFO0FLaERGO0VBQ0ksYUFBYTtFQUNiLFNBQVMsRUFBQTs7QUFHYjs7O0VMbURFO0FBQ0Y7O0VLN0NJLGFBQWEsRUFBQTs7QUFJakI7OytFTCtDK0U7QUszQy9FOzs7Ozs7O0VMbURFO0FLMUNGO0VBQ0ksdUJBQXVCO0VBQUUsTUFBQTtFQUN6QixlQUFlO0VBQUUsTUFBQTtFQUNwQixpQkFBaUI7RUFBRSxN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Ozs7OztHVm9tQkc7QUM3bkJIOzsrRURnb0IrRTtBV3RxQi9FOzsrRVh5cUIrRTtBV3JxQi9FOzs2RVh3cUI2RTtBVzNwQjdFOzs4RVg4cEI4RTtBV2pwQjlFOzs4RVhvcEI4RTtBV3hvQjlFOzs4RVgyb0I4RTtBVzluQjlFOzs4RVhpb0I4RTtBV3puQjlFOzs4RVg0bkI4RTtBV2puQjlFOzs4RVhvbkI4RTtBWTlyQjlFOzsrRVppc0IrRTtBWXJyQi9FOzs4RVp3ckI4RTtBYXBzQjlFOzsrRWJ1c0IrRTtBY3ZzQi9FOzsrRWQwc0IrRTtBY3JzQi9FOzs4RWR3c0I4RTtBYzlxQjlFOzs4RWRpckI4RTtBY3pxQjlFOzs4RWQ0cUI4RTtBY25xQjlFOzs4RWRzcUI4RTtBY3RwQjlFOzs4RWR5cEI4RTtBY2pwQjlFOzs4RWRvcEI4RTtBY2xvQjlFOzs4RWRxb0I4RTtBYzduQjlFOzs4RWRnb0I4RTtBYzFuQjlFOzs4RWQ2bkI4RTtBY3JuQjlFOzs4RWR3bkI4RTtBYzltQjdFOzsrRWRpbkI4RTtBY3htQi9FOzs4RWQybUI4RTtBZTl1QjlFOzsrRWZpdkIrRTtBZWh1Qi9FOzsrRWZtdUIrRTtBQ2xzQi9FOzsrRURxc0IrRTtBZ0IzdUIvRTtFQVpDLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsV0FBVyxFQUFBO0VDOE9KO0lEcE9SO01BUkUsaUJBQWlCO01BQ2pCLGtCQUFrQixFQUFBLEVBU25CO0VDa09PO0lEcE9SO01BSkUsaUJERDZCLEVBQUEsRUNPOUI7O0FmaUREOzsrRUR1c0IrRTtBQ3BzQi9FOzs7O0NEeXNCQztBQ25zQkQ7OytFRHNzQitFO0FrQi93Qi9FO0VBQ0kseUJBQXlCO0VBQ3pCLHVFQUE0RTtFQUMvRSxvUkFFK0Y7RUFDNUYsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBOztBQUd0QjtFQUNJLDhCQUE4QjtFQUM5QixvRUFBeUU7RUFDNUUsMlFBRTRGO0VBQ3pGLG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTs7QUNqQnRCOzsrRW5CZ3lCK0U7QW1CNXhCL0U7Ozs7RUFJUSwyRGpCU29DO0Vp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QTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsZ0NBQXFDO01BQXJDLDRCQUFxQztVQUFyQyx3QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsZ0NBQXFDO01BQXJDLDRCQUFxQztVQUFyQyx3QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsZ0NBQXFDO01BQXJDLDRCQUFxQztVQUFyQyx3QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsZ0NBQXFDO01BQXJDLDRCQUFxQztVQUFyQyx3QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsZ0NBQXFDO01BQXJDLDRCQUFxQztVQUFyQyx3QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsa0NBQXFDO01BQXJDLDhCQUFxQztVQUFyQywwQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsaUNBQXFDO01BQXJDLDZCQUFxQztVQUFyQyx5QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsaUNBQXFDO01BQXJDLDZCQUFxQztVQUFyQyx5QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsaUNBQXFDO01BQXJDLDZCQUFxQztVQUFyQyx5QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsaUNBQXFDO01BQXJDLDZCQUFxQztVQUFyQyx5QkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywyQkFBcUMsRUFBQTs7QUFKeEM7RUFHRyw0QkFBNEI7RUFDNUIsbUNBQXFDO01BQXJDLCtCQUFxQztVQUFyQywy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LGNsRG5CbUI7RWtEb0JuQix5QkFBc0M7RUFDbkMsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDbkIsNkI3Q21Gd0Q7RTZDbEZyRCxxQkFBcUIsRUFBQTtFckMyTWpCO0lxQ2xOUjtNQVNRLGFBQWEsRUFBQSxFQUVwQjs7QUFFRDtFQUNDLHlCbERsQmU7RWtEbUJaLHFCQUFxQixFQUFBOztBQUd6QjtFQUVRLG9EQUE0QztFQUE1Qyw0Q0FBNEMsRUFBQTs7QXJEa01wRDs7OEVEK29NOEU7QXVEbjRNOUU7O0VBRUMsZUFBZTtFQUNmLE1BQU0sRUFBQTs7QUFHUDtFQUNDLGdCQUFnQjtFQUNiLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1gsaUNBQWlDLEVBQUE7O0FBR2xDO0VBQ0ksT0FBTztFQUNWLGdCQUFnQjtFQUNoQixXQUFXLEVBQUE7O0FBR1o7RUFDQyxnQkFBZ0IsRUFBQTs7QXREdU9qQjs7K0VEOHBNK0U7QUMxcE0vRTs7OztFRCtwTUUiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERlZmF1bHQgc2V0dGluZ3MgZGVmaW5lZCBhcyB2YXJpYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQmFzZSBmb250IHNpemVzICh1c2VkIGJ5IHNjdXQsIHNhc3MtbXEpXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gRm9udHN0YWNrIGRlZmluaXRpb25zXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gV29yZHByZXNzOiBUaGVtZSBuYW1lIChzYW1lIGFzICdwcm9qZWN0IG5hbWUnIGluICdndWxwIGNvbmZpZycpXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmYXVsdCBjb2xvciBkZWZpbml0aW9ucyBkZWZpbmVkIGFzIHNhc3MgbGlzdCAoIHVzZWQgdmlhIGNvbG9yIG1peGluKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFZhcmlhYmxlcywgTmFtaW5nIG1heSB2YXJ5IGZyb20gcHJvamVjdCB0byBwcm9qZWN0ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogdGV4dCAqL1xuLyogYmFja2dyb3VuZCAqL1xuLyogZ3JleSAqL1xuLyogZGFyayBncmV5ICovXG4vKiBvcmFuZ2UgKi9cbi8qIGxpbmUtY29sb3JzICovXG4vKiBkYXJrIGJsdWUgKi9cbi8qIG9yYW5nZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuOnJvb3Qge1xuICAtLXRleHQtY29sb3I6ICMxMjE4MmQ7XG4gIC0tdGV4dC1oaWdobGlnaHQtY29sb3I6ICNmMWE5NDg7XG4gIC0tc3BhY2luZy1sOiA0ZW07IH1cblxuLmMtYmctZGFyayB7XG4gIC0tdGV4dC1jb2xvcjogI2ZmZjsgfVxuXG4uYy1iZy1oaWdobGlnaHQge1xuICAtLXRleHQtaGlnaGxpZ2h0LWNvbG9yOiAjZmZmOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC0tc3BhY2luZy1sOiA2ZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAtLXNwYWNpbmctbDogM2VtOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiA0ICovXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIGN1YmVncmFmaWsgKi8gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5hIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLypcbiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5xIHtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG5cbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cblxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSAnYScgZWxlbWVudCBpbiBJRTYvNy84LzksIEZGM1xuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRTdcbiAqICAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUtbGl0dGxlLXRoaW5ncy1jbGllbnQtc2lkZS1pbWFnZS1yZXNpemluZy9cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIC8qIDIgKi8gfVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cbmZvcm0ge1xuICBtYXJnaW46IDA7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZ1xuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgLyogY3ViZWdyYWZpayAqL1xuICBtYXJnaW46IDA7XG4gIC8qIGN1YmVncmFmaWsgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogY3ViZWdyYWZpayAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cblxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiA0ICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcblxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovXG4gICpvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNCAqLyB9XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG5cbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbGVtZW50cyBjdWJlZ3JhZmlrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYTphY3RpdmUge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmRpdiwgcCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDsgfVxuXG50aCwgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAvKiBSZW1vdmVkIGJlY2F1c2Ugb2YgdmlzaWJpbGl0eWNoYW5nZS1hZGRpdGlvbiB0byBmYW5jeS1mb3JtcyBwbHVnaW4uXG4gICAgICogMjAxNS8wMS8yMiAtIEZsb3JpYW4gTcOkZGVyXG4gICAgICogLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyovXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDsgfVxuXG5odG1sIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogRmlyZWZveCAxIC0gMjggKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqLyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLyogSUUgMTAgICovXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAvKiBJRSAxMSsgKi8gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybSBQbGFjZWhvbGRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyBzbW9vdGhpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBIaWRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oaWRlLXZpc3VhbGx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7IH1cblxuLmMtaGlkZS1jb21wbGV0ZWx5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIGltYWdlIHJlcGxhY2VtZW50ICovXG4uYy1pciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RpY2t5IEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmMtaGVhZGVyLFxuLmMtZm9vdGVyIHtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuLmMtY29udGVudCB7XG4gIGZsZXgtZ3JvdzogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2FhcyBUb29scyAoaW1wb3J0ZWQgZnJvbSBub2RlX21vZHVsZXMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzIGZvciBTYWFzIFRvb2wgJ1NjdXQ6IFNhc3MtQ1NTIFV0aXRpbGllcydcbiAgIGh0dHBzOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dC9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuKiBTY3V0LCBhIGNvbGxlY3Rpb24gb2YgU2FzcyB1dGlsaXRpZXNcbiogdG8gZWFzZSBhbmQgaW1wcm92ZSBvdXIgaW1wbGVtZW50YXRpb25zIG9mIGNvbW1vbiBzdHlsZS1jb2RlIHBhdHRlcm5zLlxuKiB2MS40LjBcbiogRG9jcyBhdCBodHRwOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dFxuKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5ncyBmb3IgU2FhcyBUb29sICdNZWRpYSBRdWVyaWVzIHdpdGggc3VwZXJwb3dlcnMnXG4gICBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEhvcml6b250YWwgQnJlYWtwb2ludHMgKFdpZHRoKVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFZlcnRpY2FsIEJyZWFrcG9pbnRzIChIZWlnaHQpXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gU2V0dGluZ3M6IFNob3cgaG9yaXpvbnRhbCBicmVha3BvaW50c1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyokbXEtc2hvdy1icmVha3BvaW50czogKFxuXHRtaW5pLFxuXHRtb2JpbGUsXG5cdHR3ZWVuLFxuXHRwYWxtLFxuXHRwYWxtZXIsXG5cdHRhYmxldCxcblx0YmlndGFibGV0LFxuXHRwcmVkZXNrdG9wLFxuXHRkZXNrdG9wLFxuXHRodWdlLFxuXHRiaWdnZXIsXG5cdGRpZmYsXG5cdGdpZ2FudGljXG4pOyovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2l6ZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udCBzaXplcyBkZWZpbmVkIGFzIHZhcmlhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgSGVpZ2h0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gRGVmYXVsdFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIE5hdmlnYXRpb25cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBUaXRsZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFBhZ2UgdGl0bGVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBQYWdlaGVhZGVyIHRpdGxlXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29udGVudFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEltYWdlIHNpemVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFdvcmRwcmVzcyBBZG1pbiBQb3N0IE92ZXJ2aWV3XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVpZ2h0IFNpemVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZGRpbmcgU2l6ZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gV3JhcHBlciAoQ29udGFpbmVyKVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFNpdGVoZWFkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBMYW5ndWFnZSBOYXZpZ2F0aW9uXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gTmF2aWdhdGlvbiBJdGVtXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gTWFpblxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFBhZ2VoZWFkZXIgSW1hZ2VcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBBYnN0YW5kIGtsZWluXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQWJzdGFuZDogQmlsZCB6dSBUaXRlbFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbHVtbiBwYWRkaW5nXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gVGV4dCBwYWRkaW5nXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIENvbnRleHQgdGV4dCBwYWRkaW5nXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEZvcm0gcGFkZGluZ1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdpZHRoIFNpemVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9sZCBzdHVmZlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud3JhcHBlciB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMy43NWVtKSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODIuNWVtKSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTm9ybWFsaXplLCBCb2lsZXJwbGF0ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG5AaW1wb3J0ICdjb21tb24vY29uc2lzdGVuY3kvbm9ybWFsaXplJztcbkBpbXBvcnQgJ2NvbW1vbi9jb25zaXN0ZW5jeS9ib2lsZXJwbGF0ZSc7XG5AaW1wb3J0ICdjb21tb24vY29uc2lzdGVuY3kvc3lzJztcbiovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tbW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSEsgR3JvdGVzayc7XG4gIHNyYzogdXJsKFwiL2FwcC90aGVtZXMvd2Vyb3NvZnQvYXNzZXRzL2ZvbnRzL2hhbmtlbmdyb3Rlc2stcmVndWxhci5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2FwcC90aGVtZXMvd2Vyb3NvZnQvYXNzZXRzL2ZvbnRzL2hhbmtlbmdyb3Rlc2stcmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXBwL3RoZW1lcy93ZXJvc29mdC9hc3NldHMvZm9udHMvaGFua2VuZ3JvdGVzay1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvYXBwL3RoZW1lcy93ZXJvc29mdC9hc3NldHMvZm9udHMvaGFua2VuZ3JvdGVzay1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0hLIEdyb3Rlc2sgQm9sZCc7XG4gIHNyYzogdXJsKFwiL2FwcC90aGVtZXMvd2Vyb3NvZnQvYXNzZXRzL2ZvbnRzL2hhbmtlbmdyb3Rlc2stYm9sZC5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2FwcC90aGVtZXMvd2Vyb3NvZnQvYXNzZXRzL2ZvbnRzL2hhbmtlbmdyb3Rlc2stYm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXBwL3RoZW1lcy93ZXJvc29mdC9hc3NldHMvZm9udHMvaGFua2VuZ3JvdGVzay1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvYXBwL3RoZW1lcy93ZXJvc29mdC9hc3NldHMvZm9udHMvaGFua2VuZ3JvdGVzay1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBISyBHcm90ZXNrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm5vLWpzIC5wYWdlLW51bWJlcnMuY3VycmVudCxcbi5uby1qcyAuYy1jb250ZW50LFxuLndmX2hrZ3JvdGVzayAucGFnZS1udW1iZXJzLmN1cnJlbnQsXG4ud2ZfaGtncm90ZXNrIC5jLWNvbnRlbnQge1xuICBmb250LWZhbWlseTogXCJISyBHcm90ZXNrXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBISyBHcm90ZXNrIEJvbGRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubm8tanMgaDEsXG4ubm8tanMgaDIsXG4ubm8tanMgaDMsXG4ubm8tanMgaDQsXG4ubm8tanMgaDUsXG4ubm8tanMgaDYsXG4ubm8tanMgYixcbi5uby1qcyBzdHJvbmcsXG4ubm8tanMgLmMtbGluay1hcnJvdyxcbi5uby1qcyAuYy1sZWFkLFxuLm5vLWpzIC5jLXRleHQtYmlnLFxuLm5vLWpzIC5jLXRleHQtYmxvY2sgLmMtbGVhZCxcbi5uby1qcyAuYy1jYXB0aW9uLFxuLm5vLWpzIC5jLXN1YnRpdGxlLFxuLm5vLWpzIC5jLXN1YnRpdGxlLWJpZyxcbi5uby1qcyAuYy10ZXN0aW1vbmlhbCBibG9ja3F1b3RlIHAsXG4ubm8tanMgLmMtdGVzdGltb25pYWwgYmxvY2txdW90ZSBjaXRlLFxuLm5vLWpzIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwLFxuLm5vLWpzIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlLFxuLm5vLWpzIC5jLXBpZS1udW1iZXItc3RhdHVzLFxuLm5vLWpzIC5jLXBpZS1udW1iZXItdG90YWwsXG4ubm8tanMgLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuLm5vLWpzIC5jLW5ld3MtaXRlbS1saW5rLFxuLm5vLWpzIC5jLWNhcHRpb24sXG4ubm8tanMgLmMtc3VidGl0bGUsXG4ubm8tanMgLmMtc3VidGl0bGUtYmlnLFxuLm5vLWpzIC5wYWdlLW51bWJlcnMsXG4ubm8tanMgLmMtYnRuLFxuLm5vLWpzIC5nZmllbGRfbGFiZWwsXG4ubm8tanMgLmdmb3JtX3dyYXBwZXIgLmZvcm0tZXJyb3IsXG4ubm8tanMgLmNuLWJ1dHRvbixcbi5uby1qcyAuc2Nyb2xsLW5hdmlnYXRpb24gbGkgYSxcbi5uby1qcyAucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLFxuLm5vLWpzIC5wb3N0LXBhc3N3b3JkLWZvcm0gbGFiZWwsXG4ud2ZfaGtncm90ZXNrLWJvbGQgaDEsXG4ud2ZfaGtncm90ZXNrLWJvbGQgaDIsXG4ud2ZfaGtncm90ZXNrLWJvbGQgaDMsXG4ud2ZfaGtncm90ZXNrLWJvbGQgaDQsXG4ud2ZfaGtncm90ZXNrLWJvbGQgaDUsXG4ud2ZfaGtncm90ZXNrLWJvbGQgaDYsXG4ud2ZfaGtncm90ZXNrLWJvbGQgYixcbi53Zl9oa2dyb3Rlc2stYm9sZCBzdHJvbmcsXG4ud2ZfaGtncm90ZXNrLWJvbGQgLmMtbGluay1hcnJvdyxcbi53Zl9oa2dyb3Rlc2stYm9sZCAuYy1sZWFkLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLXRleHQtYmlnLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLXRleHQtYmxvY2sgLmMtbGVhZCxcbi53Zl9oa2dyb3Rlc2stYm9sZCAuYy1jYXB0aW9uLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLXN1YnRpdGxlLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLXN1YnRpdGxlLWJpZyxcbi53Zl9oa2dyb3Rlc2stYm9sZCAuYy10ZXN0aW1vbmlhbCBibG9ja3F1b3RlIHAsXG4ud2ZfaGtncm90ZXNrLWJvbGQgLmMtdGVzdGltb25pYWwgYmxvY2txdW90ZSBjaXRlLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLXBpZS1udW1iZXItc3RhdHVzLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLXBpZS1udW1iZXItdG90YWwsXG4ud2ZfaGtncm90ZXNrLWJvbGQgLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLW5ld3MtaXRlbS1saW5rLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5jLWNhcHRpb24sXG4ud2ZfaGtncm90ZXNrLWJvbGQgLmMtc3VidGl0bGUsXG4ud2ZfaGtncm90ZXNrLWJvbGQgLmMtc3VidGl0bGUtYmlnLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5wYWdlLW51bWJlcnMsXG4ud2ZfaGtncm90ZXNrLWJvbGQgLmMtYnRuLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5nZmllbGRfbGFiZWwsXG4ud2ZfaGtncm90ZXNrLWJvbGQgLmdmb3JtX3dyYXBwZXIgLmZvcm0tZXJyb3IsXG4ud2ZfaGtncm90ZXNrLWJvbGQgLmNuLWJ1dHRvbixcbi53Zl9oa2dyb3Rlc2stYm9sZCAuc2Nyb2xsLW5hdmlnYXRpb24gbGkgYSxcbi53Zl9oa2dyb3Rlc2stYm9sZCAucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLFxuLndmX2hrZ3JvdGVzay1ib2xkIC5wb3N0LXBhc3N3b3JkLWZvcm0gbGFiZWwge1xuICBmb250LWZhbWlseTogXCJISyBHcm90ZXNrIEJvbGRcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLmJyb3dzZXJ1cGdyYWRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuYnJvd3NlcnVwZ3JhZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40ZW07XG4gICAgICBtYXJnaW4tdG9wOiAyLjRlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyb3dzZXJ1cGdyYWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICAgIG1hcmdpbi10b3A6IDNlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmJyb3dzZXJ1cGdyYWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgICAgIG1hcmdpbi10b3A6IDRlbTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEZvbnQtd2VpZ2h0OiBib2xkXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5iLFxuLmJvbGQsXG5zdHJvbmcsXG4uc3Ryb25nLFxuLmMtc2l0ZS10aXRsZSxcbi5qb2JzIC5qb2ItdGl0bGUsXG4ubWl0YXJiZWl0ZXIgLm1pdGFyYmVpdGVyLW9jdXBhdGlvbixcbi5jb250YWN0LXdyYXBwZXIgLnNtYWxsIC5zdWJ0aXRsZSxcbi5qb2JzIC5qb2ItZGVzY3JpcHRpb24gLnN1YnRpdGxlLFxuLmltYWdlLXRleHQgLnNtYWxsIC5zdWJ0aXRsZSxcbi50aXRsZS13cmFwcGVyIC5zbWFsbCAuc3VidGl0bGUsXG4ubmV3cy10ZWFzZXIgLnN1YnRpdGxlLFxuLm5ld3MtdGVhc2VyLmRvd25sb2FkIC5uZXdzLXRlYXNlci10aXRsZSxcbi5uZXdzLXRlYXNlci5zdGFuZGFyZCAubmV3cy10ZWFzZXItdGl0bGVcbi5pbmZvZ3JhZmlrIC5pbmRleCxcbi5pbmZvZ3JhZmlrIC5zdWJ0aXRsZSxcbi5jLW5ld3MtaXRlbS1saW5rLFxuLmMtY2FwdGlvbixcbi5jLXN1YnRpdGxlLFxuLmMtc3VidGl0bGUtYmlnLFxuLmMtc2l0ZS1uYXZpZ2F0aW9uIGxpIGEsXG4ucGFnZS1udW1iZXJzLFxuLmdmaWVsZF9sYWJlbCxcbi5jbi1idXR0b24sXG4ucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLFxuLnBvc3QtcGFzc3dvcmQtZm9ybSBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBGb250LXdlaWdodDogbm9ybWFsXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5ib2R5LFxuLmMtbmF2aWdhdGlvbi10aXRsZSxcbi5jLXBhZ2UtdGl0bGUsXG4ucGFnZS1udW1iZXJzLmN1cnJlbnQge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBGb250LXdlaWdodDogaXRhbGljXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5lbSxcbi5pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEZvbnRzdGFjazogc2FucyBzZXJpZlxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCxcbmJvZHksXG5iLFxuLmJvbGQsXG5zdHJvbmcsXG4uc3Ryb25nLFxuY2l0ZSxcbi5jLW5hdmlnYXRpb24tdGl0bGUsXG4uam9icyAuam9iLXRpdGxlLFxuLmNvbnRhY3Qtd3JhcHBlciAuc21hbGwgLnN1YnRpdGxlLFxuLmpvYnMgLmpvYi1kZXNjcmlwdGlvbiAuc3VidGl0bGUsXG4uaW1hZ2UtdGV4dCAuc21hbGwgLnN1YnRpdGxlLFxuLnRpdGxlLXdyYXBwZXIgLnNtYWxsIC5zdWJ0aXRsZSxcbi5uZXdzLXRlYXNlciAuc3VidGl0bGUsXG4ubmV3cy10ZWFzZXIuZG93bmxvYWQgLm5ld3MtdGVhc2VyLXRpdGxlLFxuLm5ld3MtdGVhc2VyLnN0YW5kYXJkIC5uZXdzLXRlYXNlci10aXRsZSxcbi5pbmZvZ3JhZmlrIC5pbmRleCxcbi5pbmZvZ3JhZmlrIC5zdWJ0aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRWxlbWVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgaW1nIC8gbWVkaWEgZGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1jb250ZW50IGltZyxcbmVtYmVkLFxub2JqZWN0LFxudmlkZW8sXG5pZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubm8tanMgLmdmb3JtX3dyYXBwZXIsXG4uYy1tZWRpYSArIC5jLW1lZGlhLFxuLmMtbWVkaWEgKyBoMixcbi5jLW1lZGlhICsgaDMsXG4uYy1tZWRpYSArIGg0LFxuLmMtbWVkaWEgKyBwLFxuLmMtbWVkaWEgKyBzcGFuLFxuLmMtbWVkaWEgKyAuanNmb3JtIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIC5uby1qcyAuZ2Zvcm1fd3JhcHBlcixcbiAgICAuYy1tZWRpYSArIC5jLW1lZGlhLFxuICAgIC5jLW1lZGlhICsgaDIsXG4gICAgLmMtbWVkaWEgKyBoMyxcbiAgICAuYy1tZWRpYSArIGg0LFxuICAgIC5jLW1lZGlhICsgcCxcbiAgICAuYy1tZWRpYSArIHNwYW4sXG4gICAgLmMtbWVkaWEgKyAuanNmb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5uby1qcyAuZ2Zvcm1fd3JhcHBlcixcbiAgICAuYy1tZWRpYSArIC5jLW1lZGlhLFxuICAgIC5jLW1lZGlhICsgaDIsXG4gICAgLmMtbWVkaWEgKyBoMyxcbiAgICAuYy1tZWRpYSArIGg0LFxuICAgIC5jLW1lZGlhICsgcCxcbiAgICAuYy1tZWRpYSArIHNwYW4sXG4gICAgLmMtbWVkaWEgKyAuanNmb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5uby1qcyAuZ2Zvcm1fd3JhcHBlcixcbiAgICAuYy1tZWRpYSArIC5jLW1lZGlhLFxuICAgIC5jLW1lZGlhICsgaDIsXG4gICAgLmMtbWVkaWEgKyBoMyxcbiAgICAuYy1tZWRpYSArIGg0LFxuICAgIC5jLW1lZGlhICsgcCxcbiAgICAuYy1tZWRpYSArIHNwYW4sXG4gICAgLmMtbWVkaWEgKyAuanNmb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7IH0gfVxuXG4vKi5jLWZvb3RlciBpbWcsXG4uYy1oZWFkZXIgaW1nLFxuLmMtY29udGVudCAuYy1pbWctbWF4LXNpemUge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmMtaW1hZ2V7XG5cdG1heC13aWR0aDogJGNvbnRlbnRNYXhTaXplO1xufVxuXG4uYy1wYXJhbGxheHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jLWNvbnRlbnR7XG5cdGZpZ3VyZXtcblx0XHRmaWdjYXB0aW9ue1xuXHRcdFx0cHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtb2JpbGVTbWFsbEZvbnRTaXplO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGVza3RvcFNtYWxsRm9udFNpemU7XG4gICAgICAgICAgICAgICAgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5maWd1cmV7XG5cdG1hcmdpbjogMDtcblx0ZmlnY2FwdGlvbntcblx0XHRwe1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc2N1dC1lbSgxOCk7XG5cdFx0fVxuXHR9XG59XG5cbmltZ3tcblx0aGVpZ2h0OiBhdXRvO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuKi9cbi5qcyAuaGFzc3ZnbG9nbyAuYy1zaXRlLXRpdGxlLFxuLmpzIC5oYXNzdmdsb2dvIC50ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmpzIC5oYXNzdmdsb2dvIC5pbWctbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uanMgLm5vc3ZnbG9nby5oYXNsb2dvIC5jLXNpdGUtdGl0bGUsXG4uanMgLm5vc3ZnbG9nby5oYXNsb2dvIC50ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmpzIC5ub3N2Z2xvZ28uaGFzbG9nbyAuc3ZnLWxvZ28ge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcbi5qcy5pbmxpbmVzdmd7XG5cdC5oYXNzdmdsb2dve1xuXHRcdC5zdmctbG9nb3tcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cdFx0LmltZy1sb2dve1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR9XG4gICAgICAgIC5jLXNpdGUtdGl0bGUsXG5cdFx0LnRleHR7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0XHR9XG5cdH1cblx0Lm5vc3ZnbG9nby5oYXNsb2dve1xuXHRcdC5zdmctbG9nb3tcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0fVxuXHRcdC5pbWctbG9nb3tcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cdFx0LnRleHR7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0XHR9XG5cdH1cbn1cbi5qcy5uby1pbmxpbmVzdmd7XG5cdC5oYXNzdmdsb2dvLmhhc2xvZ28sXG5cdC5oYXNsb2dve1xuXHRcdC5zdmctbG9nb3tcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0fVxuXHRcdC5pbWctbG9nb3tcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cdFx0LnRleHR7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0XHR9XG5cdH1cblx0Lmhhc3N2Z2xvZ297XG5cdFx0LnN2Zy1sb2dvLFxuXHRcdC5pbWctbG9nb3tcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0fVxuXHR9XG59XG4uanMuc3ZnYXNpbWd7XG4gICAgLmluZm9ncmFmaWt7XG4gICAgICAgIC5oYXNzdmd7XG4gICAgICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICBcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uanMubm8tc3ZnYXNpbWd7XG4gICAgLmluZm9ncmFmaWt7XG4gICAgICAgIC5zdmdpbWFnZXtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG4qL1xuLm5vLWpzIC5oYXNzdmdsb2dvIC5zdmctbG9nbyxcbi5uby1qcyAuaGFzc3ZnbG9nbyAuaW1nLWxvZ28sXG4ubm8tanMgLmhhc2xvZ28gLnN2Zy1sb2dvLFxuLm5vLWpzIC5oYXNsb2dvIC5pbWctbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubm8tanMgLmhhc3N2Z2xvZ28gLmMtc2l0ZS10aXRsZSxcbi5uby1qcyAuaGFzc3ZnbG9nbyAudGV4dCxcbi5uby1qcyAuaGFzbG9nbyAuYy1zaXRlLXRpdGxlLFxuLm5vLWpzIC5oYXNsb2dvIC50ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm5vLWpzIC5oYXNzdmdsb2dvIC5ub2pzaW1hZ2UsXG4ubm8tanMgLmhhc2xvZ28gLm5vanNpbWFnZSB7XG4gIGhlaWdodDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LWhlaWdodDogODBweDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgd2lkdGg6IDgwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICAubm8tanMgLmhhc3N2Z2xvZ28gLm5vanNpbWFnZSxcbiAgICAubm8tanMgLmhhc2xvZ28gLm5vanNpbWFnZSB7XG4gICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgd2lkdGg6IDkwcHg7IH0gfVxuXG4ubm8tanMgLmhhc3NtYWxsbG9nbyAubm9qc2ltYWdlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5uby1qcyAuaGFzc21hbGxsb2dvIC5ub2pzaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubm8tanMgLmhhc3NtYWxsbG9nbyAubm9qc2ltYWdlLnNtYWxsbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICAgLm5vLWpzIC5oYXNzbWFsbGxvZ28gLm5vanNpbWFnZS5zbWFsbGxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLypcbi5qc3tcbiAgICAmLmlubGluZXN2Z3tcbiAgICAgICAgLmltZy1pY29ue1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLm5vLWlubGluZXN2Z3tcbiAgICAgICAgLnN2Zy1pY29ue1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICAuaW1nLWljb24gLmljb24tZmFsbGJhY2t7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIFx0b3BhY2l0eTogMTtcbiAgICAgICAgXHRvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBcdHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuKi9cbi5uby1qcyAuc3ZnaW1hZ2UsXG4ubm8tanMgLnN2Zy1pY29uLFxuLm5vLWpzIC5pY29uLWZhbGxiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5pY29uLXdyYXBwZXIgLmljb24taW1hZ2UsXG4uaWNvbi13cmFwcGVyIC5pY29uLXN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmljb24td3JhcHBlci5iaWcgLmljb24taW1hZ2UsXG4uaWNvbi13cmFwcGVyLmJpZyAuaWNvbi1zdmcge1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgbWluLXdpZHRoOiAyZW07IH1cblxuLmljb24td3JhcHBlci5tZWRpdW0gLmljb24taW1hZ2UsXG4uaWNvbi13cmFwcGVyLm1lZGl1bSAuaWNvbi1zdmcge1xuICBtYXgtd2lkdGg6IDcwJTtcbiAgbWluLXdpZHRoOiAyZW07IH1cblxuLmljb24td3JhcHBlci5zbWFsbCAuaWNvbi1pbWFnZSxcbi5pY29uLXdyYXBwZXIuc21hbGwgLmljb24tc3ZnIHtcbiAgbWF4LXdpZHRoOiA1MCU7XG4gIG1pbi13aWR0aDogMmVtOyB9XG5cbi5pY29uLXdyYXBwZXIgZmlnY2FwdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uanMgLmhhcy1zdmcgLmljb24tc3ZnIC5zdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDsgfVxuXG4uanMuc3ZnYXNpbWcgLmhhcy1zdmcgLmljb24taW1hZ2UsXG4uanMubm8tc3ZnYXNpbWcgLmhhcy1zdmcgLmljb24tc3ZnIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubm8tanMgLmhhcy1zdmcgLmljb24tc3ZnLFxuLm5vLWpzIC5oYXMtc3ZnIC5pY29uLXN2ZyAuc3ZnLFxuLm5vLWpzIC5oYXMtc3ZnIC5pY29uLWltYWdlIC5pbWFnZSxcbi5uby1qcyAuaW1hZ2UubGF6eWxvYWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5qcyAuaW1hZ2Uge1xuICBoZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5qcyAuaWNvbi1pbWFnZSAuaW1hZ2Uge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5qcy5zdmdhc2ltZyAuaW5mb2dyYWZpayAuc3ZnaW1hZ2UubGF6eWxvYWQsIC5qcy5zdmdhc2ltZyAuaW5mb2dyYWZpayAuc3ZnaW1hZ2UubG9hZGluZywgLmpzLnN2Z2FzaW1nIC5pbmZvZ3JhZmlrIC5zdmdpbWFnZS5sYXp5bG9hZGluZyxcbi5qcy5uby1pbmxpbmVzdmcgLmltZy1pY29uIC5pY29uLWZhbGxiYWNrLmxhenlsb2FkLFxuLmpzLm5vLWlubGluZXN2ZyAuaW1nLWljb24gLmljb24tZmFsbGJhY2subG9hZGluZyxcbi5qcy5uby1pbmxpbmVzdmcgLmltZy1pY29uIC5pY29uLWZhbGxiYWNrLmxhenlsb2FkaW5nLFxuLmpzIC5pbWFnZS5sYXp5bG9hZCxcbi5qcyAuaW1hZ2UubG9hZGluZyxcbi5qcyAuaW1hZ2UubGF6eWxvYWRpbmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5qcyAuaW1hZ2UubG9hZGVkLFxuLmpzIC5pbWFnZS5sYXp5bG9hZGVkLFxuLmpzLnN2Z2FzaW1nIC5pbmZvZ3JhZmlrIC5zdmdpbWFnZSxcbi5qcy5uby1pbmxpbmVzdmcgLmltZy1pY29uIC5pY29uLWZhbGxiYWNrIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5qcyAuaWNvbi1pbWFnZSAuaW1hZ2UubGF6eWxvYWRlZCxcbi5qcyAuaWNvbi1zdmcgLnN2Zy5sYXp5bG9hZGVkIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uY3NzdHJhbnNpdGlvbnMuanMgLmljb24tc3ZnIC5zdmcsXG4uY3NzdHJhbnNpdGlvbnMuanMgLmltYWdlLFxuLmNzc3RyYW5zaXRpb25zLmpzLnN2Z2FzaW1nIC5pbmZvZ3JhZmlrIC5zdmdpbWFnZSxcbi5jc3N0cmFuc2l0aW9ucy5qcy5uby1pbmxpbmVzdmcgLmljb24tZmFsbGJhY2sge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluLW91dDsgfVxuXG4ubm8tY3NzdHJhbnNpdGlvbnMubGF6eWxvYWQsIC5uby1jc3N0cmFuc2l0aW9ucy5sb2FkaW5nLCAubm8tY3NzdHJhbnNpdGlvbnMubGF6eWxvYWRpbmcge1xuICBoZWlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gU2l0ZWhlYWRlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmMtaGVhZGVyLWxvZ28gYSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jLXNpdGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgcGFkZGluZy10b3A6IDE0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzLjc1ZW0pIHtcbiAgICAuYy1zaXRlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIC5jLXNpdGUtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jLXNpdGUtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOC41NzE0MjlweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuYy1zaXRlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gICAgLmMtc2l0ZS1oZWFkZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gICAgLmMtc2l0ZS1oZWFkZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogODBweDsgfSB9XG5cbi5jLWhlYWRlci1sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAuYy1oZWFkZXItbG9nbyB7XG4gICAgICB6LWluZGV4OiAyMDA7IH0gfVxuICAuYy1oZWFkZXItbG9nbzpob3ZlciwgLmMtaGVhZGVyLWxvZ286Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYy1oZWFkZXItbG9nbyAubG9nby1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gIC5jLWhlYWRlci1sb2dvIC5pbWctbG9nbyxcbiAgLmMtaGVhZGVyLWxvZ28gLnN2Zy1sb2dvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDgwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAgICAgLmMtaGVhZGVyLWxvZ28gLmltZy1sb2dvLFxuICAgICAgLmMtaGVhZGVyLWxvZ28gLnN2Zy1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDkwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAuYy1oZWFkZXItbG9nbyAuaW1nLWxvZ28sXG4gICAgICAuYy1oZWFkZXItbG9nbyAuc3ZnLWxvZ28ge1xuICAgICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYy1oZWFkZXItbG9nbyAuaW1nLWxvZ28sXG4gICAgICAuYy1oZWFkZXItbG9nbyAuc3ZnLWxvZ28ge1xuICAgICAgICB3aWR0aDogMTYwcHg7IH0gfVxuICAgIC5jLWhlYWRlci1sb2dvIC5pbWctbG9nbyBzdmcsXG4gICAgLmMtaGVhZGVyLWxvZ28gLmltZy1sb2dvIGltZyxcbiAgICAuYy1oZWFkZXItbG9nbyAuc3ZnLWxvZ28gc3ZnLFxuICAgIC5jLWhlYWRlci1sb2dvIC5zdmctbG9nbyBpbWcge1xuICAgICAgbWF4LWhlaWdodDogODBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICAgICAgLmMtaGVhZGVyLWxvZ28gLmltZy1sb2dvIHN2ZyxcbiAgICAgICAgLmMtaGVhZGVyLWxvZ28gLmltZy1sb2dvIGltZyxcbiAgICAgICAgLmMtaGVhZGVyLWxvZ28gLnN2Zy1sb2dvIHN2ZyxcbiAgICAgICAgLmMtaGVhZGVyLWxvZ28gLnN2Zy1sb2dvIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogOTBweDsgfSB9XG4gIC5jLWhlYWRlci1sb2dvIC5jLXNpdGUtdGl0bGUge1xuICAgIGNvbG9yOiAjMWUyMTU0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuMWVtOyB9XG4gIC5jLWhlYWRlci1sb2dvIC5jLXNpdGUtYnlsaW5lIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIE5hdmlnYXRpb25cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZXRhLU5hdmlnYXRpb24gKExhbmd1YWdlLSBhbmQgRm9vdGVyLU5hdmlnYXRpb24pXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiBhLFxuICAuYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24gYTp2aXNpdGVkLFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgYTp2aXNpdGVkIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBMYW5ndWFnZS0tTmF2aWdhdGlvblxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24gbGkgKyBsaSB7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1ZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMuNzVlbSkge1xuICAgICAgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiBsaSArIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiBsaSArIGxpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMuNzVlbSkge1xuICAgIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uIGE6Zm9jdXM6bm90KDpob3ZlciksIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24gYTpmb2N1czpub3QoOmFjdGl2ZSkge1xuICAgICAgY29sb3I6ICNmMWE5NDg7IH1cbiAgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiAuYy1hY3RpdmUgYSxcbiAgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2YxYTk0ODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBQYWdlLU5hdmlnYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXBhZ2VuYXZpdmF0aW9uIHtcbiAgcGFkZGluZy10b3A6IDU0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAuYy1wYWdlbmF2aXZhdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmMtcGFnZW5hdml2YXRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDgwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5jLXBhZ2VuYXZpdmF0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuYy1wYWdlbmF2aXZhdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODIuNWVtKSB7XG4gICAgLmMtcGFnZW5hdml2YXRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDEyMHB4OyB9IH1cbiAgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07IH1cbiAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAuYWpheE5hdmlnYXRpb25CdXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAuYWpheE5hdmlnYXRpb25CdXR0b24sXG4gICAgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUgLnBhZ2UtbnVtYmVycyB7XG4gICAgICBjb2xvcjogI2YxYTk0ODtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAuYWpheE5hdmlnYXRpb25CdXR0b246aG92ZXIsIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5hamF4TmF2aWdhdGlvbkJ1dHRvbjpmb2N1cyxcbiAgICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5wYWdlLW51bWJlcnM6aG92ZXIsXG4gICAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAucGFnZS1udW1iZXJzOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmMWE5NDg7IH1cbiAgICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5hamF4TmF2aWdhdGlvbkJ1dHRvbi5jdXJyZW50LFxuICAgICAgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUgLnBhZ2UtbnVtYmVycy5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICMxMjE4MmQ7IH1cbiAgICAgICAgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUgLmFqYXhOYXZpZ2F0aW9uQnV0dG9uLmN1cnJlbnQ6aG92ZXIsIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5hamF4TmF2aWdhdGlvbkJ1dHRvbi5jdXJyZW50OmZvY3VzLFxuICAgICAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAucGFnZS1udW1iZXJzLmN1cnJlbnQ6aG92ZXIsXG4gICAgICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5wYWdlLW51bWJlcnMuY3VycmVudDpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMxMjE4MmQ7IH1cbiAgICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5hamF4TmF2aWdhdGlvbkJ1dHRvbi5kb3RzOmhvdmVyLCAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAuYWpheE5hdmlnYXRpb25CdXR0b24uZG90czpmb2N1cyxcbiAgICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5wYWdlLW51bWJlcnMuZG90czpob3ZlcixcbiAgICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5wYWdlLW51bWJlcnMuZG90czpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZjFhOTQ4OyB9XG4gICAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAuYWpheE5hdmlnYXRpb25CdXR0b24ucHJldiwgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUgLmFqYXhOYXZpZ2F0aW9uQnV0dG9uLm5leHQsXG4gICAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAucGFnZS1udW1iZXJzLnByZXYsXG4gICAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAucGFnZS1udW1iZXJzLm5leHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgICAgICAgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUgLmFqYXhOYXZpZ2F0aW9uQnV0dG9uLnByZXYsIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5hamF4TmF2aWdhdGlvbkJ1dHRvbi5uZXh0LFxuICAgICAgICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5wYWdlLW51bWJlcnMucHJldixcbiAgICAgICAgICAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAucGFnZS1udW1iZXJzLm5leHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtOyB9IH1cbiAgICAgICAgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUgLmFqYXhOYXZpZ2F0aW9uQnV0dG9uLnByZXYgLmMtbGluay1hcnJvdywgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUgLmFqYXhOYXZpZ2F0aW9uQnV0dG9uLm5leHQgLmMtbGluay1hcnJvdyxcbiAgICAgICAgLmMtcGFnZW5hdml2YXRpb24gLm1lbnUgLnBhZ2UtbnVtYmVycy5wcmV2IC5jLWxpbmstYXJyb3csXG4gICAgICAgIC5jLXBhZ2VuYXZpdmF0aW9uIC5tZW51IC5wYWdlLW51bWJlcnMubmV4dCAuYy1saW5rLWFycm93IHtcbiAgICAgICAgICBtYXJnaW46IDAgMWVtOyB9XG5cbi5qcyAuYy1wYWdlbmF2aXZhdGlvbiAubWVudSAucGFnZS1udW1iZXJzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNjcm9sbC1OYXZpZ2F0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2Nyb2xsLW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5qcyAuc2Nyb2xsLW5hdmlnYXRpb24ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5uYXYuYnV0dG9uLm9wZW4ge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5uYXYuYnV0dG9uLm9wZW4ge1xuICAgIG1hcmdpbi1yaWdodDogODBweDsgfSB9XG5cbi5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQge1xuICBib3JkZXI6IG5vbmU7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogLjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMzAwO1xuICAvKi5uYXYuYnV0dG9ue1xuICAgICAgICAgICAgICAgIFx0Ji5vcGVue1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzLjc1ZW0pIHtcbiAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmpzIC5zY3JvbGxuYXYgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4Mi41ZW0pIHtcbiAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gICAgLmpzIC5zY3JvbGxuYXYgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDVlbSkge1xuICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgyLjVlbSkge1xuICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IC41ZW07XG4gICAgICBwYWRkaW5nLXRvcDogLjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQgLmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDVlbSkge1xuICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxNjAwcHg7IH0gfVxuICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQgLmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9uIC5tZW51IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMS44ZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC40ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogNjAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmpzIC5zY3JvbGxuYXYgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIC5pbm5lci1zY3JvbGwtbmF2aWdhdGlvbiAubWVudSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzMlO1xuICAgICAgICB3aWR0aDogNjUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmpzIC5zY3JvbGxuYXYgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIC5pbm5lci1zY3JvbGwtbmF2aWdhdGlvbiAubWVudSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDQlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE3JTtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODMuNzVlbSkge1xuICAgICAgLmpzIC5zY3JvbGxuYXYgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIC5pbm5lci1zY3JvbGwtbmF2aWdhdGlvbiAubWVudSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDglO1xuICAgICAgICB3aWR0aDogODclO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTElOyB9IH1cbiAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQgLmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9uIC5tZW51IC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IgPiBhLFxuICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgLmN1cnJlbnRfcGFnZV9pdGVtID4gYSxcbiAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQgLmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9uIC5tZW51IC5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhLFxuICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbiAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQgLmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9uIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAjZjFhOTQ4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgPiBsaSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgPiBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGNvbG9yOiAjMWUyMTU0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgICAgLmpzIC5zY3JvbGxuYXYgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIC5pbm5lci1zY3JvbGwtbmF2aWdhdGlvbiAubWVudSA+IGxpIHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgPiBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQgLmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9uIC5tZW51ID4gbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmpzIC5zY3JvbGxuYXYgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIC5jLWhlYWRlci1sb2dvIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAgICAgLmpzIC5zY3JvbGxuYXYgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIC5jLWhlYWRlci1sb2dvIHtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtOyB9IH1cbiAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQgLmMtaGVhZGVyLWxvZ28gLmltZy1sb2dvLFxuICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuYy1oZWFkZXItbG9nbyAuc3ZnLWxvZ28ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDgwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuYy1oZWFkZXItbG9nbyAuaW1nLWxvZ28sXG4gICAgICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuYy1oZWFkZXItbG9nbyAuc3ZnLWxvZ28ge1xuICAgICAgICAgIHdpZHRoOiA5MHB4OyB9IH1cbiAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIC5qcyAuc2Nyb2xsbmF2ICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuYy1oZWFkZXItbG9nbyAuaW1nLWxvZ28gaW1nLFxuICAgICAgICAuanMgLnNjcm9sbG5hdiAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWQgLmMtaGVhZGVyLWxvZ28gLnN2Zy1sb2dvIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAyOHB4OyB9IH1cblxuLmpzLmNzc3RyYW5zaXRpb25zIC5zY3JvbGxuYXYgLmlubmVyLXdyYXBwZXIuY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmpzLmNzc3RyYW5zaXRpb25zIC5zY3JvbGxuYXYgLmlubmVyLXdyYXBwZXIuY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb24ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2UtaW47IH1cblxuLmpzLmNzc3RyYW5zZm9ybXMgLnNjcm9sbG5hdiAuaW5uZXItd3JhcHBlci5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05LjM3NWVtKTsgfVxuICAuanMuY3NzdHJhbnNmb3JtcyAuc2Nyb2xsbmF2IC5pbm5lci13cmFwcGVyLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24gLmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5qcy5jc3N0cmFuc2Zvcm1zIC5zY3JvbGxuYXYgLmlubmVyLXdyYXBwZXIuY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgLmpzLmNzc3RyYW5zZm9ybXMgLnNjcm9sbG5hdiAuaW5uZXItd3JhcHBlci5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uLmZpeGVkIC5pbm5lci1zY3JvbGwtbmF2aWdhdGlvbiB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9uIGEge1xuICBjb2xvcjogIzFlMjE1NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jLXNpdGUtbmF2aWdhdGlvbixcbi5zdWItbWVudSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uYy1zaXRlLW5hdmlnYXRpb24gbGkgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDI0cHg7IH1cblxuLnNjcm9sbC1uYXZpZ2F0aW9uIC5tZW51IGEsXG4uYy1zaXRlLW5hdmlnYXRpb24gYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmMWE5NDggNjAlLCB0cmFuc3BhcmVudCA0MCUpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDY1JTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAwIDYlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctYm90dG9tOiAuNGVtO1xuICBwYWRkaW5nLXRvcDogLjRlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC4zcyBlYXNlLWluLW91dDsgfVxuICAuc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgYTpob3ZlcixcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZjFhOTQ4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSA2JTsgfVxuICAuc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgYTphY3RpdmUsXG4gIC5jLXNpdGUtbmF2aWdhdGlvbiBhOmFjdGl2ZSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC4zczsgfVxuXG4uc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgLmN1cnJlbnRfcGFnZV9hbmNlc3RvciA+IGEsXG4uc2Nyb2xsLW5hdmlnYXRpb24gLm1lbnUgLmN1cnJlbnRfcGFnZV9pdGVtID4gYSxcbi5zY3JvbGwtbmF2aWdhdGlvbiAubWVudSAuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSxcbi5zY3JvbGwtbmF2aWdhdGlvbiAubWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuLnNjcm9sbC1uYXZpZ2F0aW9uIC5tZW51IC5hY3RpdmUgPiBhLFxuLmMtc2l0ZS1uYXZpZ2F0aW9uIC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IgPiBhLFxuLmMtc2l0ZS1uYXZpZ2F0aW9uIC5jdXJyZW50X3BhZ2VfaXRlbSA+IGEsXG4uYy1zaXRlLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1hbmNlc3RvciA+IGEsXG4uYy1zaXRlLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbi5jLXNpdGUtbmF2aWdhdGlvbiAuYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjZjFhOTQ4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNiU7IH1cblxuLmMtc2l0ZS1uYXZpZ2F0aW9uIHVsLnN1Yi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICAvKmF7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjE4ZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC4yZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjI0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC4zMmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9Ki8gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jLXNpdGUtbmF2aWdhdGlvbiB1bC5zdWItbWVudSB7XG4gICAgICBtYXJnaW4tdG9wOiAzZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jLXNpdGUtbmF2aWdhdGlvbiB1bC5zdWItbWVudSB7XG4gICAgICBtYXJnaW4tdG9wOiA0ZW07IH0gfVxuICAuYy1zaXRlLW5hdmlnYXRpb24gdWwuc3ViLW1lbnUgbGkgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiB1bC5zdWItbWVudSBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAuOGVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jLXNpdGUtbmF2aWdhdGlvbiB1bC5zdWItbWVudSBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuYy1zaXRlLW5hdmlnYXRpb24gdWwuc3ViLW1lbnUgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTsgfSB9XG5cbi5vdXRlci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MjYyMjtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaW5uZXItd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLyogXHQtLS0tLS0tLS0tLS1cbiBcdFRyYW5zaXRpb25zXG5cdC0tLS0tLS0tLS0tLSAqL1xuLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIHtcbiAgdHJhbnNpdGlvbjogbGVmdCAuMzVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMy43NWVtKSB7XG4gICAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIHtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgLjRzIGVhc2UtaW4tb3V0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkge1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAuM3MgZWFzZS1pbi1vdXQ7IH0gfVxuXG4ubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuICB0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMuNzVlbSkge1xuICAgIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCB7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IC41cyBlYXNlLWluLW91dDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IHtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgLjNzIGVhc2UtaW4tb3V0OyB9IH1cblxuLyogXHQtLS0tLS0tLS0tLS1cbiBcdFBvc2l0aW9uc1xuXHQtLS0tLS0tLS0tLS0gKi9cbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSB7XG4gIGxlZnQ6IDA7IH1cblxuLm5vLWpzICNvcGVuLW5hdmlnYXRpb24sXG4ubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuICBsZWZ0OiAtMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGZWF0dXJlIHRlc3Q6IGNzcyB0cmFuc2Zvcm1zIGFyZSBzdXBwb3J0ZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBcdC0tLS0tLS0tLS0tLVxuIFx0VHJhbnNpdGlvbnNcblx0LS0tLS0tLS0tLS0tICovXG4vKi5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24sXG4uY3NzdHJhbnNmb3JtcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCxcbi5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpKi9cbi5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24udHJhbnNmb3JtIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dCwgbGVmdCAwczsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMuNzVlbSkge1xuICAgIC5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24udHJhbnNmb3JtIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZS1pbi1vdXQsIGxlZnQgMHM7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIC5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24udHJhbnNmb3JtIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1pbi1vdXQsIGxlZnQgMHM7IH0gfVxuXG4vKiBcdC0tLS0tLS0tLS0tLVxuIFx0UG9zaXRpb25zXG5cdC0tLS0tLS0tLS0tLSAqL1xuLmNzc3RyYW5zZm9ybXMgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQudHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLmNzc3RyYW5zZm9ybXMgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyouY3NzdHJhbnNmb3JtcyAjb3Blbi1uYXZpZ2F0aW9uLFxuLmNzc3RyYW5zZm9ybXMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQqL1xuLmNzc3RyYW5zZm9ybXMgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQge1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5jLXNpdGUtaGVhZGVyIHtcbiAgei1pbmRleDogMzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTAwOyB9IH1cbiAgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLm9mZmNhbnZhcy1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmMtc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ubmF2LmJ1dHRvbi5vcGVuLCAubmF2LmJ1dHRvbi5jbG9zZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7IH1cbiAgLm5hdi5idXR0b24ub3BlbiAudGV4dCwgLm5hdi5idXR0b24uY2xvc2UgLnRleHQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uYy1zaXRlLW5hdmlnYXRpb24gLnN1Yi1tZW51IC5zdWItbWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAuNmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgLmMtc2l0ZS1uYXZpZ2F0aW9uIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgLmMtc2l0ZS1uYXZpZ2F0aW9uIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNGVtOyB9IH1cblxuLmMtc2l0ZS1uYXZpZ2F0aW9uIC5zdWItbWVudSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiArIC5jLXNpdGUtbmF2aWdhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxLjRlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24gKyAuYy1zaXRlLW5hdmlnYXRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4uYy1zaXRlLW5hdmlnYXRpb24gPiBsaSB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjhlbTtcbiAgcGFkZGluZy10b3A6IDEuNGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuNTcxNDI5JTtcbiAgICAgIHBhZGRpbmctdG9wOiA1JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDclO1xuICAgICAgcGFkZGluZy10b3A6IDUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSB7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSB7XG4gICAgd2lkdGg6IDIwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSB7XG4gICAgd2lkdGg6IDE2JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpICsgbGkge1xuICAgIHBhZGRpbmctbGVmdDogNCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSArIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSArIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDJuKSB7XG4gICAgd2lkdGg6IDQ5JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOm50aC1jaGlsZCgybikge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpudGgtY2hpbGQoMm4pIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpudGgtY2hpbGQoMm4pIHtcbiAgICB3aWR0aDogMjAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOm50aC1jaGlsZCgybikge1xuICAgIHdpZHRoOiAxNiU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpudGgtY2hpbGQoM24pIHtcbiAgICB3aWR0aDogMzElOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgd2lkdGg6IDIwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpudGgtY2hpbGQoM24pIHtcbiAgICB3aWR0aDogMTYlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDRuKSB7XG4gICAgd2lkdGg6IDIzJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDRuKSB7XG4gICAgd2lkdGg6IDIwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpudGgtY2hpbGQoNG4pIHtcbiAgICB3aWR0aDogMTYlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpudGgtY2hpbGQoNW4pIHtcbiAgICB3aWR0aDogMTglOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOm50aC1jaGlsZCg1bikge1xuICAgIHdpZHRoOiAxNiU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDZuKSB7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOm50aC1jaGlsZCgybisxKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpudGgtY2hpbGQoMm4rMSkge1xuICAgIHBhZGRpbmctbGVmdDogMiU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOm50aC1jaGlsZCg0bisxKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDVuKzEpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGk6bnRoLWNoaWxkKDVuKzEpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOm50aC1jaGlsZCg2bisxKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkgYSB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpIC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IuZGVhY3RpdmF0ZSA+IGEsXG4uYy1zaXRlLW5hdmlnYXRpb24gPiBsaSAuY3VycmVudF9wYWdlX2l0ZW0uZGVhY3RpdmF0ZSA+IGEsXG4uYy1zaXRlLW5hdmlnYXRpb24gPiBsaSAuY3VycmVudC1tZW51LWFuY2VzdG9yLmRlYWN0aXZhdGUgPiBhLFxuLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkgLmN1cnJlbnQtbWVudS1pdGVtLmRlYWN0aXZhdGUgPiBhLFxuLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkgLmFjdGl2ZS5kZWFjdGl2YXRlID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgNiU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgNjUlOyB9XG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpIC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IuZGVhY3RpdmF0ZSA+IGE6aG92ZXIsXG4gIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpIC5jdXJyZW50X3BhZ2VfaXRlbS5kZWFjdGl2YXRlID4gYTpob3ZlcixcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkgLmN1cnJlbnQtbWVudS1hbmNlc3Rvci5kZWFjdGl2YXRlID4gYTpob3ZlcixcbiAgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkgLmN1cnJlbnQtbWVudS1pdGVtLmRlYWN0aXZhdGUgPiBhOmhvdmVyLFxuICAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSAuYWN0aXZlLmRlYWN0aXZhdGUgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2YxYTk0ODtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNiU7IH1cblxuLm5hdnRvb2dsZS13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNGVtO1xuICBwYWRkaW5nLXRvcDogLjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMjcuNWVtKSB7XG4gICAgLm5hdnRvb2dsZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAubmF2dG9vZ2xlLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24udHdvID4gbGksXG4gIC5jLXNpdGUtbmF2aWdhdGlvbi5tb3JlID4gbGkge1xuICAgIHBhZGRpbmctbGVmdDogNSU7XG4gICAgcGFkZGluZy1yaWdodDogNSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAuYy1zaXRlLW5hdmlnYXRpb24udHdvID4gbGksXG4gIC5jLXNpdGUtbmF2aWdhdGlvbi5tb3JlID4gbGkge1xuICAgIHBhZGRpbmc6IDNlbSA0ZW07IH0gfVxuXG4ubmF2LmJ1dHRvbi5vcGVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDFlbTtcbiAgaGVpZ2h0OiAxLjZlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xuICBtYXJnaW4tdG9wOiAtMC41MzMzMzNlbTtcbiAgcGFkZGluZy1yaWdodDogMS40ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMS42ZW07XG4gIC8qQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0XHRtYXJnaW4tdG9wOiAkd3JhcHBlci1wYWRkaW5nLXZlcnRpY2FsX21vYmlsZS8xLjI7XG5cdFx0fSovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzLjc1ZW0pIHtcbiAgICAubmF2LmJ1dHRvbi5vcGVuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLm5hdi5idXR0b24ub3BlbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5uYXYuYnV0dG9uLm9wZW4ge1xuICAgICAgcGFkZGluZy1yaWdodDogMi40ZW07XG4gICAgICB6LWluZGV4OiAxMDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5uYXYuYnV0dG9uLm9wZW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAubmF2LmJ1dHRvbi5vcGVuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogODBweDsgfSB9XG4gIC5uYXYuYnV0dG9uLm9wZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzEyMTgyZDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTIxODJkO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAuOTJlbTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEuNmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzLjc1ZW0pIHtcbiAgICAgIC5uYXYuYnV0dG9uLm9wZW46YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxLjE0ZW07IH0gfVxuICAubmF2LmJ1dHRvbi5vcGVuOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMTgyZDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW4tdG9wOiAuNGVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMS4yOGVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzLjc1ZW0pIHtcbiAgICAgIC5uYXYuYnV0dG9uLm9wZW46YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNWVtOyB9IH1cbiAgLm5hdi5idXR0b24ub3Blbjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLm5hdi5idXR0b24ub3Blbjpob3ZlcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFhOTQ4OyB9XG4gICAgLm5hdi5idXR0b24ub3Blbjpob3ZlcjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2YxYTk0ODtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmMWE5NDg7IH1cbiAgLm5hdi5idXR0b24ub3Blbjpmb2N1czpub3QoOmhvdmVyKTpiZWZvcmUsIC5uYXYuYnV0dG9uLm9wZW46Zm9jdXM6bm90KDphY3RpdmUpOmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2YxYTk0ODtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZjFhOTQ4OyB9XG4gIC5uYXYuYnV0dG9uLm9wZW46Zm9jdXM6bm90KDpob3Zlcik6YWZ0ZXIsIC5uYXYuYnV0dG9uLm9wZW46Zm9jdXM6bm90KDphY3RpdmUpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFhOTQ4OyB9XG4gIC5uYXYuYnV0dG9uLm9wZW4gLmMtbmF2aWdhdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5uYXYuYnV0dG9uLmNsb3NlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEuNmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuICBwYWRkaW5nLXRvcDogLjVlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5uYXYuYnV0dG9uLmNsb3NlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLm5hdi5idXR0b24uY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzLjc1ZW0pIHtcbiAgICAubmF2LmJ1dHRvbi5jbG9zZSB7XG4gICAgICBtYXJnaW4tdG9wOiAuMjRlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuOGVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICBwYWRkaW5nLXRvcDogLjhlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgLm5hdi5idXR0b24uY2xvc2Uge1xuICAgICAgbWFyZ2luLXRvcDogLjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgLm5hdi5idXR0b24uY2xvc2Uge1xuICAgICAgbWFyZ2luLXRvcDogMWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgICAubmF2LmJ1dHRvbi5jbG9zZSB7XG4gICAgICBjb2xvcjogIzEyMTgyZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDEuNmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAuNGVtOyB9IH1cbiAgLm5hdi5idXR0b24uY2xvc2U6YWZ0ZXIsIC5uYXYuYnV0dG9uLmNsb3NlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxLjZlbTsgfVxuICAubmF2LmJ1dHRvbi5jbG9zZTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5uYXYuYnV0dG9uLmNsb3NlOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAubmF2LmJ1dHRvbi5jbG9zZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLm5hdi5idXR0b24uY2xvc2U6aG92ZXI6YWZ0ZXIsIC5uYXYuYnV0dG9uLmNsb3NlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFhOTQ4OyB9XG4gIC5uYXYuYnV0dG9uLmNsb3NlOmZvY3VzOm5vdCg6aG92ZXIpOmFmdGVyLCAubmF2LmJ1dHRvbi5jbG9zZTpmb2N1czpub3QoOmhvdmVyKTpiZWZvcmUsIC5uYXYuYnV0dG9uLmNsb3NlOmZvY3VzOm5vdCg6YWN0aXZlKTphZnRlciwgLm5hdi5idXR0b24uY2xvc2U6Zm9jdXM6bm90KDphY3RpdmUpOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYTk0ODsgfVxuXG4vKiBcdC0tLS0tLS0tLS0tLVxuIFx0T2ZmIGNhbnZhcyBvcGVuXG5cdC0tLS0tLS0tLS0tLSAqL1xuLm5vLWpzICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5uYXYuYnV0dG9uLm9wZW4sXG4jb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCAubmF2LmJ1dHRvbi5vcGVuLFxuI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5uYXYuYnV0dG9uLm9wZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1oZWFkZXItbG9nbyxcbiNvcGVuLW5hdmlnYXRpb24ub3BlbmVkIC5jLWhlYWRlci1sb2dvLFxuI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5jLWhlYWRlci1sb2dvIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1zaXRlLW5hdmlnYXRpb24gYSxcbiAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQgLmMtc2l0ZS1uYXZpZ2F0aW9uIGEsXG4gICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybSAuYy1zaXRlLW5hdmlnYXRpb24gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IC44ZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLmMtc2l0ZS1uYXZpZ2F0aW9uIGEsXG4gICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkIC5jLXNpdGUtbmF2aWdhdGlvbiBhLFxuICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZC50cmFuc2Zvcm0gLmMtc2l0ZS1uYXZpZ2F0aW9uIGEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1zaXRlLW5hdmlnYXRpb24gYSxcbiAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQgLmMtc2l0ZS1uYXZpZ2F0aW9uIGEsXG4gICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybSAuYy1zaXRlLW5hdmlnYXRpb24gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1zaXRlLW5hdmlnYXRpb24gLnN1Yi1tZW51IGEsXG4gICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkIC5jLXNpdGUtbmF2aWdhdGlvbiAuc3ViLW1lbnUgYSxcbiAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5jLXNpdGUtbmF2aWdhdGlvbiAuc3ViLW1lbnUgYSB7XG4gICAgcGFkZGluZy1ib3R0b206IC40ZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLmMtc2l0ZS1uYXZpZ2F0aW9uIC5zdWItbWVudSBhLFxuICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCAuYy1zaXRlLW5hdmlnYXRpb24gLnN1Yi1tZW51IGEsXG4gICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybSAuYy1zaXRlLW5hdmlnYXRpb24gLnN1Yi1tZW51IGEge1xuICAgIHBhZGRpbmctYm90dG9tOiAuOGVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5jLXNpdGUtbmF2aWdhdGlvbiAuc3ViLW1lbnUgYSxcbiAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQgLmMtc2l0ZS1uYXZpZ2F0aW9uIC5zdWItbWVudSBhLFxuICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZC50cmFuc2Zvcm0gLmMtc2l0ZS1uYXZpZ2F0aW9uIC5zdWItbWVudSBhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtOyB9IH1cblxuLm5vLWpzICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uLFxuI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24sXG4jb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZC50cmFuc2Zvcm0gLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24ge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGh5cGhlbnM6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24sXG4gICAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24sXG4gICAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIHtcbiAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgb3ZlcmZsb3ctd3JhcDogbm9ybWFsO1xuICAgICAgaHlwaGVuczogbm9uZTsgfSB9XG4gIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uLFxuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLm5hdnRvb2dsZS13cmFwcGVyLFxuICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uLFxuICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1zaXRlLW5hdmlnYXRpb24sXG4gICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5uYXZ0b29nbGUtd3JhcHBlcixcbiAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG4gICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybSAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1zaXRlLW5hdmlnYXRpb24sXG4gICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybSAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAubmF2dG9vZ2xlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcbiAgICAgIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1zaXRlLW5hdmlnYXRpb24sXG4gICAgICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLm5hdnRvb2dsZS13cmFwcGVyLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcbiAgICAgICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLXNpdGUtbmF2aWdhdGlvbixcbiAgICAgICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5uYXZ0b29nbGUtd3JhcHBlcixcbiAgICAgICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybSAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLXNpdGUtbmF2aWdhdGlvbixcbiAgICAgICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybSAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAubmF2dG9vZ2xlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAgIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uLFxuICAgICAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLXNpdGUtbmF2aWdhdGlvbixcbiAgICAgIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAubmF2dG9vZ2xlLXdyYXBwZXIsXG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLm5hdnRvb2dsZS13cmFwcGVyLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZC50cmFuc2Zvcm0gLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuICAgICAgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5uYXZ0b29nbGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDVlbSkge1xuICAgICAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG4gICAgICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQgLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuICAgICAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5uYXZ0b29nbGUtd3JhcHBlcixcbiAgICAgICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1zaXRlLW5hdmlnYXRpb24sXG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAubmF2dG9vZ2xlLXdyYXBwZXIsXG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZC50cmFuc2Zvcm0gLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcbiAgICAgICNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybSAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1zaXRlLW5hdmlnYXRpb24sXG4gICAgICAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZC50cmFuc2Zvcm0gLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLm5hdnRvb2dsZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDE2MDBweDsgfSB9XG5cbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAub2ZmY2FudmFzLW5hdmlnYXRpb24uZml4bmF2aSxcbiNvcGVuLW5hdmlnYXRpb24ub3BlbmVkIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5vZmZjYW52YXMtbmF2aWdhdGlvbi5maXhuYXZpLFxuI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3JtIC5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5vZmZjYW52YXMtbmF2aWdhdGlvbi5maXhuYXZpIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi5qcyAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCAuYy1zaXRlLWhlYWRlciAuYy1oZWFkZXItbmF2aWdhdGlvbiAub2ZmY2FudmFzLW5hdmlnYXRpb24uZml4bmF2aSxcbi5qcyAjb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZC50cmFuc2Zvcm0gLmMtc2l0ZS1oZWFkZXIgLmMtaGVhZGVyLW5hdmlnYXRpb24gLm9mZmNhbnZhcy1uYXZpZ2F0aW9uLmZpeG5hdmkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApKTsgfVxuXG4uY3NzdHJhbnNmb3JtcyAuaW5uZXItd3JhcHBlci50cmFuc2Zvcm0gLm9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5uYXZ0b29nbGUtd3JhcHBlcixcbi5jc3N0cmFuc2Zvcm1zIC5pbm5lci13cmFwcGVyLnRyYW5zZm9ybSAub2ZmY2FudmFzLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcbi5jc3N0cmFuc2Zvcm1zIC5pbm5lci13cmFwcGVyLnRyYW5zZm9ybSAub2ZmY2FudmFzLW5hdmlnYXRpb24gLmMtc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDYuMjVlbSk7IH1cblxuLmNzc3RyYW5zZm9ybXMgLmlubmVyLXdyYXBwZXIuY2xvc2VkLnRyYW5zZm9ybSAub2ZmY2FudmFzLW5hdmlnYXRpb24gLm5hdnRvb2dsZS13cmFwcGVyLFxuLmNzc3RyYW5zZm9ybXMgLmlubmVyLXdyYXBwZXIuY2xvc2VkLnRyYW5zZm9ybSAub2ZmY2FudmFzLW5hdmlnYXRpb24gLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcbi5jc3N0cmFuc2Zvcm1zIC5pbm5lci13cmFwcGVyLmNsb3NlZC50cmFuc2Zvcm0gLm9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5jLXNpdGUtbmF2aWdhdGlvbixcbi5jc3N0cmFuc2Zvcm1zIC5maXhib2R5IC5pbm5lci13cmFwcGVyLm9wZW5lZCAub2ZmY2FudmFzLW5hdmlnYXRpb24uZml4bmF2aSAubmF2dG9vZ2xlLXdyYXBwZXIsXG4uY3NzdHJhbnNmb3JtcyAuZml4Ym9keSAuaW5uZXItd3JhcHBlci5vcGVuZWQgLm9mZmNhbnZhcy1uYXZpZ2F0aW9uLmZpeG5hdmkgLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcbi5jc3N0cmFuc2Zvcm1zIC5maXhib2R5IC5pbm5lci13cmFwcGVyLm9wZW5lZCAub2ZmY2FudmFzLW5hdmlnYXRpb24uZml4bmF2aSAuYy1zaXRlLW5hdmlnYXRpb24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLmNzc3RyYW5zaXRpb25zIC5maXhib2R5IC5pbm5lci13cmFwcGVyLm9wZW5lZCAub2ZmY2FudmFzLW5hdmlnYXRpb24uZml4bmF2aSAubmF2dG9vZ2xlLXdyYXBwZXIsXG4uY3NzdHJhbnNpdGlvbnMgLmZpeGJvZHkgLmlubmVyLXdyYXBwZXIub3BlbmVkIC5vZmZjYW52YXMtbmF2aWdhdGlvbi5maXhuYXZpIC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG4uY3NzdHJhbnNpdGlvbnMgLmZpeGJvZHkgLmlubmVyLXdyYXBwZXIub3BlbmVkIC5vZmZjYW52YXMtbmF2aWdhdGlvbi5maXhuYXZpIC5jLXNpdGUtbmF2aWdhdGlvbiB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0OyB9XG5cbi5jc3N0cmFuc2l0aW9ucyAuaW5uZXItd3JhcHBlci50cmFuc2Zvcm0uY2xvc2VkIC5jLXNpdGUtaGVhZGVyIC5jLXNpdGUtbmF2aWdhdGlvbiAucnVicmlrLWluZm8ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluLW91dDsgfVxuXG4vKiBcdC0tLS0tLS0tLS0tLVxuIFx0T2ZmIGNhbnZhcyBjbG9zZWRcblx0LS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcbiAgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1My43NGVtKSB7XG4gIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1oZWFkZXItbmF2aWdhdGlvbixcbiAgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLmMtaGVhZGVyLW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5vZmZjYW52YXMtbmF2aWdhdGlvbixcbiAgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLm9mZmNhbnZhcy1uYXZpZ2F0aW9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLW5hdmlnYXRpb24ge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMyU7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiA2MCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLW5hdmlnYXRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzMlO1xuICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgIHdpZHRoOiA3NCU7XG4gICAgcGFkZGluZy1yaWdodDogOSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLW5hdmlnYXRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzYlO1xuICAgIHBhZGRpbmctbGVmdDogMTclO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgzLjc1ZW0pIHtcbiAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5jLXNpdGUtbmF2aWdhdGlvbixcbiAgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLmMtc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00MCU7XG4gICAgbWFyZ2luLXRvcDogLTE0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTElO1xuICAgIHdpZHRoOiA4NyU7IH0gfVxuXG4ubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtc2l0ZS1uYXZpZ2F0aW9uIC5jdXJyZW50X3BhZ2VfYW5jZXN0b3IgPiBhLFxuLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5jLXNpdGUtbmF2aWdhdGlvbiAuY3VycmVudF9wYWdlX2l0ZW0gPiBhLFxuLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5jLXNpdGUtbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSxcbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1zaXRlLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1zaXRlLW5hdmlnYXRpb24gLmFjdGl2ZSA+IGEsXG4jb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9hbmNlc3RvciA+IGEsXG4jb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9pdGVtID4gYSxcbiNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5jLXNpdGUtbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWFuY2VzdG9yID4gYSxcbiNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5jLXNpdGUtbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLmMtc2l0ZS1uYXZpZ2F0aW9uIC5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICNmMWE5NDg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zY3JvbGwtbmF2aWdhdGlvbiA+IGxpLFxuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGksXG4gICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbiA+IGxpLFxuICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLnNjcm9sbC1uYXZpZ2F0aW9uID4gbGksXG4gIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSxcbiAgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uID4gbGksXG4gICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuc2Nyb2xsLW5hdmlnYXRpb24gPiBsaSxcbiAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpIGEsXG4gICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5zY3JvbGwtbmF2aWdhdGlvbiA+IGxpLFxuICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSBhIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBjb2xvcjogIzEyMTgyZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YxYTk0OCA2MCUsIHRyYW5zcGFyZW50IDQwJSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLnNjcm9sbC1uYXZpZ2F0aW9uID4gbGk6aG92ZXIsXG4gIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaSBhOmhvdmVyLFxuICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuc2Nyb2xsLW5hdmlnYXRpb24gPiBsaTpob3ZlcixcbiAgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkgYTpob3ZlciB7XG4gICAgY29sb3I6ICNmMWE5NDg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YxYTk0OCA2MCUsIHRyYW5zcGFyZW50IDQwJSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtc2l0ZS1uYXZpZ2F0aW9uID4gbGkgdWwsXG4gICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpIHVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOmZpcnN0LWNoaWxkIGEsXG4gICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOmZpcnN0LWNoaWxkIGEge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5zY3JvbGwtbmF2aWdhdGlvbiA+IGxpOmxhc3QtY2hpbGQgYSxcbiAgLm5vLWpzICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpOmxhc3QtY2hpbGQgYSxcbiAgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWQgLnNjcm9sbC1uYXZpZ2F0aW9uID4gbGk6bGFzdC1jaGlsZCBhLFxuICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLW5hdmlnYXRpb24gPiBsaTpsYXN0LWNoaWxkIGEge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1zaXRlLWhlYWRlcixcbiNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5jLXNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDVlbSkge1xuICAgIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1zaXRlLWhlYWRlcixcbiAgICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLWhlYWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxNjAwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAgIC5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1zaXRlLWhlYWRlciAubmF2LmJ1dHRvbi5jbG9zZSxcbiAgICAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZCAuYy1zaXRlLWhlYWRlciAubmF2LmJ1dHRvbi5jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNzc3RyYW5zaXRpb25zICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkIC5jLXNpdGUtbmF2aWdhdGlvbiA+IGxpIGEge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1zaXplIC4zcyBlYXNlLWluLW91dCwgY29sb3IgLjJzIGVhc2UtaW4tb3V0OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBGb3JtXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubm8tanMgLmpzZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmpzIC5ub2pzZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmMtdGV4dC1ibG9jayBmb3JtIHVsIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5jLXRleHQtYmxvY2sgZm9ybSB1bCBsaTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnBvc3QtcGFzc3dvcmQtZm9ybSBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMmVtOyB9XG4gIC5wb3N0LXBhc3N3b3JkLWZvcm0gLnN1Ym1pdC1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMy43NWVtO1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBvc3QtcGFzc3dvcmQtZm9ybSAuc3VibWl0LWJ1dHRvbjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMHB4LCAwKTsgfVxuICAgIC5wb3N0LXBhc3N3b3JkLWZvcm0gLnN1Ym1pdC1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3N0LXBhc3N3b3JkLWZvcm0gLnN1Ym1pdC1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zdC1wYXNzd29yZC1mb3JtIC5zdWJtaXQtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogc29saWQgMnB4ICNmMWE5NDg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMzBweDsgfVxuICAgIC5wb3N0LXBhc3N3b3JkLWZvcm0gLnN1Ym1pdC1idXR0b246YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXBwL3RoZW1lcy93ZXJvc29mdC9hc3NldHMvaW1nL3Nwcml0ZS5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICB0b3A6IDI4JTtcbiAgICAgIHdpZHRoOiAxNnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gICAgICAgIC5wb3N0LXBhc3N3b3JkLWZvcm0gLnN1Ym1pdC1idXR0b246YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDIyJTsgfSB9XG4gIC5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiA1MCU7IH1cbiAgLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjZjFhOTQ4OyB9XG5cbmZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuZm9ybSBpbnB1dFt0eXBlPSd0ZWwnXSxcbmZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSxcbmZvcm0gaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG5mb3JtIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5mb3JtIHNlbGVjdCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMxMjE4MmQ7XG4gIHBhZGRpbmc6IC41ZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgZm9ybSBpbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMsXG4gIGZvcm0gaW5wdXRbdHlwZT0ndGVsJ106Zm9jdXMsXG4gIGZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXTpmb2N1cyxcbiAgZm9ybSBpbnB1dFt0eXBlPSdudW1iZXInXTpmb2N1cyxcbiAgZm9ybSBpbnB1dFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLFxuICBmb3JtIHNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4OyB9XG5cbmZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuZm9ybSBpbnB1dFt0eXBlPSd0ZWwnXSxcbmZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSxcbmZvcm0gaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG5mb3JtIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmZvcm0gaW5wdXQsXG5mb3JtIHNlbGVjdCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgZm9ybSBpbnB1dDpmb2N1cyxcbiAgZm9ybSBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuZm9ybSB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmMtYmctZGFyayBmb3JtIGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyxcbi5jLWJnLWRhcmsgZm9ybSBpbnB1dFt0eXBlPSd0ZWwnXTpmb2N1cyxcbi5jLWJnLWRhcmsgZm9ybSBpbnB1dFt0eXBlPSdlbWFpbCddOmZvY3VzLFxuLmMtYmctZGFyayBmb3JtIGlucHV0W3R5cGU9J251bWJlciddOmZvY3VzLFxuLmMtYmctZGFyayBmb3JtIHNlbGVjdDpmb2N1cyxcbi5jLXRleHQtaGlnaGxpZ2h0IGZvcm0gaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzLFxuLmMtdGV4dC1oaWdobGlnaHQgZm9ybSBpbnB1dFt0eXBlPSd0ZWwnXTpmb2N1cyxcbi5jLXRleHQtaGlnaGxpZ2h0IGZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXTpmb2N1cyxcbi5jLXRleHQtaGlnaGxpZ2h0IGZvcm0gaW5wdXRbdHlwZT0nbnVtYmVyJ106Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCBmb3JtIHNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuXG4uYy1iZy1kYXJrIGZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuLmMtYmctZGFyayBmb3JtIGlucHV0W3R5cGU9J3RlbCddLFxuLmMtYmctZGFyayBmb3JtIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4uYy1iZy1kYXJrIGZvcm0gaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4uYy1iZy1kYXJrIGZvcm0gc2VsZWN0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuYy1iZy1kYXJrIGZvcm0gaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzLFxuICAuYy1iZy1kYXJrIGZvcm0gaW5wdXRbdHlwZT0ndGVsJ106Zm9jdXMsXG4gIC5jLWJnLWRhcmsgZm9ybSBpbnB1dFt0eXBlPSdlbWFpbCddOmZvY3VzLFxuICAuYy1iZy1kYXJrIGZvcm0gaW5wdXRbdHlwZT0nbnVtYmVyJ106Zm9jdXMsXG4gIC5jLWJnLWRhcmsgZm9ybSBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2YxYTk0ODsgfVxuXG4uZ2ZpZWxkX2xhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjJlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuaW5zdHJ1Y3Rpb24ge1xuICBtYXJnaW4tdG9wOiAwLjJlbTsgfVxuXG4uZ3NlY3Rpb25fdGl0bGUge1xuICBjb2xvcjogIzVFNUU1RTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmdmb3JtX2Zvb3RlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjZjFhOTQ4OyB9XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5nZm9ybV9mb290ZXIgLmdmb3JtX2J1dHRvbi5idXR0b24ge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIgLmdmaWVsZCxcbi5nZm9ybV93cmFwcGVyIC5nZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIgLmdmaWVsZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciAuZGl2aWRlci1saXN0LWl0ZW0sXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIgbGlbY2xhc3MqPVwiY29sdW1uLWNvdW50LVwiXSxcbi5nZm9ybV93cmFwcGVyIC5kaXZpZGVyLWxpc3QtaXRlbSxcbi5nZm9ybV93cmFwcGVyIGxpW2NsYXNzKj1cImNvbHVtbi1jb3VudC1cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciAuZGl2aWRlci1saXN0LWl0ZW0sXG4gICAgLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIGxpW2NsYXNzKj1cImNvbHVtbi1jb3VudC1cIl0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpdmlkZXItbGlzdC1pdGVtLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpW2NsYXNzKj1cImNvbHVtbi1jb3VudC1cIl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9IH1cbiAgLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIC5kaXZpZGVyLWxpc3QtaXRlbSAuZ2ZpZWxkLFxuICAuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIgbGlbY2xhc3MqPVwiY29sdW1uLWNvdW50LVwiXSAuZ2ZpZWxkLFxuICAuZ2Zvcm1fd3JhcHBlciAuZGl2aWRlci1saXN0LWl0ZW0gLmdmaWVsZCxcbiAgLmdmb3JtX3dyYXBwZXIgbGlbY2xhc3MqPVwiY29sdW1uLWNvdW50LVwiXSAuZ2ZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciAuZGl2aWRlci1saXN0LWl0ZW0gLmdmaWVsZCArIC5nZmllbGQsXG4gIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciBsaVtjbGFzcyo9XCJjb2x1bW4tY291bnQtXCJdIC5nZmllbGQgKyAuZ2ZpZWxkLFxuICAuZ2Zvcm1fd3JhcHBlciAuZGl2aWRlci1saXN0LWl0ZW0gLmdmaWVsZCArIC5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIGxpW2NsYXNzKj1cImNvbHVtbi1jb3VudC1cIl0gLmdmaWVsZCArIC5nZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDEuMmVtOyB9XG5cbi5nZm9ybV9mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMS44NzVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5nZm9ybV9hamF4X3NwaW5uZXIge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZjFhOTQ4OyB9XG5cbi5jLWJnLWRhcmsgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMyODI2MjI7IH1cblxuLmMtYmctbWVkaXVtIC5nZm9ybV9hamF4X3NwaW5uZXIge1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjRjVGM0YzOyB9XG5cbi5nZm9ybV9hamF4X3NwaW5uZXIge1xuICBib3JkZXI6IDAuMjVlbSBzb2xpZCAjZjFhOTQ4O1xuICBib3JkZXItbGVmdDogMC4yNWVtIHNvbGlkICNmZmY7XG4gIGFuaW1hdGlvbjogc3Bpbm5lciAxLjFzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgIC5nZm9ybV9hamF4X3NwaW5uZXIge1xuICAgICAgaGVpZ2h0OiAzMXB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgd2lkdGg6IDMxcHggIWltcG9ydGFudDsgfSB9XG5cbkBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNoZWNrYm94IC5nZmllbGRfbGFiZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaGVja2JveCAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDNlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hlY2tib3ggLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogM2VtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIC5ib3g6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMTIxODJkO1xuICAgIGhlaWdodDogMmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDJlbTtcbiAgICB0b3A6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIC5ib3g6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwLjJlbTsgfSB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCAuYm94OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2Q4MGMwYzsgfVxuXG4uYy1iZy1tZWRpdW0gdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIC5ib3g6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjNGMzsgfVxuXG4uYy1iZy1kYXJrIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCAuYm94OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODI2MjI7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuXG4uYy1iZy1kYXJrIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsIC5jLWJnLWRhcmsgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5jLXRleHQtaGlnaGxpZ2h0IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCAuYm94OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWE5NDg7IH1cblxuLmMtdGV4dC1oaWdobGlnaHQgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlciwgLmMtdGV4dC1oaWdobGlnaHQgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIxODJkOyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjE4MmQ7XG4gIHRvcDogMS4xZW07XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgaGVpZ2h0OiAuMTRlbTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLjFlbTtcbiAgd2lkdGg6IC41ZW07XG4gIHotaW5kZXg6IDIwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IC4xNGVtO1xuICAgICAgbWFyZ2luLXRvcDogLjIyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogLjFlbTtcbiAgICAgIG1hcmdpbi10b3A6IC40ZW07IH0gfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogLS4yZW07XG4gIG1hcmdpbi1sZWZ0OiAuNTZlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTUwZGVnKTtcbiAgd2lkdGg6IDEuM2VtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0uMTRlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAuMWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC41NmVtOyB9IH1cblxuLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogLjM2ZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC4zOGVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLjQyZW07IH0gfVxuXG4vKlxuLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWx7XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZvcm1JbnB1dEJvcmRlckNvbG9yZm9jdXMpO1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGZvcm1JbnB1dEJvcmRlckNvbG9yKTtcbiAgICB9XG59Ki9cbi5nZm9ybV93cmFwcGVyIHNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdDphZnRlciwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIHotaW5kZXg6IDIwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdDphZnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciwgYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyLCBib2R5IC5nZm9ybV93cmFwcGVyIGxpLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyLCBib2R5IC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5mb3JtLWVycm9yIHtcbiAgY29sb3I6ICNkODBjMGM7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5mb3JtLWVycm9yIGEge1xuICAgIGNvbG9yOiAjZDgwYzBjOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT0ndGV4dCddLFxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPSd0ZWwnXSxcbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT0nZW1haWwnXSxcbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Igc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIGlucHV0W3R5cGU9J3RleHQnXSxcbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmcgaW5wdXRbdHlwZT0ndGVsJ10sXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIHNlbGVjdCB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZDgwYzBjOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkX2Vycm9yIHVsLmdmaWVsZF9yYWRpbyB7XG4gIGNvbG9yOiAjZDgwYzBjOyB9XG5cbi5nZm9ybV93cmFwcGVyIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBjb2xvcjogI2Q4MGMwYztcbiAgZm9udC1zaXplOiA5MCU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDAuMmVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBMaWdodGJveFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudHNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UgUHJvamVjdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMxMjE4MmQ7XG4gIGZvbnQtZmFtaWx5OiBcIkhLIEdyb3Rlc2tcIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogbGlua3MgKi9cbmEsXG5hOnZpc2l0ZWQsXG5hOmZvY3VzLFxuYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmMWE5NDg7IH1cblxuLmNvbG9yZWQge1xuICBjb2xvcjogI2YxYTk0ODsgfVxuXG4uYy10ZXh0LWhpZ2hsaWdodCAuY29sb3JlZCB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogIzEyMTgyZDsgfVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgaW1nIC8gbWVkaWEgZGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5lbWJlZCxcbm9iamVjdCxcbnZpZGVvLFxuaWZyYW1lLFxuLmMtY29udGVudCBpbWcsXG4uYy1tb2RhbCBpbWcge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYy1jb250ZW50IGltZyxcbi5jLW1vZGFsIGltZyB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uYy1pbWctbWF4LXdpZHRoLFxuLmMtY29udGVudCAuYy1pbWctbWF4LXdpZHRoIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIE1haW4gQ29udGFpbmVyIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaGVhZGVyLFxuLmMtY29udGVudCxcbi5jLWZvb3Rlcixcbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci13aWRlLFxuLmMtZm9vdGVyIC5jLWNvbnRlbnQtbW9kdWwsXG4uYy1jb250ZW50LW1vZHVsLFxuLmMtdmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IGF1dG87IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIFN0YW5kYXJkIFBhZGRpbmcgYmV0d2VlbiBDb21wb25lbnRzXG4gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY29udGVudC1tb2R1bCB7XG4gIHBhZGRpbmctdG9wOiA0ZW07XG4gIHBhZGRpbmctYm90dG9tOiA0ZW07IH1cblxuLmMtYm94IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgcGFkZGluZy10b3A6IDRlbTtcbiAgcGFkZGluZy1ib3R0b206IDRlbTsgfVxuXG4uYy10ZWFzZXItM2NvbC1pdGVtIHtcbiAgcGFkZGluZy10b3A6IDRlbTsgfVxuXG4uYy1jdGEtYmFjayB7XG4gIHBhZGRpbmctYm90dG9tOiA0ZW07IH1cblxuLmMtbmV3cy1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogNGVtOyB9XG5cbi5jLW5ld3MtaXRlbS13aXRoLWltZyAuYy1uZXdzLWl0ZW0tdGV4dCB7XG4gIHBhZGRpbmc6IDQwcHg7IH1cblxuLmMtYm94LWJvcmRlciAuYy1yb3cge1xuICBtaW4taGVpZ2h0OiBjYWxjKDUwdmggLSAxMS4xODc1ZW0pOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmMtYm94LWJvcmRlciAuYy1yb3cge1xuICAgICAgbWluLWhlaWdodDogY2FsYyg1MHZoIC0gMTMuODEyNWVtKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmMtYm94LWJvcmRlciAuYy1yb3cge1xuICAgICAgbWluLWhlaWdodDogY2FsYyg1MHZoIC0gMTguNTYyNWVtKTsgfSB9XG5cbi5qcyAuYy1ib3gtYm9yZGVyIC5jLXJvdyB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogNTApIC0gMTEuMTg3NWVtKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5qcyAuYy1ib3gtYm9yZGVyIC5jLXJvdyB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDUwKSAtIDEzLjgxMjVlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5qcyAuYy1ib3gtYm9yZGVyIC5jLXJvdyB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDUwKSAtIDE4LjU2MjVlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gICAgLmpzIC5jLWJveC1ib3JkZXIgLmMtcm93IHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogNTApIC0gMTcuMjVlbSk7IH0gfVxuXG4uYy1zaG93cm9vbSAuYy1yb3cge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gOC44MTI1ZW0pO1xuICBwYWRkaW5nLWJvdHRvbTogNWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1MDBweCkgYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLmMtc2hvd3Jvb20gLmMtcm93IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjRlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiA1MDBweCkgYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gICAgLmMtc2hvd3Jvb20gLmMtcm93IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjRlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiA1MDBweCkgYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgLmMtc2hvd3Jvb20gLmMtcm93IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodDogNjgwcHgpIGFuZCAobWluLXdpZHRoOiAzMjBweCkge1xuICAgIC5jLXNob3dyb29tIC5jLXJvdyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDY4MHB4KSBhbmQgKG1pbi13aWR0aDogNDQwcHgpIHtcbiAgICAuYy1zaG93cm9vbSAuYy1yb3cge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmMtc2hvd3Jvb20gLmMtcm93IHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMS4xODc1ZW0pOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYy1zaG93cm9vbSAuYy1yb3cge1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDEzLjgxMjVlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jLXNob3dyb29tIC5jLXJvdyB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTguNTYyNWVtKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuYy1zaG93cm9vbSAuYy1yb3cge1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDE3LjI1ZW0pOyB9IH1cblxuLmpzIC5jLXNob3dyb29tIC5jLXJvdyB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogMTAwKSAtIDguODEyNWVtKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmpzIC5jLXNob3dyb29tIC5jLXJvdyB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDEwMCkgLSAxMS4xODc1ZW0pOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuanMgLmMtc2hvd3Jvb20gLmMtcm93IHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogMTAwKSAtIDEzLjgxMjVlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5qcyAuYy1zaG93cm9vbSAuYy1yb3cge1xuICAgICAgbWluLWhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApIC0gMTguNTYyNWVtKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuanMgLmMtc2hvd3Jvb20gLmMtcm93IHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogMTAwKSAtIDE3LjI1ZW0pOyB9IH1cblxuLmMtaGVybyAuYy1yb3cge1xuICBtaW4taGVpZ2h0OiBjYWxjKDcwdmggLSAxMS4xODc1ZW0pOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmMtaGVybyAuYy1yb3cge1xuICAgICAgbWluLWhlaWdodDogY2FsYyg2MHZoIC0gMTMuODEyNWVtKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmMtaGVybyAuYy1yb3cge1xuICAgICAgbWluLWhlaWdodDogY2FsYyg2MHZoIC0gMTguNTYyNWVtKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuYy1oZXJvIC5jLXJvdyB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDYwdmggLSAxNy4yNWVtKTsgfSB9XG5cbi5qcyAuYy1oZXJvIC5jLXJvdyB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogNzApIC0gOGVtKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5qcyAuYy1oZXJvIC5jLXJvdyB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDYwKSAtIDEzLjgxMjVlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5qcyAuYy1oZXJvIC5jLXJvdyB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDYwKSAtIDE4LjU2MjVlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gICAgLmpzIC5jLWhlcm8gLmMtcm93IHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogNjApIC0gMTcuMjVlbSk7IH0gfVxuXG4uYy1iZy1saWdodCArIC5jLWJnLWxpZ2h0LFxuLmMtYmctbWVkaXVtICsgLmMtYmctbWVkaXVtLFxuLmMtYmctZGFyayArIC5jLWJnLWRhcmssXG4uYy1iZy1oaWdobGlnaHQgKyAuYy1iZy1oaWdobGlnaHQsXG4uYmVpdHJhZ3NkZXRhaWwgYnIgKyAuYy1iZy1saWdodCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBTcGFjaW5nIEJsb2dcbiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmVpdHJhZ3NkZXRhaWwge1xuICAtLXNwYWNpbmctYmxvZzogNHJlbTsgfVxuXG4uYmVpdHJhZ3NkZXRhaWwgYnIgKyAuYy1iZy1saWdodCB7XG4gIG1hcmdpbi10b3A6IC0xLjZlbTsgfVxuXG4uYmVpdHJhZ3NkZXRhaWwgLmMtY29sLTYsXG4uYmVpdHJhZ3NkZXRhaWwgLmMtY29sLTgge1xuICAvKmJvcmRlcjogc29saWQgMXB4IHJlZDsqLyB9XG5cbi5iZWl0cmFnc2RldGFpbCAuYy1tZWRpYSArIGgyIHtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWJsb2cpICFpbXBvcnRhbnQ7IH1cblxuLmJlaXRyYWdzZGV0YWlsIC5jLWNvbnRlbnQtbW9kdWwge1xuICBwYWRkaW5nLWJvdHRvbTogM2VtO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1ibG9nKTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5iZWl0cmFnc2RldGFpbCB7XG4gICAgLS1zcGFjaW5nLWJsb2c6IDIuNmVtOyB9XG4gIC5iZWl0cmFnc2RldGFpbCAuYy1pbWctMmNvbCAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctYmxvZyk7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgU3RhbmRhcmQgR3JpZCBEZWNsYXJhdGlvblxuICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4uYy1yb3cge1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jLXJvdy1qdXN0aWZ5LWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmMtcm93LWp1c3RpZnktY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmMtcm93LWp1c3RpZnktcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5jLXJvdy1qdXN0aWZ5LWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5jLXJvdy1qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmMtcm93LWFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5jLXJvdy1hbGlnbi1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5jLXJvdy1hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmMtY29sLTEsXG4uYy1jb2wtMixcbi5jLWNvbC0zLFxuLmMtY29sLTQsXG4uYy1jb2wtNSxcbi5jLWNvbC02LFxuLmMtY29sLTcsXG4uYy1jb2wtOCxcbi5jLWNvbC05LFxuLmMtY29sLTEwLFxuLmMtY29sLTExLFxuLmMtY29sLTEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG4uYy1jb2wtMTIge1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAtbXMtZmxleDogMCAwIDEwMCU7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmMtY29sLTExIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmMtY29sLTEwIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmMtY29sLTkge1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMCA3NSU7XG4gIC1tcy1mbGV4OiAwIDAgNzUlO1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uYy1jb2wtOCB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5jLWNvbC03IHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmMtY29sLTYge1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gIC1tcy1mbGV4OiAwIDAgNTAlO1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uYy1jb2wtNSB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5jLWNvbC00IHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmMtY29sLTMge1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7XG4gIC1tcy1mbGV4OiAwIDAgMjUlO1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uYy1jb2wtMiB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5jLWNvbC0xIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4vKiBvZmZzZXQgY29scyAqL1xuLmMtY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzJTsgfVxuXG4uYy1jb2wtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY3JTsgfVxuXG4uYy1jb2wtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5jLWNvbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMlOyB9XG5cbi5jLWNvbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjclOyB9XG5cbi5jLWNvbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmMtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7IH1cblxuLmMtY29sLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NyU7IH1cblxuLmMtY29sLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uYy1jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7IH1cblxuLmMtY29sLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjclOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBHcmlkIFZhcmlhbnRlblxuICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZvb3RlciAuYy1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmMtcm93LWZvb3RlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbi5jLWZvb3Rlci1tYWluLFxuLmMtZm9vdGVyLW1lbWJlciB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4uYy10aXRsZS1sZWZ0IC5jLWNvbC04IHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmMtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5oMSxcbi5jLWgxLFxuLmMtc3VidGl0bGUtYmlnIHtcbiAgcGFkZGluZy1ib3R0b206IC4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuaDIsXG4uYy1oMiB7XG4gIHBhZGRpbmctYm90dG9tOiAuNGVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuaDMsXG4uYy1oMyB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZy1ib3R0b206IC40ZW07IH1cblxuaDQsXG4uYy1oNCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcGFkZGluZy1ib3R0b206IC40ZW07IH1cblxuaDUsXG4uYy1oNSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjVlbTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgIEJhc2ljIFRleHQgQ29udGVudFxuXHQgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1jb250ZW50LFxuLmMtbW9kYWwsXG4uYy1mb290ZXIsXG5idXR0b24ge1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5jLXRleHQtYmxvY2sgcCxcbi5jLW1vZGFsLWRpYWxvZyBwIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNmVtOyB9XG5cbi5iZWl0cmFnc2RldGFpbCAuYy10ZXh0LWJsb2NrIHA6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5jLWxlYWQsXG4uYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG4uYy10ZXh0LWJpZyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmMtbGVhZCxcbi5jLXRleHQtYmxvY2sgLmMtbGVhZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjJlbTsgfVxuXG4uYy1sZWFkLWJpZyB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5jLWxlYWQtYmlnLFxuLmMtdGV4dC1ibG9jayAuYy1sZWFkLWJpZyB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjhlbTsgfVxuXG4uYy1jYXB0aW9uLFxuLmMtc3VidGl0bGUsXG4uYy1zdWJ0aXRsZS1iaWcge1xuICBjb2xvcjogI2YxYTk0ODtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmMtZGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgY29sb3I6ICMxMjE4MmQ7IH1cblxuLmMtY2FwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uYy1zdWJ0aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMWVtOyB9XG5cbi5jLWZvb3RlciAuYy1zdWJ0aXRsZSxcbi5jLXRlYXNlci0zY29sIC5jLXN1YnRpdGxlIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNWVtOyB9XG5cbi5jLXN1YnRpdGxlLWJpZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1jYXB0aW9uLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtc3VidGl0bGUsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1zdWJ0aXRsZS1iaWcsXG4uYy10ZXh0LWxpZ2h0IC5jLWRhdGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uYy10ZXh0LWhpZ2hsaWdodCBoMixcbi5jLXRleHQtaGlnaGxpZ2h0IHAge1xuICBjb2xvcjogIzEyMTgyZDsgfVxuXG4uYy1mb290ZXIsXG4uYy10ZXh0LXNtYWxsIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5jLWJvZHl0ZXh0IHtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCAgQmFzaWMgTGlzdHMgQ29udGVudFxuXHQgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10ZXh0LWJsb2NrIHVsIHtcbiAgbWFyZ2luOiAwIDAgMS42ZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLmMtdGV4dC1ibG9jayB1bCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjdlbTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjE4MmQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uYy10ZXh0LWxpZ2h0IHVsIGxpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5jLXRleHQtYmxvY2sgLmMtbGlzdC1uby1idWxsZXQsXG4uYy1saXN0LW5vLWJ1bGxldCxcbi5jLWxpc3Qtc3BlY2lhbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uYy10ZXh0LWJsb2NrIG9sIHtcbiAgbWFyZ2luOiAwIDAgMS42ZW0gMDtcbiAgcGFkZGluZzogMCAwIDAgMjVweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgTGlzdCBTcGVjaWFsLCBMaXN0IEV2ZW50aW5mb1xuXHQgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10ZXh0LWJsb2NrIC5jLWxpc3Qtc3BlY2lhbCBsaSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpc3Qtc3BlY2lhbCBsaTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYy1saXN0LXNwZWNpYWwsXG4uYy1saXN0LWV2ZW50aW5mbyB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjMTIxODJkOyB9XG5cbi5jLWxpc3Qtc3BlY2lhbCBsaSB7XG4gIHBhZGRpbmctdG9wOiAxZW07XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMTIxODJkOyB9XG5cbi5jLWxpc3QtZXZlbnRpbmZvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uYy1saXN0LWV2ZW50aW5mbyBkdCxcbi5jLWxpc3QtZXZlbnRpbmZvIGRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXRvcDogMWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzEyMTgyZDsgfVxuXG4uYy1saXN0LWV2ZW50aW5mbyBkdCB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uYy1saXN0LWV2ZW50aW5mbyBkZCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLmMtdGV4dC1saWdodCAuYy1saXN0LXNwZWNpYWwsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpc3Qtc3BlY2lhbCBsaSxcbi5jLXRleHQtbGlnaHQgLmMtbGlzdC1ldmVudGluZm8sXG4uYy10ZXh0LWxpZ2h0IC5jLWxpc3QtZXZlbnRpbmZvIGR0LFxuLmMtdGV4dC1saWdodCAuYy1saXN0LWV2ZW50aW5mbyBkZCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCAgUXVvdGVcblx0ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDEuNGVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2YxYTk0ODsgfVxuXG4uYy10ZXh0LWhpZ2hsaWdodCBibG9ja3F1b3RlIGNpdGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgIFRleHQgaGVscGVyc1xuXHQgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmMtdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmMtdGV4dC1saWdodCB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCAgVGV4dCBzaXplcyByZXNwb25zaXZlXG5cdCAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gIGJvZHksXG4gIC5jLWJvZHl0ZXh0IHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgaDUsXG4gIC5jLWg1IHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLmMtbGluay1hcnJvdyAuYy1saW5rLWFycm93LWljb24ge1xuICAgIHRvcDogLTAuMmVtOyB9XG4gIC5jLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gIGgxLCAuYy1oMSxcbiAgLmMtc3VidGl0bGUtYmlnIHtcbiAgICBmb250LXNpemU6IDQ0cHg7IH1cbiAgaDIsIC5jLWgyIHtcbiAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgaDMsIC5jLWgzLFxuICAuYy1sZWFkLFxuICAuYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG4gIC5jLXRleHQtYmlnLFxuICAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5jLWxlYWQtYmlnLFxuICAuYy10ZXh0LWJsb2NrIC5jLWxlYWQtYmlnIHtcbiAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGgxLCAuYy1oMSxcbiAgLmMtc3VidGl0bGUtYmlnIHtcbiAgICBmb250LXNpemU6IDQwcHg7IH1cbiAgaDIsIC5jLWgyIHtcbiAgICBmb250LXNpemU6IDMycHg7IH1cbiAgLmMtbGVhZCxcbiAgLmMtdGV4dC1ibG9jayAuYy1sZWFkIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLmMtbGVhZC1iaWcsXG4gIC5jLXRleHQtYmxvY2sgLmMtbGVhZC1iaWcsXG4gIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcbiAgICBmb250LXNpemU6IDIycHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIGgxLCAuYy1oMSxcbiAgLmMtc3VidGl0bGUtYmlnIHtcbiAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgaDIsIC5jLWgyIHtcbiAgICBmb250LXNpemU6IDI4cHg7IH1cbiAgLmMtbGVhZC1iaWcsXG4gIC5jLXRleHQtYmxvY2sgLmMtbGVhZC1iaWcsXG4gIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWFpbm5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW1haW4tbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjNGMzsgfVxuXG4uYy1tYWluLW5hdi1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jLW1haW4tbmF2LWxpc3QgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmMtbWFpbi1uYXYtbGlzdCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNWVtIDIwcHggMC41ZW0gMDsgfVxuXG4uYy1tYWluLW5hdi1saXN0IGEsXG4uYy1tYWluLW5hdi1saXN0IGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMTIxODJkOyB9XG5cbi5jLW1haW4tbmF2LWxpc3QgYTpob3Zlcixcbi5jLW1haW4tbmF2LWxpc3QgLmMtYWN0aXZlIGEge1xuICBjb2xvcjogI2YxYTk0ODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmV3c2ZpbHRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZpbHRlci1uZXdzLWxpc3QtdGl0bGUge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZm9vdGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYy1mb290ZXItbmF2LWxpc3QsXG4uYy1mb290ZXItbmF2LWxpc3QgdWwsXG4uYy1mb290ZXItc29jaWFsLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmMtZm9vdGVyLW5hdi1saXN0IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uYy1mb290ZXItbmF2LWxpc3QgPiBsaSB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi5jLWZvb3Rlci1zb2NpYWwge1xuICBwYWRkaW5nLXRvcDogM2VtOyB9XG5cbi5jLWZvb3Rlci1zb2NpYWwtbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4uYy1mb290ZXIgLmMtbG9nb3MtbGlzdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmMtZm9vdGVyIC5jLWxvZ29zLWxpc3Q6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiAzZW07IH1cblxuLmMtZm9vdGVyIC5jLWxvZ29zLWxpc3QgbGkge1xuICB3aWR0aDogNDclOyB9XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDJlbSAwIDFlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzEyMTgyZDsgfVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogbm9uZTsgfVxuXG4uYy1mb290ZXItZGlzY2xhaW1lciBhLFxuLmMtZm9vdGVyLWRpc2NsYWltZXIgYTp2aXNpdGVkLFxuLmMtZm9vdGVyLWRpc2NsYWltZXIgYTpmb2N1cyxcbi5jLWZvb3Rlci1kaXNjbGFpbWVyIGE6aG92ZXIge1xuICBjb2xvcjogIzEyMTgyZDsgfVxuXG4uYy1mb290ZXItZGlzY2xhaW1lciAuY3VycmVudC1tZW51LWl0ZW0gYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIG9wdGlvbmFsIHN0eWxlcyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyB0cmlnZ2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtb2ZmY2FudmFzLXRyaWdnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgcmlnaHQ6IDMwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuYy1vZmZjYW52YXMtdHJpZ2dlciBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IDdweCAwcHggN3B4IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjE4MmQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuYy1vZmZjYW52YXMtdHJpZ2dlciBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuYy1vZmZjYW52YXMtdHJpZ2dlciBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXI6Zm9jdXMsXG4uYy1vZmZjYW52YXMtdHJpZ2dlcjpob3ZlciB7XG4gIGFuaW1hdGlvbjogcHVsc2UgMC44cyBpbmZpbml0ZTsgfVxuICAuYy1vZmZjYW52YXMtdHJpZ2dlcjpmb2N1cyBzcGFuLFxuICAuYy1vZmZjYW52YXMtdHJpZ2dlcjpob3ZlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFhOTQ4OyB9XG5cbiNjLW9mZmNhbnZhc1t0eXBlPWNoZWNrYm94XSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qJjpjaGVja2VkIH4gZGl2LmMtb2ZmY2FudmFzLWRpYWxvZyB7XG5cdFx0cmlnaHQ6IDBweDtcblx0fVxuXHQmOmNoZWNrZWQgfiAuYy1oZWFkZXIge1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiAxMDtcblx0fVx0Ki9cbiAgLyomOmNoZWNrZWQgfiAuYy1jb250ZW50IHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0XG5cdCY6Y2hlY2tlZCB+IC5jLWZvb3RlciB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRoZWlnaHQ6IDA7XG5cdH0qLyB9XG4gICNjLW9mZmNhbnZhc1t0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmMtaGVhZGVyIC5jLW9mZmNhbnZhcy10cmlnZ2VyIHNwYW46bnRoLWNoaWxkKDEpLFxuICAjYy1vZmZjYW52YXNbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IC5jLWhlYWRlciAuYy1vZmZjYW52YXMtdHJpZ2dlciBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogLTJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgI2Mtb2ZmY2FudmFzW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuYy1oZWFkZXIgLmMtb2ZmY2FudmFzLXRyaWdnZXIgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2Mtb2ZmY2FudmFzW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuYy1oZWFkZXIgLmMtb2ZmY2FudmFzLXRyaWdnZXIgc3BhbjpudGgtY2hpbGQoMykge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29udGVudGVsZW1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogc21hbGwgZWxlbWVudHMgdGhhdCBkb24ndCBuZWVkIHRoZWlyIG93biAuc2NzcyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWJnLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYy1iZy1tZWRpdW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGM0YzOyB9XG5cbi5jLWJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgyNjIyOyB9XG5cbi5jLWJnLWhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWE5NDg7IH1cblxuLmMtYm9yZGVyLWxpZ2h0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG5cbi5jLWJvcmRlci1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTIxODJkOyB9XG5cbi5jLWJvcmRlci1oaWdobGlnaHQge1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgVGV4dCBpbWdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1pbWctY29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBCb3ggQm9yZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYm94LWJvcmRlciB7XG4gIGJvcmRlci13aWR0aDogM3B4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNob3dyb29tIC8gVGVhc2VyIEJpZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXN1YnRpdGxlLWxvZ28sXG4uYy1xdW90ZS1sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMS42ZW07IH1cblxuLmMtc3VidGl0bGUtbG9nbyB7XG4gIHdpZHRoOiA3MHB4OyB9XG5cbi5jLXNob3dyb29tLXZpZGVvLFxuLmMtc2hvd3Jvb20taW1nLFxuLmMtc2hvd3Jvb20tb3ZlcmxheSxcbi5jLW5ld3MtaXRlbS1pbWcsXG4uYy1uZXdzLWl0ZW0tb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jLXNob3dyb29tLWltZyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5jLXNob3dyb29tLWltZy5oaWRlLWltYWdlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5uby1qcyAuYy1zaG93cm9vbS12aWRlbyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmMtc2hvd3Jvb20tdmlkZW8ge1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dDsgfVxuICAuYy1zaG93cm9vbS12aWRlby5zaG93LXZpZGVvIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jLXNob3dyb29tLXZpZGVvIGlmcmFtZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uYy1zaG93cm9vbS1vdmVybGF5LFxuLmMtbmV3cy1pdGVtLW92ZXJsYXksXG4uYy1saW5rLXZpZGVvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5qcyAuYy1zaG93cm9vbS1pbWcuY29tcGF0LW9iamVjdC1maXQsXG4uanMgLmMtbmV3cy1pdGVtLWltZy5jb21wYXQtb2JqZWN0LWZpdCxcbi5uby1qcyAuYy1zaG93cm9vbS1pbWcuY29tcGF0LW9iamVjdC1maXQsXG4ubm8tanMgLmMtbmV3cy1pdGVtLWltZy5jb21wYXQtb2JqZWN0LWZpdCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cbiAgLmpzIC5jLXNob3dyb29tLWltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcsXG4gIC5qcyAuYy1zaG93cm9vbS1pbWcuY29tcGF0LW9iamVjdC1maXQgaW1nLmxvYWRlZCxcbiAgLmpzIC5jLXNob3dyb29tLWltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcubGF6eWxvYWRlZCxcbiAgLmpzIC5jLW5ld3MtaXRlbS1pbWcuY29tcGF0LW9iamVjdC1maXQgaW1nLFxuICAuanMgLmMtbmV3cy1pdGVtLWltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcubG9hZGVkLFxuICAuanMgLmMtbmV3cy1pdGVtLWltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcubGF6eWxvYWRlZCxcbiAgLm5vLWpzIC5jLXNob3dyb29tLWltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcsXG4gIC5uby1qcyAuYy1zaG93cm9vbS1pbWcuY29tcGF0LW9iamVjdC1maXQgaW1nLmxvYWRlZCxcbiAgLm5vLWpzIC5jLXNob3dyb29tLWltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcubGF6eWxvYWRlZCxcbiAgLm5vLWpzIC5jLW5ld3MtaXRlbS1pbWcuY29tcGF0LW9iamVjdC1maXQgaW1nLFxuICAubm8tanMgLmMtbmV3cy1pdGVtLWltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcubG9hZGVkLFxuICAubm8tanMgLmMtbmV3cy1pdGVtLWltZy5jb21wYXQtb2JqZWN0LWZpdCBpbWcubGF6eWxvYWRlZCB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4uanMgLmMtc2hvd3Jvb20taW1nIGltZyxcbi5qcyAuYy1zaG93cm9vbS1pbWcgaW1nLmxvYWRlZCxcbi5qcyAuYy1zaG93cm9vbS1pbWcgaW1nLmxhenlsb2FkZWQsXG4uanMgLmMtbmV3cy1pdGVtLWltZyBpbWcsXG4uanMgLmMtbmV3cy1pdGVtLWltZyBpbWcubG9hZGVkLFxuLmpzIC5jLW5ld3MtaXRlbS1pbWcgaW1nLmxhenlsb2FkZWQsXG4ubm8tanMgLmMtc2hvd3Jvb20taW1nIGltZyxcbi5uby1qcyAuYy1zaG93cm9vbS1pbWcgaW1nLmxvYWRlZCxcbi5uby1qcyAuYy1zaG93cm9vbS1pbWcgaW1nLmxhenlsb2FkZWQsXG4ubm8tanMgLmMtbmV3cy1pdGVtLWltZyBpbWcsXG4ubm8tanMgLmMtbmV3cy1pdGVtLWltZyBpbWcubG9hZGVkLFxuLm5vLWpzIC5jLW5ld3MtaXRlbS1pbWcgaW1nLmxhenlsb2FkZWQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4uYy1zaG93cm9vbS1zbWFsbCAuYy1zaG93cm9vbS1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBzaG93cm9vbSBubyBpbWFnZSAqL1xuLmMtc2hvd3Jvb20tbm8taW1hZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmMtc2hvd3Jvb20tbm8taW1hZ2UgLmMtcm93IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgTmV3cyBUZWFzZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1uZXdzLWl0ZW0td2l0aC1pbWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuLmMtbmV3cy1pdGVtLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtbmV3cy1pdGVtLXdpdGgtaW1nIC5jLW5ld3MtaXRlbS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgUHJvZHVjdCBUZWFzZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1wcm9kdWN0cy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5jLXByb2R1Y3RzLWxpc3QgbGkge1xuICBwYWRkaW5nOiAyLjZlbSA1cHg7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5jLXByb2R1Y3RzLXRlYXNlciAuYy1zdWJ0aXRsZS1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAxZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgTmV3cyBGaWx0ZXIgLyBMb2dvIGxpc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1maWx0ZXItbmV3cy1saXN0LFxuLmMtbG9nb3MtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jLWZpbHRlciArIC5jLWZpbHRlciB7XG4gIHBhZGRpbmctdG9wOiAxLjFlbTsgfVxuXG4uYy1maWx0ZXItbmV3cy1saXN0IGxpLFxuLmMtbG9nb3MtbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC41ZW0gOHB4OyB9XG5cbi5jLWxvZ29zLWxpc3QgbGkge1xuICB3aWR0aDogMjMuNSU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRG93bmxvYWQgSW5mb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW5ld3MtaXRlbS1saW5rIC5pbmZvLFxuLmMtbGlzdC1zcGVjaWFsIC5pbmZvIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1hcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYXAtd3JhcHBlciAuaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWFwLXdyYXBwZXIgLm1hcGltYWdlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uanMgLm1hcC13cmFwcGVyIC5lbmhhbmNlZC1tYXAge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG5cbi5uby1qcyAubWFwLXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5uby1qcyAubWFwLXdyYXBwZXIgLm1hcGltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5uby1qcyAubWFwLXdyYXBwZXIgLm5vanNtYXBpbWFnZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFRlYXNlciAyIGNvbCAyMDI0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyouYy10ZWFzZXItMmNvbCB7XG4gICAgbWFyZ2luLXRvcDogLTRlbTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgKiAtMSk7XG59Ki9cbi5jLXRlYXNlci0yY29sLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qbWFyZ2luLXRvcDogNGVtO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbCk7Ki8gfVxuXG4uYy10ZWFzZXItMmNvbC1saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmMtdGVhc2VyLTJjb2wtbGluayxcbi5jLXRlYXNlci0yY29sLWxpbms6dmlzaXRlZCxcbi5jLXRlYXNlci0yY29sLWxpbms6aG92ZXIsXG4uYy10ZWFzZXItMmNvbC1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICMxMjE4MmQ7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jLXRlYXNlci0yY29sLWl0ZW0gLmMtbGluay1hcnJvdyB7XG4gIGNvbG9yOiAjZjFhOTQ4O1xuICBjb2xvcjogdmFyKC0tdGV4dC1oaWdobGlnaHQtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uYy10ZWFzZXItMmNvbC1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAxLjZlbTsgfVxuXG4uYy10ZWFzZXItMmNvbC1pbWcgaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDsgfVxuXG4uYy10ZWFzZXItMmNvbC1pdGVtOmhvdmVyIC5jLXRlYXNlci0yY29sLWltZyBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cblxuLmMtdGVhc2VyLTJjb2wtaXRlbTpmb2N1cy13aXRoaW4gLmMtdGVhc2VyLTJjb2wtaW1nIGltZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuXG4uYy10ZWFzZXItMmNvbC10ZXh0IHtcbiAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYVtocmVmXj1cInRlbDpcIl0ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogc3RhbmRhcmQgbGlua3MgaW4gdGV4dC1ibG9jayAqL1xuLmMtdGV4dC1oaWdobGlnaHQgYSxcbi5jLXRleHQtaGlnaGxpZ2h0IGE6dmlzaXRlZCxcbi5jLXRleHQtaGlnaGxpZ2h0IGE6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmMtdGV4dC1ibG9jayBhLFxuLmMtbGluay10ZXh0LWJpZyxcbi5jLWxpbmstdGVhc2VyIGgzLFxuLmMtZm9vdGVyLWRpc2NsYWltZXIgYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgNTAlLCByZ2JhKDAsIDAsIDAsIDApIDUwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1zaXplOiAycHggMnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEuMWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDsgfVxuXG4uYy1saW5rLXRleHQtYmlnLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLXRleHQtYmlnIHtcbiAgYmFja2dyb3VuZC1zaXplOiA0cHggNHB4OyB9XG5cbi5jLWxpbmstdGVhc2VyIGgzIHtcbiAgYmFja2dyb3VuZC1zaXplOiAzcHggM3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMXB4OyB9XG5cbi5jLXRleHQtYmxvY2sgYTpmb2N1cyxcbi5jLXRleHQtYmxvY2sgYTpob3Zlcixcbi5jLWxpbmstdGV4dC1iaWc6Zm9jdXMsXG4uYy1saW5rLXRleHQtYmlnOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YxYTk0OCA1MCUsIHJnYmEoMCwgMCwgMCwgMCkgNTAlKTsgfVxuXG4uYy10ZXh0LWhpZ2hsaWdodCBhOmZvY3VzLFxuLmMtdGV4dC1oaWdobGlnaHQgYTpob3Zlcixcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstdGV4dC1iaWc6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLXRleHQtYmlnOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiA1MCUsIHJnYmEoMCwgMCwgMCwgMCkgNTAlKTsgfVxuXG4uYy1mb290ZXItZGlzY2xhaW1lciBhOmZvY3VzLFxuLmMtZm9vdGVyLWRpc2NsYWltZXIgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMxMjE4MmQgNTAlLCByZ2JhKDAsIDAsIDAsIDApIDUwJSk7IH1cblxuLyogc3BlY2lhbCBsaW5rcyAqL1xuLmMtbGluay1hcnJvdyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jLXByb2R1Y3RzLXRlYXNlciBhLmMtcHJvZHVjdHMtaXRlbS1saW5rLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLXZpZGVvLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLXZpZGVvOmZvY3VzLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLXZpZGVvOmhvdmVyLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWFycm93LFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWFycm93OmZvY3VzLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWFycm93OmhvdmVyLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWV4dGVybixcbi5jLXRleHQtYmxvY2sgLmMtbGluay1leHRlcm46Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZXh0ZXJuOmhvdmVyLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWRvd25sb2FkLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWRvd25sb2FkOmZvY3VzLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWRvd25sb2FkOmhvdmVyLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWVtYWlsLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWVtYWlsOmZvY3VzLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWVtYWlsOmhvdmVyLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1hcnJvdyxcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstYXJyb3c6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWFycm93OmhvdmVyLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1leHRlcm4sXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWV4dGVybjpmb2N1cyxcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZXh0ZXJuOmhvdmVyLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1kb3dubG9hZCxcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZG93bmxvYWQ6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWRvd25sb2FkOmhvdmVyLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1lbWFpbCxcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZW1haWw6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWVtYWlsOmhvdmVyLFxuLmMtZm9vdGVyLWFkZHJlc3MgYTpmb2N1cyxcbi5jLWZvb3Rlci1hZGRyZXNzIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5jLWxpbmstZXh0ZXJuLFxuLmMtbGluay1leHRlcm46dmlzaXRlZCxcbi5jLWxpbmstZG93bmxvYWQsXG4uYy1saW5rLWRvd25sb2FkOnZpc2l0ZWQsXG4uYy1saW5rLWVtYWlsLFxuLmMtbGluay1lbWFpbDp2aXNpdGVkIHtcbiAgY29sb3I6ICMxMjE4MmQ7IH1cblxuLmMtdGV4dC1saWdodCAuYy1saW5rLWV4dGVybixcbi5jLXRleHQtbGlnaHQgLmMtbGluay1leHRlcm46dmlzaXRlZCxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1kb3dubG9hZCxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1kb3dubG9hZDp2aXNpdGVkLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLWVtYWlsLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLWVtYWlsOnZpc2l0ZWQsXG4uYy1mb290ZXItYWRkcmVzcyBhLFxuLmMtZm9vdGVyLWFkZHJlc3MgYTp2aXNpdGVkLFxuLmMtZm9vdGVyLW5hdi1saXN0IGxpIGxpIGEsXG4uYy1mb290ZXItbmF2LWxpc3QgbGkgbGkgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmMtbGluay1leHRlcm46Zm9jdXMsXG4uYy1saW5rLWV4dGVybjpob3Zlcixcbi5jLWxpbmstZG93bmxvYWQ6Zm9jdXMsXG4uYy1saW5rLWRvd25sb2FkOmhvdmVyLFxuLmMtbGluay1lbWFpbDpmb2N1cyxcbi5jLWxpbmstZW1haWw6aG92ZXIsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZXh0ZXJuOmZvY3VzLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLWV4dGVybjpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtbGluay1kb3dubG9hZDpmb2N1cyxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1kb3dubG9hZDpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtbGluay1lbWFpbDpmb2N1cyxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1lbWFpbDpob3ZlciB7XG4gIGNvbG9yOiAjZjFhOTQ4OyB9XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZXh0ZXJuOmZvY3VzLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1leHRlcm46aG92ZXIsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWRvd25sb2FkOmZvY3VzLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1kb3dubG9hZDpob3Zlcixcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZW1haWw6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWVtYWlsOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmMtYmctbGlnaHQgLmMtbmV3cy1pdGVtLWxpbmssXG4uYy1iZy1tZWRpdW0gLmMtbmV3cy1pdGVtLWxpbmssXG4uYy1iZy1kYXJrIC5jLXRleHQtbGlnaHQgLmMtbmV3cy1pdGVtLWxpbmsge1xuICBjb2xvcjogI2YxYTk0ODsgfVxuXG4uYy1iZy1saWdodCAudGVhc2VyLWxpbmsgLmMtZGF0ZSxcbi5jLWJnLWxpZ2h0IC50ZWFzZXItbGluayAuYy10ZXh0LWJsb2NrLFxuLmMtYmctbWVkaXVtIC50ZWFzZXItbGluayAuYy1kYXRlLFxuLmMtYmctbWVkaXVtIC50ZWFzZXItbGluayAuYy10ZXh0LWJsb2NrLFxuLmMtYmctaGlnaGxpZ2h0IC50ZWFzZXItbGluayAuYy1kYXRlLFxuLmMtYmctaGlnaGxpZ2h0IC50ZWFzZXItbGluayAuYy10ZXh0LWJsb2NrIHtcbiAgY29sb3I6ICMxMjE4MmQ7IH1cblxuLmMtYmctbGlnaHQgLnRlYXNlci1saW5rIC5jLW5ld3MtaXRlbS13aXRoLWltZyAuYy1kYXRlLFxuLmMtYmctbGlnaHQgLnRlYXNlci1saW5rIC5jLW5ld3MtaXRlbS13aXRoLWltZyAuYy10ZXh0LWJsb2NrLFxuLmMtYmctbWVkaXVtIC50ZWFzZXItbGluayAuYy1uZXdzLWl0ZW0td2l0aC1pbWcgLmMtZGF0ZSxcbi5jLWJnLW1lZGl1bSAudGVhc2VyLWxpbmsgLmMtbmV3cy1pdGVtLXdpdGgtaW1nIC5jLXRleHQtYmxvY2ssXG4uYy1iZy1oaWdobGlnaHQgLnRlYXNlci1saW5rIC5jLW5ld3MtaXRlbS13aXRoLWltZyAuYy1kYXRlLFxuLmMtYmctaGlnaGxpZ2h0IC50ZWFzZXItbGluayAuYy1uZXdzLWl0ZW0td2l0aC1pbWcgLmMtdGV4dC1ibG9jayB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jLWJnLWhpZ2hsaWdodCAuYy1uZXdzLWl0ZW0tbGluayB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jLWJnLWRhcmsgLnRlYXNlci1saW5rIC5jLWRhdGUsXG4uYy1iZy1kYXJrIC50ZWFzZXItbGluayAuYy10ZXh0LWJsb2NrIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnRlYXNlci1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnRlYXNlci1saW5rIC5jLXRleHQtYmxvY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmMtdGV4dC1oaWdobGlnaHQgLnRlYXNlci1saW5rLFxuLmMtdGV4dC1oaWdobGlnaHQgLnRlYXNlci1saW5rOmhvdmVyLFxuLmMtdGV4dC1oaWdobGlnaHQgLnRlYXNlci1saW5rOmZvY3VzLFxuLmMtdGV4dC1ibG9jayAudGVhc2VyLWxpbmssXG4uYy10ZXh0LWJsb2NrIC50ZWFzZXItbGluazpob3Zlcixcbi5jLXRleHQtYmxvY2sgLnRlYXNlci1saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uYy1saW5rLXRlYXNlciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jLWxpbmstdGVhc2VyIGgzIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDsgfVxuXG4uYy1saW5rLXRlYXNlciBoMyxcbi5jLWxpbmstdGVhc2VyIGgzOnZpc2l0ZWQsXG4uYy1saW5rLXRlYXNlciBoMzpmb2N1cyxcbi5jLWxpbmstdGVhc2VyIGgzOmhvdmVyIHtcbiAgY29sb3I6ICMxMjE4MmQ7IH1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLmNzc3RyYW5zaXRpb25zLmpzIC5jLWxpbmstdGVhc2VyIGltZyxcbiAgLmNzc3RyYW5zaXRpb25zLmpzIC5jLXRlYXNlci0yY29sLWltZyBpbWcge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuNXMgZWFzZS1vdXQ7IH1cbiAgLmMtbGluay10ZWFzZXI6aG92ZXIgaW1nLFxuICAuYy10ZWFzZXItMmNvbC1pdGVtOmhvdmVyIC5jLXRlYXNlci0yY29sLWltZyBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfSB9XG5cbi5jLWxpbmstdGVhc2VyOmZvY3VzIGgzLFxuLmMtbGluay10ZWFzZXI6aG92ZXIgaDMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMTIxODJkIDUwJSwgcmdiYSgwLCAwLCAwLCAwKSA1MCUpOyB9XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay10ZWFzZXIgaDMsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstdGVhc2VyIGgzOnZpc2l0ZWQsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstdGVhc2VyIGgzOmZvY3VzLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLXRlYXNlciBoMzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay10ZWFzZXI6Zm9jdXMgaDMsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstdGVhc2VyOmhvdmVyIGgzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiA1MCUsIHJnYmEoMCwgMCwgMCwgMCkgNTAlKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIGFuZCBsaW5rcyB3aXRoIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNWVtIDMwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDZhNztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLmMtYnRuLFxuLmMtYnRuOnZpc2l0ZWQge1xuICBjb2xvcjogIzEyMTgyZDsgfVxuXG4uYy1idG46aG92ZXIsXG4uYy1idG46Zm9jdXMsXG4uY3VycmVudC1tZW51LWl0ZW0gLmMtYnRuLFxuLmFjdGl2ZSAuYy1idG4ge1xuICBjb2xvcjogIzEyMTgyZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYTk0ODsgfVxuXG4uYy1iZy1oaWdobGlnaHQgLmMtYnRuOmhvdmVyLFxuLmMtYmctaGlnaGxpZ2h0IC5jLWJ0bjpmb2N1cyxcbi5jLWJnLWhpZ2hsaWdodCAuY3VycmVudC1tZW51LWl0ZW0gLmMtYnRuLFxuLmMtYmctaGlnaGxpZ2h0IC5hY3RpdmUgLmMtYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4vKiBpY29ucyAqL1xuLmMtaWNvbjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hcHAvdGhlbWVzL3dlcm9zb2Z0L2Fzc2V0cy9pbWcvc3ByaXRlLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmMtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBsaW5rcyB3aXRoIGljb24gKi9cbi5jLWxpbmstYXJyb3csXG4uYy1saW5rLWV4dGVybixcbi5jLWxpbmstZG93bmxvYWQsXG4uYy1saW5rLWVtYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmMtbGluay1hcnJvdyAuYy1pY29uLFxuICAuYy1saW5rLWV4dGVybiAuYy1pY29uLFxuICAuYy1saW5rLWRvd25sb2FkIC5jLWljb24sXG4gIC5jLWxpbmstZW1haWwgLmMtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbmJ1dHRvbi5jLWxpbmstYXJyb3cge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZjFhOTQ4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5jLXRleHQtaGlnaGxpZ2h0IGJ1dHRvbi5jLWxpbmstYXJyb3cge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uYy1saW5rLWFycm93OmhvdmVyLFxuLmMtdGVhc2VyLTJjb2wtaXRlbTpob3ZlciAuYy1saW5rLWFycm93IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjBweCwgMCk7IH1cblxuLmMtbGluay1jaXJjbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiBzb2xpZCAycHggI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7IH1cblxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICNmZmY7IH1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2VpY29ub25seSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9IH1cblxuLmMtbGluay1hcnJvdy1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLmMtbGluay1hcnJvdy1pY29uOjpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLThweDtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi5jLWxpbmstYXJyb3ctYmFjayAuYy1saW5rLWFycm93LWljb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwcHg7IH1cblxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1hcnJvdy1pY29uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAwOyB9XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstYXJyb3ctYmFjayAuYy1saW5rLWFycm93LWljb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0yMHB4OyB9XG5cbi5jLWxpbmstaW50ZXJuLWljb24sXG4uYy1saW5rLWV4dGVybi1pY29uLFxuLmMtbGluay1kb3dubG9hZC1pY29uLFxuLmMtbGluay1lbWFpbC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuOGVtO1xuICBsZWZ0OiAwOyB9XG5cbi5jLWxpbmstaW50ZXJuLWljb246OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDBweDsgfVxuXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWludGVybi1pY29uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAwcHg7IH1cblxuLmMtbGluay1leHRlcm4taWNvbjo6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7IH1cblxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1leHRlcm4taWNvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTYwcHg7IH1cblxuLmMtbGluay1kb3dubG9hZC1pY29uOjpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cblxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1kb3dubG9hZC1pY29uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtODBweDsgfVxuXG4uYy1saW5rLWVtYWlsLWljb246OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtOXB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNDBweDsgfVxuXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWRvd25sb2FkLWVtYWlsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtMjQwcHg7IH1cblxuLmMtbGluay14aW5nLWljb246OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjBweDsgfVxuXG4uYy1saW5rLWxpbmtlZGluLWljb246OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDsgfVxuXG4uYy1saW5rLXR3aXR0ZXItaWNvbjo6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB3aWR0aDogMTlweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxuXG4uYy1saW5rLWZhY2Vib29rLWljb246OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tbGVmdDogLTZweDtcbiAgd2lkdGg6IDExcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTgwcHg7IH1cblxuLmMtbGluay15b3V0dWJlLWljb246OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIG1hcmdpbi1sZWZ0OiAtOXB4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjBweDsgfVxuXG4uYy1saW5rLWRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDUwMHB4KSBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICAuYy1saW5rLWRvd24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiA1MDBweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jLWxpbmstZG93biB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNGVtOyB9IH1cblxuLmMtbGluay1hcnJvdy1kb3duLWljb246OmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4OyB9XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstYXJyb3ctZG93bi1pY29uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtNDBweDsgfVxuXG4uYy1saW5rLXZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmMtbGluay12aWRlby1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogc29saWQgMnB4ICNmZmY7IH1cblxuLmMtbGluay12aWRlby1pY29uOjpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI2MHB4OyB9XG5cbi5jLWxpbmstYXJyb3ctaWNvbjpob3Zlcixcbi5jLWxpbmstYXJyb3c6aG92ZXIgLmMtbGluay1hcnJvdy1pY29uLFxuLmMtbGluay1zb2NpYWw6aG92ZXIgLmMtbGluay1jaXJjbGUsXG4uYy1saW5rLWRvd246aG92ZXIgLmMtbGluay1jaXJjbGUsXG4uYy10ZWFzZXItMmNvbC1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3cgLmMtbGluay1hcnJvdy1pY29uIHtcbiAgYW5pbWF0aW9uOiBwdWxzZSAwLjhzIGluZmluaXRlOyB9XG5cbi5jLWxpbmstZXh0ZXJuLWljb246aG92ZXIsXG4uYy1saW5rLWV4dGVybjpob3ZlciAuYy1saW5rLWludGVybi1pY29uLFxuLmMtbGluay1leHRlcm46aG92ZXIgLmMtbGluay1leHRlcm4taWNvbixcbi5jLWxpbmstZG93bmxvYWQtaWNvbjpob3Zlcixcbi5jLWxpbmstZG93bmxvYWQ6aG92ZXIgLmMtbGluay1kb3dubG9hZC1pY29uLFxuLmMtbGluay1lbWFpbC1pY29uOmhvdmVyLFxuLmMtbGluay1lbWFpbDpob3ZlciAuYy1saW5rLWVtYWlsLWljb24sXG4uYy1saW5rLXZpZGVvLWljb246aG92ZXIsXG4uYy1saW5rLXZpZGVvOmhvdmVyIC5jLWxpbmstdmlkZW8taWNvbiB7XG4gIGFuaW1hdGlvbjogcHVsc2VpY29ub25seSAwLjhzIGluZmluaXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSYXRpbyBCb3hcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1yYXRpb2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYy1yYXRpb2JveCA+IGltZyxcbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5jLXJhdGlvYm94ID4gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLmMtcmF0aW9ib3gtMTZieTkge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5jLXJhdGlvYm94LTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWYXJpYWJsZXMgRm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjpyb290IHtcbiAgLyogZm9ybSAqL1xuICAtLWZvcm0tY29sb3ItaGlnaGxpZ2h0OiAjZjFhOTQ4O1xuICAtLXRleHQtY29sb3ItZm9ybTogIzEyMTgyZDtcbiAgLS1ib3JkZXItZm9ybTogIzEyMTgyZDtcbiAgLS1ib3JkZXItZm9ybS1mb2N1czogI2YxYTk0ODtcbiAgLS1mb3JtLWRpc2FibGVkOiAjY2NjO1xuICAtLWZvcm0tZXJyb3I6ICNkZDAwMDA7XG4gIC0tZm9ybS1vazogIzEyMTgyZDtcbiAgLS1mb3JtLWluaXRpYWw6ICMxRDFEMUI7XG4gIC0tZm9ybS1iZy1jb250ZW50OiB0cmFuc3BhcmVudDtcbiAgLS1mb3JtLWJveC1tYXJnaW46IC0zMHB4OyB9XG5cbi5jLXRleHQtbGlnaHQge1xuICAtLXRleHQtY29sb3ItZm9ybTogI2ZmZjtcbiAgLS1ib3JkZXItZm9ybTogI2ZmZjtcbiAgLS1ib3JkZXItZm9ybS1mb2N1czogI2YxYTk0ODtcbiAgLS1mb3JtLW9rOiAjZmZmOyB9XG5cbi5jLXRleHQtaGlnaGxpZ2h0IHtcbiAgLS1mb3JtLWNvbG9yLWhpZ2hsaWdodDogI2ZmZjtcbiAgLS1ib3JkZXItZm9ybS1mb2N1czogI2ZmZjsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gIDpyb290IHtcbiAgICAtLWZvcm0tYm94LW1hcmdpbjogLTQwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWZvcm0tYm94LW1hcmdpbjogLTEycHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIHNhZmFyaSBmb3JtIGZpeCAqL1xuaW5wdXQsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbnRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgfVxuXG4vKiByZW1vdmUgY2hyb21lIGF1dG9maWxsIHllbGxvdyBjb2xvciAqL1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDIwMDBzOyB9XG5cbi8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEZpcmVmb3ggKi9cbmlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jLWZvcm0tY29udGFjdCB7XG4gIG1heC13aWR0aDogNjUwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jLWJveCAuYy1mb3JtLWNvbnRhY3Qge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZm9ybS1ib3gtbWFyZ2luKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1mb3JtLWJveC1tYXJnaW4pOyB9XG5cbi5jLWZvcm0taXRlbSxcbi5nZmllbGQsXG4uZ2Zvcm1fd3JhcHBlciAuYy1mb3JtLXN0YW5kYXJkIC5nZmllbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgLmdmb3JtX2Zvb3RlciB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmdmb3JtX3JlcXVpcmVkX2xlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMC44ZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGZvcm1maWVsZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhLFxuLmMtZm9ybS10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMxMjE4MmQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0pO1xuICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1mb3JtKTtcbiAgcGFkZGluZzogLjVlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzEyMTgyZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gIG1pbi1oZWlnaHQ6IDZlbTtcbiAgcGFkZGluZzogLjVlbSA4cHg7IH1cblxuLypcbi5jLXRleHQtbGlnaHQgLmMtZm9ybS10ZXh0IHtcblx0Ym9yZGVyLWNvbG9yOiAkYm9yZGVyLWxpZ2h0O1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59Ki9cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWE6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1mb3JtLXRleHQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRlbFwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWE6ZGlzYWJsZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuICBjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7IH1cblxuLmMtZm9ybS1zdGFuZGFyZCBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgY2hlY2tib3ggLyByYWRpb3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS1tdWx0aWxpbmUgLndwY2Y3LWxpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMS42ZW07IH1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4OyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICBwYWRkaW5nLXRvcDogMC41NWVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtaW4taGVpZ2h0OiA0NHB4OyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwLjE1ZW07XG4gIHdpZHRoOiAzOHB4O1xuICBoZWlnaHQ6IDM4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMjE4MmQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWJnLWNvbnRlbnQpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzICsgbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWJnLWNvbnRlbnQpOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWJnLWNvbnRlbnQpOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygwLjE1ZW0gKyA1cHgpO1xuICBsZWZ0OiAxMXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBib3JkZXI6IHNvbGlkIHZhcigtLWZvcm0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgYm9yZGVyLXdpZHRoOiAwIDRweCA0cHggMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygwLjE1ZW0gKyA5cHgpO1xuICBsZWZ0OiA5cHg7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS1jb2xvci1oaWdobGlnaHQpOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG5cbi5nZm9ybV9maWVsZHMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBkcm9wZG93blxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNWVtIDMwcHggMC41ZW0gMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzEyMTgyZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHVybChcIi9hcHAvdGhlbWVzL3dlcm9zb2Z0L2Fzc2V0cy9pbWcvaWNvbi1mb3JtLWFycm93LnN2Z1wiKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItZm9ybSk7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uYy1iZy1kYXJrIC5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2FwcC90aGVtZXMvd2Vyb3NvZnQvYXNzZXRzL2ltZy9pY29uLWZvcm0tYXJyb3ctbGlnaHQuc3ZnXCIpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCBvcHRpb24ge1xuICBwYWRkaW5nOiAwO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDpkaXNhYmxlZDo6LW1zLWV4cGFuZCB7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTsgfVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0W2Rpc2FibGVkXSB7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZXJyb3IgLyBvayBtZXNzYWdlIHRiZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5nZm9ybV93cmFwcGVyIC5jLWZvcm0tc3RhbmRhcmQgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIGNvbG9yOiAjZDgwYzBjO1xuICBjb2xvcjogdmFyKC0tZm9ybS1lcnJvcik7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIG1hcmdpbi10b3A6IC4zNWVtOyB9XG5cbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogdmFyKC0tZm9ybS1vayk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jLWZvcm0tc3RhbmRhcmRfd3JhcHBlci5nZm9ybV93cmFwcGVyIC5mb3JtLWVycm9yLFxuLmdmb3JtX3dyYXBwZXIgLmMtZm9ybS1zdGFuZGFyZCAuZm9ybS1lcnJvciB7XG4gIGNvbG9yOiAjZDgwYzBjO1xuICBjb2xvcjogdmFyKC0tZm9ybS1lcnJvcik7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTbGlkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uanMgLnNsaWRlciAuYy1xdW90ZS1sb2dvLFxuLm5vLWpzIC5zbGlkZXIgLmMtcXVvdGUtbG9nbyB7XG4gIG1heC13aWR0aDogMTIuNWVtOyB9XG5cbi5qcyAuc2xpZGVyIC5zbGlkZSArIC5zbGlkZSxcbi5uby1qcyAuc2xpZGVyIC5zbGlkZSArIC5zbGlkZSB7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuXG4ubm8tanMgLnNsaWRlIC5pbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVuaGFuY2VkIC5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmVuaGFuY2VkIC5zbGlkZXIuaW1hZ2Utc2xpZGVyLCAuZW5oYW5jZWQgLnNsaWRlci50ZXN0aW1vbmlhbCB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIC5lbmhhbmNlZCAuc2xpZGVyLmltYWdlLXNsaWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5lbmhhbmNlZCAuc2xpZGVyLmltYWdlLXNsaWRlciAuYy1waWUge1xuICAgIHJpZ2h0OiAzMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmVuaGFuY2VkIC5zbGlkZXIuaW1hZ2Utc2xpZGVyIC5jLXBpZSB7XG4gICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICB0b3A6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gICAgICAuZW5oYW5jZWQgLnNsaWRlci5pbWFnZS1zbGlkZXIgLmMtcGllIHtcbiAgICAgICAgcmlnaHQ6IDgwcHg7XG4gICAgICAgIHRvcDogNDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5lbmhhbmNlZCAuc2xpZGVyLmltYWdlLXNsaWRlciAuYy1waWUge1xuICAgICAgICByaWdodDogNDBweDsgfSB9XG4gIC5lbmhhbmNlZCAuc2xpZGVyLnRlc3RpbW9uaWFsIC5jLXF1b3RlLWxvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0MDsgfVxuICAuZW5oYW5jZWQgLnNsaWRlci50ZXN0aW1vbmlhbCAuYy1waWUge1xuICAgIHJpZ2h0OiAxMnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMxLjI1ZW0pIHtcbiAgICAgIC5lbmhhbmNlZCAuc2xpZGVyLnRlc3RpbW9uaWFsIC5jLXBpZSB7XG4gICAgICAgIHJpZ2h0OiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgICAuZW5oYW5jZWQgLnNsaWRlci50ZXN0aW1vbmlhbCAuYy1waWUge1xuICAgICAgICByaWdodDogNDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5lbmhhbmNlZCAuc2xpZGVyLnRlc3RpbW9uaWFsIC5jLXBpZSB7XG4gICAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cbiAgLmVuaGFuY2VkIC5zbGlkZXIgLnNsaWRlci1pbmRleCB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogNDA7IH1cbiAgICAuZW5oYW5jZWQgLnNsaWRlciAuc2xpZGVyLWluZGV4IGRpdiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgyNjIyO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDEwcHg7IH1cbiAgICAgIC5lbmhhbmNlZCAuc2xpZGVyIC5zbGlkZXItaW5kZXggZGl2LmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWE5NDg7IH1cbiAgICAgIC5lbmhhbmNlZCAuc2xpZGVyIC5zbGlkZXItaW5kZXggZGl2OmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuZW5oYW5jZWQgLnNsaWRlciAuc2xpZGVyLWluZGV4IGRpdiAudGV4dCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmVuaGFuY2VkIC5zbGlkZXIgLnNsaWRlci1pbmRleCBkaXYgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuZW5oYW5jZWQgLnNsaWRlciAuc2xpZGUgKyAuc2xpZGUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmVuaGFuY2VkIC5zbGlkZXIgLnNsaWRlIHtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2UtaW4tb3V0O1xuICAgIHRvcDogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuZW5oYW5jZWQgLnNsaWRlciAuc2xpZGUgLmMtcXVvdGUtbG9nbyB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5lbmhhbmNlZCAuc2xpZGVyIC5zbGlkZS5hY3RpdmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAuZW5oYW5jZWQgLnNsaWRlciAuc2xpZGUuYWN0aXZlIC5jLXF1b3RlLWxvZ28ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2UtaW4tb3V0OyB9XG4gIC5lbmhhbmNlZCAuc2xpZGVyIC5zbGlkZXItbmF2aWdhdGlvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAyMDsgfVxuICAgIC5lbmhhbmNlZCAuc2xpZGVyIC5zbGlkZXItbmF2aWdhdGlvbiAubmV4dCxcbiAgICAuZW5oYW5jZWQgLnNsaWRlciAuc2xpZGVyLW5hdmlnYXRpb24gLnByZXYge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICAgLmVuaGFuY2VkIC5zbGlkZXIgLnNsaWRlci1uYXZpZ2F0aW9uIC5uZXh0OmhvdmVyLFxuICAgICAgLmVuaGFuY2VkIC5zbGlkZXIgLnNsaWRlci1uYXZpZ2F0aW9uIC5wcmV2OmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuZW5oYW5jZWQgLnNsaWRlciAuc2xpZGVyLW5hdmlnYXRpb24gLm5leHQgLnRleHQsXG4gICAgICAuZW5oYW5jZWQgLnNsaWRlciAuc2xpZGVyLW5hdmlnYXRpb24gLnByZXYgLnRleHQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5lbmhhbmNlZCAuc2xpZGVyIC5zbGlkZXItbmF2aWdhdGlvbiAubmV4dCB7XG4gICAgICByaWdodDogMDsgfVxuICAgIC5lbmhhbmNlZCAuc2xpZGVyIC5zbGlkZXItbmF2aWdhdGlvbiAucHJldiB7XG4gICAgICBsZWZ0OiAwOyB9XG5cbi5lbmhhbmNlZCAuYy1iZy1kYXJrIC5zbGlkZXIgLnNsaWRlci1pbmRleCBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5lbmhhbmNlZCAuYy1iZy1kYXJrIC5zbGlkZXIgLnNsaWRlci1pbmRleCBkaXYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFhOTQ4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTbGlkZXIgQ291bnRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXBpZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IHNvbGlkIDNweCAjMTIxODJkOyB9XG5cbi5jLXBpZS1zZXBhcmF0b3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyMTgyZDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5jLWJnLWRhcmsgLmMtcGllIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG5cbi5jLWJnLWRhcmsgLmMtcGllLXNlcGFyYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgd2lkdGg6IDJweDsgfVxuXG4uYy1iZy1kYXJrIC5jLXBpZS1udW1iZXItc3RhdHVzLFxuLmMtYmctZGFyayAuYy1waWUtbnVtYmVyLXRvdGFsIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmMtcGllLW51bWJlci1zdGF0dXMsXG4uYy1waWUtbnVtYmVyLXRvdGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWluLXdpZHRoOiAxNXB4OyB9XG5cbi5jLXBpZS1udW1iZXItc3RhdHVzIHtcbiAgdG9wOiAwLjVlbTtcbiAgbGVmdDogNnB4OyB9XG5cbi5jLXBpZS1udW1iZXItdG90YWwge1xuICBib3R0b206IDAuNWVtO1xuICByaWdodDogNXB4OyB9XG5cbi5jLXBpZS1zbGljZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtM3B4O1xuICBsZWZ0OiAtM3B4O1xuICB3aWR0aDogY2FsYygxMDAlICsgNnB4KTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA2cHgpO1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS1iYXIsXG4uYy1waWUtZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cblxuLmMtcGllLWJhcixcbi5jLXBpZS1maWxsIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IHNvbGlkIDNweCAjZjFhOTQ4OyB9XG5cbi5jLXBpZS1maWxsIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYy1waWUuYy1waWUxIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzLjZkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTIgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDcuMmRlZyk7IH1cblxuLmMtcGllLmMtcGllMyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTAuOGRlZyk7IH1cblxuLmMtcGllLmMtcGllNCAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTQuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllNSAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMThkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTYgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDIxLjZkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTcgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI1LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTggLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI4LjhkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTkgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDMyLjRkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTEwIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzNmRlZyk7IH1cblxuLmMtcGllLmMtcGllMTEgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDM5LjZkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTEyIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0My4yZGVnKTsgfVxuXG4uYy1waWUuYy1waWUxMyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDYuOGRlZyk7IH1cblxuLmMtcGllLmMtcGllMTQgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDUwLjRkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTE1IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg1NGRlZyk7IH1cblxuLmMtcGllLmMtcGllMTYgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDU3LjZkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTE3IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg2MS4yZGVnKTsgfVxuXG4uYy1waWUuYy1waWUxOCAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNjQuOGRlZyk7IH1cblxuLmMtcGllLmMtcGllMTkgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDY4LjRkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTIwIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg3MmRlZyk7IH1cblxuLmMtcGllLmMtcGllMjEgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDc1LjZkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTIyIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg3OS4yZGVnKTsgfVxuXG4uYy1waWUuYy1waWUyMyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoODIuOGRlZyk7IH1cblxuLmMtcGllLmMtcGllMjQgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDg2LjRkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTI1IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cblxuLmMtcGllLmMtcGllMjYgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkzLjZkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTI3IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5Ny4yZGVnKTsgfVxuXG4uYy1waWUuYy1waWUyOCAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTAwLjhkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTI5IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMDQuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllMzAgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEwOGRlZyk7IH1cblxuLmMtcGllLmMtcGllMzEgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDExMS42ZGVnKTsgfVxuXG4uYy1waWUuYy1waWUzMiAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTE1LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTMzIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMTguOGRlZyk7IH1cblxuLmMtcGllLmMtcGllMzQgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEyMi40ZGVnKTsgfVxuXG4uYy1waWUuYy1waWUzNSAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTI2ZGVnKTsgfVxuXG4uYy1waWUuYy1waWUzNiAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTI5LjZkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTM3IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzMuMmRlZyk7IH1cblxuLmMtcGllLmMtcGllMzggLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNi44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWUzOSAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTQwLjRkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTQwIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxNDRkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTQxIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxNDcuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllNDIgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE1MS4yZGVnKTsgfVxuXG4uYy1waWUuYy1waWU0MyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTU0LjhkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTQ0IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxNTguNGRlZyk7IH1cblxuLmMtcGllLmMtcGllNDUgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE2MmRlZyk7IH1cblxuLmMtcGllLmMtcGllNDYgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE2NS42ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU0NyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTY5LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTQ4IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxNzIuOGRlZyk7IH1cblxuLmMtcGllLmMtcGllNDkgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE3Ni40ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU1MCAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4uYy1waWUuYy1waWU1MSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTUxIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTUxIC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODMuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllNTIgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU1MiAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU1MiAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTg3LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTUzIC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllNTMgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllNTMgLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE5MC44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU1NCAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTU0IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTU0IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxOTQuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllNTUgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU1NSAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU1NSAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTk4ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU1NiAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTU2IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTU2IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDEuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllNTcgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU1NyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU1NyAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjA1LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTU4IC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllNTggLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllNTggLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDIwOC44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU1OSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTU5IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTU5IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMTIuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllNjAgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU2MCAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU2MCAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjE2ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU2MSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTYxIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTYxIC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMTkuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllNjIgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU2MiAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU2MiAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjIzLjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTYzIC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllNjMgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllNjMgLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDIyNi44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU2NCAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTY0IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTY0IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMzAuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllNjUgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU2NSAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU2NSAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjM0ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU2NiAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTY2IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTY2IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMzcuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllNjcgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU2NyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU2NyAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjQxLjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTY4IC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllNjggLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllNjggLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI0NC44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU2OSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTY5IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTY5IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNDguNGRlZyk7IH1cblxuLmMtcGllLmMtcGllNzAgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU3MCAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU3MCAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjUyZGVnKTsgfVxuXG4uYy1waWUuYy1waWU3MSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTcxIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTcxIC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNTUuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllNzIgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU3MiAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU3MiAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjU5LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTczIC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllNzMgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllNzMgLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI2Mi44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU3NCAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTc0IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTc0IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNjYuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllNzUgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU3NSAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU3NSAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuXG4uYy1waWUuYy1waWU3NiAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTc2IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTc2IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzMuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllNzcgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU3NyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU3NyAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjc3LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTc4IC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllNzggLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllNzggLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI4MC44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU3OSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTc5IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTc5IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyODQuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllODAgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU4MCAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU4MCAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjg4ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU4MSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTgxIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTgxIC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyOTEuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllODIgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU4MiAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU4MiAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjk1LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTgzIC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllODMgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllODMgLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI5OC44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU4NCAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTg0IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTg0IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzMDIuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllODUgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU4NSAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU4NSAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzA2ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU4NiAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTg2IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTg2IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzMDkuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllODcgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU4NyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU4NyAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzEzLjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTg4IC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllODggLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllODggLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDMxNi44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU4OSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTg5IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTg5IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzMjAuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllOTAgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU5MCAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU5MCAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzI0ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU5MSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTkxIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTkxIC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzMjcuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllOTIgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU5MiAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU5MiAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzMxLjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTkzIC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllOTMgLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllOTMgLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDMzNC44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU5NCAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTk0IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTk0IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzMzguNGRlZyk7IH1cblxuLmMtcGllLmMtcGllOTUgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU5NSAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU5NSAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzQyZGVnKTsgfVxuXG4uYy1waWUuYy1waWU5NiAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTk2IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTk2IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzNDUuNmRlZyk7IH1cblxuLmMtcGllLmMtcGllOTcgLmMtcGllLXNsaWNlIHtcbiAgY2xpcDogcmVjdChhdXRvLCBhdXRvLCBhdXRvLCBhdXRvKTsgfVxuXG4uYy1waWUuYy1waWU5NyAuYy1waWUtYmFyIHtcbiAgY2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTsgfVxuXG4uYy1waWUuYy1waWU5NyAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzQ5LjJkZWcpOyB9XG5cbi5jLXBpZS5jLXBpZTk4IC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllOTggLmMtcGllLWJhciB7XG4gIGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7IH1cblxuLmMtcGllLmMtcGllOTggLmMtcGllLWZpbGwge1xuICBjbGlwOiByZWN0KDAsIDI1cHgsIDUwcHgsIDApO1xuICBib3JkZXItY29sb3I6ICNmMWE5NDg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDM1Mi44ZGVnKTsgfVxuXG4uYy1waWUuYy1waWU5OSAuYy1waWUtc2xpY2Uge1xuICBjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pOyB9XG5cbi5jLXBpZS5jLXBpZTk5IC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTk5IC5jLXBpZS1maWxsIHtcbiAgY2xpcDogcmVjdCgwLCAyNXB4LCA1MHB4LCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjFhOTQ4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTYuNGRlZyk7IH1cblxuLmMtcGllLmMtcGllMTAwIC5jLXBpZS1zbGljZSB7XG4gIGNsaXA6IHJlY3QoYXV0bywgYXV0bywgYXV0bywgYXV0byk7IH1cblxuLmMtcGllLmMtcGllMTAwIC5jLXBpZS1iYXIge1xuICBjbGlwOiByZWN0KDAsIDUwcHgsIDUwcHgsIDI1cHgpOyB9XG5cbi5jLXBpZS5jLXBpZTEwMCAuYy1waWUtZmlsbCB7XG4gIGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG4gIGJvcmRlci1jb2xvcjogI2YxYTk0ODtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxuXG4uYy12aWRlby13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IH1cblxuLmMtdmlkZW8td3JhcHBlciAuaW1hZ2UubGF6eWxvYWRlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4uYy12aWRlby13cmFwcGVyIC5pbWFnZS5sYXp5bG9hZGVkLnJlbW92ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmMtbGluay12aWRlbyB7XG4gIHotaW5kZXg6IDE7IH1cblxuLnZpZGVvcGxheWVyIHtcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAwOyB9XG5cbi52aWRlb3BsYXllciBpZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWaWV3cG9ydFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWRpYXF1ZXJpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBncmlkIGdhcCAqL1xuICAuYy1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4OyB9XG4gIC5jLWJveCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4OyB9XG4gIC5jLXJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH1cbiAgLmMtY29sLTEsXG4gIC5jLWNvbC0yLFxuICAuYy1jb2wtMyxcbiAgLmMtY29sLTQsXG4gIC5jLWNvbC01LFxuICAuYy1jb2wtNixcbiAgLmMtY29sLTcsXG4gIC5jLWNvbC04LFxuICAuYy1jb2wtOSxcbiAgLmMtY29sLTEwLFxuICAuYy1jb2wtMTEsXG4gIC5jLWNvbC0xMiB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgLmMtZm9vdGVyIC5jLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmMtcm93LWZvb3RlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jLWltZy1sZWZ0LFxuICAuYy1pbWctcmlnaHQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgY2FsYyg1MCUgKyA0MHB4KTtcbiAgICAtbXMtZmxleDogMCAwIGNhbGMoNTAlICsgNDBweCk7XG4gICAgZmxleDogMCAwIGNhbGMoNTAlICsgNDBweCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArIDQwcHgpOyB9XG4gIC5jLWNvbnRhaW5lciAuYy1tZWRpYS5sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTgwcHg7IH1cbiAgLmMtY29udGFpbmVyIC5jLW1lZGlhLnJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC04MHB4OyB9XG4gIC5jLWltZy1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9XG4gIC5jLWltZy1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00MHB4OyB9XG4gIC5jLWltZy1vbmx5IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jLWNvbnRlbnQtbW9kdWwsXG4gIC5jLWJveCB7XG4gICAgcGFkZGluZy10b3A6IDZlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNmVtOyB9XG4gIC5jLXRlYXNlci0zY29sLWl0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiA2ZW07IH1cbiAgLmMtY3RhLWJhY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiA2ZW07IH1cbiAgICAuYy1jdGEtYmFjay5ib3R0b20ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfVxuICAuYy1jb250ZW50LW1vZHVsLFxuICAuYy1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG4gIC5jLWZvb3RlciAuYy1jb250ZW50LW1vZHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuYy1mb290ZXItbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gIC5jLWZvb3Rlci1tZW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDsgfVxuICAuYy1mb290ZXItbWVtYmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmMtdGVhc2VyLTNjb2wgLmMtcm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjBweDsgfVxuICAuYy10ZWFzZXItM2NvbC1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAuYy1mb290ZXItZGlzY2xhaW1lciB7XG4gICAgbGVmdDogLTQwcHg7IH1cbiAgLmMtb2ZmY2FudmFzLXRyaWdnZXIge1xuICAgIHJpZ2h0OiA4MHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLyogY29udGFpbmVyIG1heCB3aWR0aCAqL1xuICAuYy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxNjAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5jLWZvb3RlciAuYy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jLWJveCB7XG4gICAgd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmMtYm94IC5jLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmMtZm9vdGVyIC5jLWNvbnRlbnQtbW9kdWwge1xuICAgIHdpZHRoOiA2NDBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUwMXB4KSB7XG4gIC5jLWZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtc2hvd3Jvb20tc21hbGwgLmMtc2hvd3Jvb20tb3ZlcmxheSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmMtc2hvd3Jvb20tc21hbGwgLmMtY29udGVudC1tb2R1bCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5jLXNob3dyb29tLXNtYWxsIC5jLXNob3dyb29tLXNtYWxsLXRleHQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmMtc2hvd3Jvb20tc21hbGwgLmMtc2hvd3Jvb20tc21hbGwtdGV4dCAuYy10ZXh0LWhpZ2hsaWdodCAuYy1zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogI2YxYTk0ODsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gIC5jLWZvb3Rlci1hZGRyZXNzLFxuICAuYy1mb290ZXItbmF2IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogM2VtOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjFweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuYy1mb290ZXItZGlzY2xhaW1lciB7XG4gICAgbGVmdDogLTIwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MXB4KSB7XG4gIC5jLWZvb3Rlci1tZW1iZXIsXG4gIC5jLWZvb3Rlci1tZW1iZXIgLmMtY29udGVudC1tb2R1bCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuYy1mb290ZXItbWVtYmVyIC5jLXJvdyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmMtZm9vdGVyLWRpc2NsYWltZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLmMtZm9vdGVyIC5jLWNvbC02IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYy1xdW90ZS1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkge1xuICAuYy10ZWFzZXItM2NvbC1pdGVtOm50aC1jaGlsZCgtbiszKSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5jLXNlY3Rpb24tdGl0bGUgLmMtY29sLTgsXG4gIC5jLXRleHQtb25seSAuYy1jb2wtOCxcbiAgLmMtbGlzdC1zcGVjaWFsLWNvbnRlbnQgLmMtY29sLTEwLFxuICAuYy1xdW90ZSAuYy1jb2wtMTAsXG4gIC5jLXNob3dyb29tLXRleHQgLmMtY29sLTgsXG4gIC5jLXNob3dyb29tLXNtYWxsLXRleHQgLmMtY29sLTgsXG4gIC5jLXRpdGxlIC5jLWNvbC0xMCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmMtc3VidGl0bGUtbG9nbyB7XG4gICAgd2lkdGg6IDYwcHg7IH1cbiAgLmMtdGVhc2VyLTNjb2wtaXRlbSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuYy1uZXdzLWl0ZW0td2l0aC1pbWcgLmMtbmV3cy1pdGVtLXRleHQge1xuICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMXB4KSBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmMtdGVhc2VyLTNjb2wtaXRlbTpudGgtY2hpbGQoLW4rMikge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAuYy1wcm9kdWN0cy1saXN0IGxpIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9IH1cblxuLmMtdGV4dC0yY29sIC5wYWRkaW5ndG9wIHtcbiAgcGFkZGluZy10b3A6IDFlbTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLXRleHQtaW1nLTJjb2wgLnBhZGRpbmd0b3Age1xuICAgIHBhZGRpbmctdG9wOiAxZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jLXRleHQtaW1nLTJjb2wgLmMtY29sLTYsXG4gIC5jLXRleHQtMmNvbCAuYy1jb2wtNixcbiAgLmMtaW1nLTJjb2wgLmMtY29sLTYsXG4gIC5jLW5ld3MtdGVhc2VyIC5jLWNvbC02LFxuICAuYy1wcm9kdWN0cy10ZWFzZXIgLmMtY29sLTYsXG4gIC5jLXRlYXNlci0yY29sIC5jLWNvbC02IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYy10ZXh0LWltZy0yY29sIC5jLWNvbC02OmZpcnN0LWNoaWxkLFxuICAuYy1pbWctMmNvbCAuYy1jb2wtNjpmaXJzdC1jaGlsZCxcbiAgLmMtcHJvZHVjdHMtdGVhc2VyIC5jLWNvbC02OmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi42ZW07IH1cbiAgLmMtdGVhc2VyLTJjb2wgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpOyB9XG4gIC5jLWZvb3Rlci1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmMtYm94LWJvcmRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7IH1cbiAgLypsaXN0IGV2ZW50cyAqL1xuICAuYy1saXN0LWV2ZW50aW5mbyBkdCB7XG4gICAgZmxleDogMCAwIDMzJTtcbiAgICBtYXgtd2lkdGg6IDMzJTsgfVxuICAuYy1saXN0LWV2ZW50aW5mbyBkZCB7XG4gICAgZmxleDogMCAwIDY3JTtcbiAgICBtYXgtd2lkdGg6IDY3JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLyogZ3JpZCBnYXAgKi9cbiAgLmMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDsgfVxuICAuYy1ib3gge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAuYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XG4gIC5jLWNvbC0xLFxuICAuYy1jb2wtMixcbiAgLmMtY29sLTMsXG4gIC5jLWNvbC00LFxuICAuYy1jb2wtNSxcbiAgLmMtY29sLTYsXG4gIC5jLWNvbC03LFxuICAuYy1jb2wtOCxcbiAgLmMtY29sLTksXG4gIC5jLWNvbC0xMCxcbiAgLmMtY29sLTExLFxuICAuYy1jb2wtMTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5jLWZvb3RlciAuYy1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jLXJvdy1mb290ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYy1jb250ZW50LW1vZHVsLFxuICAuYy1ib3gge1xuICAgIHBhZGRpbmctdG9wOiAzZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNlbTsgfVxuICAuYy10ZWFzZXItM2NvbC1pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogM2VtOyB9XG4gIC5jLWN0YS1iYWNrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM2VtOyB9XG4gIC5jLWZvb3Rlci1tYWluLFxuICAuYy1mb290ZXItbWVtYmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDsgfVxuICAuYy1wcm9kdWN0cy1saXN0IGxpIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAuYy10ZWFzZXItM2NvbC1pdGVtIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYy10ZWFzZXItM2NvbC1pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmMtcHJvZHVjdHMtbGlzdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYy1wcm9kdWN0cy1saXN0IGxpIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmMtcHJvZHVjdHMtbGlzdCBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gIC5jLXByb2R1Y3RzLXRlYXNlciAuYy1zdWJ0aXRsZS1sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuYy1sb2dvcyAuYy1sb2dvcy1saXN0IGxpIHtcbiAgICB3aWR0aDogNDclOyB9XG4gIC5jLWJveC1vdXRlciB7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7IH1cbiAgLmMtYm94IHtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29udGVudFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbi8vIGhvbWVwYWdlXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaG9tZXBhZ2UvaG9tZXBhZ2UtdGVhc2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9ob21lcGFnZS9ob21lcGFnZS10ZWFzZXJfZnVsbHNjcmVlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaG9tZXBhZ2UvaG9tZXBhZ2UtdGVhc2VyX2ZsZXgnO1xuLy9AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaG9tZXBhZ2UvaG9tZXBhZ2UtdGVhc2VyX2dyaWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2hvbWVwYWdlL2hvbWVwYWdlLXRlYXNlcl9lZmZlY3RzJztcblxuLy8gcGFnZSBoZWFkZXJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9wYWdlLWhlYWRlcic7XG5cbi8vIGFjY29yZGVvblxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2FjY29yZGVvbic7XG5cbi8vIGFkcmVzc1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2FkcmVzcyc7XG5cbi8vIGMtdGV4dFxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2MtdGV4dCc7XG5cbi8vIGltYWdlXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaW1hZ2Utb25seSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaW1hZ2UtdGV4dCc7XG5cbi8vIGluZm9ncmFmaWtcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9pbmZvZ3JhZmlrJztcblxuLy8gam9ic1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2pvYnMnO1xuXG4vLyBtYXBcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9tYXAnO1xuXG4vLyBtaXRhcmJlaXRlclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L21pdGFyYmVpdGVyJztcblxuLy8gbWl0Z2xpZWRzY2hhZnRlblxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L21pdGdsaWVkc2NoYWZ0ZW4nO1xuXG4vLyBuZXdzIGRldGFpbFxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L25ld3NkZXRhaWwnO1xuXG4vLyBuZXdzIMO8YmVyc2ljaHRcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9uZXdzdWViZXJzaWNodCc7XG5cbi8vIHF1b3RlXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvcXVvdGUnO1xuKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sdGlwIGZvciBTZWN0aW9uIElkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmpzIC5zaG93aWQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzIC5zaG93aWQgaW5wdXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2hvd2lkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JyxDb3VyaWVyLCdMdWNpZGEgU2FucyBUeXBld3JpdGVyJywnTHVjaWRhIFR5cGV3cml0ZXInLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGVmdDogMzBweDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMCAwIDAgMjZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE2cHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIC5zaG93aWQge1xuICAgICAgbGVmdDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNob3dpZCB7XG4gICAgICB0b3A6IDMwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODcuNWVtKSB7XG4gICAgLnNob3dpZCB7XG4gICAgICB0b3A6IDQwcHg7IH0gfVxuICAuc2hvd2lkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnNob3dpZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuc2hvd2lkOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IC4wNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMCAuMDVlbSAuMDVlbSAwO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIC4wNjVlbSwgLjEzZW0gLjExZW0gMCAtLjA1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMCAuM2VtIDAgMDtcbiAgICBoZWlnaHQ6IC45NWVtO1xuICAgIGxlZnQ6IC4yZW07XG4gICAgbWFyZ2luOiAwIC4xN2VtIC4wNWVtIC4xZW07XG4gICAgdG9wOiAuMjVlbTtcbiAgICB3aWR0aDogLjc1ZW07IH1cbiAgLnNob3dpZDpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogLjJlbTtcbiAgICBsZWZ0OiAuNWVtO1xuICAgIHRvcDogLjI4ZW07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAuc2hvd2lkIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnNob3dpZCBpbnB1dDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLmMtYmctZGFyayAuc2hvd2lkIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmMtYmctZGFyayAuc2hvd2lkIGlucHV0IHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5jLWJnLWRhcmsgLnNob3dpZDpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5jLWJnLWRhcmsgLnNob3dpZCBpbnB1dDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogYmxhY2s7IH1cblxuLypcbi8vIHRpdGxlXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvdGl0bGUnO1xuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBUZWFzZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jLXRleHQtYmxvY2sgLmMtbmV3cy1pdGVtLWltZyB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5jc3N0cmFuc2l0aW9ucyAuYy1uZXdzLXRlYXNlciAuYy1jb2wtNiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2UtaW4tb3V0OyB9XG5cbi5jc3N0cmFuc2l0aW9ucyAuYy1uZXdzLXRlYXNlciAuYy1jb2wtNi5mYWRlaW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5jLXRlYXNlci0zY29sLWl0ZW0gZmlndXJlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS42ZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFNpdGVmb290ZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvb2tpZSBOb3RpY2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2Nvb2tpZS1ub3RpY2Uge1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDFlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjY29va2llLW5vdGljZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG4jY29va2llLW5vdGljZSAuY24tYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuXG4uY29va2llLW5vdGljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODI2MjI7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5jb29raWUtbm90aWNlIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29va2llLW5vdGljZSBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLmNuLWJ1dHRvbiB7XG4gIGNvbG9yOiAjMTIxODJkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkNmE3O1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IC41ZW07XG4gIHBhZGRpbmc6IDAuMzc1ZW0gMWVtIDAuMTg3NWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY24tYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY24tYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYTk0ODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jc3N0cmFuc2l0aW9ucyAuY24tYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEZpeCBvZmZjYW52YXMgbmF2aWdhdGlvblxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZpeG5hdmksXG4uZml4Ym9keSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwOyB9XG5cbi5maXhuYXZpIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5maXhib2R5IHtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZpeGJvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVYgSW5mbzogUG9zaXRpb24gb2YgdGhlIGJyZWFrcG9pbnRzIGluZm9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKmJvZHk6YmVmb3Jle1xuXHRib3R0b206IDA7XG5cdHRvcDogYXV0bztcblx0ei1pbmRleDogMzAwMDtcbn0qL1xuIiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBHZW5lcmFsIGNvbmZpZ3VyYXRpb25zXG5AaW1wb3J0ICdjb21tb24vc2V0dGluZ3MvY29uZmlnJztcblxuLy8gQ29sb3IgZGVmaW5pdGlvbnNcbkBpbXBvcnQgJ2NvbW1vbi9zZXR0aW5ncy9jb2xvcnMnO1xuXG5AaW1wb3J0IFwiY29tbW9uL3N1L192YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJjb21tb24vc3UvX25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImNvbW1vbi9zdS9fbWl4aW5zXCI7XG5AaW1wb3J0IFwiY29tbW9uL3N1L19oZWxwZXJzXCI7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNhYXMgVG9vbHMgKGltcG9ydGVkIGZyb20gbm9kZV9tb2R1bGVzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gU2V0dGluZyBmb3IgU2FhcyBUb29sICdTY3V0OiBTYXNzLUNTUyBVdGl0aWxpZXMnXG5AaW1wb3J0ICdjb21tb24vc2V0dGluZ3Mvc2N1dCc7XG5cbi8vIFNjdXQ6IFNhc3MtQ1NTIFV0aXRpbGllcyAoaHR0cHM6Ly9kYXZpZHRoZWNsYXJrLmdpdGh1Yi5pby9zY3V0LylcbkBpbXBvcnQgJ3NjdXQvZGlzdC9zY3V0JztcblxuXG4vLyBTZXR0aW5nIGZvciBTYWFzIFRvb2wgJ01lZGlhIFF1ZXJpZXMgd2l0aCBzdXBlcnBvd2VycydcbkBpbXBvcnQgJ2NvbW1vbi9zZXR0aW5ncy9icmVha3BvaW50cyc7XG5cbi8vIE1lZGlhIFF1ZXJpZXMgd2l0aCBzdXBlcnBvd2VycyAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSlcbkBpbXBvcnQgJ3Nhc3MtbXEvbXEnO1xuXG5cbi8vIFN1c3kgaXMgYSBsaWdodHdlaWdodCBncmlkLWxheW91dCBlbmdpbmUgZm9yIFNhc3MgKGh0dHA6Ly9vZGRiaXJkLm5ldC9zdXN5Lylcbi8vQGltcG9ydCAnc3VzeS9zYXNzL3N1c3knO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaXplc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5AaW1wb3J0ICdjb21tb24vc2V0dGluZ3Mvc2l6ZXMvZm9udC1zaXplcyc7XG5AaW1wb3J0ICdjb21tb24vc2V0dGluZ3Mvc2l6ZXMvaW1hZ2Utc2l6ZXMnO1xuQGltcG9ydCAnY29tbW9uL3NldHRpbmdzL3NpemVzL2hlaWdodC1zaXplcyc7XG5AaW1wb3J0ICdjb21tb24vc2V0dGluZ3Mvc2l6ZXMvcGFkZGluZy1zaXplcyc7XG5AaW1wb3J0ICdjb21tb24vc2V0dGluZ3Mvc2l6ZXMvd2lkdGgtc2l6ZXMnO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJ2hlbHBlci9jZW50ZXItdGhpbmdzJztcbkBpbXBvcnQgJ2hlbHBlci9jbGVhcmZpeCc7XG5AaW1wb3J0ICdoZWxwZXIvY29sb3JzJztcbkBpbXBvcnQgJ2hlbHBlci9oaWRlLXRoaW5ncyc7XG5AaW1wb3J0ICdoZWxwZXIvcHNldWRvLWVsZW1lbnRzJztcbkBpbXBvcnQgJ2hlbHBlci93b3JkYnJlYWsnO1xuQGltcG9ydCAnaGVscGVyL3dyYXBwZXJzJztcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTm9ybWFsaXplLCBCb2lsZXJwbGF0ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG5AaW1wb3J0ICdjb21tb24vY29uc2lzdGVuY3kvbm9ybWFsaXplJztcbkBpbXBvcnQgJ2NvbW1vbi9jb25zaXN0ZW5jeS9ib2lsZXJwbGF0ZSc7XG5AaW1wb3J0ICdjb21tb24vY29uc2lzdGVuY3kvc3lzJztcbiovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21tb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJ2NvbW1vbi9mb250cy9mb250ZmFjZSc7XG5AaW1wb3J0ICdjb21tb24vZm9udHMvd2ViZm9udCc7XG5cbi8vQGltcG9ydCAnY29tbW9uL2Jhc2UnO1xuLy9AaW1wb3J0ICdjb21tb24vY29udGFpbmVyJztcbkBpbXBvcnQgJ2NvbW1vbi9lcnJvci1tZXNzYWdlcyc7XG5AaW1wb3J0ICdjb21tb24vdHlwb2dyYXBoeSc7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vL0BpbXBvcnQgJ2VsZW1lbnRzL2EnO1xuLy9AaW1wb3J0ICdlbGVtZW50cy9idXR0b25zJztcbi8vQGltcG9ydCAnZWxlbWVudHMvZG93bmxvYWRzJztcbkBpbXBvcnQgJ2VsZW1lbnRzL2ltYWdlcyc7XG4vL0BpbXBvcnQgJ2VsZW1lbnRzL21haW4nO1xuLy9AaW1wb3J0ICdlbGVtZW50cy9wJztcbi8vQGltcG9ydCAnZWxlbWVudHMvdW5vcmRlcmVkLWxpc3RzJztcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBTaXRlaGVhZGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2l0ZS1oZWFkZXInO1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBOYXZpZ2F0aW9uXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2aWdhdGlvbi9tZXRhLW5hdmlnYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9uYXZpZ2F0aW9uL29mZmNhbnZhcy9vZmZjYW52YXMtd3JhcHBlcnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9uYXZpZ2F0aW9uL29mZmNhbnZhcy9vZmZjYW52YXMnO1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBGb3JtXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybS9mb3JtJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybS9mb3JtLWNoZWNrYm94JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybS9mb3JtLXNlbGVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvcm0vZm9ybS12YWxpZGF0aW9uJztcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gTGlnaHRib3hcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy9AaW1wb3J0ICdjb21wb25lbnRzL2xpZ2h0Ym94L2xpZ2h0Ym94Jztcbi8vQGltcG9ydCAnY29tcG9uZW50cy9saWdodGJveC9saWdodGJveC1jbG9zZWJ1dHRvbic7XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudHNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuIC8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuIEBpbXBvcnQgXCJjb21wb25lbnRzL3N1L19iYXNlXCI7XG4gQGltcG9ydCBcImNvbXBvbmVudHMvc3UvX2dyaWRcIjtcbiBAaW1wb3J0IFwiY29tcG9uZW50cy9zdS9fdHlwb2dyYXBoeVwiO1xuIC8vQGltcG9ydCBcImNvbXBvbmVudHMvc3UvX2hlYWRlclwiO1xuIEBpbXBvcnQgXCJjb21wb25lbnRzL3N1L19uYXZcIjtcbiBAaW1wb3J0IFwiY29tcG9uZW50cy9zdS9fZm9vdGVyXCI7XG5cbiAvKiBvcHRpb25hbCBzdHlsZXMgKi9cbiBAaW1wb3J0IFwiY29tcG9uZW50cy9zdS9fb2ZmY2FudmFzXCI7XG4gQGltcG9ydCBcImNvbXBvbmVudHMvc3UvX2NvbnRlbnRlbGVtZW50c1wiO1xuIEBpbXBvcnQgXCJjb21wb25lbnRzL3N1L19idXR0b24tbGlua3NcIjtcbiBAaW1wb3J0IFwiY29tcG9uZW50cy9zdS9fcmF0aW9ib3hcIjtcbiBAaW1wb3J0IFwiY29tcG9uZW50cy9zdS9fZm9ybVwiO1xuIEBpbXBvcnQgXCJjb21wb25lbnRzL3N1L19zbGlkZXJcIjtcbiBAaW1wb3J0IFwiY29tcG9uZW50cy9zdS9fdmlkZW9cIjtcblxuXG4gLyogc3R5bGVzIGZvciBldmVyeSBwcm9qZWN0ICovXG4gQGltcG9ydCBcImNvbXBvbmVudHMvc3UvX3Jlc3BvbnNpdmVcIjtcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29udGVudFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbi8vIGhvbWVwYWdlXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaG9tZXBhZ2UvaG9tZXBhZ2UtdGVhc2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9ob21lcGFnZS9ob21lcGFnZS10ZWFzZXJfZnVsbHNjcmVlbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaG9tZXBhZ2UvaG9tZXBhZ2UtdGVhc2VyX2ZsZXgnO1xuLy9AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaG9tZXBhZ2UvaG9tZXBhZ2UtdGVhc2VyX2dyaWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2hvbWVwYWdlL2hvbWVwYWdlLXRlYXNlcl9lZmZlY3RzJztcblxuLy8gcGFnZSBoZWFkZXJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9wYWdlLWhlYWRlcic7XG5cbi8vIGFjY29yZGVvblxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2FjY29yZGVvbic7XG5cbi8vIGFkcmVzc1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2FkcmVzcyc7XG5cbi8vIGMtdGV4dFxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2MtdGV4dCc7XG5cbi8vIGltYWdlXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaW1hZ2Utb25seSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvaW1hZ2UtdGV4dCc7XG5cbi8vIGluZm9ncmFmaWtcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9pbmZvZ3JhZmlrJztcblxuLy8gam9ic1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L2pvYnMnO1xuXG4vLyBtYXBcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9tYXAnO1xuXG4vLyBtaXRhcmJlaXRlclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L21pdGFyYmVpdGVyJztcblxuLy8gbWl0Z2xpZWRzY2hhZnRlblxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L21pdGdsaWVkc2NoYWZ0ZW4nO1xuXG4vLyBuZXdzIGRldGFpbFxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L25ld3NkZXRhaWwnO1xuXG4vLyBuZXdzIMO8YmVyc2ljaHRcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC9uZXdzdWViZXJzaWNodCc7XG5cbi8vIHF1b3RlXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQvcXVvdGUnO1xuKi9cblxuLy8gc2VjdGlvblxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50L3NlY3Rpb24nO1xuXG4vKlxuLy8gdGl0bGVcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC90aXRsZSc7XG4qL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gVGVhc2VyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL25ld3MtdGVhc2VyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy90ZWFzZXIvcmVsYXRlZC1wYWdlcy10ZWFzZXIuc2Nzcyc7XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFNpdGVmb290ZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy9AaW1wb3J0ICdjb21wb25lbnRzL3NpdGUtZm9vdGVyJztcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db29raWUgTm90aWNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCAnY29tcG9uZW50cy9jb29raWUtbm90aWNlJztcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gRml4IG9mZmNhbnZhcyBuYXZpZ2F0aW9uXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2aWdhdGlvbi9vZmZjYW52YXMvb3BlbmVkL2ZpeC1lbGVtZW50cyc7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERFViBJbmZvOiBQb3NpdGlvbiBvZiB0aGUgYnJlYWtwb2ludHMgaW5mb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypib2R5OmJlZm9yZXtcblx0Ym90dG9tOiAwO1xuXHR0b3A6IGF1dG87XG5cdHotaW5kZXg6IDMwMDA7XG59Ki9cbiIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERlZmF1bHQgc2V0dGluZ3MgZGVmaW5lZCBhcyB2YXJpYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEJhc2UgZm9udCBzaXplcyAodXNlZCBieSBzY3V0LCBzYXNzLW1xKVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kZGVmYXVsdFB4U2l6ZVZhbHVlOiAxNjtcbiRkZWZhdWx0UHhTaXplOiAxNnB4O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gRm9udHN0YWNrIGRlZmluaXRpb25zXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRmb250c3RhY2s6ICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuLy8kc2VyaWZmb250c3RhY2s6IEdlb3JnaWEsICdCaWcgQ2FzbG9uJywgJ0Jvb2sgQW50aXF1YScsICdQYWxhdGlubyBMaW5vdHlwZScsIHNlcmlmO1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBXb3JkcHJlc3M6IFRoZW1lIG5hbWUgKHNhbWUgYXMgJ3Byb2plY3QgbmFtZScgaW4gJ2d1bHAgY29uZmlnJylcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJHRoZW1lbmFtZTogd2Vyb3NvZnQ7XG4iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZhdWx0IGNvbG9yIGRlZmluaXRpb25zIGRlZmluZWQgYXMgc2FzcyBsaXN0ICggdXNlZCB2aWEgY29sb3IgbWl4aW4pXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kY29sb3I6IChcblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdCBDSUNEIENvbG9yc1xuXHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0Q0lDb2xvcjogXHRcdFx0XHRcdFx0XHQjMWUyMTU0LFxuXHRDSUNvbG9yUmdiYTogXHRcdFx0XHRcdFx0cmdiYSgzMCwzMyw4NCwxKSxcblxuXHRDSUNvbG9yZGltbWVkOlx0XHRcdFx0XHRcdCNlNmU1ZjEsXG5cblx0YWNjZW50Q0lDb2xvcjogXHRcdFx0XHRcdFx0I2U5NGY0ZixcblxuXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0IEhlYWRpbmcgY29sb3JzXG5cdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHRzaXRlVGl0bGU6IFx0XHRcdFx0XHRcdFx0I2ZmZmZmZixcblxuXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0IEJhY2tncm91bmQgY29sb3JzXG5cdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHRsYW5ndWFnZU5hdmlnYXRpb25CYWNrZ3JvdW5kQ29sb3I6IFx0I2YxZjFmMSxcblx0YnJpZ2h0QmFja2dyb3VuZENvbG9yOiBcdFx0XHRcdCNmZmZmZmYsXG5cdG5ldXRyYWxJbWFnZUJhY2tFbmQ6IFx0XHRcdFx0I2MyYzJjMixcblxuXG5cdGRhcmtCYWNrZ3JvdW5kQ29sb3I6IFx0XHRcdCMxMTExMTEsXG5cdGRhcmtCYWNrZ3JvdW5kQ29sb3JSZ2JhOiBcdFx0cmdiYSgxNywxNywxNywuMSksXG5cblx0YmFzZUJhY2tncm91bmQ6IFx0XHRcdFx0I2ZmZmZmZixcblx0aW1hZ2VCYWNrZ3JvdW5kOiBcdFx0XHRcdCNlNmU2ZTYsXG5cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdCBUZXh0IGNvbG9yc1xuXHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0YnJpZ2h0VGV4dENvbG9yOiBcdFx0XHRcdCNmZmZmZmYsXG5cdGRhcmtUZXh0Q29sb3I6IFx0XHRcdFx0XHQjNUU1RTVFLFxuXHRlcnJvclRleHRDb2xvcjogXHRcdFx0XHQjZDgwYzBjLFxuXHRmb290ZXJOYXZpZ2F0aW9uVGV4dENvbG9yOiBcdFx0IzVFNUU1RSxcblx0cXVvdGVDb2xvcjogXHRcdFx0XHRcdCM4MzdFQkIsXG5cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdCBMaW5rIGNvbG9yc1xuXHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0Y29udGVudFRleHRDb2xvcnZpc2l0ZWQ6IFx0XHQjMTExMTExLFxuXHRjb250ZW50VGV4dEhvdmVyQ29sb3I6IFx0XHRcdCMxMTExMTEsXG5cblxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdCBCb3JkZXIgY29sb3JzXG5cdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHRsYW5ndWFnZU5hdmlnYXRpb25TZXBhcmF0b3I6IFx0I2ZmZmZmZixcblx0QWNjb3JkZW9uVG9nZ2xlQm9yZGVyOlx0XHRcdCNENUQ1RDUsXG5cdGluZm9HcmFmaWtJbmRleEJvcmRlcjogXHRcdFx0I0IzQjJCMixcblx0c2Nyb2xsTmF2Qm9yZGVyQ29sb3I6IFx0XHRcdCNlZmVmZWYsXG5cblxuXHRmb3JtSW5wdXRCb3JkZXJDb2xvcjogXHRcdFx0I2E4YTA5YSxcblx0Zm9ybUlucHV0Qm9yZGVyQ29sb3Jmb2N1czogXHRcdCMxYjM2NWUsXG5cdGZvcm1JbnB1dEJvcmRlckVycm9yQ29sb3I6IFx0XHQjZDgwYzBjLFxuXG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0IFNoYWRvdyBjb2xvcnNcblx0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdHNjcm9sbE5hdlNoYWRvd0NvbG9yOiBcdFx0XHQjZGZkZmRmLFxuXG4pO1xuIiwiLyogVmFyaWFibGVzLCBOYW1pbmcgbWF5IHZhcnkgZnJvbSBwcm9qZWN0IHRvIHByb2plY3QgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kZm9udC1zdGFjay1kZWZhdWx0OiAnSEsgR3JvdGVzaycsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiB0ZXh0ICovXG4kdGV4dC1jb2xvcjogIzEyMTgyZDtcbiR0ZXh0LWhpZ2hsaWdodC1jb2xvcjogI2YxYTk0ODtcbiR0ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuJHRleHQtY29sb3ItbGlnaHQtYm9yZGVyOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG5cblxuLyogYmFja2dyb3VuZCAqL1xuJGJnLWNvbnRlbnQ6ICNmZmY7XG4kYmctbGlnaHQ6ICNmZmY7XG4kYmctbWVkaXVtOiAjRjVGM0YzOyAvKiBncmV5ICovXG4kYmctZGFyazogIzI4MjYyMjsgLyogZGFyayBncmV5ICovXG4kYmctaGlnaGxpZ2h0OiAjZjFhOTQ4OyAvKiBvcmFuZ2UgKi9cblxuXG4kYmctYnRuOiAjZjFhOTQ4O1xuXG4vKiBsaW5lLWNvbG9ycyAqL1xuJGJvcmRlci1saWdodDogI2ZmZjtcbiRib3JkZXItZGFyazogIzEyMTgyZDsgLyogZGFyayBibHVlICovXG4kYm9yZGVyLWhpZ2hsaWdodDogI2YxYTk0ODsgLyogb3JhbmdlICovXG5cbiRsaW5lLWJhc2ljOiAjY2NjO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuICAgIC0tdGV4dC1jb2xvcjogIzEyMTgyZDtcbiAgICAtLXRleHQtaGlnaGxpZ2h0LWNvbG9yOiAjZjFhOTQ4O1xuICAgIC0tc3BhY2luZy1sOiA0ZW07XG59XG5cbi5jLWJnLWRhcmsge1xuICAgIC0tdGV4dC1jb2xvcjogI2ZmZjtcbn1cblxuLmMtYmctaGlnaGxpZ2h0IHtcbiAgICAtLXRleHQtaGlnaGxpZ2h0LWNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgLS1zcGFjaW5nLWw6IDZlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC0tc3BhY2luZy1sOiAzZW07XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4qIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiA0ICovXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLypcbiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcblxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlICdhJyBlbGVtZW50IGluIElFNi83LzgvOSwgRkYzXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFN1xuICogICAgY29kZS5mbGlja3IuY29tL2Jsb2cvMjAwOC8xMS8xMi9vbi11aS1xdWFsaXR5LXRoZS1saXR0bGUtdGhpbmdzLWNsaWVudC1zaWRlLWltYWdlLXJlc2l6aW5nL1xuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgbWFyZ2luOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBwYWRkaW5nOjA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gIGJvcmRlcjogMDtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogNCAqL1xufVxuXG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG5cbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cblxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLyoqXG5cbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxsc1xuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnRzIGN1YmVncmFmaWtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5cbmRpdiwgcCB7XG4gICAgcGFkZGluZzowO1xuICAgIG1hcmdpbjowO1xufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGgsIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gICAgLyogUmVtb3ZlZCBiZWNhdXNlIG9mIHZpc2liaWxpdHljaGFuZ2UtYWRkaXRpb24gdG8gZmFuY3ktZm9ybXMgcGx1Z2luLlxuICAgICAqIDIwMTUvMDEvMjIgLSBGbG9yaWFuIE3DpGRlclxuICAgICAqIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsqL1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBGaXJlZm94IDEgLSAyOCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqL1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5sYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDEwICAqL1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTErICovXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm0gUGxhY2Vob2xkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgICB7QGNvbnRlbnR9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fSAgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyBzbW9vdGhpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PSBvbiB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgSGlkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oaWRlLXZpc3VhbGx5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmMtaGlkZS1jb21wbGV0ZWx5IHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBpbWFnZSByZXBsYWNlbWVudCAqL1xuLmMtaXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0ZGlyZWN0aW9uOiBsdHI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0aWNreSBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbmJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtaGVhZGVyLFxuLmMtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmMtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xufSIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzIGZvciBTYWFzIFRvb2wgJ1NjdXQ6IFNhc3MtQ1NTIFV0aXRpbGllcydcbiAgIGh0dHBzOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dC9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRzY3V0LWVtLWJhc2U6ICRkZWZhdWx0UHhTaXplVmFsdWU7XG4iLCIvKlxuKiBTY3V0LCBhIGNvbGxlY3Rpb24gb2YgU2FzcyB1dGlsaXRpZXNcbiogdG8gZWFzZSBhbmQgaW1wcm92ZSBvdXIgaW1wbGVtZW50YXRpb25zIG9mIGNvbW1vbiBzdHlsZS1jb2RlIHBhdHRlcm5zLlxuKiB2MS40LjBcbiogRG9jcyBhdCBodHRwOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dFxuKi9cblxuQG1peGluIHNjdXQtY2xlYXJmaXgge1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxufVxuXG4lc2N1dC1jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIHNjdXQtY2xlYXJmaXg7XG59XG5AbWl4aW4gc2N1dC1saXN0LXVuc3R5bGVkKFxuICAkbm8tbWFyZ2luOiB0cnVlXG4pIHtcblxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICBAaWYgJG5vLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbn1cblxuJXNjdXQtbGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIHNjdXQtbGlzdC11bnN0eWxlZCgpO1xufVxuLy8gRGVwZW5kcyBvbiBgbGlzdC11bnN0eWxlZGAgYW5kIGBjbGVhcmZpeGAuXG5cbkBtaXhpbiBzY3V0LWxpc3QtZmxvYXRlZCAoXG4gICRzcGFjZTogZmFsc2UsXG4gICRkaXI6IGxlZnQsXG4gICRuby1tYXJnaW46IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIHNjdXQtbGlzdC11bnN0eWxlZCgkbm8tbWFyZ2luKTtcbiAgQGluY2x1ZGUgc2N1dC1jbGVhcmZpeDtcblxuICAmID4gbGkge1xuICAgIGZsb2F0OiAkZGlyO1xuICB9XG5cbiAgQGlmICRzcGFjZSB7XG4gICAgJiA+IGxpICsgbGkge1xuICAgICAgbWFyZ2luLSN7JGRpcn06ICRzcGFjZTtcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC1saXN0LWZsb2F0ZWQge1xuICBAaW5jbHVkZSBzY3V0LWxpc3QtZmxvYXRlZDtcbn1cblxuQGZ1bmN0aW9uIHNjdXQtYXV0b09yVmFsdWUgKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gYSBvciAkdmFsID09IGF1dG8ge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LWNvb3JkcyAoXG4gICRjb29yZGluYXRlczogbiBuIG4gblxuKSB7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgQGlmICR0b3AgIT0gbiB7XG4gICAgdG9wOiBzY3V0LWF1dG9PclZhbHVlKCR0b3ApO1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbiB7XG4gICAgcmlnaHQ6IHNjdXQtYXV0b09yVmFsdWUoJHJpZ2h0KTtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBuIHtcbiAgICBib3R0b206IHNjdXQtYXV0b09yVmFsdWUoJGJvdHRvbSk7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG4ge1xuICAgIGxlZnQ6IHNjdXQtYXV0b09yVmFsdWUoJGxlZnQpO1xuICB9XG5cbn1cbkBmdW5jdGlvbiBzY3V0LXN0cmlwLXVuaXQgKFxuICAkbnVtXG4pIHtcblxuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcblxufVxuLy8gRGVwZW5kcyBvbiBgc2N1dC1zdHJpcC11bml0YC5cblxuJHNjdXQtZW0tYmFzZTogMTYgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzY3V0LWVtIChcbiAgJHBpeGVscyxcbiAgJGJhc2U6ICRzY3V0LWVtLWJhc2Vcbikge1xuXG4gIC8vICRiYXNlIGNvdWxkIGJlIGluIGVtIG9yIHB4IChubyB1bml0ID0gcHgpLlxuICAvLyBBZGp1c3QgYWNjb3JkaW5nbHkgdG8gY3JlYXRlIGEgJGRpdmlzb3IgdGhhdFxuICAvLyBzZXJ2ZXMgYXMgY29udGV4dCBmb3IgJHBpeGVscy5cbiAgJG11bHRpcGxpZXI6IGlmKHVuaXQoJGJhc2UpID09IGVtLCAxNiwgMSk7XG4gICRkaXZpc29yOiBzY3V0LXN0cmlwLXVuaXQoJGJhc2UpICogJG11bHRpcGxpZXI7XG5cbiAgJGVtLXZhbHM6ICgpO1xuICBAZWFjaCAkdmFsIGluICRwaXhlbHMge1xuICAgICR2YWwtaW4tZW1zOiAoc2N1dC1zdHJpcC11bml0KCR2YWwpIC8gJGRpdmlzb3IpICogMWVtO1xuICAgICRlbS12YWxzOiBhcHBlbmQoJGVtLXZhbHMsICR2YWwtaW4tZW1zKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJGVtLXZhbHMpID09IDEge1xuICAgIC8vIHJldHVybiBhIHNpbmdsZSB2YWx1ZSBpbnN0ZWFkIG9mIGEgbGlzdCxcbiAgICAvLyBzbyBpdCBjYW4gYmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICBAcmV0dXJuIG50aCgkZW0tdmFscywgMSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGVtLXZhbHM7XG4gIH1cblxufVxuLy8gRGVwZW5kcyBvbiBgc2N1dC1zdHJpcC11bml0YC5cblxuJHNjdXQtcmVtLWJhc2U6IDE2ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2N1dC1yZW0gKFxuICAkcGl4ZWxzXG4pIHtcblxuICAkcmVtLXZhbHM6ICgpO1xuICBAZWFjaCAkdmFsIGluICRwaXhlbHMge1xuICAgICR2YWwtaW4tcmVtczogc2N1dC1zdHJpcC11bml0KCR2YWwpIC8gJHNjdXQtcmVtLWJhc2UgKiAxcmVtO1xuICAgICRyZW0tdmFsczogYXBwZW5kKCRyZW0tdmFscywgJHZhbC1pbi1yZW1zKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHJlbS12YWxzKSA9PSAxIHtcbiAgICAvLyByZXR1cm4gYSBzaW5nbGUgdmFsdWUgaW5zdGVhZCBvZiBhIGxpc3QsXG4gICAgLy8gc28gaXQgY2FuIGJlIHVzZWQgaW4gY2FsY3VsYXRpb25zXG4gICAgQHJldHVybiBudGgoJHJlbS12YWxzLCAxKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcmVtLXZhbHM7XG4gIH1cblxufVxuQG1peGluIHNjdXQtYm9yZGVyIChcbiAgJHN0eWxlLFxuICAkc2lkZXM6IG4geVxuKSB7XG5cbiAgQGlmIGxlbmd0aCgkc2lkZXMpID09IDIge1xuICAgIEBpZiBudGgoJHNpZGVzLCAxKSAhPSBuIHtcbiAgICAgIGJvcmRlci10b3A6ICRzdHlsZTtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDIpICE9IG4ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRzdHlsZTtcbiAgICAgIGJvcmRlci1yaWdodDogJHN0eWxlO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIGxlbmd0aCgkc2lkZXMpID09IDQge1xuICAgIEBpZiBudGgoJHNpZGVzLCAxKSAhPSBuIHtcbiAgICAgIGJvcmRlci10b3A6ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDIpICE9IG4ge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkc3R5bGU7XG4gICAgfVxuICAgIEBpZiBudGgoJHNpZGVzLCAzKSAhPSBuIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDQpICE9IG4ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRzdHlsZTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJTY3V0LWJvcmRlciByZXF1aXJlcyBhICRzaWRlcyBhcmd1bWVudCBvZiAyIG9yIDQgdmFsdWVzLlwiXG4gIH1cblxufVxuQG1peGluIHNjdXQtY2lyY2xlIChcbiAgJHNpemUsXG4gICRjb2xvcjogaW5oZXJpdFxuKSB7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGlmICRjb2xvciA9PSBpbmhlcml0IHtcbiAgICAvLyBJZiB1c2VyIHdhbnRzIHRvIGluaGVyaXQgdGhlIGNvbG9yLFxuICAgIC8vIHRha2UgYWR2YW50YWdlIG9mIHRoZSBmYWN0IHRoYXQgYm9yZGVyXG4gICAgLy8gY29sb3IgZGVmYXVsdHMgdG8gdGhlIHRleHQgY29sb3Igb2YgdGhlIGVsZW1lbnQuXG4gICAgYm9yZGVyLXdpZHRoOiAkc2l6ZSAvIDI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSwganVzdCB1c2UgYmFja2dyb3VuZC1jb2xvci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB3aWR0aDogJHNpemU7XG4gIH1cblxufVxuQG1peGluIHNjdXQtY29sb3Itc3dhcCAoXG4gICRvZmYsXG4gICRvbixcbiAgJGR1cmF0aW9uOiAwLFxuICAkYmc6IGZhbHNlXG4pIHtcblxuICAkdHJhbnNpdGlvbi1wcm9wZXJ0aWVzOiBudWxsO1xuICAkb2ZmLWlzLWxpc3Q6IHR5cGUtb2YoJG9mZikgPT0gbGlzdDtcbiAgJG9uLWlzLWxpc3Q6IHR5cGUtb2YoJG9uKSA9PSBsaXN0O1xuXG4gIC8vIElmICRvZmYgSVMgYSBsaXN0LFxuICAvLyBhc3NpZ24gY29sb3IgYW5kIGJhY2tncm91bmQtY29sb3IuXG4gIEBpZiAkb2ZmLWlzLWxpc3Qge1xuICAgIGNvbG9yOiBudGgoJG9mZiwgMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbnRoKCRvZmYsIDIpO1xuICAgICR0cmFuc2l0aW9uLXByb3BlcnRpZXM6IGJhY2tncm91bmQtY29sb3IsIGNvbG9yO1xuICB9XG5cbiAgLy8gSWYgJG9mZiBJUyBOT1QgYSBsaXN0IGFuZCAkYmcgaXMgVFJVRSxcbiAgLy8gYXNzaWduIGJhY2tncm91bmQtY29sb3IuXG4gIEBlbHNlIGlmICRiZyBhbmQgbm90KCRvZmYtaXMtbGlzdCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmY7XG4gICAgJHRyYW5zaXRpb24tcHJvcGVydGllczogYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIC8vIElmICRvZmYgSVMgTk9UIGEgbGlzdCBhbmQgJGJnIGlzIEZBTFNFLFxuICAvLyBhc3NpZ24gY29sb3IuXG4gIEBlbHNlIHtcbiAgICBjb2xvcjogJG9mZjtcbiAgICAkdHJhbnNpdGlvbi1wcm9wZXJ0aWVzOiBjb2xvcjtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0LXVwIHRyYW5zaXRpb24gaWYgJGR1cmF0aW9uICE9IDAuXG4gIEBpZiAkZHVyYXRpb24gIT0gMCB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydGllcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcblxuICAgIC8vICRvbiBpcyB0cmVhdGVkIHRoZSBzYW1lIGFzICRvZmYsIGFib3ZlLlxuICAgIEBpZiAkb24taXMtbGlzdCB7XG4gICAgICBjb2xvcjogbnRoKCRvbiwgMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBudGgoJG9uLCAyKTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkYmcgYW5kIG5vdCgkb24taXMtbGlzdCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9uO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkb247XG4gICAgfVxuICB9XG5cbn1cbkBtaXhpbiBzY3V0LWhkLWJwIChcbiAgJHJhdGlvOiAxLjNcbikge1xuXG4gIEBtZWRpYSAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogKCRyYXRpbyAvIDEpKSxcbiAgICAgICAgICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgICAgICAobWluLXJlc29sdXRpb246IChyb3VuZCg5NiAqICRyYXRpbykgKiAxZHBpKSkge1xuICAgIEBjb250ZW50O1xuICB9XG5cbn1cblxuQG1peGluIHNjdXQtaGlkZS12aXN1YWxseSB7XG5cbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG5cbn1cblxuJXNjdXQtaGlkZS12aXN1YWxseSB7XG4gIEBpbmNsdWRlIHNjdXQtaGlkZS12aXN1YWxseTtcbn1cbkBtaXhpbiBzY3V0LWltYWdlLXJlcGxhY2Uge1xuXG4gIHRleHQtaW5kZW50OiAxMDIlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuXG59XG5cbiVzY3V0LWltYWdlLXJlcGxhY2Uge1xuICBAaW5jbHVkZSBzY3V0LWltYWdlLXJlcGxhY2U7XG59XG5cbi8vIERlcGVuZHMgb24gc2N1dC1yZW0gYW5kIHNjdXQtc3RyaXAtdW5pdFxuXG5AbWl4aW4gc2N1dC1yZW0tZmFsbGJhY2sgKFxuICAkcGl4ZWxzLFxuICAkcHJvcGVydHk6IGZvbnQtc2l6ZVxuKSB7XG5cbiAgJHB4LXZhbHM6IG51bGw7XG4gIEBlYWNoICR2YWwgaW4gJHBpeGVscyB7XG4gICAgJHZhbC1pbi1weDogc2N1dC1zdHJpcC11bml0KCR2YWwpICogMXB4O1xuICAgICRweC12YWxzOiBhcHBlbmQoJHB4LXZhbHMsICR2YWwtaW4tcHgpO1xuICB9XG4gICRyZW0tdmFsczogc2N1dC1yZW0oJHBpeGVscyk7XG5cbiAgI3skcHJvcGVydHl9OiAkcHgtdmFscztcbiAgI3skcHJvcGVydHl9OiAkcmVtLXZhbHM7XG5cbn1cbkBtaXhpbiBzY3V0LXJlc2V0LWJvcmRlci1ib3gge1xuICAvLyBNYWtlIGV2ZXJ5dGhpbmcgYSBib3JkZXItYm94LCBiZWNhdXNlIHdoeSBub3Q/XG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cbn1cblxuQG1peGluIHNjdXQtcmVzZXQtYW50aWFsaWFzIHtcbiAgLy8gQW50aWFsaWFzIVxuICBib2R5IHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgfVxuICAqLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogaW5oZXJpdDtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1zZW1hbnRpY2l6ZSB7XG4gIC8vIE1ha2UgaGVhZGVycyBhbmQgPGI+IHNlbWFudGljLCBub3QgcHJlc2VudGF0aW9uYWwuXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuQG1peGluIHNjdXQtcmVzZXQtcG9pbnRlciB7XG4gIC8vIENsaWNrYWJsZSBmb3JtIGVsZW1lbnRzIHNob3VsZCBoYXZlIGEgcG9pbnRlci5cbiAgbGFiZWwsXG4gIHNlbGVjdCxcbiAgb3B0aW9uLFxuICBidXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1mb3JtIHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1idXR0b24ge1xuICAvLyBSZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMsIHdoaWNoIGFyZSBuZXZlciB1c2VkLlxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1wYXJhZ3JhcGgge1xuICAvLyBTb21lIHBhcmFncmFwaCBtYXJnaW5zIGp1c3QgZ2V0IGluIHRoZSB3YXkuXG4gIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1tZWRpYSB7XG4gIC8vIFlvdSB3YW50IHRoZXNlIGVsZW1lbnRzIGZsdWlkLCBwcm9iYWJseS5cbiAgaW1nLFxuICB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1maWd1cmUge1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW5zLlxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4vLyBDYWxsIHRoZW0gYWxsLCBtaW51cyBleGNsdXNpb25zIVxuQG1peGluIHNjdXQtcmVzZXQgKCRleGNsdWRlOiBmYWxzZSkge1xuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBib3JkZXItYm94KSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtYm9yZGVyLWJveDtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBhbnRpYWxpYXMpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1hbnRpYWxpYXM7XG4gIH1cbiAgQGlmIG5vdChpbmRleCgkZXhjbHVkZSwgc2VtYW50aWNpemUpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1zZW1hbnRpY2l6ZTtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBwb2ludGVyKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtcG9pbnRlcjtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBmb3JtKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtZm9ybTtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBidXR0b24pKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1idXR0b247XG4gIH1cbiAgQGlmIG5vdChpbmRleCgkZXhjbHVkZSwgcGFyYWdyYXBoKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtcGFyYWdyYXBoO1xuICB9XG4gIEBpZiBub3QoaW5kZXgoJGV4Y2x1ZGUsIG1lZGlhKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtbWVkaWE7XG4gIH1cbiAgQGlmIG5vdChpbmRleCgkZXhjbHVkZSwgZmlndXJlKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtZmlndXJlO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LXNlbGVjdGVkIChcbiAgJGFjdGl2ZTogZmFsc2Vcbikge1xuXG4gIEBpZiAkYWN0aXZlIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbn1cbkBtaXhpbiBzY3V0LXRyaWFuZ2xlIChcbiAgJGRpcmVjdGlvbjogcmlnaHQsXG4gICRzaXplOiAwLjc1ZW0sXG4gICRjb2xvcjogaW5oZXJpdFxuKSB7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICAvLyBGb3IgaW1wcm92ZWQgYXBwZWFyYW5jZSBpbiBzb21lIFdlYmtpdCBicm93c2Vyc1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cbiAgLy8gU2V0IHVwIHNvbWUgdmFyaWFibGVzXG4gICR3aWR0aDogbnVsbDtcbiAgJGhlaWdodDogbnVsbDtcbiAgJGJvcmRlci13aWR0aHM6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJHNpemUpID09IGxpc3Qge1xuICAgICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgICAkaGVpZ2h0OiBudGgoJHNpemUsIDIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkd2lkdGg6ICRzaXplO1xuICAgICRoZWlnaHQ6ICRzaXplO1xuICB9XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgLy8gRm9yIHVwIGFuZCBkb3duLCB3aWR0aCBnZXRzIHR3byBib3JkZXJzIGJ1dCBoZWlnaHQgb25seSBvbmUsXG4gICAgLy8gc28gZGl2aWRlIHNlY29uZCBib3JkZXItd2lkdGggdmFsdWUgYnkgMlxuICAgICRib3JkZXItd2lkdGhzOiAkaGVpZ2h0ICgkd2lkdGggLyAyKTtcbiAgfVxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIC8vIEZvciByaWdodCBhbmQgbGVmdCwgaGVpZ2h0IGdldHMgdHdvIGJvcmRlcnMgYnV0IHdpZHRoIG9ubHkgb25lLFxuICAgIC8vIHNvIGRpdmlkZSBmaXJzdCBib3JkZXItd2lkdGggdmFsdWUgYnkgMlxuICAgICRib3JkZXItd2lkdGhzOiAoJGhlaWdodCAvIDIpICR3aWR0aDtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIHJpZ2h0IHRyaWFuZ2xlcyAodGhlIHJlc3QpLCBib3RoIHNpZGVzIGdldCB0d28gYm9yZGVycyxcbiAgICAvLyBzbyBkaXZpZGUgYm90aCBieSAyXG4gICAgJGJvcmRlci13aWR0aHM6ICgkaGVpZ2h0IC8gMikgKCR3aWR0aCAvIDIpO1xuICB9XG5cbiAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRocztcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuXG4gIC8vIFNUQU5EQVJEIFRSSUFOR0xFU1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gQ09STkVSIFRSSUFOR0xFU1xuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHRvcC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdG9wLWxlZnQpIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdG9wLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHRvcC1sZWZ0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGJvdHRvbS1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gYm90dG9tLWxlZnQpIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGJvdHRvbS1sZWZ0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG59XG5cbiVzY3V0LXRyaWFuZ2xlIHtcbiAgQGluY2x1ZGUgc2N1dC10cmlhbmdsZTtcbn1cbkBtaXhpbiBzY3V0LWNlbnRlci1hYnNvbHV0ZWx5IChcbiAgJGRpbWVuc2lvbnNcbikge1xuXG4gICR3aWR0aDogbnRoKCRkaW1lbnNpb25zLCAxKTtcbiAgJGhlaWdodDogbnRoKCRkaW1lbnNpb25zLCAyKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgQGlmICR3aWR0aCAhPSBuIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogKC0kd2lkdGggLyAyKTtcbiAgfVxuXG4gIEBpZiAkaGVpZ2h0ICE9IG4ge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAoLSRoZWlnaHQgLyAyKTtcbiAgfVxuXG59XG5AbWl4aW4gc2N1dC1jZW50ZXItYmxvY2sgKFxuICAkbWF4LXdpZHRoOiBmYWxzZVxuKSB7XG5cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgQGlmICRtYXgtd2lkdGgge1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxuXG59XG5cbiVzY3V0LWNlbnRlci1ibG9jayB7XG4gIEBpbmNsdWRlIHNjdXQtY2VudGVyLWJsb2NrO1xufVxuXG5AbWl4aW4gc2N1dC1jZW50ZXItdHJhbnNmb3JtIChcbiAgJGF4aXM6IGZhbHNlIC8vIG9yIHggb3IgeVxuKSB7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIEBpZiAkYXhpcyAhPSB4IHtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cblxuICBAaWYgJGF4aXMgIT0geSB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gICR0cmFuc2xhdGUtdmFsOiBudWxsO1xuXG4gIEBpZiBub3QoJGF4aXMpIHtcbiAgICAkdHJhbnNsYXRlLXZhbDogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gIEBlbHNlIGlmICRheGlzICE9IHgge1xuICAgICR0cmFuc2xhdGUtdmFsOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIEBlbHNlIGlmICRheGlzICE9IHkge1xuICAgICR0cmFuc2xhdGUtdmFsOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2xhdGUtdmFsO1xuICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNsYXRlLXZhbDtcbiAgdHJhbnNmb3JtOiAkdHJhbnNsYXRlLXZhbDtcbn1cblxuJXNjdXQtY2VudGVyLXRyYW5zZm9ybSB7XG4gIEBpbmNsdWRlIHNjdXQtY2VudGVyLXRyYW5zZm9ybTtcbn1cblxuJXNjdXQtY2VudGVyLXRyYW5zZm9ybS14IHtcbiAgQGluY2x1ZGUgc2N1dC1jZW50ZXItdHJhbnNmb3JtKHgpO1xufVxuXG4lc2N1dC1jZW50ZXItdHJhbnNmb3JtLXkge1xuICBAaW5jbHVkZSBzY3V0LWNlbnRlci10cmFuc2Zvcm0oeSk7XG59XG5cbkBtaXhpbiBzY3V0LWZpbGwgKFxuICAkd2lkdGgtaGVpZ2h0OiBmYWxzZVxuKSB7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIEBpZiAkd2lkdGgtaGVpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG59XG5cbiVzY3V0LWZpbGwge1xuICBAaW5jbHVkZSBzY3V0LWZpbGw7XG59XG5AbWl4aW4gc2N1dC1saXN0LWN1c3RvbSAoXG4gICRjb250ZW50OiBcIlxcMjAyMlwiLFxuICAkbWFya2VyLXdpZHRoOiAwLjc1ZW0sXG4gICRwYWQ6IDAsXG4gICRuby1tYXJnaW46IGZhbHNlXG4pIHtcblxuICAkY29udGVudC12YWw6IG51bGw7XG4gICRjb3VudGVyOiBpbmRleCgkY29udGVudCwgY291bnQpO1xuICBAaWYgJGNvdW50ZXIge1xuICAgIEBpZiBsZW5ndGgoJGNvbnRlbnQpID09IDMge1xuICAgICAgJGNvbnRlbnQtdmFsOiBjb3VudGVyKHNjdXRsaXN0Y291bnRlciwgbnRoKCRjb250ZW50LCAzKSludGgoJGNvbnRlbnQsMik7XG4gICAgfVxuICAgIEBlbHNlIGlmIGxlbmd0aCgkY29udGVudCkgPT0gMiB7XG4gICAgICAkY29udGVudC12YWw6IGNvdW50ZXIoc2N1dGxpc3Rjb3VudGVyKW50aCgkY29udGVudCwyKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGNvbnRlbnQtdmFsOiBjb3VudGVyKHNjdXRsaXN0Y291bnRlcik7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkY29udGVudC12YWw6ICRjb250ZW50O1xuICB9XG5cbiAgcGFkZGluZy1sZWZ0OiAkbWFya2VyLXdpZHRoICsgJHBhZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkbm8tbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYgJGNvdW50ZXIge1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHNjdXRsaXN0Y291bnRlcjtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNvbnRlbnQtdmFsO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtJG1hcmtlci13aWR0aDtcbiAgICAgIHdpZHRoOiAkbWFya2VyLXdpZHRoO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbn1cbi8vIERlcGVuZHMgb24gYGxpc3QtZmxvYXRlZGAsIHdoaWNoIGRlcGVuZHMgaW4gdHVybiBvbiBgbGlzdC11bnN0eWxlZGAgYW5kIGBjbGVhcmZpeGAuXG5cbkBtaXhpbiBzY3V0LWxpc3QtZGl2aWRlZCAoXG4gICRkaXZpZGVyOiBcInxcIixcbiAgJHNwYWNlOiAwLjVlbSxcbiAgJGRpcjogbGVmdCxcbiAgJGhlaWdodDogZmFsc2UsXG4gICRuby1tYXJnaW46IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIHNjdXQtbGlzdC1mbG9hdGVkKCRkaXI6ICRkaXIsICRuby1tYXJnaW46ICRuby1tYXJnaW4pO1xuXG4gICRwc2V1ZG86IGlmKCRkaXIgPT0gbGVmdCwgJ2JlZm9yZScsICdhZnRlcicpO1xuXG4gIC8vIElmIGFuIGV4cGxpY2l0IGhlaWdodCBpcyBwYXNzZWQsXG4gIC8vIHRoaW5ncyBhcmUgZGlmZmVyZW50OiBBbGwgPGxpPnNcbiAgLy8gbmVlZCB0aGUgcHNldWRvLWVsZW1lbnQgKHRvIGZvcmNlIGhlaWdodCksXG4gIC8vIGJ1dCB0aGUgZmlyc3QncyBtdXN0IGJlIGhpZGRlbi5cblxuICBAaWYgJGhlaWdodCB7XG4gICAgJiA+IGxpIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gICAgJiA+IGxpOiN7JHBzZXVkb30ge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgY29udGVudDogJGRpdmlkZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgICYgPiBsaTpmaXJzdC1jaGlsZDojeyRwc2V1ZG99IHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAmID4gbGkgKyBsaTojeyRwc2V1ZG99IHtcbiAgICBAaWYgbm90KCRoZWlnaHQpIHtcbiAgICAgIGNvbnRlbnQ6ICRkaXZpZGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2U7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2U7XG4gIH1cblxufVxuXG4lc2N1dC1saXN0LWJhciB7XG4gIEBpbmNsdWRlIHNjdXQtbGlzdC1kaXZpZGVkO1xufVxuXG4lc2N1dC1saXN0LWJyZWFkY3J1bWIge1xuICBAaW5jbHVkZSBzY3V0LWxpc3QtZGl2aWRlZChcIi9cIik7XG59XG4vLyBEZXBlbmRzIG9uIGBsaXN0LXVuc3R5bGVkYC5cblxuQG1peGluIHNjdXQtbGlzdC1pbmxpbmUgKFxuICAkc3BhY2U6IGZhbHNlLFxuICAkbm8tbWFyZ2luOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSBzY3V0LWxpc3QtdW5zdHlsZWQoJG5vLW1hcmdpbik7XG5cbiAgJiA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICBAaWYgJHNwYWNlIHtcbiAgICAmID4gbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNlO1xuICAgIH1cbiAgfVxuXG59XG5cbiVzY3V0LWxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgc2N1dC1saXN0LWlubGluZTtcbn1cbi8vIERlcGVuZHMgb24gYGxpc3QtdW5zdHlsZWRgLlxuXG5AbWl4aW4gc2N1dC1saXN0LXB1bmN0dWF0ZWQgKFxuICAkZGl2aWRlcjogXCIsIFwiLFxuICAkZGlzcGxheTogaW5saW5lLFxuICAkbm8tbWFyZ2luOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSBzY3V0LWxpc3QtdW5zdHlsZWQoJG5vLW1hcmdpbik7XG5cbiAgJiA+IGxpIHtcbiAgICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJGRpdmlkZXI7XG4gICAgfVxuICB9XG5cbn1cblxuJXNjdXQtbGlzdC1jb21tYSB7XG4gIEBpbmNsdWRlIHNjdXQtbGlzdC1wdW5jdHVhdGVkO1xufVxuQG1peGluIHNjdXQtbWFyZ2luIChcbiAgJG1hcmdpblxuKSB7XG5cbiAgQGlmIGxlbmd0aCgkbWFyZ2luKSA9PSAxIGFuZCAkbWFyZ2luICE9IG4ge1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRtYXJnaW4pID09IDIge1xuICAgICRtYXJnaW4teTogbnRoKCRtYXJnaW4sIDEpO1xuICAgICRtYXJnaW4teDogbnRoKCRtYXJnaW4sIDIpO1xuICAgIEBpZiAkbWFyZ2luLXkgIT0gbiB7XG4gICAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXk7XG4gICAgfVxuICAgIEBpZiAkbWFyZ2luLXggIT0gbiB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbi14O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXg7XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkbWFyZ2luKSA9PSAzIHtcbiAgICAkbWFyZ2luLXktdG9wOiBudGgoJG1hcmdpbiwgMSk7XG4gICAgJG1hcmdpbi14OiBudGgoJG1hcmdpbiwgMik7XG4gICAgJG1hcmdpbi15LWJvdHRvbTogbnRoKCRtYXJnaW4sIDMpO1xuICAgIEBpZiAkbWFyZ2luLXktdG9wICE9IG4ge1xuICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbi15LXRvcDtcbiAgICB9XG4gICAgQGlmICRtYXJnaW4teCAhPSBuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teDtcbiAgICB9XG4gICAgQGlmICRtYXJnaW4teS1ib3R0b20gIT0gbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXktYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBsZW5ndGgoJG1hcmdpbikgPT0gNCB7XG4gICAgJG1hcmdpbi10b3A6IG50aCgkbWFyZ2luLCAxKTtcbiAgICAkbWFyZ2luLXJpZ2h0OiBudGgoJG1hcmdpbiwgMik7XG4gICAgJG1hcmdpbi1ib3R0b206IG50aCgkbWFyZ2luLCAzKTtcbiAgICAkbWFyZ2luLWxlZnQ6IG50aCgkbWFyZ2luLCA0KTtcbiAgICBAaWYgJG1hcmdpbi10b3AgIT0gbiB7XG4gICAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICB9XG4gICAgQGlmICRtYXJnaW4tcmlnaHQgIT0gbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG4gICAgfVxuICAgIEBpZiAkbWFyZ2luLWJvdHRvbSAhPSBuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuICAgIH1cbiAgICBAaWYgJG1hcmdpbi1sZWZ0ICE9IG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICB9XG4gIH1cblxufVxuQG1peGluIHNjdXQtcGFkZGluZyAoXG4gICRwYWRkaW5nXG4pIHtcblxuICBAaWYgbGVuZ3RoKCRwYWRkaW5nKSA9PSAxIGFuZCAkcGFkZGluZyAhPSBuIHtcbiAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRwYWRkaW5nKSA9PSAyIHtcbiAgICAkcGFkZGluZy15OiBudGgoJHBhZGRpbmcsIDEpO1xuICAgICRwYWRkaW5nLXg6IG50aCgkcGFkZGluZywgMik7XG4gICAgQGlmICRwYWRkaW5nLXkgIT0gbiB7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmcteTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy15O1xuICAgIH1cbiAgICBAaWYgJHBhZGRpbmcteCAhPSBuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXg7XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkcGFkZGluZykgPT0gMyB7XG4gICAgJHBhZGRpbmcteS10b3A6IG50aCgkcGFkZGluZywgMSk7XG4gICAgJHBhZGRpbmcteDogbnRoKCRwYWRkaW5nLCAyKTtcbiAgICAkcGFkZGluZy15LWJvdHRvbTogbnRoKCRwYWRkaW5nLCAzKTtcbiAgICBAaWYgJHBhZGRpbmcteS10b3AgIT0gbiB7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmcteS10b3A7XG4gICAgfVxuICAgIEBpZiAkcGFkZGluZy14ICE9IG4ge1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteDtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteDtcbiAgICB9XG4gICAgQGlmICRwYWRkaW5nLXktYm90dG9tICE9IG4ge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLXktYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHBhZGRpbmcpID09IDQge1xuICAgICRwYWRkaW5nLXRvcDogbnRoKCRwYWRkaW5nLCAxKTtcbiAgICAkcGFkZGluZy1yaWdodDogbnRoKCRwYWRkaW5nLCAyKTtcbiAgICAkcGFkZGluZy1ib3R0b206IG50aCgkcGFkZGluZywgMyk7XG4gICAgJHBhZGRpbmctbGVmdDogbnRoKCRwYWRkaW5nLCA0KTtcbiAgICBAaWYgJHBhZGRpbmctdG9wICE9IG4ge1xuICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLXRvcDtcbiAgICB9XG4gICAgQGlmICRwYWRkaW5nLXJpZ2h0ICE9IG4ge1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctcmlnaHQ7XG4gICAgfVxuICAgIEBpZiAkcGFkZGluZy1ib3R0b20gIT0gbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuICAgIH1cbiAgICBAaWYgJHBhZGRpbmctbGVmdCAhPSBuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctbGVmdDtcbiAgICB9XG4gIH1cbn1cbi8vIERlcGVuZHMgb24gYHBvc2l0aW9uaW5nLWNvb3JkaW5hdGVzYC5cblxuQG1peGluIHNjdXQtYWJzb2x1dGUgKFxuICAkY29vcmRpbmF0ZXM6IDAgbiBuIDBcbikge1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGluY2x1ZGUgc2N1dC1jb29yZHMoJGNvb3JkaW5hdGVzKTtcblxufVxuXG4lc2N1dC1hYnNvbHV0ZSB7XG4gIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGU7XG59XG4vLyBEZXBlbmRzIG9uIGBwb3NpdGlvbmluZy1jb29yZGluYXRlc2AuXG5cbkBtaXhpbiBzY3V0LWZpeGVkIChcbiAgJGNvb3JkaW5hdGVzOiAwIG4gbiAwXG4pIHtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHNjdXQtY29vcmRzKCRjb29yZGluYXRlcyk7XG5cbn1cblxuJXNjdXQtZml4ZWQge1xuICBAaW5jbHVkZSBzY3V0LWZpeGVkO1xufVxuLy8gRGVwZW5kcyBvbiBgcG9zaXRpb25pbmctY29vcmRpbmF0ZXNgLlxuXG5AbWl4aW4gc2N1dC1yZWxhdGl2ZSAoXG4gICRjb29yZGluYXRlczogbiBuIG4gblxuKSB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBzY3V0LWNvb3JkcygkY29vcmRpbmF0ZXMpO1xuXG59XG5AbWl4aW4gc2N1dC1yYXRpby1ib3ggKFxuICAkcmF0aW86IDEvMVxuKSB7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIFRoZSBjb250YWluZXIncyBoZWlnaHQsIGFzIGEgcGVyY2VudGFnZSBvZiB0aGVcbiAgLy8gY29udGFpbmVyJ3Mgd2lkdGgsIGlzIHNldCBieSBhc3NpZ25pbmdcbiAgLy8gcGFkZGluZy10b3AgdG8gYSBwc2V1ZG8tZWxlbWVudC5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAoMSAvICRyYXRpbykgKiAxMDAlO1xuICB9XG5cbn1cblxuJXNjdXQtcmF0aW8tYm94IHtcbiAgQGluY2x1ZGUgc2N1dC1yYXRpby1ib3g7XG59XG5AbWl4aW4gc2N1dC1zaXplKFxuICAkc2l6ZVxuKSB7XG5cbiAgQGlmIGxlbmd0aCgkc2l6ZSkgPT0gMSB7XG4gICAgd2lkdGg6ICAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICB9XG4gIEBlbHNlIGlmIGxlbmd0aCgkc2l6ZSkgPT0gMiB7XG4gICAgd2lkdGg6ICBudGgoJHNpemUsIDEpO1xuICAgIGhlaWdodDogbnRoKCRzaXplLCAyKTtcbiAgfVxuXG59XG5AbWl4aW4gc2N1dC1zdGlja3ktZm9vdGVyLWZpeGVkIChcbiAgJGhlaWdodCxcbiAgJHdyYXBwZXI6IFwiLndyYXBwZXJcIixcbiAgJGZvb3RlcjogXCIuc2N1dC1zdGlja3lcIlxuKSB7XG5cbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgI3skd3JhcHBlcn0ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRoZWlnaHQ7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgI3skd3JhcHBlcn06YWZ0ZXIsXG4gICN7JGZvb3Rlcn0ge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG59XG5cbi8vIGRlcHJlY2F0ZWRcbkBtaXhpbiBzY3V0LXN0aWNreS1mb290ZXIgKFxuICAkaGVpZ2h0LFxuICAkd3JhcHBlcjogXCIud3JhcHBlclwiLFxuICAkZm9vdGVyOiBcIi5zY3V0LXN0aWNreVwiXG4pe1xuICBAaW5jbHVkZSBzY3V0LXN0aWNreS1mb290ZXItZml4ZWQoJGhlaWdodCwgJHdyYXBwZXIsICRmb290ZXIpO1xufVxuQG1peGluIHNjdXQtc3RpY2t5LWZvb3Rlci1mbHVpZCAoXG4gICR3cmFwcGVyOiBcIi53cmFwcGVyXCIsXG4gICRmb290ZXI6IFwiLnNjdXQtc3RpY2t5XCJcbikge1xuXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICN7JHdyYXBwZXJ9IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAjeyRmb290ZXJ9IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgaGVpZ2h0OiAxcHg7XG4gIH1cblxufVxuQG1peGluIHNjdXQtdmNlbnRlci1pYiAoXG4gICRpbm5lci4uLlxuKSB7XG5cbiAgLy8gVGhlIGlubmVyIGVsZW1lbnQgaXMgdmVydGljYWxseSBjZW50ZXJlZFxuICAvLyBieSBtaWRkbGUtYWxpZ25pbmcgaXQgd2l0aCBhbiBpbmxpbmUgcHNldWRvLWVsZW1lbnRcbiAgLy8gd2hvc2UgaGVpZ2h0IGlzIDEwMCUuXG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8vIEEgc21hbGwgbmVnYXRpdmUgcmlnaHQgbWFyZ2luIGlzIHNldFxuICAgIC8vIHRvIGFjY291bnQgZm9yIHRoZSBkZWZhdWx0XG4gICAgLy8gd29yZC1zcGFjaW5nIG9mIGlubGluZS1ibG9jay5cbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gIH1cblxuICAkaW5uZXI6IGlmKGxlbmd0aCgkaW5uZXIpID09IDAsIFwiLnNjdXQtaW5uZXJcIiwgJGlubmVyKTtcbiAgQGVhY2ggJGNlbGwtc2VsZWN0b3IgaW4gJGlubmVyIHtcbiAgICAkY2VsbC1zZWxlY3RvcjogdW5xdW90ZSgkY2VsbC1zZWxlY3Rvcik7XG4gICAgJiA+ICN7JGNlbGwtc2VsZWN0b3J9IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbn1cblxuJXNjdXQtdmNlbnRlci1pYiB7XG4gIEBpbmNsdWRlIHNjdXQtdmNlbnRlci1pYjtcbn1cblxuQG1peGluIHNjdXQtdmNlbnRlci1saCAoXG4gICRoZWlnaHRcbikge1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cbn1cbkBtaXhpbiBzY3V0LXZjZW50ZXItdGQgKFxuICAkaW5uZXIuLi5cbikge1xuXG4gIGRpc3BsYXk6IHRhYmxlO1xuXG4gICRpbm5lcjogaWYobGVuZ3RoKCRpbm5lcikgPT0gMCwgXCIuc2N1dC1pbm5lclwiLCAkaW5uZXIpO1xuICBAZWFjaCAkY2VsbC1zZWxlY3RvciBpbiAkaW5uZXIge1xuICAgICRjZWxsLXNlbGVjdG9yOiB1bnF1b3RlKCRjZWxsLXNlbGVjdG9yKTtcbiAgICAmID4gI3skY2VsbC1zZWxlY3Rvcn0ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbn1cblxuXG4lc2N1dC12Y2VudGVyLXRkIHtcbiAgQGluY2x1ZGUgc2N1dC12Y2VudGVyLXRkO1xufVxuXG4vLyBEZXBlbmRzIG9uIHNjdXQtY2VudGVyLXRyYW5zZm9ybVxuXG5AbWl4aW4gc2N1dC12Y2VudGVyLXR0ICgpIHtcbiAgQGluY2x1ZGUgc2N1dC1jZW50ZXItdHJhbnNmb3JtKHkpO1xufVxuXG4lc2N1dC12Y2VudGVyLXR0IHtcbiAgQGluY2x1ZGUgc2N1dC12Y2VudGVyLXR0O1xufVxuLy8gc3BhY2VcbiRzY3V0LXNwYWNlOiBcIlxcMDAyMFwiO1xuLy8gbm9uLWJyZWFraW5nIHNwYWNlXG4kc2N1dC1uYnNwOiBcIlxcMDBhMFwiO1xuXG4vLyBxdW90YXRpb24gbWFya1xuJHNjdXQtcXVvdDogXCJcXDAwMjJcIjtcbi8vIGxlZnQgc2luZ2xlIGN1cmx5IHF1b3RlXG4kc2N1dC1sc3F1bzogXCJcXDIwMThcIjtcbi8vIHJpZ2h0IHNpbmdsZSBjdXJseSBxdW90ZVxuJHNjdXQtcnNxdW86IFwiXFwyMDE5XCI7XG4vLyBsZWZ0IGRvdWJsZSBjdXJseSBxdW90ZVxuJHNjdXQtbGRxdW86IFwiXFwyMDFDXCI7XG4vLyByaWdodCBkb3VibGUgY3VybHkgcXVvdGVcbiRzY3V0LXJkcXVvOiBcIlxcMjAxRFwiO1xuLy8gbGVmdCBzaW5nbGUgYW5nbGUgcXVvdGUgKGd1aWxsZW1ldClcbiRzY3V0LWxzYXF1bzogXCJcXDIwMzlcIjtcbi8vIHJpZ2h0IHNpbmdsZSBhbmdsZSBxdW90ZSAoZ3VpbGxlbWV0KVxuJHNjdXQtcnNhcXVvOiBcIlxcMjAzQVwiO1xuLy8gbGVmdCBkb3VibGUgYW5nbGUgcXVvdGUgKGd1aWxsZW1ldClcbiRzY3V0LWxhcXVvOiBcIlxcMDBhYlwiO1xuLy8gcmlnaHQgZG91YmxlIGFuZ2xlIHF1b3RlIChndWlsbGVtZXQpXG4kc2N1dC1yYXF1bzogXCJcXDAwYmJcIjtcblxuLy8gZW0gZGFzaCAobXV0dG9uKVxuJHNjdXQtbWRhc2g6IFwiXFwyMDE0XCI7XG4vLyBlbiBkYXNoIChudXQpXG4kc2N1dC1uZGFzaDogXCJcXDIwMTNcIjtcbi8vIGh5cGhlblxuJHNjdXQtaHlwaGVuOiBcIlxcMjAxMFwiO1xuXG4vLyBhbXBlcnNhbmRcbiRzY3V0LWFtcDogXCJcXDAwMjZcIjtcbi8vIGdyZWF0ZXIgdGhhblxuJHNjdXQtZ3Q6IFwiXFwwMDNlXCI7XG4vLyBsZXNzIHRoYW5cbiRzY3V0LWx0OiBcIlxcMDAzY1wiO1xuLy8gdGltZXNcbiRzY3V0LXRpbWVzOiBcIlxcMDBEN1wiO1xuLy8gYmlnIHRpbWVzXG4kc2N1dC1iaWd0aW1lczogXCJcXDI3MTVcIjtcbi8vIGNoZWNrbWFya1xuJHNjdXQtY2hlY2ttYXJrOiBcIlxcMjcxM1wiO1xuXG4vLyBzZWN0aW9uIHNpZ24gKGRvdWJsZSBTLCBodXJyaWNhbmUsIHNlY3Rpb25hbCBzeW1ib2wsIHRoZSBsZWdhbCBkb3VnaG51dCwgc2lnbnVtIHNlY3Rpb25pcylcbiRzY3V0LXNlY3Q6IFwiXFwwMGE3XCI7XG4vLyBwYXJhZ3JhcGggc3ltYm9sIChwaWxjcm93KVxuJHNjdXQtcGFyYTogXCJcXDAwYjZcIjtcblxuLy8gbWlkZG90IChpbnRlcnB1bmN0LCBpbnRlcnBvaW50KVxuJHNjdXQtbWlkZG90OiBcIlxcMDBiN1wiO1xuLy8gby1zbGFzaCAoc2xhc2hlZCBvKVxuJHNjdXQtb3NsYXNoOiBcIlxcMDBmOFwiO1xuLy8gYnVsbGV0XG4kc2N1dC1idWxsOiBcIlxcMjAyMlwiO1xuLy8gd2hpdGUgYnVsbGV0XG4kc2N1dC13aGlidWxsOiBcIlxcMjVFNlwiO1xuLy8gaG9yaXpvbnRhbCBlbGxpcHNpc1xuJHNjdXQtaGVsbGlwOiBcIlxcMjAyNlwiO1xuLy8gdmVydGljYWwgZWxsaXBzaXNcbiRzY3V0LXZlbGxpcDogXCJcXDIyRUVcIjtcbi8vIG1pZGxpbmUgaG9yaXpvbnRhbCBlbGxpcHNpc1xuJHNjdXQtbWlkaGVsbGlwOiBcIlxcMjJFRlwiO1xuXG4vLyB1cC1wb2ludGluZyB0cmlhbmdsZVxuJHNjdXQtdXRyaTogXCJcXDI1YjJcIjtcbi8vIGRvd24tcG9pbnRpbmcgdHJpYW5nbGVcbiRzY3V0LWR0cmk6IFwiXFwyNWJjXCI7XG4vLyBsZWZ0LXBvaW50aW5nIHRyaWFuZ2xlXG4kc2N1dC1sdHJpOiBcIlxcMjVjMFwiO1xuLy8gcmlnaHQtcG9pbnRpbmcgdHJpYW5nbGVcbiRzY3V0LXJ0cmk6IFwiXFwyNWI2XCI7XG4vLyB1cC1wb2ludGluZyBzbWFsbCB0cmlhbmdsZVxuJHNjdXQtdXN0cmk6IFwiXFwyNWI0XCI7XG4vLyBkb3duLXBvaW50aW5nIHNtYWxsIHRyaWFuZ2xlXG4kc2N1dC1kc3RyaTogXCJcXDI1YmVcIjtcbi8vIGxlZnQtcG9pbnRpbmcgc21hbGwgdHJpYW5nbGVcbiRzY3V0LWxzdHJpOiBcIlxcMjVjMlwiO1xuLy8gcmlnaHQtcG9pbnRpbmcgc21hbGwgdHJpYW5nbGVcbiRzY3V0LXJzdHJpOiBcIlxcMjViOFwiO1xuLy8gZGlhbW9uZFxuJHNjdXQtZGlhbW9uZDogXCJcXDI1YzZcIjtcbi8vIGZpc2hleWVcbiRzY3V0LWZpc2hleWU6IFwiXFwyNWM5XCI7XG4vLyBidWxsc2V5ZVxuJHNjdXQtYnVsbHNleWU6IFwiXFwyNWNlXCI7XG4vLyBjaXJjbGVcbiRzY3V0LWNpcmNsZTogXCJcXDI1Y2ZcIjtcbi8vIHdoaXRlIGNpcmNsZVxuJHNjdXQtd2hpdGVjaXJjbGU6IFwiXFwyNWNiXCI7XG4vLyBzcXVhcmVcbiRzY3V0LXNxdWFyZTogXCJcXDI1YTBcIjtcbi8vIHdoaXRlIHNxdWFyZVxuJHNjdXQtd2hpdGVzcXVhcmU6IFwiXFwyNWExXCI7XG4vLyBzbWFsbCBzcXVhcmVcbiRzY3V0LXNzcXVhcmU6IFwiXFwyNWFhXCI7XG4vLyBzbWFsbCB3aGl0ZSBzcXVhcmVcbiRzY3V0LXN3aGl0ZXNxdWFyZTogXCJcXDI1YWJcIjtcblxuLy8gZ2VuZXJhbCBjdXJyZW5jeVxuJHNjdXQtY3VycmVuY3k6IFwiXFwwMGE0XCI7XG4vLyBjZW50XG4kc2N1dC1jZW50OiBcIlxcMDBhMlwiO1xuLy8gZG9sbGFyXG4kc2N1dC1kb2xsYXI6IFwiXFwwMDI0XCI7XG4vLyBwb3VuZFxuJHNjdXQtcG91bmQ6IFwiXFwwMGEzXCI7XG4vLyBldXJvXG4kc2N1dC1ldXJvOiBcIlxcMjBhY1wiO1xuLy8geWVuXG4kc2N1dC15ZW46IFwiXFwwMGE1XCI7XG4vLyBydXBlZVxuJHNjdXQtcnVwZWU6IFwiXFwyMEI5XCI7XG5AZnVuY3Rpb24gbWFpbi1zcmMoJGZvcm1hdHMsICRmaWxlLXBhdGgsICRmb250LWZhbWlseSkge1xuICAvLyBSZXR1cm4gdGhlIGxpc3Qgb2YgYHNyY2AgdmFsdWVzLCBpbiBvcmRlciwgdGhhdFxuICAvLyBhIGdvb2QgYEBmb250LWZhY2VgIHdpbGwgbmVlZCwgaW5jbHVkaW5nIG9ubHlcbiAgLy8gdGhvc2UgZm9ybWF0cyBzcGVjaWZpZWQgaW4gdGhlIGxpc3QgYCRmb3JtYXRzYC5cbiAgJHJlc3VsdDogKCk7XG4gIEBpZiBpbmRleCgkZm9ybWF0cywgZW90KSB7XG4gICAgJGVvdC12YWw6IHVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpO1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkZW90LXZhbCwgY29tbWEpO1xuICB9XG4gIEBpZiBpbmRleCgkZm9ybWF0cywgd29mZjIpIHtcbiAgICAkd29mZjItdmFsOiB1cmwoJyN7JGZpbGUtcGF0aH0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR3b2ZmMi12YWwsIGNvbW1hKTtcbiAgfVxuICBAaWYgaW5kZXgoJGZvcm1hdHMsIHdvZmYpIHtcbiAgICAkd29mZi12YWw6IHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR3b2ZmLXZhbCwgY29tbWEpO1xuICB9XG4gIEBpZiBpbmRleCgkZm9ybWF0cywgdHRmKSB7XG4gICAgJHR0Zi12YWw6IHVybCgnI3skZmlsZS1wYXRofS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR0dGYtdmFsLCBjb21tYSk7XG4gIH1cbiAgQGlmIGluZGV4KCRmb3JtYXRzLCBzdmcpIHtcbiAgICAkc3ZnLXZhbDogdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkc3ZnLXZhbCwgY29tbWEpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuQG1peGluIHNjdXQtZm9udC1mYWNlIChcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Z1xuKSB7XG5cbiAgQGlmIGluZGV4KCdpdGFsaWMnICdvYmxpcXVlJywgJHdlaWdodCkge1xuICAgICRzdHlsZTogJHdlaWdodDtcbiAgICAkd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcblxuICAgIEBpZiBpbmRleCgkZm9ybWF0cywgZW90KSB7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3QnKTtcbiAgICB9XG4gICAgc3JjOiBtYWluLXNyYygkZm9ybWF0cywgJGZpbGUtcGF0aCwgJGZvbnQtZmFtaWx5KTtcbiAgfVxuXG59XG5cbkBtaXhpbiBzY3V0LWhhbmdpbmctaW5kZW50IChcbiAgJGluZGVudDogMWVtXG4pIHtcblxuICAvLyBwYWRkaW5nLWxlZnQgY3JlYXRlcyB0aGUgaW5kZW50LFxuICAvLyB3aGlsZSB0ZXh0LWluZGVudCBwdWxscyB0aGUgZmlyc3QgbGluZVxuICAvLyBiYWNrIHRvIHRoZSBlZGdlLlxuXG4gIHBhZGRpbmctbGVmdDogJGluZGVudDtcbiAgdGV4dC1pbmRlbnQ6IC0kaW5kZW50O1xuXG59XG5cbiVzY3V0LWhhbmdpbmctaW5kZW50IHtcbiAgQGluY2x1ZGUgc2N1dC1oYW5naW5nLWluZGVudDtcbn1cbkBtaXhpbiBzY3V0LWluZGVudGVkLXBzIChcbiAgJGluZGVudDogMS41ZW0sXG4gICRuby1maXJzdC1pbmRlbnQ6IHRydWVcbikge1xuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWluZGVudDogJGluZGVudDtcbiAgfVxuXG4gIEBpZiAkbm8tZmlyc3QtaW5kZW50IHtcbiAgICBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgfVxuICB9XG5cbn1cblxuJXNjdXQtaW5kZW50ZWQtcHMge1xuICBAaW5jbHVkZSBzY3V0LWluZGVudGVkLXBzO1xufVxuQG1peGluIHNjdXQta2V5LXZhbCAoXG4gICRkaXZpZGVyOiBcIjpcIixcbiAgJHBhZDogMC4yNWVtLFxuICAkaW5kZW50OiAxZW0sXG4gICRzcGFjaW5nOiAwLFxuICAkcGFkLWxlZnQ6IDBcbikge1xuXG4gICYgPiBkdCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAkZGl2aWRlcjtcbiAgICAgIG1hcmdpbi1yaWdodDogJHBhZDtcbiAgICAgIEBpZiAkcGFkLWxlZnQgIT0gMCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkcGFkLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiA+IGRkIHtcbiAgICBtYXJnaW4tbGVmdDogJGluZGVudDtcbiAgICBAaWYgJHNwYWNpbmcgIT0gMCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC1rZXktdmFsIHtcbiAgQGluY2x1ZGUgc2N1dC1rZXktdmFsO1xufVxuQG1peGluIHNjdXQtbGluay1iYiAoXG4gICRjb2xvcjogaW5oZXJpdCxcbiAgJHN0eWxlOiBzb2xpZCxcbiAgJHdpZHRoOiAxcHhcbikge1xuXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBib3JkZXItYm90dG9tLXdpZHRoOiAkd2lkdGg7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6ICRzdHlsZTtcbiAgQGlmICRjb2xvciAhPSBpbmhlcml0IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gIH1cblxufVxuXG4lc2N1dC1saW5rLWJiIHtcbiAgQGluY2x1ZGUgc2N1dC1saW5rLWJiO1xufVxuLy8gU0NVVCBMSU5LIFVOU1RZTEVEXG4vLyBodHRwOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dC8jbGluay11bnN0eWxlZFxuXG5AbWl4aW4gc2N1dC1saW5rLXVuc3R5bGVkKCkge1xuXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbn1cblxuJXNjdXQtbGluay11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIHNjdXQtbGluay11bnN0eWxlZCgpO1xufVxuXG5AbWl4aW4gc2N1dC1yZXZlcnNlLWl0YWxpY3MgKFxuICAkZWxlbWVudHM6IG51bGxcbikge1xuXG4gICRlbGVtZW50LWxpc3Q6IGVtLCBjaXRlLCBpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICN7am9pbigkZWxlbWVudC1saXN0LCAkZWxlbWVudHMpfSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbn1cblxuJXNjdXQtcmV2ZXJzZS1pdGFsaWNzIHtcbiAgQGluY2x1ZGUgc2N1dC1yZXZlcnNlLWl0YWxpY3M7XG59XG5cbkBtaXhpbiBzY3V0LXNpZGUtbGluZWQgKFxuICAkaGVpZ2h0OiAxcHgsXG4gICRzcGFjZTogMC41ZW0sXG4gICRjb2xvcjogaW5oZXJpdCxcbiAgJHN0eWxlOiBzb2xpZCxcbiAgJHYtYWRqdXN0OiBmYWxzZSxcbiAgJGRvdWJsZTogZmFsc2Vcbikge1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICBib3JkZXItdG9wLXN0eWxlOiAkc3R5bGU7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogJGhlaWdodDtcblxuICAgIEBpZiAkY29sb3IgIT0gaW5oZXJpdCB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICR2LWFkanVzdCAhPSBmYWxzZSB7XG4gICAgICBib3R0b206ICR2LWFkanVzdDtcbiAgICB9XG5cbiAgICBAaWYgJGRvdWJsZSAhPSBmYWxzZSB7XG4gICAgICBoZWlnaHQ6ICRkb3VibGU7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiAkc3R5bGU7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkaGVpZ2h0O1xuICAgICAgQGlmICRjb2xvciAhPSBpbmhlcml0IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICByaWdodDogJHNwYWNlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGxlZnQ6ICRzcGFjZTtcbiAgICBtYXJnaW4tcmlnaHQ6IC01MCU7XG4gIH1cblxufVxuXG4lc2N1dC1zaWRlLWxpbmVkIHtcbiAgQGluY2x1ZGUgc2N1dC1zaWRlLWxpbmVkO1xufVxuQG1peGluIHNjdXQtdHJ1bmNhdGUge1xuXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG59XG5cbiVzY3V0LXRydW5jYXRlIHtcbiAgQGluY2x1ZGUgc2N1dC10cnVuY2F0ZTtcbn0iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5ncyBmb3IgU2FhcyBUb29sICdNZWRpYSBRdWVyaWVzIHdpdGggc3VwZXJwb3dlcnMnXG4gICBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kbXEtYmFzZS1mb250LXNpemU6ICRkZWZhdWx0UHhTaXplO1xuXG4vLyBUbyBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpIHNldCAkbXEtcmVzcG9uc2l2ZSB0byBmYWxzZVxuLy8gQ3JlYXRlIGEgc2VwYXJhdGUgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gdGhlc2UgYnJvd3NlcnMsXG4vLyBtZWFuaW5nIEBtZWRpYSBxdWVyaWVzIHdpbGwgYmUgcmFzdGVyaXplZCwgcmVseWluZyBvbiB0aGUgY2FzY2FkZSBpdHNlbGZcbiRtcS1yZXNwb25zaXZlOiB0cnVlO1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBIb3Jpem9udGFsIEJyZWFrcG9pbnRzIChXaWR0aClcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cbiRtcS1icmVha3BvaW50czogKFxuXHRtaW5pOiAyMjBweCxcblx0bW9iaWxlOiAzMjBweCxcblx0dHdlZW46IDQ0MHB4LFxuXHRwYWxtOiA1MDBweCxcblx0cGFsbWVyOiA2MDBweCxcbiBcdHRhYmxldDogNzY4cHgsXG5cdHdwdGFibGV0OiA3NjdweCxcblx0YmlndGFibGV0OiA4NjBweCxcblx0cHJlZGVza3RvcDogMTAyNHB4LFxuXHRkZXNrdG9wOiAxMjAwcHgsXG4gXHRodWdlOiAxMzIwcHgsXG5cdGJpZ2dlcjogMTM0MHB4LFxuXHRkaWZmOiAxNDAwcHgsXG5cdGdpZ2FudGljOiAxNjgwcHgsXG4gXHQvKmRlc2t0b3A6IDEwMjRweCxcbiBcdGh1Z2U6IDEyMDBweCxcblx0YmlnZ2VyOiAxMzAwcHgsXG5cdGdpZ2FudGljOiAxODAwcHgsKi9cbik7XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFZlcnRpY2FsIEJyZWFrcG9pbnRzIChIZWlnaHQpXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAkdmVydGljYWwtYnJlYWtwb2ludHM6IChcbiBcdHBhbG06IDUwMHB4LFxuIFx0cGFsbWVyOiA2ODBweCxcbiBcdHRhYmxldDogNjAwcHgsXG5cdGJpZ3RhYmxldDogOTAwXG4gKTtcblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBTZXR0aW5nczogU2hvdyBob3Jpem9udGFsIGJyZWFrcG9pbnRzXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vKiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoXG5cdG1pbmksXG5cdG1vYmlsZSxcblx0dHdlZW4sXG5cdHBhbG0sXG5cdHBhbG1lcixcblx0dGFibGV0LFxuXHRiaWd0YWJsZXQsXG5cdHByZWRlc2t0b3AsXG5cdGRlc2t0b3AsXG5cdGh1Z2UsXG5cdGJpZ2dlcixcblx0ZGlmZixcblx0Z2lnYW50aWNcbik7Ki9cbiIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnQgc2l6ZXMgZGVmaW5lZCBhcyB2YXJpYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgSGVpZ2h0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRkZWZhdWx0TGluZUhlaWdodDogMS40O1xuXG4kbW9iaWxlTGluZUhlaWdodDogMS41O1xuJHRhYmxldExpbmVIZWlnaHQ6IDEuNTtcbiRkZXNrdG9wTGluZUhlaWdodDogMS42O1xuXG4kbW9iaWxlVGl0bGVMaW5lSGVpZ2h0OiAxLjI7XG4kdGFibGV0VGl0bGVMaW5lSGVpZ2h0OiAxLjM7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBEZWZhdWx0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRkZWZhdWx0Rm9udFNpemU6ICRkZWZhdWx0UHhTaXplVmFsdWU7XG5cbiRtb2JpbGVGb250U2l6ZTogMjBweDtcbiR0YWJsZXRGb250U2l6ZTogMjJweDtcbiRkZXNrdG9wRm9udFNpemU6IDI0cHg7XG5cbiRtb2JpbGVTbWFsbEZvbnRTaXplOiAxNHB4O1xuJGRlc2t0b3BTbWFsbEZvbnRTaXplOiAxNnB4O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gTmF2aWdhdGlvblxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kbmF2aWdhdGlvblRpdGxlU2l6ZTogICAgICAgICAgIDI0cHg7XG4kbmF2aWdhdGlvblRpdGxlU2l6ZV9wYWxtOiAgICAgIDMwcHg7XG4kbmF2aWdhdGlvblRpdGxlU2l6ZV90YWJsZXQ6ICAgIDM0cHg7XG4kbmF2aWdhdGlvblRleHRTaXplOlx0XHRcdDE2cHg7XG4kbmF2aWdhdGlvblRleHRTaXplX3BhbG06XHQgICAgMjJweDtcbiRuYXZpZ2F0aW9uVGV4dFNpemVfdGFibGV0Olx0XHQyNnB4O1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBUaXRsZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kdGl0bGVTaXplOiBcdFx0XHRcdDI0cHg7XG4kdGl0bGVTaXplX21vYmlsZTpcdFx0XHQyNHB4O1xuJHRpdGxlU2l6ZV9wYWxtOiBcdFx0XHQyOHB4O1xuJHRpdGxlU2l6ZV90YWJsZXQ6XHQgICAgXHQzNHB4O1xuJHRpdGxlU2l6ZV9iaWd0YWJsZXQ6XHRcdDM0cHg7XG4kdGl0bGVTaXplX2Rlc2t0b3A6IFx0XHQ1MHB4O1xuJHRpdGxlU2l6ZV9odWdlOlx0XHRcdDUwcHg7XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFBhZ2UgdGl0bGVcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJHBhZ2VUaXRsZVNpemU6IFx0XHRcdDIwcHg7XG4kcGFnZVRpdGxlU2l6ZV9wYWxtOlx0XHQyNnB4O1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBQYWdlaGVhZGVyIHRpdGxlXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRwYWdlSGVhZGVyVGl0bGVTaXplOiAgICAgICAgICAgICAzMHB4O1xuJHBhZ2VIZWFkZXJUaXRsZVNpemVfbW9iaWxlOiAgICAgIDMwcHg7XG4kcGFnZUhlYWRlclRpdGxlU2l6ZV9wYWxtOiAgICAgICAgMzZweDtcbiRwYWdlSGVhZGVyVGl0bGVTaXplX2JpZ3RhYmxldDogICA0MHB4O1xuJHBhZ2VIZWFkZXJUaXRsZVNpemVfZGVza3RvcDogICAgIDQ1cHg7XG4kcGFnZUhlYWRlclRpdGxlU2l6ZV9odWdlOiAgICAgICAgNTBweDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbnRlbnRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGNvbnRlbnRUZXh0U2l6ZU1vYmlsZTogXHQxNnB4O1xuJGNvbnRlbnRUZXh0U2l6ZVBhbG06XHRcdDE2cHg7XG4kY29udGVudFRleHRTaXplVGFibGV0OiBcdDE4cHg7XG4kY29udGVudFRleHRTaXplRGVza3RvcDogXHQyMHB4O1xuIiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSW1hZ2Ugc2l6ZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRuYXZpZ2F0aW9uaWNvbnNpemU6IDEuNmVtO1xuXG4kbG9nb3NpemU6IDgwcHg7XG4kbG9nb3NpemVfbW9iaWxlOiA5MHB4O1xuJGxvZ29zaXplX3BhbG06IDEwMHB4O1xuJGxvZ29zaXplX3RhYmxldDogMTYwcHg7XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFdvcmRwcmVzcyBBZG1pbiBQb3N0IE92ZXJ2aWV3XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiR3cC1hZG1pbl9wb3N0LW92ZXJ2aWV3X2xvZ28taGVpZ2h0OiA2MHB4O1xuJHdwLWFkbWluX3Bvc3Qtb3ZlcnZpZXdfbG9nby13aWR0aDogNzBweDtcblxuJHdwLWFkbWluX3Bvc3Qtb3ZlcnZpZXdfbG9nby1mb250LXNpemU6IDRlbTtcbiIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlaWdodCBTaXplc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHRpdGxlUGFkZGluZ0JvcmRlckhlaWdodDogICAgICAgNjBweDtcblxuJGFycm93SGVpZ2h0OiA4cHg7XG5cbiR0aXRsZUxpbmVIZWlnaHQ6ICAgICAgICAgICAgICAgIDI2cHg7XG4kdGl0bGVMaW5lSGVpZ2h0X21vYmlsZTogICAgICAgICAyNnB4O1xuJHRpdGxlTGluZUhlaWdodF9wYWxtOiAgICAgICAgICAgMzZweDtcbiR0aXRsZUxpbmVIZWlnaHRfYmlndGFibGV0OiAgICAgIDQwcHg7XG5cblxuJGhlYWRlcmhlaWdodDogc2N1dC1lbSg0NSkgKyA2ZW07XG4kaGVhZGVyaGVpZ2h0X3BhbG1lcjogc2N1dC1lbSg1MSkgKyA4ZW07XG4kaGVhZGVyaGVpZ2h0X3RhYmxldDogc2N1dC1lbSg5MykgKyA4ZW07XG4kaGVhZGVyaGVpZ2h0X2Rlc2t0b3A6IHNjdXQtZW0oMTA1KSArIDEyZW07XG4kaGVhZGVyaGVpZ2h0X2RpZmY6IChzY3V0LWVtKDEwNSkvMS4yNSkgKyAxMmVtO1xuIiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFkZGluZyBTaXplc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gV3JhcHBlciAoQ29udGFpbmVyKVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWw6IDFlbTtcbiR3cmFwcGVyLXBhZGRpbmctdmVydGljYWw6IDEuNGVtO1xuXG4kd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWxfbW9iaWxlOiAzMHB4O1xuJHdyYXBwZXItcGFkZGluZy12ZXJ0aWNhbF9tb2JpbGU6IDMwcHg7XG5cbiR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9wYWxtOiA0MHB4O1xuJHdyYXBwZXItcGFkZGluZy12ZXJ0aWNhbF9wYWxtOiA3MHB4O1xuXG5cbiR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF90YWJsZXQ6IDgwcHg7XG4kd3JhcHBlci1wYWRkaW5nLXZlcnRpY2FsX3RhYmxldDogODBweDtcblxuJHdyYXBwZXItcGFkZGluZy12ZXJ0aWNhbF9iaWd0YWJsZXQ6IDkwcHg7XG5cbiR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9kZXNrdG9wOiAxMjBweDtcbiR3cmFwcGVyLXBhZGRpbmctdmVydGljYWxfZGVza3RvcDogMTAwcHg7XG5cbiR3cmFwcGVyLXBhZGRpbmctdmVydGljYWxfaHVnZTogMTIwcHg7XG5cbiR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9naWdhbnRpYzogODBweDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFNpdGVoZWFkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJHNpdGVoZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogMTRweDtcbiRzaXRlaGVhZGVyLXBhZGRpbmctdmVydGljYWxfdGFibGV0OiAyNnB4O1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBMYW5ndWFnZSBOYXZpZ2F0aW9uXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRsYW5ndWFnZW5hdmlnYXRpb24tcGFkZGluZzogLjVlbTtcbiRsYW5ndWFnZW5hdmlnYXRpb24tcGFkZGluZ190d2VlbjogMWVtO1xuJGxhbmd1YWdlbmF2aWdhdGlvbi1wYWRkaW5nX3BhbG06IDEuNWVtO1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBOYXZpZ2F0aW9uIEl0ZW1cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJG5hdml0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxLjRlbTtcbiRuYXZpdGVtLXBhZGRpbmctdmVydGljYWw6IDEuNGVtO1xuXG4kbmF2aXRlbS1wYWRkaW5nLWhvcml6b250YWxfdHdlZW46IDUlO1xuJG5hdml0ZW0tcGFkZGluZy12ZXJ0aWNhbF90d2VlbjogNSU7XG5cbiRuYXZpdGVtLXBhZGRpbmctaG9yaXpvbnRhbF90YWJsZXQ6IDUlO1xuJG5hdml0ZW0tcGFkZGluZy12ZXJ0aWNhbF90YWJsZXQ6IDUlO1xuXG4kbmF2aXRlbS1wYWRkaW5nLWhvcml6b250YWxfZGVza3RvcDogNGVtO1xuJG5hdml0ZW0tcGFkZGluZy12ZXJ0aWNhbF9kZXNrdG9wOiAzZW07XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBNYWluXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRtYWluLXBhZGRpbmctdmVydGljYWw6IDEuNGVtO1xuJG1haW4tcGFkZGluZy12ZXJ0aWNhbF90d2VlbjogMmVtO1xuJG1haW4tcGFkZGluZy12ZXJ0aWNhbF9iaWd0YWJsZXQ6IDNlbTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIFBhZ2VoZWFkZXIgSW1hZ2VcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJHBhZ2VoZWFkZXItaW1hZ2UtbGVmdDogNWVtO1xuJHBhZ2VoZWFkZXItaW1hZ2UtbGVmdF90YWJsZXQ6IDZlbTtcbiRwYWdlaGVhZGVyLWltYWdlLWxlZnRfaHVnZTogNi42ZW07XG5cbiRwYWdlaGVhZGVyLXdyYXBwZXItaG9yaXpvbnRhbF9wYWxtOiA0ZW07XG5cbiRwYWdlaGVhZGVyLXdyYXBwZXItcGFkZGluZy1yaWdodF9kZXNrdG9wOiA2ZW07XG5cbiRwYWdlaGVhZGVyLXdyYXBwZXItcGFkZGluZy1sZWZ0X3RhYmxldDogOWVtO1xuJHBhZ2VoZWFkZXItd3JhcHBlci1wYWRkaW5nLWxlZnRfZGVza3RvcDogMjAlO1xuJHBhZ2VoZWFkZXItd3JhcHBlci1wYWRkaW5nLWxlZnRfYmlnZ2VyOiAyNiU7XG4kcGFnZWhlYWRlci13cmFwcGVyLXBhZGRpbmctbGVmdF9naWdhbnRpYzogMzIlO1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBBYnN0YW5kIGtsZWluXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiR2ZXJ0aWNhbFBhZGRpbmdTbWFsbDpcdFx0XHRcdDE4cHg7XG4kdmVydGljYWxQYWRkaW5nU21hbGxfcGFsbTpcdFx0XHQyMnB4O1xuJHZlcnRpY2FsUGFkZGluZ1NtYWxsX2Rlc2t0b3A6XHRcdDMycHg7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBBYnN0YW5kOiBCaWxkIHp1IFRpdGVsXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRpbWFnZVRvVGl0bGVQYWRkaW5nOiAxLjRlbTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbHVtbiBwYWRkaW5nXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRjb2x1bW5QYWRkaW5nX3RhYmxldDogNSU7XG4kY29sdW1uUGFkZGluZ19iaWd0YWJsZXQ6IDUlO1xuJGNvbHVtblBhZGRpbmdfaHVnZTogNCU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBUZXh0IHBhZGRpbmdcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICR0ZXh0cGFkZGluZzpcdFx0XHRcdDEuNWVtO1xuICR0ZXh0cGFkZGluZ19wYWxtOlx0XHRcdDEuNWVtO1xuICR0ZXh0cGFkZGluZ190YWJsZXQ6XHRcdDEuNWVtO1xuICR0ZXh0cGFkZGluZ19kZXNrdG9wOlx0XHQxLjZlbTtcblxuXG4gLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDb250ZXh0IHRleHQgcGFkZGluZ1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGNvbnRleHR0ZXh0cGFkZGluZzpcdFx0XHQyZW07XG4kY29udGV4dHRleHRwYWRkaW5nX3BhbG06XHRcdDIuNGVtO1xuJGNvbnRleHR0ZXh0cGFkZGluZ190YWJsZXQ6XHRcdDNlbTtcbiRjb250ZXh0dGV4dHBhZGRpbmdfZGVza3RvcDpcdDRlbTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEZvcm0gcGFkZGluZ1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kZm9ybWxhYmVscGFkZGluZzogLjJlbTtcbiRmb3JtZWxlbWVudHBhZGRpbmc6IDEuMmVtO1xuJGZvcm1zZWN0aW9ucGFkZGluZzogMmVtO1xuJGZvcm1zZWN0aW9ucGFkZGluZ190YWJsZXQ6IDJlbTtcbiIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdpZHRoIFNpemVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kc2l0ZU1heFNpemU6ICAgICAgICAgICAgICAgMTcwMHB4O1xuJGZ1bGx3aWR0aE1heFNpemU6ICAgICAgICAgIDE2MDBweDtcblxuJHBhZ2VNYXhTaXplX2h1Z2U6IFx0XHQgICAgMTEwMHB4O1xuJHBhZ2VNYXhTaXplX2JpZ2dlcjpcdCAgICAxMjAwcHg7XG4kcGFnZU1heFNpemVfZ2lnYW50aWM6ICAgICAgMTYwMHB4O1xuJHBhZ2VNYXhTaXplX2dpZ2FudGljX2RpZmY6IDE2MDBweDtcblxuJGNvbnRlbnRNYXhTaXplOlx0ICAgICAgICA4MDBweDtcblxuJGFycm93Qm9yZGVyV2lkdGg6XHQgICAgICAgIDJweDtcbiRuYXZUb2dnbGVCb3JkZXJXaWR0aDpcdCAgICAycHg7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPbGQgc3R1ZmZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRjb2x1bW5NYXhTaXplX2JpZ3RhYmxldDogXHRcdDY1MHB4O1xuJGNvbHVtbk1heFNpemVfaHVnZTogXHRcdFx0NzUwcHg7XG4iLCJAbWl4aW4gd3JhcHBlcigpe1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcblx0cGFkZGluZy1yaWdodDogMWVtO1xuXHR3aWR0aDogMTAwJTtcblx0QGluY2x1ZGUgbXEoJGZyb206IG1pbmkpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDEwJTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMCU7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcblx0XHRtYXgtd2lkdGg6ICRwYWdlTWF4U2l6ZV9odWdlO1xuXHR9XG59XG5cbi53cmFwcGVye1xuXHRAaW5jbHVkZSB3cmFwcGVyO1xufVxuXG5AbWl4aW4gd3JhcHBlci1tYXJnaW4tbGVmdCgkbWFyZ2luLWxlZnQ6IDEwJSl7XG5cdG1hcmdpbi1sZWZ0OiAxZW07XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKSB7XG5cdFx0bWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcblx0fVxufVxuXG5AbWl4aW4gd3JhcHBlci1tYXJnaW4tcmlnaHQoJG1hcmdpbi1yaWdodDogMTAlKXtcblx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXJpZ2h0O1xuXHR9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy9cbi8vLyBEbyBub3Qgb3ZlcnJpZGUgdGhpcyB2YWx1ZSwgb3IgdGhpbmdzIHdpbGwgYnJlYWtcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvaXNzdWVzLzEyMlxuLy8vIEBkZXByZWNhdGVkIFRoaXMgc2V0dGluZyB3aWxsIGJlIHJlbW92ZWQgaW4gc2Fzcy1tcSB2Ni4wLjBcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoc3VjaCBhcyB0aGUgbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGguIEZvciBleGFtcGxlOiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgJG1xLXNob3ctYnJlYWtwb2ludHM6IChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCk7XG4vLy8gICBAaW1wb3J0ICdwYXRoL3RvL21xJztcbi8vL1xuLy8vIEB0eXBlIG1hcFxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChmb3IgZXhhbXBsZTogYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAaWdub3JlIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgWyRtcS1iYXNlLWZvbnQtc2l6ZV0gLSBgPGJvZHk+YCBmb250IHNpemUgKGRlcHJlY2F0ZWQpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgKCRtcS1iYXNlLWZvbnQtc2l6ZSAhPSAxNnB4KSB7XG4gICAgICAgIEB3YXJuIFwiT3ZlcnJpZGluZyAkbXEtYmFzZS1mb250LXNpemUgd2lsbCBicmVhayB0aGluZ3MsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL2lzc3Vlcy8xMjIuXCI7XG4gICAgfVxuICAgIEBpZiAoJGJhc2UtZm9udC1zaXplICE9IDE2cHgpIHtcbiAgICAgICAgQHdhcm4gXCJUaGUgJGJhc2UtZm9udC1zaXplIGFyZ3VtZW50IHdpbGwgYmUgcmVtb3ZlZCBpbiBzYXNzLW1xIHY2LjAuMCwgYXMgb3ZlcnJpZGluZyBpdCBicmVha3MgdGhpbmdzLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9pc3N1ZXMvMTIyLlwiO1xuICAgIH1cbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSBbZmFsc2VdIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIFtmYWxzZV0gLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIFtmYWxzZV0gLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgWyRtcS1tZWRpYS10eXBlXSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJG1xLWJyZWFrcG9pbnRzXVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCBbJG1xLXN0YXRpYy1icmVha3BvaW50XVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgWyRtcS1zaG93LWJyZWFrcG9pbnRzXSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRtcS1icmVha3BvaW50c10gLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnSEsgR3JvdGVzayc7XG4gICAgc3JjOiB1cmwoJy9hcHAvdGhlbWVzLyN7JHRoZW1lbmFtZX0vYXNzZXRzL2ZvbnRzL2hhbmtlbmdyb3Rlc2stcmVndWxhci5lb3QnKTtcblx0c3JjOiB1cmwoJy9hcHAvdGhlbWVzLyN7JHRoZW1lbmFtZX0vYXNzZXRzL2ZvbnRzL2hhbmtlbmdyb3Rlc2stcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcvYXBwL3RoZW1lcy8jeyR0aGVtZW5hbWV9L2Fzc2V0cy9mb250cy9oYW5rZW5ncm90ZXNrLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy9hcHAvdGhlbWVzLyN7JHRoZW1lbmFtZX0vYXNzZXRzL2ZvbnRzL2hhbmtlbmdyb3Rlc2stcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnSEsgR3JvdGVzayBCb2xkJztcbiAgICBzcmM6IHVybCgnL2FwcC90aGVtZXMvI3skdGhlbWVuYW1lfS9hc3NldHMvZm9udHMvaGFua2VuZ3JvdGVzay1ib2xkLmVvdCcpO1xuXHRzcmM6IHVybCgnL2FwcC90aGVtZXMvI3skdGhlbWVuYW1lfS9hc3NldHMvZm9udHMvaGFua2VuZ3JvdGVzay1ib2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy9hcHAvdGhlbWVzLyN7JHRoZW1lbmFtZX0vYXNzZXRzL2ZvbnRzL2hhbmtlbmdyb3Rlc2stYm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnL2FwcC90aGVtZXMvI3skdGhlbWVuYW1lfS9hc3NldHMvZm9udHMvaGFua2VuZ3JvdGVzay1ib2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBISyBHcm90ZXNrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubm8tanMsXG4ud2ZfaGtncm90ZXNre1xuXHQucGFnZS1udW1iZXJzLmN1cnJlbnQsXG4gICAgLmMtY29udGVudHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdISyBHcm90ZXNrJywgJGZvbnRzdGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhLIEdyb3Rlc2sgQm9sZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm5vLWpzLFxuLndmX2hrZ3JvdGVzay1ib2xke1xuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2LFxuICAgIGIsXG4gICAgc3Ryb25nLFxuICAgIC5jLWxpbmstYXJyb3csXG4gICAgLmMtbGVhZCxcbiAgICAuYy10ZXh0LWJpZyxcbiAgICAuYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG4gICAgLmMtY2FwdGlvbixcbiAgICAuYy1zdWJ0aXRsZSxcbiAgICAuYy1zdWJ0aXRsZS1iaWcsXG5cdC5jLXRlc3RpbW9uaWFsIGJsb2NrcXVvdGUgcCxcbiAgICAuYy10ZXN0aW1vbmlhbCBibG9ja3F1b3RlIGNpdGUsXG4gICAgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAsXG4gICAgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUsXG4gICAgLmMtcGllLW51bWJlci1zdGF0dXMsXG5cdC5jLXBpZS1udW1iZXItdG90YWwsXG4gICAgLmMtc2l0ZS1uYXZpZ2F0aW9uLFxuICAgIC5jLW5ld3MtaXRlbS1saW5rLFxuICAgIC5jLWNhcHRpb24sXG4gICAgLmMtc3VidGl0bGUsXG4gICAgLmMtc3VidGl0bGUtYmlnLFxuXHQucGFnZS1udW1iZXJzLFxuXHQuYy1idG4sXG5cdC5nZmllbGRfbGFiZWwsXG5cdC5nZm9ybV93cmFwcGVyIC5mb3JtLWVycm9yLFxuXHQuY24tYnV0dG9uLFxuXHQuc2Nyb2xsLW5hdmlnYXRpb24gbGkgYSxcblx0LnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSxcblx0LnBvc3QtcGFzc3dvcmQtZm9ybSBsYWJlbFxuICAgIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdISyBHcm90ZXNrIEJvbGQnLCAkZm9udHN0YWNrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuIiwiLmJyb3dzZXJ1cGdyYWRle1xuXHRtYXJnaW4tYm90dG9tOiAkY29udGV4dHRleHRwYWRkaW5nO1xuXHRtYXJnaW4tdG9wOiAkY29udGV4dHRleHRwYWRkaW5nO1xuXHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGNvbnRleHR0ZXh0cGFkZGluZ19wYWxtO1xuXHRcdG1hcmdpbi10b3A6ICRjb250ZXh0dGV4dHBhZGRpbmdfcGFsbTtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcblx0XHRtYXJnaW4tYm90dG9tOiAkY29udGV4dHRleHRwYWRkaW5nX3RhYmxldDtcblx0XHRtYXJnaW4tdG9wOiAkY29udGV4dHRleHRwYWRkaW5nX3RhYmxldDtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGNvbnRleHR0ZXh0cGFkZGluZ19kZXNrdG9wO1xuXHRcdG1hcmdpbi10b3A6ICRjb250ZXh0dGV4dHBhZGRpbmdfZGVza3RvcDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEZvbnQtd2VpZ2h0OiBib2xkXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmIsXG4uYm9sZCxcbnN0cm9uZyxcbi5zdHJvbmcsXG4uYy1zaXRlLXRpdGxlLFxuLmpvYnMgLmpvYi10aXRsZSxcbi5taXRhcmJlaXRlciAubWl0YXJiZWl0ZXItb2N1cGF0aW9uLFxuLmNvbnRhY3Qtd3JhcHBlciAuc21hbGwgLnN1YnRpdGxlLFxuLmpvYnMgLmpvYi1kZXNjcmlwdGlvbiAuc3VidGl0bGUsXG4uaW1hZ2UtdGV4dCAuc21hbGwgLnN1YnRpdGxlLFxuLnRpdGxlLXdyYXBwZXIgLnNtYWxsIC5zdWJ0aXRsZSxcbi5uZXdzLXRlYXNlciAuc3VidGl0bGUsXG4ubmV3cy10ZWFzZXIuZG93bmxvYWQgLm5ld3MtdGVhc2VyLXRpdGxlLFxuLm5ld3MtdGVhc2VyLnN0YW5kYXJkIC5uZXdzLXRlYXNlci10aXRsZVxuLmluZm9ncmFmaWsgLmluZGV4LFxuLmluZm9ncmFmaWsgLnN1YnRpdGxlLFxuLmMtbmV3cy1pdGVtLWxpbmssXG4uYy1jYXB0aW9uLFxuLmMtc3VidGl0bGUsXG4uYy1zdWJ0aXRsZS1iaWcsXG4uYy1zaXRlLW5hdmlnYXRpb24gbGkgYSxcbi5wYWdlLW51bWJlcnMsXG4uZ2ZpZWxkX2xhYmVsLFxuLmNuLWJ1dHRvbixcbi5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10sXG4ucG9zdC1wYXNzd29yZC1mb3JtIGxhYmVse1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEZvbnQtd2VpZ2h0OiBub3JtYWxcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuYm9keSxcbi5jLW5hdmlnYXRpb24tdGl0bGUsXG4uYy1wYWdlLXRpdGxlLFxuLnBhZ2UtbnVtYmVycy5jdXJyZW50e1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBGb250LXdlaWdodDogaXRhbGljXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmVtLFxuLml0YWxpY3tcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBGb250c3RhY2s6IHNhbnMgc2VyaWZcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaHRtbCxcbmJvZHksXG5iLFxuLmJvbGQsXG5zdHJvbmcsXG4uc3Ryb25nLFxuY2l0ZSxcbi5jLW5hdmlnYXRpb24tdGl0bGUsXG4uam9icyAuam9iLXRpdGxlLFxuLmNvbnRhY3Qtd3JhcHBlciAuc21hbGwgLnN1YnRpdGxlLFxuLmpvYnMgLmpvYi1kZXNjcmlwdGlvbiAuc3VidGl0bGUsXG4uaW1hZ2UtdGV4dCAuc21hbGwgLnN1YnRpdGxlLFxuLnRpdGxlLXdyYXBwZXIgLnNtYWxsIC5zdWJ0aXRsZSxcbi5uZXdzLXRlYXNlciAuc3VidGl0bGUsXG4ubmV3cy10ZWFzZXIuZG93bmxvYWQgLm5ld3MtdGVhc2VyLXRpdGxlLFxuLm5ld3MtdGVhc2VyLnN0YW5kYXJkIC5uZXdzLXRlYXNlci10aXRsZSxcbi5pbmZvZ3JhZmlrIC5pbmRleCxcbi5pbmZvZ3JhZmlrIC5zdWJ0aXRsZXtcblx0Zm9udC1mYW1pbHk6ICRmb250c3RhY2s7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGVudCBpbWcsXG5lbWJlZCxcbm9iamVjdCxcbnZpZGVvLFxuaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm5vLWpzIC5nZm9ybV93cmFwcGVyLFxuLmMtbWVkaWEgKyAuYy1tZWRpYSxcbi5jLW1lZGlhICsgaDIsXG4uYy1tZWRpYSArIGgzLFxuLmMtbWVkaWEgKyBoNCxcbi5jLW1lZGlhICsgcCxcbi5jLW1lZGlhICsgc3Bhbixcbi5jLW1lZGlhICsgLmpzZm9ybXtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICB9XG59XG5cbi8qLmMtZm9vdGVyIGltZyxcbi5jLWhlYWRlciBpbWcsXG4uYy1jb250ZW50IC5jLWltZy1tYXgtc2l6ZSB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1pbWFnZXtcblx0bWF4LXdpZHRoOiAkY29udGVudE1heFNpemU7XG59XG5cbi5jLXBhcmFsbGF4e1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtY29udGVudHtcblx0ZmlndXJle1xuXHRcdGZpZ2NhcHRpb257XG5cdFx0XHRwe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1vYmlsZVNtYWxsRm9udFNpemU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkZXNrdG9wU21hbGxGb250U2l6ZTtcbiAgICAgICAgICAgICAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmZpZ3VyZXtcblx0bWFyZ2luOiAwO1xuXHRmaWdjYXB0aW9ue1xuXHRcdHB7XG5cdFx0XHRmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDE4KTtcblx0XHR9XG5cdH1cbn1cblxuaW1ne1xuXHRoZWlnaHQ6IGF1dG87XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4qL1xuLmpze1xuXHQuaGFzc3ZnbG9nb3tcbiAgICAgICAgLmMtc2l0ZS10aXRsZSxcblx0XHQudGV4dHtcblx0XHRcdEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuO1xuXHRcdH1cblx0XHQuaW1nLWxvZ297XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdH1cblx0fVxuXHQubm9zdmdsb2dvLmhhc2xvZ297XG4gICAgICAgIC5jLXNpdGUtdGl0bGUsXG5cdFx0LnRleHR7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0XHR9XG5cdFx0LnN2Zy1sb2dve1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR9XG5cdH1cbn1cbi8qXG4uanMuaW5saW5lc3Zne1xuXHQuaGFzc3ZnbG9nb3tcblx0XHQuc3ZnLWxvZ297XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHRcdC5pbWctbG9nb3tcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0fVxuICAgICAgICAuYy1zaXRlLXRpdGxlLFxuXHRcdC50ZXh0e1xuXHRcdFx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW47XG5cdFx0fVxuXHR9XG5cdC5ub3N2Z2xvZ28uaGFzbG9nb3tcblx0XHQuc3ZnLWxvZ297XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdH1cblx0XHQuaW1nLWxvZ297XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHRcdC50ZXh0e1xuXHRcdFx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW47XG5cdFx0fVxuXHR9XG59XG4uanMubm8taW5saW5lc3Zne1xuXHQuaGFzc3ZnbG9nby5oYXNsb2dvLFxuXHQuaGFzbG9nb3tcblx0XHQuc3ZnLWxvZ297XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdH1cblx0XHQuaW1nLWxvZ297XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHRcdC50ZXh0e1xuXHRcdFx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW47XG5cdFx0fVxuXHR9XG5cdC5oYXNzdmdsb2dve1xuXHRcdC5zdmctbG9nbyxcblx0XHQuaW1nLWxvZ297XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdH1cblx0fVxufVxuLmpzLnN2Z2FzaW1ne1xuICAgIC5pbmZvZ3JhZmlre1xuICAgICAgICAuaGFzc3Zne1xuICAgICAgICAgICAgLmltYWdle1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLmpzLm5vLXN2Z2FzaW1ne1xuICAgIC5pbmZvZ3JhZmlre1xuICAgICAgICAuc3ZnaW1hZ2V7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufVxuKi9cbi5uby1qc3tcblx0Lmhhc3N2Z2xvZ28sXG5cdC5oYXNsb2dve1xuXHRcdC5zdmctbG9nbyxcblx0XHQuaW1nLWxvZ297XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdH1cbiAgICAgICAgLmMtc2l0ZS10aXRsZSxcblx0XHQudGV4dHtcblx0XHRcdEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuO1xuXHRcdH1cblx0XHQubm9qc2ltYWdle1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbG9nb3NpemU7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIFx0XHR3aWR0aDogJGxvZ29zaXplO1xuICAgIFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbG9nb3NpemVfbW9iaWxlO1xuICAgIFx0XHRcdHdpZHRoOiAkbG9nb3NpemVfbW9iaWxlO1xuICAgIFx0XHR9XG5cdFx0fVxuXHR9XG4gICAgLmhhc3NtYWxsbG9nb3tcbiAgICAgICAgLm5vanNpbWFnZXtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc21hbGxsb2dve1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi8qXG4uanN7XG4gICAgJi5pbmxpbmVzdmd7XG4gICAgICAgIC5pbWctaWNvbntcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5uby1pbmxpbmVzdmd7XG4gICAgICAgIC5zdmctaWNvbntcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmltZy1pY29uIC5pY29uLWZhbGxiYWNre1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBcdG9wYWNpdHk6IDE7XG4gICAgICAgIFx0b3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgXHR3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiovXG4ubm8tanN7XG4gICAgLnN2Z2ltYWdlLFxuICAgIC5zdmctaWNvbixcbiAgICAuaWNvbi1mYWxsYmFja3tcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cblxuLmljb24td3JhcHBlcntcbiAgICAuaWNvbi1pbWFnZSxcbiAgICAuaWNvbi1zdmd7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICYuYmlne1xuICAgICAgICAuaWNvbi1pbWFnZSxcbiAgICAgICAgLmljb24tc3Zne1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLm1lZGl1bXtcbiAgICAgICAgLmljb24taW1hZ2UsXG4gICAgICAgIC5pY29uLXN2Z3tcbiAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbWFsbHtcbiAgICAgICAgLmljb24taW1hZ2UsXG4gICAgICAgIC5pY29uLXN2Z3tcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmlnY2FwdGlvbntcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmpzIC5oYXMtc3ZnIC5pY29uLXN2Z3tcbiAgICAuc3Zne1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5qcy5zdmdhc2ltZyAuaGFzLXN2ZyAuaWNvbi1pbWFnZSxcbi5qcy5uby1zdmdhc2ltZyAuaGFzLXN2ZyAuaWNvbi1zdmd7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5vLWpzIC5oYXMtc3ZnIC5pY29uLXN2Zyxcbi5uby1qcyAuaGFzLXN2ZyAuaWNvbi1zdmcgLnN2Zyxcbi5uby1qcyAuaGFzLXN2ZyAuaWNvbi1pbWFnZSAuaW1hZ2UsXG4ubm8tanMgLmltYWdlLmxhenlsb2Fke1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uanMgLmltYWdle1xuXHRoZWlnaHQ6IDA7XG5cdG9wYWNpdHk6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uanMgLmljb24taW1hZ2UgLmltYWdle1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5qcy5zdmdhc2ltZyAuaW5mb2dyYWZpayAuc3ZnaW1hZ2UsXG4uanMubm8taW5saW5lc3ZnIC5pbWctaWNvbiAuaWNvbi1mYWxsYmFjayxcbi5qcyAuaW1hZ2V7XG4gICAgJi5sYXp5bG9hZCxcbiAgICAmLmxvYWRpbmcsXG4gICAgJi5sYXp5bG9hZGluZ3tcblx0ICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4uanMgLmltYWdlLmxvYWRlZCxcbi5qcyAuaW1hZ2UubGF6eWxvYWRlZCxcbi5qcy5zdmdhc2ltZyAuaW5mb2dyYWZpayAuc3ZnaW1hZ2UsXG4uanMubm8taW5saW5lc3ZnIC5pbWctaWNvbiAuaWNvbi1mYWxsYmFja3tcblx0aGVpZ2h0OiBhdXRvO1xuXHRvcGFjaXR5OiAxO1xuXHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uanMgLmljb24taW1hZ2UgLmltYWdlLmxhenlsb2FkZWQsXG4uanMgLmljb24tc3ZnIC5zdmcubGF6eWxvYWRlZHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uY3NzdHJhbnNpdGlvbnMuanMgLmljb24tc3ZnIC5zdmcsXG4uY3NzdHJhbnNpdGlvbnMuanMgLmltYWdlLFxuLmNzc3RyYW5zaXRpb25zLmpzLnN2Z2FzaW1nIC5pbmZvZ3JhZmlrIC5zdmdpbWFnZSxcbi5jc3N0cmFuc2l0aW9ucy5qcy5uby1pbmxpbmVzdmcgLmljb24tZmFsbGJhY2t7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0O1xufVxuXG4ubm8tY3NzdHJhbnNpdGlvbnN7XG4gICAgJi5sYXp5bG9hZCxcbiAgICAmLmxvYWRpbmcsXG4gICAgJi5sYXp5bG9hZGluZ3tcbiAgICBcdGhlaWdodDogYXV0bztcbiAgICBcdG9wYWNpdHk6IDE7XG4gICAgXHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIkBtaXhpbiB2aXN1YWxseWhpZGRlbigpe1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIHZpc3VhbGx5dW5oaWRkZW4oKXtcblx0Ym9yZGVyOiBub25lO1xuXHRjbGlwOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1hcmdpbjogMDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG5cdHdpZHRoOiBhdXRvO1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5AbWl4aW4gdmlzdWFsbHl2aXNpYmlsZSgpe1xuXHRjbGlwOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblx0cGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiBhdXRvO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xufVxuXG4uYy1oZWFkZXItbG9nbyBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLXNpdGUtaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0cGFkZGluZy1ib3R0b206ICRzaXRlaGVhZGVyLXBhZGRpbmctdmVydGljYWwvMjtcblx0cGFkZGluZy1sZWZ0OiAkd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWw7XG5cdHBhZGRpbmctcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcblx0cGFkZGluZy10b3A6ICRzaXRlaGVhZGVyLXBhZGRpbmctdmVydGljYWw7XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKXtcblx0XHRwYWRkaW5nLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9tb2JpbGU7XG5cdFx0cGFkZGluZy1yaWdodDogJHdyYXBwZXItcGFkZGluZy1ob3Jpem9udGFsX21vYmlsZTtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcblx0XHRwYWRkaW5nLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9wYWxtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9wYWxtO1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdHBhZGRpbmctYm90dG9tOiAkc2l0ZWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsX3RhYmxldC8xLjQ7XG5cdFx0cGFkZGluZy10b3A6ICRzaXRlaGVhZGVyLXBhZGRpbmctdmVydGljYWxfdGFibGV0O1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRwYWRkaW5nLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9kZXNrdG9wO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9kZXNrdG9wO1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBkaWZmKXtcblx0XHRwYWRkaW5nLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctdmVydGljYWxfaHVnZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkd3JhcHBlci1wYWRkaW5nLXZlcnRpY2FsX2h1Z2U7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKXtcblx0XHRwYWRkaW5nLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9naWdhbnRpYztcblx0XHRwYWRkaW5nLXJpZ2h0OiAkd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWxfZ2lnYW50aWM7XG5cdH1cbn1cblxuLmMtaGVhZGVyLWxvZ28ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0ei1pbmRleDogMjAwO1xuXHR9XG5cblx0Ly8gZm9jdXMgc3R5bGVzXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXN7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0LmxvZ28taW1hZ2V7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXHR9XG5cdC5pbWctbG9nbyxcblx0LnN2Zy1sb2dve1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR3aWR0aDogJGxvZ29zaXplO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuXHRcdFx0d2lkdGg6ICRsb2dvc2l6ZV9tb2JpbGU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKXtcblx0XHRcdHdpZHRoOiAkbG9nb3NpemVfcGFsbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0XHR3aWR0aDogJGxvZ29zaXplX3RhYmxldDtcblx0XHR9XG5cdFx0c3ZnLFxuXHRcdGltZ3tcblx0XHRcdG1heC1oZWlnaHQ6ICRsb2dvc2l6ZTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAkbG9nb3NpemVfbW9iaWxlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYy1zaXRlLXRpdGxle1xuXHRcdGNvbG9yOiBjb2xvcihDSUNvbG9yKTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAxLjFlbTtcblx0fVxuXHQuYy1zaXRlLWJ5bGluZXtcblx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1ldGEtTmF2aWdhdGlvbiAoTGFuZ3VhZ2UtIGFuZCBGb290ZXItTmF2aWdhdGlvbilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IHtcbiAgIFx0bWFyZ2luOiAwO1xuICAgXHRsaXN0LXN0eWxlOiBub25lO1xuXHRhe1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHQmOnZpc2l0ZWR7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIExhbmd1YWdlLS1OYXZpZ2F0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9ue1xuICAgIC5jLWxhbmd1YWdlLW5hdmlnYXRpb257XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBsaSArIGxpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oMTApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1pbmkpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc2N1dC1lbSgxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICBcdH1cbiAgICBcdGxpe1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1pbmkpe1xuICAgIFx0XHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgIFx0fVxuICAgIFx0YXtcbiAgICBcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgXHRcdHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgJjpmb2N1c3tcbiAgICBcdFx0XHQmOm5vdCg6aG92ZXIpLFxuICAgIFx0XHRcdCY6bm90KDphY3RpdmUpe1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICBcdH1cbiAgICBcdC5jLWFjdGl2ZSBhLFxuICAgICAgICBhOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWhpZ2hsaWdodC1jb2xvcjtcbiAgICBcdH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFBhZ2UtTmF2aWdhdGlvblxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1wYWdlbmF2aXZhdGlvbntcblx0cGFkZGluZy10b3A6ICR3cmFwcGVyLXBhZGRpbmctdmVydGljYWxfbW9iaWxlKjEuODtcblx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pe1xuXHRcdHBhZGRpbmctdG9wOiAkd3JhcHBlci1wYWRkaW5nLXZlcnRpY2FsX3BhbG07XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG5cdFx0cGFkZGluZy10b3A6ICR3cmFwcGVyLXBhZGRpbmctdmVydGljYWxfdGFibGV0O1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdHBhZGRpbmctdG9wOiAkd3JhcHBlci1wYWRkaW5nLXZlcnRpY2FsX2JpZ3RhYmxldDtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0cGFkZGluZy10b3A6ICR3cmFwcGVyLXBhZGRpbmctdmVydGljYWxfZGVza3RvcDtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG5cdFx0cGFkZGluZy10b3A6ICR3cmFwcGVyLXBhZGRpbmctdmVydGljYWxfaHVnZTtcblx0fVxuXHQubWVudXtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBhZGRpbmc6IDA7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICAgICAgfVxuXHRcdC5hamF4TmF2aWdhdGlvbkJ1dHRvbntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdH1cbiAgICAgICAgLmFqYXhOYXZpZ2F0aW9uQnV0dG9uLFxuICAgICAgICAucGFnZS1udW1iZXJze1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWhpZ2hsaWdodC1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWhpZ2hsaWdodC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY3VycmVudHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5kb3Rze1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWhpZ2hsaWdodC1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnByZXYsXG4gICAgICAgICAgICAmLm5leHR7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdC5jLWxpbmstYXJyb3d7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDFlbTtcblx0XHRcdFx0fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cdH1cbn1cblxuLmpze1xuICAgIC5jLXBhZ2VuYXZpdmF0aW9ue1xuICAgICAgICAubWVudXtcbiAgICAgICAgICAgIC5wYWdlLW51bWJlcnN7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNjcm9sbC1OYXZpZ2F0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2Nyb2xsLW5hdmlnYXRpb257XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uanN7XG4gICAgLnNjcm9sbC1uYXZpZ2F0aW9ue1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLnNjcm9sbG5hdntcbiAgICAgICAgI29wZW4tbmF2aWdhdGlvbi5jbG9zZWR7XG4gICAgICAgICAgICAubmF2LmJ1dHRvbntcbiAgICAgICAgICAgIFx0Ji5vcGVue1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGlmZil7XG4gICAgICAgICAgICBcdFx0ICAgIGZvbnQtc2l6ZTogKDEvMS4yNSkrZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHdyYXBwZXItcGFkZGluZy1ob3Jpem9udGFsX2dpZ2FudGljO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNjcm9sbC1uYXZpZ2F0aW9ue1xuICAgICAgICAgICAgICAgIC8vcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zY3JvbGwtbmF2aWdhdGlvbi5maXhlZHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseXVuaGlkZGVuO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKHNjcm9sbE5hdkJvcmRlckNvbG9yKTtcbiAgICAgICAgICAgIFx0bGVmdDogMDtcbiAgICAgICAgICAgIFx0cGFkZGluZy1ib3R0b206IC41ZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHdyYXBwZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICAgICAgXHRwYWRkaW5nLXRvcDogJHNpdGVoZWFkZXItcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgICAgICAgIFx0cG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgXHR0b3A6IDA7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIFx0d2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMzAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKXtcbiAgICAgICAgICAgIFx0XHRwYWRkaW5nLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9tb2JpbGU7XG4gICAgICAgICAgICBcdFx0cGFkZGluZy1yaWdodDogJHdyYXBwZXItcGFkZGluZy1ob3Jpem9udGFsX21vYmlsZTtcbiAgICAgICAgICAgIFx0fVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9wYWxtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWxfcGFsbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICAgICAgXHRcdHBhZGRpbmctbGVmdDogJHdyYXBwZXItcGFkZGluZy1ob3Jpem9udGFsX2Rlc2t0b3A7XG4gICAgICAgICAgICBcdFx0cGFkZGluZy1yaWdodDogJHdyYXBwZXItcGFkZGluZy1ob3Jpem9udGFsX2Rlc2t0b3A7XG4gICAgICAgICAgICBcdH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSl7XG4gICAgICAgICAgICBcdFx0cGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBcdFx0cGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBcdH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGlmZil7XG4gICAgICAgICAgICBcdFx0cGFkZGluZy1sZWZ0OiAkd3JhcHBlci1wYWRkaW5nLXZlcnRpY2FsX2h1Z2U7XG4gICAgICAgICAgICBcdFx0cGFkZGluZy1yaWdodDogJHdyYXBwZXItcGFkZGluZy12ZXJ0aWNhbF9odWdlO1xuICAgICAgICAgICAgXHR9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qLm5hdi5idXR0b257XG4gICAgICAgICAgICAgICAgXHQmLm9wZW57XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1pbmkpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9Ki9cbiAgICAgICAgICAgICAgICAuaW5uZXItc2Nyb2xsLW5hdmlnYXRpb257XG4gICAgICAgICAgICBcdFx0QGluY2x1ZGUgbXEoJGZyb206IGh1Z2Upe1xuICAgICAgICAgICAgXHRcdFx0cGFkZGluZy1ib3R0b206IC41ZW07XG4gICAgICAgICAgICBcdFx0XHRwYWRkaW5nLXRvcDogLjVlbTtcbiAgICAgICAgICAgIFx0XHR9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkaWZmKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZ2lnYW50aWMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWxfZ2lnYW50aWM7XG4gICAgICAgICAgICAgICAgXHRcdHBhZGRpbmctcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9naWdhbnRpYztcbiAgICAgICAgICAgIFx0XHRcdEBpbmNsdWRlIG1hcmdpbmNlbnRlcm1heHdpZHRoKCRwYWdlTWF4U2l6ZV9naWdhbnRpYyk7XG4gICAgICAgICAgICBcdFx0fVxuICAgICAgICAgICAgICAgICAgICAubWVudXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCkge1xuICAgICAgICAgICAgICAgIFx0XHRcdGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgXHRcdFx0aGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgICAgICAgICBcdFx0XHRsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgXHRcdFx0bWFyZ2luLWxlZnQ6IC0zMCU7XG4gICAgICAgICAgICAgICAgXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBcdFx0XHRtYXJnaW4tYm90dG9tOiAuNGVtO1xuICAgICAgICAgICAgICAgIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgXHRcdFx0d2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICBcdFx0fVxuICAgICAgICAgICAgICAgIFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCkge1xuICAgICAgICAgICAgICAgIFx0XHRcdG1hcmdpbi1sZWZ0OiAtMzMlO1xuICAgICAgICAgICAgICAgIFx0XHRcdHdpZHRoOiA2NSU7XG4gICAgICAgICAgICAgICAgXHRcdH1cbiAgICAgICAgICAgICAgICBcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICBcdFx0XHRtYXJnaW4tbGVmdDogLTQ0JTtcbiAgICAgICAgICAgICAgICBcdFx0ICAgIHBhZGRpbmctbGVmdDogMTclO1xuICAgICAgICAgICAgICAgIFx0XHQgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICBcdFx0ICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICAgICAgICAgICAgICBcdFx0fVxuICAgICAgICAgICAgICAgIFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgXHRcdFx0bWFyZ2luLWxlZnQ6IC00OCU7XG4gICAgICAgICAgICAgICAgXHRcdFx0d2lkdGg6IDg3JTtcbiAgICAgICAgICAgICAgICBcdFx0XHRwYWRkaW5nLWxlZnQ6IDIwJTtcbiAgICAgICAgICAgICAgICBcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMSU7XG4gICAgICAgICAgICAgICAgXHRcdH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jdXJyZW50X3BhZ2VfYW5jZXN0b3I+YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jdXJyZW50X3BhZ2VfaXRlbT5hLFxuICAgICAgICAgICAgICAgICAgICBcdC5jdXJyZW50LW1lbnUtYW5jZXN0b3I+YSxcbiAgICAgICAgICAgICAgICAgICAgXHQuY3VycmVudC1tZW51LWl0ZW0+YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hY3RpdmU+YXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJj5saXtcbiAgICAgICAgICAgICAgICAgICAgXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgXHRcdFx0cGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICBcdFx0fVxuICAgICAgICAgICAgICAgICAgICBcdH1cbiAgICAgICAgICAgICAgICAgICAgXHQmPmxpIGF7XG4gICAgICAgICAgICAgICAgICAgIFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgICBcdFx0XHRjb2xvcjogY29sb3IoQ0lDb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgXHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgXHRcdFx0bWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICAgIFx0XHR9XG4gICAgICAgICAgICAgICAgICAgIFx0fVxuICAgICAgICAgICAgICAgICAgICBcdCY+bGkgdWx7XG4gICAgICAgICAgICAgICAgICAgIFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIFx0XHRcdGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIFx0XHR9XG4gICAgICAgICAgICAgICAgICAgIFx0fVxuICAgICAgICAgICAgICAgICAgICBcdCY+bGk6Zmlyc3QtY2hpbGQgYXtcbiAgICAgICAgICAgICAgICAgICAgXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIFx0XHR9XG4gICAgICAgICAgICAgICAgICAgIFx0fVxuICAgICAgICAgICAgICAgICAgICBcdCY+bGk6bGFzdC1jaGlsZCBhe1xuICAgICAgICAgICAgICAgICAgICBcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICBcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIFx0XHR9XG4gICAgICAgICAgICAgICAgICAgIFx0fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcdH1cbiAgICAgICAgICAgICAgICAuYy1oZWFkZXItbG9nbyB7XG4gICAgICAgICAgICBcdFx0Zm9udC1zaXplOiAkcGFnZVRpdGxlU2l6ZTtcbiAgICAgICAgICAgIFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcbiAgICAgICAgICAgIFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcbiAgICAgICAgICAgIFx0XHR9XG4gICAgICAgICAgICBcdFx0LmltZy1sb2dvLFxuICAgICAgICAgICAgXHRcdC5zdmctbG9nb3tcbiAgICAgICAgICAgIFx0XHRcdGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIFx0XHRcdHdpZHRoOiAkbG9nb3NpemU7XG4gICAgICAgICAgICBcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKXtcbiAgICAgICAgICAgIFx0XHRcdFx0d2lkdGg6ICRsb2dvc2l6ZV9tb2JpbGU7XG4gICAgICAgICAgICBcdFx0XHR9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFx0XHR9XG4gICAgICAgICAgICBcdH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmNzc3RyYW5zaXRpb25zIC5zY3JvbGxuYXYgLmlubmVyLXdyYXBwZXIuY2xvc2Vke1xuICAgICAgICAuc2Nyb2xsLW5hdmlnYXRpb24uZml4ZWR7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgLmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9ue1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2UtaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jc3N0cmFuc2Zvcm1zIC5zY3JvbGxuYXYgLmlubmVyLXdyYXBwZXIuY2xvc2Vke1xuICAgICAgICAuc2Nyb2xsLW5hdmlnYXRpb257XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoc2N1dC1lbSgtMTUwKSk7XG4gICAgICAgIFx0LmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9ue1xuICAgICAgICBcdFx0b3BhY2l0eTogMDtcbiAgICAgICAgXHR9XG4gICAgICAgICAgICAmLmZpeGVke1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIFx0LmlubmVyLXNjcm9sbC1uYXZpZ2F0aW9ue1xuICAgICAgICAgICAgXHRcdG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBcdH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIlxuQG1peGluIG1hcmdpbmNlbnRlcm1heHdpZHRoKCRtYXgtd2lkdGg6IDgwJSl7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogJG1heC13aWR0aDtcbn1cblxuQG1peGluIG1hcmdpbmNlbnRlcndpZHRoKCR3aWR0aDogODAlKXtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0d2lkdGg6ICR3aWR0aDtcbn1cbiIsIi8vLnNjcm9sbC1uYXZpZ2F0aW9uLFxuLmMtaGVhZGVyLW5hdmlnYXRpb257XG4gICAgYXtcbiAgICAgICAgY29sb3I6IGNvbG9yKENJQ29sb3IpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uYy1zaXRlLW5hdmlnYXRpb24sXG4uc3ViLW1lbnV7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gVG9wIE5hdmlnYXRpb24gSXRlbXNcbi5jLXNpdGUtbmF2aWdhdGlvbiBsaSBhe1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogJG5hdmlnYXRpb25UaXRsZVNpemU7XG59XG5cbi5zY3JvbGwtbmF2aWdhdGlvbiAubWVudSxcbi5jLXNpdGUtbmF2aWdhdGlvbntcbiAgICBhe1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkYm9yZGVyLWhpZ2hsaWdodCA2MCUsIHRyYW5zcGFyZW50IDQwJSk7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCA2NSU7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDAgNiU7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdHBhZGRpbmctYm90dG9tOiAuNGVtO1xuXHRcdHBhZGRpbmctdG9wOiAuNGVtO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDYlO1xuICAgICAgICB9XG4gICAgICAgICY6YWN0aXZle1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIC4zcztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3VycmVudF9wYWdlX2FuY2VzdG9yPmEsXG4gICAgLmN1cnJlbnRfcGFnZV9pdGVtPmEsXG5cdC5jdXJyZW50LW1lbnUtYW5jZXN0b3I+YSxcblx0LmN1cnJlbnQtbWVudS1pdGVtPmEsXG4gICAgLmFjdGl2ZT5he1xuICAgICAgICBjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNiU7XG4gICAgfVxufVxuXG4uYy1zaXRlLW5hdmlnYXRpb257XG4gICAgLy8gU3ViIE1lbnVcbiAgICB1bC5zdWItbWVudXtcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0ZW07XG4gICAgICAgIH1cbiAgICAgICAgbGkgYXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAvKmF7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjE4ZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC4yZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjI0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC4zMmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9Ki9cbiAgICAgICAgbGkgKyBsaXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC44ZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAub3V0ZXItd3JhcHBlclxuLm91dGVyLXdyYXBwZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXHRoZWlnaHQ6YXV0byAhaW1wb3J0YW50O1xuICAgXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmlubmVyLXdyYXBwZXJ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbn1cblxuLyogXHQtLS0tLS0tLS0tLS1cbiBcdFRyYW5zaXRpb25zXG5cdC0tLS0tLS0tLS0tLSAqL1xuXG4ubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCl7XG5cdHRyYW5zaXRpb246IGxlZnQgLjM1cyBlYXNlLWluLW91dDtcblx0QGluY2x1ZGUgbXEoJGZyb206IG1pbmkpIHtcblx0XHR0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLWluLW91dDtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSkge1xuXHRcdHRyYW5zaXRpb246IGxlZnQgLjNzIGVhc2UtaW4tb3V0O1xuXHR9XG59XG5cbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldHtcblx0dHJhbnNpdGlvbjogbGVmdCAuNHMgZWFzZS1pbi1vdXQ7XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKSB7XG5cdFx0dHJhbnNpdGlvbjogbGVmdCAuNXMgZWFzZS1pbi1vdXQ7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pIHtcblx0XHR0cmFuc2l0aW9uOiBsZWZ0IC4zcyBlYXNlLWluLW91dDtcblx0fVxufVxuXG5cbi8qIFx0LS0tLS0tLS0tLS0tXG4gXHRQb3NpdGlvbnNcblx0LS0tLS0tLS0tLS0tICovXG5cbi8vIE9mZiBjYW52YXMgY2xvc2VkXG4ubm8tanMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCl7XG5cdGxlZnQ6IDA7XG59XG5cbi8vIE9mZiBjYW52YXMgb3BlbmVkXG4ubm8tanMgI29wZW4tbmF2aWdhdGlvbixcbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldHtcblx0bGVmdDogLTEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGZWF0dXJlIHRlc3Q6IGNzcyB0cmFuc2Zvcm1zIGFyZSBzdXBwb3J0ZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogXHQtLS0tLS0tLS0tLS1cbiBcdFRyYW5zaXRpb25zXG5cdC0tLS0tLS0tLS0tLSAqL1xuXG4vKi5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24sXG4uY3NzdHJhbnNmb3JtcyAjb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCxcbi5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpKi9cbi5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24udHJhbnNmb3Jte1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0LCBsZWZ0IDBzO1xuXHRAaW5jbHVkZSBtcSgkZnJvbTogbWluaSkge1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZS1pbi1vdXQsIGxlZnQgMHM7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pIHtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0LCBsZWZ0IDBzO1xuXHR9XG59XG5cblxuLyogXHQtLS0tLS0tLS0tLS1cbiBcdFBvc2l0aW9uc1xuXHQtLS0tLS0tLS0tLS0gKi9cblxuLy8gT2ZmIGNhbnZhcyBjbG9zZWRcbi8vLmNzc3RyYW5zZm9ybXMgI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldClcbi5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24uY2xvc2VkLnRyYW5zZm9ybXtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG59XG4uY3NzdHJhbnNmb3JtcyAjb3Blbi1uYXZpZ2F0aW9uLmNsb3NlZHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBPZmYgY2FudmFzIG9wZW5lZFxuLyouY3NzdHJhbnNmb3JtcyAjb3Blbi1uYXZpZ2F0aW9uLFxuLmNzc3RyYW5zZm9ybXMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQqL1xuLmNzc3RyYW5zZm9ybXMgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWR7XG5cdGxlZnQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLDApO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG59XG4iLCIuYy1zaXRlLWhlYWRlcntcblx0ei1pbmRleDogMztcblx0LmMtaGVhZGVyLW5hdmlnYXRpb257XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCkge1xuXHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR6LWluZGV4OiAxMDA7XG5cdFx0fVxuXHRcdC5vZmZjYW52YXMtbmF2aWdhdGlvbntcblx0XHRcdG1hcmdpbi1yaWdodDogLTEwMCU7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG5cbi5jLXNpdGUtbmF2aWdhdGlvbntcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm5hdi5idXR0b257XG5cdCYub3Blbixcblx0Ji5jbG9zZXtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IDA7XG5cdFx0LnRleHR7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0XHR9XG5cblx0fVxufVxuXG4uYy1zaXRlLW5hdmlnYXRpb257XG5cdC5zdWItbWVudXtcblx0XHQuc3ViLW1lbnV7XG5cdFx0XHRtYXJnaW4tbGVmdDogLjZlbTsgICAgICAgICAgICBcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEuNGVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uYy1zaXRlLW5hdmlnYXRpb24gLnN1Yi1tZW51IHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYy1sYW5ndWFnZS1uYXZpZ2F0aW9uICsgLmMtc2l0ZS1uYXZpZ2F0aW9ue1xuXHRwYWRkaW5nLXRvcDogJG5hdml0ZW0tcGFkZGluZy12ZXJ0aWNhbDtcblx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuLmMtc2l0ZS1uYXZpZ2F0aW9uPmxpe1xuXHRwYWRkaW5nLWJvdHRvbTogJG5hdml0ZW0tcGFkZGluZy12ZXJ0aWNhbCoyO1xuXHRwYWRkaW5nLXRvcDogJG5hdml0ZW0tcGFkZGluZy12ZXJ0aWNhbDtcblx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG0pIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJG5hdml0ZW0tcGFkZGluZy12ZXJ0aWNhbF90d2Vlbi8xLjQ7XG5cdFx0cGFkZGluZy10b3A6ICRuYXZpdGVtLXBhZGRpbmctdmVydGljYWxfdHdlZW47XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiAkbmF2aXRlbS1wYWRkaW5nLXZlcnRpY2FsX3RhYmxldCoxLjQ7XG5cdFx0cGFkZGluZy10b3A6ICRuYXZpdGVtLXBhZGRpbmctdmVydGljYWxfdGFibGV0O1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJG5hdml0ZW0tcGFkZGluZy12ZXJ0aWNhbF90YWJsZXQqMjtcblx0fVxufVxuXG4uYy1zaXRlLW5hdmlnYXRpb24+bGl7XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0d2lkdGg6IDMzJTtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuXHRcdHdpZHRoOiAyNSU7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IGRpZmYpIHtcblx0XHR3aWR0aDogMjAlO1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBnaWdhbnRpYykge1xuXHRcdHdpZHRoOiAxNiU7XG5cdH1cblx0JiArIGxpe1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDQlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDMlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGlmZikge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyJTtcblx0XHR9XG5cdH1cblx0JjpudGgtY2hpbGQoMm4pe1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKSB7XG5cdFx0XHR3aWR0aDogNDklO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0XHR3aWR0aDogMzMlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuXHRcdFx0d2lkdGg6IDI1JTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRpZmYpIHtcblx0XHRcdHdpZHRoOiAyMCU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBnaWdhbnRpYykge1xuXHRcdFx0d2lkdGg6IDE2JTtcblx0XHR9XG5cdH1cblx0JjpudGgtY2hpbGQoM24pe1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcblx0XHRcdHdpZHRoOiAzMSU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG5cdFx0XHR3aWR0aDogMjUlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGlmZikge1xuXHRcdFx0d2lkdGg6IDIwJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKSB7XG5cdFx0XHR3aWR0aDogMTYlO1xuXHRcdH1cblx0fVxuXHQmOm50aC1jaGlsZCg0bil7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcblx0XHRcdHdpZHRoOiAyMyU7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkaWZmKSB7XG5cdFx0XHR3aWR0aDogMjAlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZ2lnYW50aWMpIHtcblx0XHRcdHdpZHRoOiAxNiU7XG5cdFx0fVxuXHR9XG5cdCY6bnRoLWNoaWxkKDVuKXtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGlmZikge1xuXHRcdFx0d2lkdGg6IDE4JTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKSB7XG5cdFx0XHR3aWR0aDogMTYlO1xuXHRcdH1cblx0fVxuXHQmOm50aC1jaGlsZCg2bil7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGdpZ2FudGljKSB7XG5cdFx0XHR3aWR0aDogMTUlO1xuXHRcdH1cblx0fVxuXHQmOm50aC1jaGlsZCgybisxKXtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDMlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGlmZikge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyJTtcblx0XHR9XG5cdH1cblx0JjpudGgtY2hpbGQoM24rMSl7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAzJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRpZmYpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMiU7XG5cdFx0fVxuXHR9XG5cdCY6bnRoLWNoaWxkKDRuKzEpe1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkaWZmKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDIlO1xuXHRcdH1cblx0fVxuXHQmOm50aC1jaGlsZCg1bisxKXtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGlmZikge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZ2lnYW50aWMpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMiU7XG5cdFx0fVxuXHR9XG5cdCY6bnRoLWNoaWxkKDZuKzEpe1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBnaWdhbnRpYykge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdH1cblx0fVxuXHRhe1xuXHRcdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0fVxuXHQuY3VycmVudF9wYWdlX2FuY2VzdG9yLFxuICAgIC5jdXJyZW50X3BhZ2VfaXRlbSxcblx0LmN1cnJlbnQtbWVudS1hbmNlc3Rvcixcblx0LmN1cnJlbnQtbWVudS1pdGVtLFxuICAgIC5hY3RpdmV7XG4gICAgICAgICYuZGVhY3RpdmF0ZT5he1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDYlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA2NSU7XG5cdFx0XHQmOmhvdmVye1xuXHQgICAgICAgICAgICBjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuXHQgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNiU7XG5cdCAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2dG9vZ2xlLXdyYXBwZXJ7XG5cdHBhZGRpbmctYm90dG9tOiAkbmF2aXRlbS1wYWRkaW5nLXZlcnRpY2FsO1xuXHRwYWRkaW5nLXRvcDogIC41ZW07XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiB0d2Vlbikge1xuXHRcdHBhZGRpbmctdG9wOiAgMDtcblx0fVxuXHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cbn1cblxuLmMtc2l0ZS1uYXZpZ2F0aW9uLnR3bz5saSxcbi5jLXNpdGUtbmF2aWdhdGlvbi5tb3JlPmxpe1xuXHRAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkbmF2aXRlbS1wYWRkaW5nLWhvcml6b250YWxfdGFibGV0O1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRuYXZpdGVtLXBhZGRpbmctaG9yaXpvbnRhbF90YWJsZXQ7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcblx0XHRwYWRkaW5nOiAkbmF2aXRlbS1wYWRkaW5nLXZlcnRpY2FsX2Rlc2t0b3AgJG5hdml0ZW0tcGFkZGluZy1ob3Jpem9udGFsX2Rlc2t0b3A7XG5cdH1cbn1cblxuLm5hdi5idXR0b257XG5cdCYub3Blbntcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0aGVpZ2h0OiAkbmF2aWdhdGlvbmljb25zaXplO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogJHdyYXBwZXItcGFkZGluZy1ob3Jpem9udGFsO1xuXHRcdG1hcmdpbi10b3A6IC0oJG5hdmlnYXRpb25pY29uc2l6ZS8zKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxLjRlbTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiA1MCU7XG5cdFx0d2lkdGg6ICRuYXZpZ2F0aW9uaWNvbnNpemU7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IG1pbmkpe1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAkd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWxfbW9iaWxlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9wYWxtO1xuXHRcdH1cblx0XHQvKkBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuXHRcdFx0bWFyZ2luLXRvcDogJHdyYXBwZXItcGFkZGluZy12ZXJ0aWNhbF9tb2JpbGUvMS4yO1xuXHRcdH0qL1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpe1xuXHRcdFx0cGFkZGluZy1yaWdodDogJG5hdmlnYXRpb25pY29uc2l6ZSsuOGVtO1xuXHRcdFx0ei1pbmRleDogMTAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9kZXNrdG9wO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGlmZil7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9naWdhbnRpYztcblx0XHR9XG5cdFx0JjpiZWZvcmV7XG5cdFx0XHRAaW5jbHVkZSBwc2V1ZG8tYmxvY2soKTtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXItZGFyaztcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRib3JkZXItZGFyaztcblx0XHRcdGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuXHRcdFx0Ym9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAkbmF2VG9nZ2xlQm9yZGVyV2lkdGg7XG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiAkbmF2VG9nZ2xlQm9yZGVyV2lkdGg7XG5cdFx0XHRoZWlnaHQ6IC45MmVtO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR3aWR0aDogJG5hdmlnYXRpb25pY29uc2l6ZTtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtaW5pKXtcblx0XHRcdFx0aGVpZ2h0OiAxLjE0ZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6YWZ0ZXJ7XG5cdFx0XHRAaW5jbHVkZSBwc2V1ZG8tYmxvY2soKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItZGFyaztcblx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0bWFyZ2luLXRvcDogLjRlbTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0d2lkdGg6ICRuYXZpZ2F0aW9uaWNvbnNpemUqLjg7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbWluaSl7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC41ZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6aG92ZXJ7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWhpZ2hsaWdodDtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyLWhpZ2hsaWdodDtcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJGJvcmRlci1oaWdobGlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6Zm9jdXN7XG5cdFx0XHQmOm5vdCg6aG92ZXIpLFxuXHRcdFx0Jjpub3QoOmFjdGl2ZSl7XG5cdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXItaGlnaGxpZ2h0O1xuXHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRib3JkZXItaGlnaGxpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWhpZ2hsaWdodDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuYy1uYXZpZ2F0aW9uLXRpdGxle1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxufVxuXG4ubmF2LmJ1dHRvbntcblx0Ji5jbG9zZXtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0aGVpZ2h0OiAkbmF2aWdhdGlvbmljb25zaXplO1xuXHRcdHBhZGRpbmctYm90dG9tOiAuNWVtO1xuXHRcdHBhZGRpbmctbGVmdDogLjVlbTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuXHRcdHBhZGRpbmctdG9wOiAuNWVtO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdEBpbmNsdWRlIGFmdGVyLXBzZXVkbygpO1xuXHRcdEBpbmNsdWRlIGJlZm9yZS1wc2V1ZG8oKTtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbWluaSkge1xuXHRcdFx0bWFyZ2luLXRvcDogLjI0ZW07XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjhlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMWVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMWVtO1xuXHRcdFx0cGFkZGluZy10b3A6IC44ZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcblx0XHRcdG1hcmdpbi10b3A6IC41ZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcblx0XHRcdGNvbG9yOiAkdGV4dC1jb2xvcjtcblx0XHRcdG1hcmdpbi1ib3R0b206ICRtYWluLXBhZGRpbmctdmVydGljYWxfdHdlZW47XG5cdFx0XHRtYXJnaW4tdG9wOiAxLjZlbTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogJG5hdmlnYXRpb25pY29uc2l6ZSsuNmVtO1xuXHRcdFx0cGFkZGluZy10b3A6IC40ZW07XG5cdFx0fVxuXHRcdCY6YWZ0ZXIsXG5cdFx0JjpiZWZvcmV7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG5cdFx0XHRoZWlnaHQ6ICRuYXZUb2dnbGVCb3JkZXJXaWR0aDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLXRvcDogMWVtO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0d2lkdGg6ICRuYXZpZ2F0aW9uaWNvbnNpemU7XG5cdFx0fVxuXHRcdCY6YWZ0ZXJ7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0fVxuXHRcdCY6YmVmb3Jle1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHR9XG5cdFx0Jjpob3Zlcntcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1oaWdobGlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6Zm9jdXN7XG5cdFx0XHQmOm5vdCg6aG92ZXIpLFxuXHRcdFx0Jjpub3QoOmFjdGl2ZSl7XG5cdFx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWhpZ2hsaWdodC1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBcdC0tLS0tLS0tLS0tLVxuIFx0T2ZmIGNhbnZhcyBvcGVuXG5cdC0tLS0tLS0tLS0tLSAqL1xuXG4vLy5mYWRlb3V0ICNvcGVuLW5hdmlnYXRpb24sXG4vLy5jbG9zZWQgI29wZW4tbmF2aWdhdGlvbixcbi8vLmpzICNvcGVuLW5hdmlnYXRpb24sXG4vLyNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpLFxuLy8uZmFkZW91dC5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24sXG4vLy5jbG9zZWQuY3NzdHJhbnNmb3JtcyAjb3Blbi1uYXZpZ2F0aW9uLFxuXG4ubm8tanMgI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQsXG4jb3Blbi1uYXZpZ2F0aW9uLm9wZW5lZCxcbiNvcGVuLW5hdmlnYXRpb24ub3BlbmVkLnRyYW5zZm9ybXtcblx0QGltcG9ydCAnb3BlbmVkL29mZmNhbnZhcy1vcGVuZWQnO1xufVxuXG4uanMgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQsXG4uanMgI29wZW4tbmF2aWdhdGlvbi5vcGVuZWQudHJhbnNmb3Jte1xuXHQuYy1zaXRlLWhlYWRlcntcblx0XHQuYy1oZWFkZXItbmF2aWdhdGlvbntcblx0XHRcdC5vZmZjYW52YXMtbmF2aWdhdGlvbi5maXhuYXZpe1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRcdGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uY3NzdHJhbnNmb3JtcyAuaW5uZXItd3JhcHBlci50cmFuc2Zvcm0gLm9mZmNhbnZhcy1uYXZpZ2F0aW9ue1xuXHQubmF2dG9vZ2xlLXdyYXBwZXIsXG5cdC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG5cdC5jLXNpdGUtbmF2aWdhdGlvbntcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWChzY3V0LWVtKDEwMCkpO1xuXHR9XG59XG5cbi5jc3N0cmFuc2Zvcm1zIC5pbm5lci13cmFwcGVyLmNsb3NlZC50cmFuc2Zvcm0gLm9mZmNhbnZhcy1uYXZpZ2F0aW9uLFxuLmNzc3RyYW5zZm9ybXMgLmZpeGJvZHkgLmlubmVyLXdyYXBwZXIub3BlbmVkIC5vZmZjYW52YXMtbmF2aWdhdGlvbi5maXhuYXZpe1xuXHQubmF2dG9vZ2xlLXdyYXBwZXIsXG5cdC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG5cdC5jLXNpdGUtbmF2aWdhdGlvbntcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxufVxuXG4uY3NzdHJhbnNpdGlvbnMgLmZpeGJvZHkgLmlubmVyLXdyYXBwZXIub3BlbmVkIC5vZmZjYW52YXMtbmF2aWdhdGlvbi5maXhuYXZpe1xuXHQubmF2dG9vZ2xlLXdyYXBwZXIsXG5cdC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG5cdC5jLXNpdGUtbmF2aWdhdGlvbntcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IC41cyBlYXNlLWluLW91dDtcblx0fVxufVxuXG4uY3NzdHJhbnNpdGlvbnMgLmlubmVyLXdyYXBwZXIudHJhbnNmb3JtLmNsb3NlZCAuYy1zaXRlLWhlYWRlciAuYy1zaXRlLW5hdmlnYXRpb257XG5cdC5ydWJyaWstaW5mb3tcbiBcdCAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0O1xuICAgIH1cbn1cblxuXG4vKiBcdC0tLS0tLS0tLS0tLVxuIFx0T2ZmIGNhbnZhcyBjbG9zZWRcblx0LS0tLS0tLS0tLS0tICovXG5cbi8vLmNsb3NlZCAjb3Blbi1uYXZpZ2F0aW9uLFxuLy8uanMgI29wZW4tbmF2aWdhdGlvbixcbi8vLmNsb3NlZC5jc3N0cmFuc2Zvcm1zICNvcGVuLW5hdmlnYXRpb24sXG5cbi5uby1qcyAjb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSxcbiNvcGVuLW5hdmlnYXRpb24uY2xvc2Vke1xuXHRAaW1wb3J0ICdjbG9zZWQvb2ZmY2FudmFzLWNsb3NlZCc7XG59XG5cbi5jc3N0cmFuc2l0aW9uc3tcblx0I29wZW4tbmF2aWdhdGlvbi5jbG9zZWR7XG5cdFx0LmMtc2l0ZS1uYXZpZ2F0aW9uPmxpIGF7XG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1zaXplIC4zcyBlYXNlLWluLW91dCwgY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdH1cblx0fVxufVxuIiwiQG1peGluIHBzZXVkby1ibG9jaygkZGlzcGxheTogYmxvY2spIHtcblx0Y29udGVudDogJyc7XG5cdGRpc3BsYXk6ICRkaXNwbGF5O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuQG1peGluIGFmdGVyLXBzZXVkbygkcG9zaXRpb246IHJlbGF0aXZlKXtcblx0cG9zaXRpb246ICRwb3NpdGlvbjtcblx0JjphZnRlcntcblx0XHRAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG5cdH1cbn1cblxuQG1peGluIGJlZm9yZS1wc2V1ZG8oJHBvc2l0aW9uOiByZWxhdGl2ZSl7XG5cdHBvc2l0aW9uOiAkcG9zaXRpb247XG5cdCY6YmVmb3Jle1xuXHRcdEBpbmNsdWRlIHBzZXVkby1ibG9jaztcblx0fVxufVxuIiwiLm5hdi5idXR0b24ub3Blbntcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtaGVhZGVyLWxvZ297XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmMtc2l0ZS1uYXZpZ2F0aW9ue1xuXHRhe1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAuOGVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMS4yZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHRcdH1cblx0fVxuICAgIC5zdWItbWVudSBhe1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAuNGVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjhlbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdFx0fVxuXHR9XG59XG5cbi5jLXNpdGUtaGVhZGVye1xuXHQuYy1oZWFkZXItbmF2aWdhdGlvbntcblx0XHRAaW5jbHVkZSBicmVha2FsbDtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcHJlZGVza3RvcCkge1xuXHRcdFx0QGluY2x1ZGUgdW5icmVha2FsbDtcblx0XHR9XG5cdFx0LmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcblx0XHQuYy1zaXRlLW5hdmlnYXRpb24sXG5cdFx0Lm5hdnRvb2dsZS13cmFwcGVye1xuXHRcdFx0bWFyZ2luLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9wYWxtO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAkd3JhcHBlci1wYWRkaW5nLWhvcml6b250YWxfcGFsbTtcblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9kZXNrdG9wO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9kZXNrdG9wO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRpZmYpe1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogJHdyYXBwZXItcGFkZGluZy1ob3Jpem9udGFsX2dpZ2FudGljO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6ICR3cmFwcGVyLXBhZGRpbmctaG9yaXpvbnRhbF9naWdhbnRpYztcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBnaWdhbnRpYyl7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbmNlbnRlcndpZHRoKCRwYWdlTWF4U2l6ZV9naWdhbnRpYyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jLXNpdGUtaGVhZGVye1xuXHQuYy1oZWFkZXItbmF2aWdhdGlvbntcblx0XHQub2ZmY2FudmFzLW5hdmlnYXRpb24uZml4bmF2aXtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0fVxuXHR9XG59XG4iLCJAbWl4aW4gYnJlYWthbGwoKSB7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0aHlwaGVuczogYXV0bztcbn1cblxuQG1peGluIHVuYnJlYWthbGwoKXtcblx0d29yZC13cmFwOiBub3JtYWw7XG5cdG92ZXJmbG93LXdyYXA6IG5vcm1hbDtcblx0aHlwaGVuczogbm9uZTtcbn1cblxuQG1peGluIGJyZWFrYWxsLWJydXRlZm9yY2UoKSB7XG5cdC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIC8vIE5vbiBzdGFuZGFyZCBmb3Igd2Via2l0XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuQG1peGluIHVuYnJlYWthbGwtYnJ1dGVmb3JjZSgpIHtcblx0LW1zLXdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgLy8gTm9uIHN0YW5kYXJkIGZvciB3ZWJraXRcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG59XG4iLCIuYy1sYW5ndWFnZS1uYXZpZ2F0aW9ue1xuXHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbntcblx0QGluY2x1ZGUgbXEoJHVudGlsOiBiaWd0YWJsZXQpIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHotaW5kZXg6IDEwMDtcblx0fVxufVxuLm9mZmNhbnZhcy1uYXZpZ2F0aW9ue1xuXHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG5cbi5jLXNpdGUtbmF2aWdhdGlvbntcblx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCkge1xuXHRcdGhlaWdodDogNDBweDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC0yMyU7XG5cdFx0bWFyZ2luLXRvcDogLTE1cHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvL3BhZGRpbmctbGVmdDogJGxvZ29zaXplX21vYmlsZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHRvcDogNTAlO1xuXHRcdHdpZHRoOiA2MCU7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3ApIHtcblx0XHRtYXJnaW4tbGVmdDogLTMzJTtcblx0XHRwYWRkaW5nLWxlZnQ6IDEwJTtcblx0XHR3aWR0aDogNzQlO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDklO1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IC0zNiU7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNyU7XG5cdFx0d2lkdGg6IDgwJTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMCU7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ2dlcikge1xuXHRcdGhlaWdodDogNDVweDtcblx0XHRtYXJnaW4tbGVmdDogLTQwJTtcblx0XHRtYXJnaW4tdG9wOiAtMTRweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDIwJTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMSU7XG5cdFx0d2lkdGg6IDg3JTtcblx0fVxuXHQuY3VycmVudF9wYWdlX2FuY2VzdG9yPmEsXG4gICAgLmN1cnJlbnRfcGFnZV9pdGVtPmEsXG5cdC5jdXJyZW50LW1lbnUtYW5jZXN0b3I+YSxcblx0LmN1cnJlbnQtbWVudS1pdGVtPmEsXG4gICAgLmFjdGl2ZT5he1xuXHRcdGNvbG9yOiAkdGV4dC1oaWdobGlnaHQtY29sb3I7XG5cdH1cbn1cblxuLnNjcm9sbC1uYXZpZ2F0aW9uPmxpLFxuLmMtc2l0ZS1uYXZpZ2F0aW9uPmxpe1xuXHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSkge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuLnNjcm9sbC1uYXZpZ2F0aW9uPmxpLFxuLmMtc2l0ZS1uYXZpZ2F0aW9uPmxpIGF7XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcblx0XHRmb250LXNpemU6IDFlbTtcblx0XHRjb2xvcjogJHRleHQtY29sb3I7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiAxZW07XG5cdFx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdFx0cGFkZGluZy1ib3R0b206IDEuMmVtO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRib3JkZXItaGlnaGxpZ2h0IDYwJSwgdHJhbnNwYXJlbnQgNDAlKTtcblx0fVxuXHQmOmhvdmVye1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBiaWd0YWJsZXQpIHtcblx0XHRcdGNvbG9yOiAkdGV4dC1oaWdobGlnaHQtY29sb3I7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkYm9yZGVyLWhpZ2hsaWdodCA2MCUsIHRyYW5zcGFyZW50IDQwJSk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLXNpdGUtbmF2aWdhdGlvbj5saSB1bHtcblx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbi5jLXNpdGUtbmF2aWdhdGlvbj5saTpmaXJzdC1jaGlsZCBhe1xuXHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbn1cbi5zY3JvbGwtbmF2aWdhdGlvbj5saTpsYXN0LWNoaWxkIGEsXG4uYy1zaXRlLW5hdmlnYXRpb24+bGk6bGFzdC1jaGlsZCBhe1xuXHRAaW5jbHVkZSBtcSgkZnJvbTogYmlndGFibGV0KSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR9XG59XG5cbi5jLXNpdGUtaGVhZGVye1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBnaWdhbnRpYykge1xuXHRcdEBpbmNsdWRlIG1hcmdpbmNlbnRlcndpZHRoKCRwYWdlTWF4U2l6ZV9naWdhbnRpYyk7XG5cdH1cblx0Lm5hdi5idXR0b24uY2xvc2V7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi5uby1qc3tcbiAgICAuanNmb3Jte1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmpze1xuICAgIC5ub2pzZm9ybXtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cblxuLmMtdGV4dC1ibG9ja3tcbiAgICBmb3Jte1xuICAgICAgICB1bHtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ucG9zdC1wYXNzd29yZC1mb3Jte1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGFiZWx7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yZW07XG4gICAgfVxuICAgIC5zdWJtaXQtYnV0dG9ue1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogc2N1dC1lbSg2MCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMHB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBhZnRlci1wc2V1ZG87XG4gICAgICAgIEBpbmNsdWRlIGJlZm9yZS1wc2V1ZG87XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAjZjFhOTQ4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2FwcC90aGVtZXMvd2Vyb3NvZnQvYXNzZXRzL2ltZy9zcHJpdGUuc3ZnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgICAgICAgdG9wOiAyOCU7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkaWZmKXtcbiAgICAgICAgICAgICAgICB0b3A6IDIyJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCdde1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCdde1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogI2YxYTk0ODtcbiAgICB9XG59XG5cbmZvcm17XG4gICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgIGlucHV0W3R5cGU9J3RlbCddLFxuICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4gICAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbiAgICBzZWxlY3R7XG4gICAgXHRib3JkZXI6IG5vbmU7XG4gICAgXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGJvcmRlci1kYXJrO1xuICAgIFx0cGFkZGluZzogLjVlbSAwO1xuICAgIFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItaGlnaGxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSd0ZWwnXSxcbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgIGlucHV0W3R5cGU9J251bWJlciddLFxuICAgIHNlbGVjdHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIGlucHV0LFxuICAgIHNlbGVjdHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICB1bHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5jLWJnLWRhcmssXG4uYy10ZXh0LWhpZ2hsaWdodHtcbiAgICBmb3Jte1xuICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gICAgICAgIGlucHV0W3R5cGU9J3RlbCddLFxuICAgICAgICBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgICAgICBpbnB1dFt0eXBlPSdudW1iZXInXSxcbiAgICAgICAgc2VsZWN0e1xuICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItbGlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLWJnLWRhcmt7XG4gICAgZm9ybXtcbiAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgICAgICBpbnB1dFt0eXBlPSd0ZWwnXSxcbiAgICAgICAgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgICAgICAgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4gICAgICAgIHNlbGVjdHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1saWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICAgICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWhpZ2hsaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdmaWVsZF9sYWJlbHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm1sYWJlbHBhZGRpbmc7XG59XG5cbi5nZm9ybV93cmFwcGVyIC5pbnN0cnVjdGlvbntcbiAgICBtYXJnaW4tdG9wOiAkZm9ybWxhYmVscGFkZGluZztcbn1cblxuLmdzZWN0aW9uX3RpdGxle1xuICAgIGNvbG9yOiBjb2xvcihkYXJrVGV4dENvbG9yKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmdmb3JtX2Zvb3RlcntcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC5nZm9ybV9idXR0b24uYnV0dG9ue1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuICAgIH1cbn1cblxuLmMtdGV4dC1oaWdobGlnaHR7XG4gICAgLmdmb3JtX2Zvb3RlcntcbiAgICAgICAgLmdmb3JtX2J1dHRvbi5idXR0b257XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlcixcbi5nZm9ybV93cmFwcGVye1xuICAgIC8vIGFic3TDpG5kZVxuICAgIC5nZmllbGR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3Jtc2VjdGlvbnBhZGRpbmc7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm1zZWN0aW9ucGFkZGluZ190YWJsZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cdC5kaXZpZGVyLWxpc3QtaXRlbSxcblx0bGlbY2xhc3MqPVwiY29sdW1uLWNvdW50LVwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm1zZWN0aW9ucGFkZGluZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybXNlY3Rpb25wYWRkaW5nX3RhYmxldDtcbiAgICAgICAgfVxuICAgICAgICAuZ2ZpZWxke1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAuZ2ZpZWxkICsgLmdmaWVsZHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb3JtZWxlbWVudHBhZGRpbmc7XG4gICAgICAgIH1cblx0fVxufVxuXG5cbi5nZm9ybV9mb290ZXJ7XG4gICAgcGFkZGluZy10b3A6IHNjdXQtZW0oMzApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtdGV4dC1oaWdobGlnaHR7XG4gICAgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1saWdodDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRib3JkZXItaGlnaGxpZ2h0O1xuICAgIH1cbn1cbi5jLWJnLWRhcmt7XG4gICAgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1oaWdobGlnaHQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYmctZGFyaztcbiAgICB9XG59XG4uYy1iZy1tZWRpdW17XG4gICAgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1oaWdobGlnaHQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYmctbWVkaXVtO1xuICAgIH1cbn1cblxuLy8gY3VzdG9tIGdmX3NwaW5uZXJfcmVwbGFjZVxuLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgYm9yZGVyOiBzY3V0LWVtKDQpIHNvbGlkICRib3JkZXItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1sZWZ0OiBzY3V0LWVtKDQpIHNvbGlkICRib3JkZXItbGlnaHQ7XG4gICAgYW5pbWF0aW9uOiBzcGlubmVyIDEuMXMgaW5maW5pdGUgbGluZWFyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMzBweCAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkaWZmKXtcbiAgICAgICAgaGVpZ2h0OiAzMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgIHdpZHRoOiAzMXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuQGtleWZyYW1lcyBzcGlubmVyIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cbiIsIi5nZm9ybV93cmFwcGVye1xuICAgIC5jaGVja2JveHtcbiAgICAgICAgLmdmaWVsZF9sYWJlbHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmdmaWVsZF9kZXNjcmlwdGlvbntcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzZW07XG4gICAgICAgIH1cbiAgICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb3JtbGFiZWxwYWRkaW5nKjU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWwuZ2ZpZWxkX2NoZWNrYm94e1xuICAgICAgICBsaXtcbiAgICAgICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J117XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVse1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM2VtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAuYm94e1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkby1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGJyaWdodEJhY2tncm91bmRDb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkYm9yZGVyLWRhcms7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdFx0XHR0b3A6ICRmb3JtbGFiZWxwYWRkaW5nO1xuXHRcdFx0XHRcdFx0fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cdFx0bGkrbGl7XG5cdFx0XHRtYXJnaW4tdG9wOiAyZW07XG5cdFx0fVxuICAgIH1cbiAgICAuZ2ZpZWxkLmdmaWVsZF9lcnJvcntcbiAgICAgICAgdWwuZ2ZpZWxkX2NoZWNrYm94e1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICAgICAgICAgIC5ib3h7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGZvcm1JbnB1dEJvcmRlckVycm9yQ29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLWJnLW1lZGl1bXtcbiAgICB1bC5nZmllbGRfY2hlY2tib3h7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICAgICAgLmJveHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1iZy1kYXJre1xuICAgIHVsLmdmaWVsZF9jaGVja2JveHtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICAuYm94e1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVse1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItbGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0e1xuICAgIHVsLmdmaWVsZF9jaGVja2JveHtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICAuYm94e1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1oaWdobGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWx7XG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1kYXJrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbHtcbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3Jle1xuICAgICAgICBAaW5jbHVkZSBwc2V1ZG8tYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItZGFyaztcbiAgICAgICAgdG9wOiAxLjFlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBoZWlnaHQ6IC4xNGVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAuMWVtO1xuICAgICAgICB3aWR0aDogLjVlbTtcbiAgICAgICAgei1pbmRleDogMjA7XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IHdwdGFibGV0KXtcblx0XHRcdGhlaWdodDogLjE0ZW07XG5cdFx0XHRtYXJnaW4tdG9wOiAuMjJlbTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0aGVpZ2h0OiAuMWVtO1xuXHRcdFx0bWFyZ2luLXRvcDogLjRlbTtcblx0XHR9XG4gICAgfVxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0uMmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLjU2ZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC01MGRlZyk7XG4gICAgICAgIHdpZHRoOiAxLjNlbTtcblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogd3B0YWJsZXQpe1xuXHRcdFx0bWFyZ2luLXRvcDogLS4xNGVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRtYXJnaW4tdG9wOiAuMWVtO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC41NmVtO1xuXHRcdH1cbiAgICB9XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAuMzZlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiB3cHRhYmxldCl7XG5cdFx0XHRtYXJnaW4tbGVmdDogLjM4ZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcblx0XHRcdG1hcmdpbi1sZWZ0OiAuNDJlbTtcblx0XHR9XG4gICAgfVxufVxuLypcbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK2xhYmVse1xuICAgICY6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmb3JtSW5wdXRCb3JkZXJDb2xvcmZvY3VzKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihmb3JtSW5wdXRCb3JkZXJDb2xvcik7XG4gICAgfVxufSovXG4iLCIuZ2Zvcm1fd3JhcHBlcntcbiAgICBzZWxlY3R7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICAgIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkby1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGFycm93QmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsIGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciwgYm9keSAuZ2Zvcm1fd3JhcHBlciBsaS5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciwgYm9keSAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVye1xuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZm9ybS1lcnJvcntcbiAgICBjb2xvcjogY29sb3IoZXJyb3JUZXh0Q29sb3IpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgLy9ib3JkZXItdG9wOiAycHggc29saWQgY29sb3IoZm9ybUlucHV0Qm9yZGVyRXJyb3JDb2xvcik7XG4gICAgLy9ib3JkZXItYm90dG9tOiAycHggc29saWQgY29sb3IoZm9ybUlucHV0Qm9yZGVyRXJyb3JDb2xvcik7XG4gICAgLy9wYWRkaW5nOiAxNnB4IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBhe1xuICAgICAgICBjb2xvcjogY29sb3IoZXJyb3JUZXh0Q29sb3IpO1xuICAgIH1cbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyB7XG4gICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgIGlucHV0W3R5cGU9J3RlbCddLFxuICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgc2VsZWN0e1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggY29sb3IoZm9ybUlucHV0Qm9yZGVyRXJyb3JDb2xvcik7XG4gICAgfVxufVxuXG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkX2Vycm9yIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgY29sb3I6IGNvbG9yKGVycm9yVGV4dENvbG9yKTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZXtcbiAgICBjb2xvcjogY29sb3IoZXJyb3JUZXh0Q29sb3IpO1xuICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogJGZvcm1sYWJlbHBhZGRpbmc7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBQcm9qZWN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5IHtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stZGVmYXVsdDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBsaW5rcyAqL1xuYSxcbmE6dmlzaXRlZCxcbmE6Zm9jdXMsXG5hOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xufVxuXG4uY29sb3JlZHtcblx0Y29sb3I6ICR0ZXh0LWhpZ2hsaWdodC1jb2xvcjtcbn1cblxuLmMtdGV4dC1oaWdobGlnaHQgLmNvbG9yZWR7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyxcbmlmcmFtZSxcbi5jLWNvbnRlbnQgaW1nLFxuLmMtbW9kYWwgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmMtY29udGVudCBpbWcsXG4uYy1tb2RhbCBpbWcge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmMtaW1nLW1heC13aWR0aCxcbi5jLWNvbnRlbnQgLmMtaW1nLW1heC13aWR0aCB7XG5cdC8vd2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nIHtcblx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBNYWluIENvbnRhaW5lciBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgLmMtaGVhZGVyLFxuICAgLmMtY29udGVudCxcbiAgIC5jLWZvb3RlcixcbiAgIC5jLWNvbnRhaW5lcixcbiAgIC5jLWNvbnRhaW5lci13aWRlLFxuICAgLmMtZm9vdGVyIC5jLWNvbnRlbnQtbW9kdWwsXG4gICAuYy1jb250ZW50LW1vZHVsLFxuICAgLmMtdmlkZW8td3JhcHBlciB7XG4gICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIHotaW5kZXg6IGF1dG87XG4gICB9XG4gICBcbiAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBTdGFuZGFyZCBQYWRkaW5nIGJldHdlZW4gQ29tcG9uZW50c1xuICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgIFxuICAgLmMtY29udGVudC1tb2R1bCB7XG4gICAgICAgcGFkZGluZy10b3A6IDRlbTtcbiAgICAgICBwYWRkaW5nLWJvdHRvbTogNGVtO1xuICAgfVxuICAgXG4gICAuYy1ib3gge1xuICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICBwYWRkaW5nLXRvcDogNGVtO1xuICAgICAgIHBhZGRpbmctYm90dG9tOiA0ZW07XG4gICB9XG4gICBcbiAgIC5jLXRlYXNlci0zY29sLWl0ZW0ge1xuICAgICAgIHBhZGRpbmctdG9wOiA0ZW07XG4gICB9XG4gICBcbiAgIC5jLWN0YS1iYWNrIHtcbiAgICAgICBwYWRkaW5nLWJvdHRvbTogNGVtO1xuICAgfVxuICAgXG4gICAuYy1uZXdzLWl0ZW0ge1xuICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgIH1cbiAgIFxuICAgLmMtbmV3cy1pdGVtLXdpdGgtaW1nIC5jLW5ld3MtaXRlbS10ZXh0IHtcbiAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgfVxuICAgXG4gICAuYy1ib3gtYm9yZGVyIC5jLXJvdyB7XG4gICAgICAgbWluLWhlaWdodDogY2FsYyg1MHZoIC0gI3skaGVhZGVyaGVpZ2h0X3BhbG1lcn0pO1xuICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDUwdmggLSAjeyRoZWFkZXJoZWlnaHRfdGFibGV0fSk7XG4gICAgICAgfVxuICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyg1MHZoIC0gI3skaGVhZGVyaGVpZ2h0X2Rlc2t0b3B9KTtcbiAgICAgICB9XG4gICB9XG4gICBcbiAgIC5qcyAuYy1ib3gtYm9yZGVyIC5jLXJvdyB7XG4gICAgICAgbWluLWhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiA1MCkgLSAjeyRoZWFkZXJoZWlnaHRfcGFsbWVyfSk7XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogNTApIC0gI3skaGVhZGVyaGVpZ2h0X3RhYmxldH0pO1xuICAgICAgIH1cbiAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogNTApIC0gI3skaGVhZGVyaGVpZ2h0X2Rlc2t0b3B9KTtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRpZmYpe1xuICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDUwKSAtICN7JGhlYWRlcmhlaWdodF9kaWZmfSk7XG4gICAgICAgfVxuICAgfVxuICAgXG4gICAuYy1zaG93cm9vbSAuYy1yb3cge1xuICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRoZWFkZXJoZWlnaHR9KTtcbiAgICAgICBwYWRkaW5nLWJvdHRvbTogNWVtO1xuICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiBtYXAtZ2V0KCR2ZXJ0aWNhbC1icmVha3BvaW50cywgcGFsbSkpIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRtcS1icmVha3BvaW50cywgcGFsbWVyKSkge1xuICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNC40ZW07XG4gICAgICAgfVxuICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiBtYXAtZ2V0KCR2ZXJ0aWNhbC1icmVha3BvaW50cywgcGFsbSkpIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRtcS1icmVha3BvaW50cywgbW9iaWxlKSkge1xuICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNC40ZW07XG4gICAgICAgfVxuICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiBtYXAtZ2V0KCR2ZXJ0aWNhbC1icmVha3BvaW50cywgcGFsbSkpIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRtcS1icmVha3BvaW50cywgcGFsbSkpIHtcbiAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNlbTtcbiAgICAgICB9XG4gICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IG1hcC1nZXQoJHZlcnRpY2FsLWJyZWFrcG9pbnRzLCBwYWxtZXIpKSBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkbXEtYnJlYWtwb2ludHMsIG1vYmlsZSkpIHtcbiAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICAgICB9XG4gICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IG1hcC1nZXQoJHZlcnRpY2FsLWJyZWFrcG9pbnRzLCBwYWxtZXIpKSBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkbXEtYnJlYWtwb2ludHMsIHR3ZWVuKSkge1xuICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRoZWFkZXJoZWlnaHRfcGFsbWVyfSk7XG4gICAgICAgfVxuICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skaGVhZGVyaGVpZ2h0X3RhYmxldH0pO1xuICAgICAgIH1cbiAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRoZWFkZXJoZWlnaHRfZGVza3RvcH0pO1xuICAgICAgIH1cbiAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGlmZil7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRoZWFkZXJoZWlnaHRfZGlmZn0pO1xuICAgICAgIH1cbiAgIH1cbiAgIFxuICAgLmpzIC5jLXNob3dyb29tIC5jLXJvdyB7XG4gICAgICAgbWluLWhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApIC0gI3skaGVhZGVyaGVpZ2h0fSk7XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogMTAwKSAtICN7JGhlYWRlcmhlaWdodF9wYWxtZXJ9KTtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogMTAwKSAtICN7JGhlYWRlcmhlaWdodF90YWJsZXR9KTtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDEwMCkgLSAjeyRoZWFkZXJoZWlnaHRfZGVza3RvcH0pO1xuICAgICAgIH1cbiAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGlmZil7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogMTAwKSAtICN7JGhlYWRlcmhlaWdodF9kaWZmfSk7XG4gICAgICAgfVxuICAgfVxuICAgXG4gICAuYy1oZXJvIC5jLXJvdyB7XG4gICAgICAgbWluLWhlaWdodDogY2FsYyg3MHZoIC0gI3skaGVhZGVyaGVpZ2h0X3BhbG1lcn0pO1xuICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpe1xuICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDYwdmggLSAjeyRoZWFkZXJoZWlnaHRfdGFibGV0fSk7XG4gICAgICAgfVxuICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyg2MHZoIC0gI3skaGVhZGVyaGVpZ2h0X2Rlc2t0b3B9KTtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRpZmYpe1xuICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDYwdmggLSAjeyRoZWFkZXJoZWlnaHRfZGlmZn0pO1xuICAgICAgIH1cbiAgIH1cbiAgIFxuICAgLmpzIC5jLWhlcm8gLmMtcm93IHtcbiAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDcwKSAtIDhlbSk7XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCl7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogNjApIC0gI3skaGVhZGVyaGVpZ2h0X3RhYmxldH0pO1xuICAgICAgIH1cbiAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG4gICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogNjApIC0gI3skaGVhZGVyaGVpZ2h0X2Rlc2t0b3B9KTtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGRpZmYpe1xuICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDYwKSAtICN7JGhlYWRlcmhlaWdodF9kaWZmfSk7XG4gICAgICAgfVxuICAgfVxuICAgXG4gICAuYy1iZy1saWdodCArIC5jLWJnLWxpZ2h0LFxuICAgLmMtYmctbWVkaXVtICsgLmMtYmctbWVkaXVtLFxuICAgLmMtYmctZGFyayArIC5jLWJnLWRhcmssXG4gICAuYy1iZy1oaWdobGlnaHQgKyAuYy1iZy1oaWdobGlnaHQsXG4gICAuYmVpdHJhZ3NkZXRhaWwgYnIgKyAuYy1iZy1saWdodCB7XG4gICAgICAgcGFkZGluZy10b3A6IDA7XG4gICB9XG4gICBcbiAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBTcGFjaW5nIEJsb2dcbiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICBcbiAgIC5iZWl0cmFnc2RldGFpbCB7XG4gICAgICAgLS1zcGFjaW5nLWJsb2c6IDRyZW07XG4gICB9XG4gICBcbiAgIC5iZWl0cmFnc2RldGFpbCBiciArIC5jLWJnLWxpZ2h0IHtcbiAgICAgICBtYXJnaW4tdG9wOiAtMS42ZW07XG4gICB9XG4gICBcbiAgIC5iZWl0cmFnc2RldGFpbCAuYy1jb2wtNixcbiAgIC5iZWl0cmFnc2RldGFpbCAuYy1jb2wtOCB7XG4gICAgICAgLypib3JkZXI6IHNvbGlkIDFweCByZWQ7Ki9cbiAgIH1cbiAgIFxuICAgLmJlaXRyYWdzZGV0YWlsIC5jLW1lZGlhICsgaDIge1xuICAgICAgIG1hcmdpbi10b3A6IDNlbTtcbiAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWJsb2cpICFpbXBvcnRhbnQ7XG4gICAgICAgXG4gICB9XG4gICBcbiAgIC5iZWl0cmFnc2RldGFpbCAuYy1jb250ZW50LW1vZHVsIHtcbiAgICAgICBwYWRkaW5nLWJvdHRvbTogM2VtO1xuICAgICAgIHBhZGRpbmctYm90dG9tOiAgdmFyKC0tc3BhY2luZy1ibG9nKTtcbiAgIH1cbiAgIFxuICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgIC5iZWl0cmFnc2RldGFpbCB7XG4gICAgICAgICAgIC0tc3BhY2luZy1ibG9nOiAyLjZlbTtcbiAgICAgICB9XG4gICAgICAgXG4gICAgICAuYmVpdHJhZ3NkZXRhaWwgLmMtaW1nLTJjb2wgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWJsb2cpO1xuICAgICB9XG4gICB9XG4gICBcbiAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICBTdGFuZGFyZCBHcmlkIERlY2xhcmF0aW9uXG4gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgXG4gICAuYy1jb250YWluZXIge1xuICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgfVxuICAgXG4gICAuYy1yb3cge1xuICAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgIH1cbiAgIFxuICAgLmMtcm93LWp1c3RpZnktbGVmdCB7XG4gICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgfVxuICAgXG4gICAuYy1yb3ctanVzdGlmeS1jZW50ZXIge1xuICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgfVxuICAgXG4gICAuYy1yb3ctanVzdGlmeS1yaWdodCB7XG4gICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgIH1cbiAgIFxuICAgLmMtcm93LWp1c3RpZnktYXJvdW5kIHtcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgIH1cbiAgIFxuICAgLmMtcm93LWp1c3RpZnktYmV0d2VlbiB7XG4gICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgfVxuICAgXG4gICAuYy1yb3ctYWxpZ24tdG9wIHtcbiAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgIH1cbiAgIFxuICAgLmMtcm93LWFsaWduLWNlbnRlciB7XG4gICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIH1cbiAgIFxuICAgLmMtcm93LWFsaWduLWJvdHRvbSB7XG4gICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgfVxuICAgXG4gICAuYy1jb2wtMSxcbiAgIC5jLWNvbC0yLFxuICAgLmMtY29sLTMsXG4gICAuYy1jb2wtNCxcbiAgIC5jLWNvbC01LFxuICAgLmMtY29sLTYsXG4gICAuYy1jb2wtNyxcbiAgIC5jLWNvbC04LFxuICAgLmMtY29sLTksXG4gICAuYy1jb2wtMTAsXG4gICAuYy1jb2wtMTEsXG4gICAuYy1jb2wtMTIge1xuICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICB9XG4gICBcbiAgIC5jLWNvbC0xMiB7XG4gICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICB9XG4gICBcbiAgIC5jLWNvbC0xMSB7XG4gICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTtcbiAgIH1cbiAgIFxuICAgLmMtY29sLTEwIHtcbiAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlO1xuICAgfVxuICAgXG4gICAuYy1jb2wtOSB7XG4gICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA3NSU7XG4gICAgICAgLW1zLWZsZXg6IDAgMCA3NSU7XG4gICAgICAgZmxleDogMCAwIDc1JTtcbiAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgIH1cbiAgIFxuICAgLmMtY29sLTgge1xuICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG4gICB9XG4gICBcbiAgIC5jLWNvbC03IHtcbiAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xuICAgfVxuICAgXG4gICAuYy1jb2wtNiB7XG4gICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgIH1cbiAgIFxuICAgLmMtY29sLTUge1xuICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG4gICB9XG4gICBcbiAgIC5jLWNvbC00IHtcbiAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgfVxuICAgXG4gICAuYy1jb2wtMyB7XG4gICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7XG4gICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7XG4gICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgIH1cbiAgIFxuICAgLmMtY29sLTIge1xuICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG4gICB9XG4gICBcbiAgIC5jLWNvbC0xIHtcbiAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgIC13ZWJraXQtZmxleDogMCAwIDguMzMzMzMlO1xuICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgICAgIG1heC13aWR0aDogOC4zMzMzMyU7XG4gICB9XG4gICBcbiAgIC8qIG9mZnNldCBjb2xzICovXG4gICAuYy1jb2wtb2Zmc2V0LTEge1xuICAgICBtYXJnaW4tbGVmdDogOC4zMzMlO1xuICAgfVxuICAgXG4gICAuYy1jb2wtb2Zmc2V0LTIge1xuICAgICBtYXJnaW4tbGVmdDogMTYuNjY3JTtcbiAgIH1cbiAgIFxuICAgLmMtY29sLW9mZnNldC0zIHtcbiAgICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgIH1cbiAgIFxuICAgLmMtY29sLW9mZnNldC00IHtcbiAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMyU7XG4gICB9XG4gICBcbiAgIC5jLWNvbC1vZmZzZXQtNSB7XG4gICAgIG1hcmdpbi1sZWZ0OiA0MS42NjclO1xuICAgfVxuICAgXG4gICAuYy1jb2wtb2Zmc2V0LTYge1xuICAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgfVxuICAgXG4gICAuYy1jb2wtb2Zmc2V0LTcge1xuICAgICBtYXJnaW4tbGVmdDogNTguMzMzJTtcbiAgIH1cbiAgIFxuICAgLmMtY29sLW9mZnNldC04IHtcbiAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NyU7XG4gICB9XG4gICBcbiAgIC5jLWNvbC1vZmZzZXQtOSB7XG4gICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gICB9XG4gICBcbiAgIC5jLWNvbC1vZmZzZXQtMTAge1xuICAgICBtYXJnaW4tbGVmdDogODMuMzMzJTtcbiAgIH1cbiAgIFxuICAgLmMtY29sLW9mZnNldC0xMSB7XG4gICAgIG1hcmdpbi1sZWZ0OiA5MS42NjclO1xuICAgfVxuICAgXG4gICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgR3JpZCBWYXJpYW50ZW5cbiAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICBcbiAgIC5jLWZvb3RlciAuYy1jb250YWluZXIge1xuICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgfVxuICAgXG4gICAuYy1yb3ctZm9vdGVyIHtcbiAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gICB9XG4gICBcbiAgIC5jLWZvb3Rlci1tYWluLFxuICAgLmMtZm9vdGVyLW1lbWJlciB7XG4gICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICBcbiAgIH1cbiAgIFxuICAgLmMtdGl0bGUtbGVmdCAuYy1jb2wtOCB7XG4gICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbiAgIH1cbiAgIFxuICAgLmMtcm93LXJldmVyc2Uge1xuICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICAgfVxuICAgIiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICBoMSxcbiAgIGgyLFxuICAgaDMsXG4gICBoNCxcbiAgIGg1LFxuICAgaDYge1xuXHQgICBtYXJnaW46IDA7XG5cdCAgIHBhZGRpbmc6IDA7XG5cdCAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgfVxuICAgXG4gICBoMSxcbiAgIC5jLWgxLFxuICAgLmMtc3VidGl0bGUtYmlnIHtcblx0ICAgcGFkZGluZy1ib3R0b206IC4yZW07XG5cdCAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHQgICBmb250LXNpemU6IDYwcHg7XG4gICB9XG4gICBcbiAgIGgyLFxuICAgLmMtaDIge1xuXHQgICBwYWRkaW5nLWJvdHRvbTogLjRlbTtcblx0ICAgbGluZS1oZWlnaHQ6IDEuMjtcblx0ICAgZm9udC1zaXplOiA0NXB4O1xuICAgfVxuICAgXG4gICBoMyxcbiAgIC5jLWgzIHtcblx0ICAgZm9udC1zaXplOiAzNXB4O1xuXHQgICBsaW5lLWhlaWdodDogMS4yO1xuXHQgICBwYWRkaW5nLWJvdHRvbTogLjRlbTtcbiAgIH1cbiAgIFxuICAgaDQsXG4gICAuYy1oNHtcblx0ICAgZm9udC1zaXplOiAyNHB4O1xuXHQgICBsaW5lLWhlaWdodDogMS42O1xuXHQgICBwYWRkaW5nLWJvdHRvbTogLjRlbTtcbiAgIH1cbiAgIFxuICAgaDUsXG4gICAuYy1oNXtcblx0ICAgbGluZS1oZWlnaHQ6IDEuNjtcblx0ICAgZm9udC1zaXplOiAxZW07XG5cdCAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgfVxuICAgXG4gICBcbiAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCAgQmFzaWMgVGV4dCBDb250ZW50XG5cdCAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgIFxuICAgLmMtY29udGVudCxcbiAgIC5jLW1vZGFsLFxuICAgLmMtZm9vdGVyLFxuICAgYnV0dG9uIHtcblx0ICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgIH1cbiAgIFxuICAgLmMtdGV4dC1ibG9jayBwLFxuICAgLmMtbW9kYWwtZGlhbG9nIHAge1xuXHQgICBwYWRkaW5nLWJvdHRvbTogMS42ZW07XG4gICB9XG4gICBcbiAgIC5iZWl0cmFnc2RldGFpbCAuYy10ZXh0LWJsb2NrIHA6bGFzdC1jaGlsZCB7XG5cdCAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgfVxuICAgXG4gICAuYy1sZWFkLFxuICAgLmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuICAgLmMtdGV4dC1iaWcge1xuXHQgICBmb250LXNpemU6IDI0cHg7XG5cdCAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgfVxuICAgXG4gICAuYy1sZWFkLFxuICAgLmMtdGV4dC1ibG9jayAuYy1sZWFkIHtcblx0ICAgcGFkZGluZy1ib3R0b206IDEuMmVtO1xuICAgfVxuICAgXG4gICAuYy1sZWFkLWJpZyB7XG5cdCAgIGZvbnQtc2l6ZTogMzBweDtcblx0ICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuXHQgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgfVxuICAgXG4gICAuYy1sZWFkLWJpZyxcbiAgIC5jLXRleHQtYmxvY2sgLmMtbGVhZC1iaWcge1xuXHQgICBwYWRkaW5nLWJvdHRvbTogMC44ZW07XG4gICB9XG4gICBcbiAgIC5jLWNhcHRpb24sXG4gICAuYy1zdWJ0aXRsZSxcbiAgIC5jLXN1YnRpdGxlLWJpZyB7XG5cdCAgIGNvbG9yOiAkdGV4dC1oaWdobGlnaHQtY29sb3I7XG5cdCAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgfVxuICAgXG4gICAuYy1kYXRlIHtcblx0ICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuXHQgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICB9XG4gICBcbiAgIC5jLWNhcHRpb24ge1xuXHQgICBtYXJnaW4tdG9wOiAxZW07XG5cdCAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICB9XG4gICBcbiAgIC5jLXN1YnRpdGxlIHtcblx0ICAgZGlzcGxheTogYmxvY2s7XG5cdCAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICB9XG4gICBcbiAgIC5jLWZvb3RlciAuYy1zdWJ0aXRsZSxcbiAgIC5jLXRlYXNlci0zY29sIC5jLXN1YnRpdGxlIHtcblx0ICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgfVxuICAgXG4gICAuYy1zdWJ0aXRsZS1iaWcge1xuXHQgICBkaXNwbGF5OiBibG9jaztcblx0ICAgcGFkZGluZy1ib3R0b206IDA7XG4gICB9XG4gICBcbiAgIC5jLXRleHQtaGlnaGxpZ2h0IC5jLWNhcHRpb24sXG4gICAuYy10ZXh0LWhpZ2hsaWdodCAuYy1zdWJ0aXRsZSxcbiAgIC5jLXRleHQtaGlnaGxpZ2h0IC5jLXN1YnRpdGxlLWJpZyxcbiAgIC5jLXRleHQtbGlnaHQgLmMtZGF0ZSB7XG5cdCAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgIH1cbiAgIFxuICAgLmMtdGV4dC1oaWdobGlnaHR7XG5cdCAgIGgyLFxuXHQgICBwe1xuXHRcdCAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcblx0ICAgfVxuICAgfVxuICAgXG4gICBcbiAgIC5jLWZvb3RlcixcbiAgIC5jLXRleHQtc21hbGwge1xuXHQgICBmb250LXNpemU6IDE2cHg7XG4gICB9XG4gICBcbiAgIC5jLWJvZHl0ZXh0IHtcblx0ICAgZm9udC1zaXplOiAyMHB4O1xuICAgfVxuICAgXG4gICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgIEJhc2ljIExpc3RzIENvbnRlbnRcblx0ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgXG4gICAuYy10ZXh0LWJsb2NrIHVsIHtcblx0ICAgbWFyZ2luOiAwIDAgMS42ZW0gMDtcblx0ICAgcGFkZGluZzogMDtcblx0ICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgIH1cbiAgIFxuICAgLmMtdGV4dC1ibG9jayB1bCBsaSB7XG5cdCAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgfVxuICAgXG4gICAuYy10ZXh0LWJsb2NrIHVsIGxpOjpiZWZvcmUge1xuXHQgICBjb250ZW50OiAnJztcblx0ICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICB0b3A6IDAuN2VtO1xuXHQgICBsZWZ0OiAwO1xuXHQgICB3aWR0aDogNHB4O1xuXHQgICBoZWlnaHQ6IDRweDtcblx0ICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XG5cdCAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgIH1cbiAgIFxuICAgLmMtdGV4dC1saWdodCB1bCBsaTo6YmVmb3JlIHtcblx0ICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICB9XG4gICBcbiAgIC5jLXRleHQtYmxvY2sgLmMtbGlzdC1uby1idWxsZXQsXG4gICAuYy1saXN0LW5vLWJ1bGxldCxcbiAgIC5jLWxpc3Qtc3BlY2lhbCB7XG5cdCAgIG1hcmdpbjogMDtcblx0ICAgcGFkZGluZzogMDtcblx0ICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgIH1cbiAgIFxuICAgLmMtdGV4dC1ibG9jayBvbCB7XG5cdCAgIG1hcmdpbjogMCAwIDEuNmVtIDA7XG5cdCAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gICB9XG4gICBcbiAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCBMaXN0IFNwZWNpYWwsIExpc3QgRXZlbnRpbmZvXG5cdCAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgIFxuICAgLmMtdGV4dC1ibG9jayAuYy1saXN0LXNwZWNpYWwgbGkge1xuXHRcdCAgcG9zaXRpb246IHN0YXRpYztcblx0XHQgIHBhZGRpbmctbGVmdDogMDtcblx0IH1cbiAgIFxuICAgLmMtdGV4dC1ibG9jayAuYy1saXN0LXNwZWNpYWwgbGk6OmJlZm9yZSB7XG5cdCAgIGRpc3BsYXk6IG5vbmU7XG4gICB9XG4gICBcbiAgIC5jLWxpc3Qtc3BlY2lhbCxcbiAgIC5jLWxpc3QtZXZlbnRpbmZvIHtcblx0ICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICR0ZXh0LWNvbG9yO1xuICAgfVxuICAgXG4gICAuYy1saXN0LXNwZWNpYWwgbGkge1xuXHQgICBwYWRkaW5nLXRvcDogMWVtO1xuXHQgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuXHQgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJHRleHQtY29sb3I7XG4gICB9XG4gICBcbiAgIFxuICAgLmMtbGlzdC1ldmVudGluZm8ge1xuXHQgICBvdmVyZmxvdzogaGlkZGVuO1xuXHQgICBkaXNwbGF5OiBmbGV4O1xuXHQgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgfVxuICAgXG4gICAuYy1saXN0LWV2ZW50aW5mbyBkdCxcbiAgIC5jLWxpc3QtZXZlbnRpbmZvIGRkIHtcblx0ICAgbWFyZ2luOiAwO1xuXHQgICBwYWRkaW5nLXRvcDogMWVtO1xuXHQgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuXHQgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJHRleHQtY29sb3I7XG4gICB9XG4gICBcbiAgIC5jLWxpc3QtZXZlbnRpbmZvIGR0IHtcblx0ICAgZmxleDogMCAwIDI1JTtcblx0ICAgbWF4LXdpZHRoOiAyNSU7XG5cdCAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdCAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgfVxuICAgXG4gICAuYy1saXN0LWV2ZW50aW5mbyBkZCB7XG5cdCAgIHBhZGRpbmctbGVmdDogMTBweDtcblx0ICAgZmxleDogMCAwIDc1JTtcblx0ICAgbWF4LXdpZHRoOiA3NSU7XG4gICB9XG4gICBcbiAgIC5jLXRleHQtbGlnaHQgLmMtbGlzdC1zcGVjaWFsLFxuICAgLmMtdGV4dC1saWdodCAuYy1saXN0LXNwZWNpYWwgbGksXG4gICAuYy10ZXh0LWxpZ2h0IC5jLWxpc3QtZXZlbnRpbmZvLFxuICAgLmMtdGV4dC1saWdodCAuYy1saXN0LWV2ZW50aW5mbyBkdCxcbiAgIC5jLXRleHQtbGlnaHQgLmMtbGlzdC1ldmVudGluZm8gZGQge1xuXHQgICBib3JkZXItY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0LWJvcmRlcjtcbiAgIH1cbiAgIFxuICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0ICBRdW90ZVxuXHQgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICBcbiAgIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSB7XG5cdCAgIG1hcmdpbjogMDtcblx0ICAgcGFkZGluZzogMDtcbiAgIH1cbiAgIFxuICAgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHQgICBwYWRkaW5nLWJvdHRvbTogMDtcblx0ICAgbGluZS1oZWlnaHQ6IDEuMjtcblx0ICAgZm9udC1zaXplOiAzNXB4O1xuXHQgICBmb250LXdlaWdodDogYm9sZDtcbiAgIH1cbiAgIFxuICAgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuXHQgICBkaXNwbGF5OiBibG9jaztcblx0ICAgcGFkZGluZy10b3A6IDEuNGVtO1xuXHQgICBmb250LXN0eWxlOiBub3JtYWw7XG5cdCAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHQgICBjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuICAgfVxuICAgXG4gICAuYy10ZXh0LWhpZ2hsaWdodCBibG9ja3F1b3RlIGNpdGUge1xuXHQgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICB9XG4gICBcbiAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCAgVGV4dCBoZWxwZXJzXG5cdCAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgIFxuICAgLmMtdGV4dC1yaWdodCB7XG5cdCAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgfVxuICAgXG4gICAuYy10ZXh0LWNlbnRlciB7XG5cdCAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIH1cbiAgIFxuICAgLmMtdGV4dC1saWdodCB7XG5cdCAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgIH1cbiAgIFxuICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0ICBUZXh0IHNpemVzIHJlc3BvbnNpdmVcblx0ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgXG4gICBcbiAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNDAwcHgpIHtcblx0ICAgYm9keSxcblx0ICAgLmMtYm9keXRleHQge1xuXHRcdCAgIGZvbnQtc2l6ZTogMTZweDtcblx0ICAgfVxuICAgXG5cdCAgIGg1LFxuXHQgICAuYy1oNXtcblx0XHQgICBmb250LXNpemU6IDE2cHg7XG5cdCAgIH1cbiAgIFxuXHQgICAuYy1saW5rLWFycm93IC5jLWxpbmstYXJyb3ctaWNvbiB7XG5cdFx0ICAgdG9wOiAtMC4yZW07XG5cdCAgIH1cbiAgIFxuXHQgICAuYy10ZXh0LXNtYWxsIHtcblx0XHQgICBmb250LXNpemU6IDE0cHg7XG5cdCAgIH1cbiAgIH1cbiAgIFxuICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExMDBweCkge1xuXHQgICBoMSxcdC5jLWgxLFxuXHQgICAuYy1zdWJ0aXRsZS1iaWcge1xuXHRcdCAgIGZvbnQtc2l6ZTogNDRweDtcblx0ICAgfVxuICAgXG5cdCAgIGgyLFx0LmMtaDIge1xuXHRcdCAgIGZvbnQtc2l6ZTogMzZweDtcblx0ICAgfVxuICAgXG5cdCAgIGgzLCAuYy1oMyxcblx0ICAgLmMtbGVhZCxcblx0ICAgLmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHQgICAuYy10ZXh0LWJpZyxcblx0ICAgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRcdCAgIGZvbnQtc2l6ZTogMjBweDtcblx0ICAgfVxuICAgXG5cdCAgIC5jLWxlYWQtYmlnLFxuXHQgICAuYy10ZXh0LWJsb2NrIC5jLWxlYWQtYmlnIHtcblx0XHQgICBmb250LXNpemU6IDI0cHg7XG5cdCAgIH1cbiAgIFxuICAgfVxuICAgXG4gICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHtcblx0ICAgaDEsXHQuYy1oMSxcblx0ICAgLmMtc3VidGl0bGUtYmlnIHtcblx0XHQgICBmb250LXNpemU6IDQwcHg7XG5cdCAgIH1cbiAgIFxuXHQgICBoMixcdC5jLWgyIHtcblx0XHQgICBmb250LXNpemU6IDMycHg7XG5cdCAgIH1cbiAgIFxuXHQgICAuYy1sZWFkLFxuXHQgICAuYy10ZXh0LWJsb2NrIC5jLWxlYWQge1xuXHRcdCAgIGZvbnQtc2l6ZTogMTZweDtcblx0ICAgfVxuICAgXG5cdCAgIC5jLWxlYWQtYmlnLFxuXHQgICAuYy10ZXh0LWJsb2NrIC5jLWxlYWQtYmlnLFxuXHQgICAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdFx0ICAgZm9udC1zaXplOiAyMnB4O1xuXHQgICB9XG4gICBcbiAgIH1cbiAgIFxuICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG5cdCAgIGgxLFx0LmMtaDEsXG5cdCAgIC5jLXN1YnRpdGxlLWJpZyB7XG5cdFx0ICAgZm9udC1zaXplOiAzNnB4O1xuXHQgICB9XG4gICBcblx0ICAgaDIsXHQuYy1oMiB7XG5cdFx0ICAgZm9udC1zaXplOiAyOHB4O1xuXHQgICB9XG4gICBcblx0ICAgLmMtbGVhZC1iaWcsXG5cdCAgIC5jLXRleHQtYmxvY2sgLmMtbGVhZC1iaWcsXG5cdCAgIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcblx0XHQgICBmb250LXNpemU6IDIwcHg7XG5cdCAgIH1cbiAgIFxuICAgfVxuICAgIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1haW5uYXZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW1haW4tbmF2IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLW1lZGl1bTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDAuNWVtIDIwcHggMC41ZW0gMDtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhLFxuLmMtbWFpbi1uYXYtbGlzdCBhOnZpc2l0ZWQge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTpob3Zlcixcbi5jLW1haW4tbmF2LWxpc3QgLmMtYWN0aXZlIGEge1xuXHRjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOZXdzZmlsdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1maWx0ZXItbmV3cy1saXN0LXRpdGxle1xuXHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3RlciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWZvb3Rlci1uYXYtbGlzdCxcbi5jLWZvb3Rlci1uYXYtbGlzdCB1bCxcbi5jLWZvb3Rlci1zb2NpYWwtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtZm9vdGVyLW5hdi1saXN0IHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmMtZm9vdGVyLW5hdi1saXN0ID4gbGkge1xuXHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuXHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG5cbi5jLWZvb3Rlci1zb2NpYWwge1xuXHRwYWRkaW5nLXRvcDogM2VtO1xufVxuXG4uYy1mb290ZXItc29jaWFsLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5jLWZvb3RlciAuYy1sb2dvcy1saXN0IHtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtZm9vdGVyIC5jLWxvZ29zLWxpc3Q6Zmlyc3Qtb2YtdHlwZSB7XG5cdHBhZGRpbmctYm90dG9tOiAzZW07XG59XG5cbi5jLWZvb3RlciAuYy1sb2dvcy1saXN0IGxpIHtcblx0d2lkdGg6IDQ3JTtcbn1cblxuXG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDJlbSAwIDFlbSAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRsaW5lLWhlaWdodDogMTtcblx0cGFkZGluZy1yaWdodDogMTBweDtcblx0bWFyZ2luLXJpZ2h0OiA2cHg7XG5cdGJvcmRlci1yaWdodDogc29saWQgMXB4ICR0ZXh0LWNvbG9yO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpOmxhc3QtY2hpbGQge1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXIgYSxcbi5jLWZvb3Rlci1kaXNjbGFpbWVyIGE6dmlzaXRlZCxcbi5jLWZvb3Rlci1kaXNjbGFpbWVyIGE6Zm9jdXMsXG4uYy1mb290ZXItZGlzY2xhaW1lciBhOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lcntcblx0LmN1cnJlbnQtbWVudS1pdGVtIGF7XG5cdFx0Ly9jb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIHRyaWdnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLTIwcHg7XG5cdHJpZ2h0OiAzMHB4O1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cblxuXHRzcGFuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMjZweDtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRtYXJnaW46IDdweCAwcHggN3B4IDE0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItZGFyaztcdFx0XG5cdFx0b3BhY2l0eTogMTtcdFxuXHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHR9XG5cdFxuXHRzcGFuOm50aC1jaGlsZCgxKXtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cdFxuXHRzcGFuOm50aC1jaGlsZCgyKXtcblx0XHR3aWR0aDogMjBweDtcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0fVxuXHRcblx0XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyOmZvY3VzLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXI6aG92ZXIge1xuXHRhbmltYXRpb246IHB1bHNlIDAuOHMgaW5maW5pdGU7XG5cdFxuXHRzcGFuIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWhpZ2hsaWdodDtcblx0fVxufVxuXG5cbiNjLW9mZmNhbnZhc1t0eXBlPWNoZWNrYm94XXtcblx0XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0LyomOmNoZWNrZWQgfiBkaXYuYy1vZmZjYW52YXMtZGlhbG9nIHtcblx0XHRyaWdodDogMHB4O1xuXHR9XG5cdCY6Y2hlY2tlZCB+IC5jLWhlYWRlciB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHotaW5kZXg6IDEwO1xuXHR9XHQqL1xuXHQmOmNoZWNrZWQgfiAuYy1oZWFkZXIgLmMtb2ZmY2FudmFzLXRyaWdnZXIgc3BhbjpudGgtY2hpbGQoMSksXG5cdCY6Y2hlY2tlZCB+IC5jLWhlYWRlciAuYy1vZmZjYW52YXMtdHJpZ2dlciBzcGFuOm50aC1jaGlsZCgzKSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTBweDtcblx0XHRyaWdodDogLTJweDtcblx0XHR0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcblx0fVxuXHRcblx0JjpjaGVja2VkIH4gLmMtaGVhZGVyIC5jLW9mZmNhbnZhcy10cmlnZ2VyIHNwYW46bnRoLWNoaWxkKDIpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1oZWFkZXIgLmMtb2ZmY2FudmFzLXRyaWdnZXIgc3BhbjpudGgtY2hpbGQoMykge1xuXHRcdHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cdFxuXHQvKiY6Y2hlY2tlZCB+IC5jLWNvbnRlbnQge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0JjpjaGVja2VkIH4gLmMtZm9vdGVyIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGhlaWdodDogMDtcblx0fSovXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnRlbnRlbGVtZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogc21hbGwgZWxlbWVudHMgdGhhdCBkb24ndCBuZWVkIHRoZWlyIG93biAuc2NzcyAqL1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1iZy1saWdodCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbn1cblxuLmMtYmctbWVkaXVtIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLW1lZGl1bTtcbn1cblxuLmMtYmctZGFyayB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xufVxuXG4uYy1iZy1oaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctaGlnaGxpZ2h0O1xufVxuXG4uYy1ib3JkZXItbGlnaHQge1xuXHRib3JkZXItY29sb3I6ICRib3JkZXItbGlnaHQ7XG59XG5cbi5jLWJvcmRlci1kYXJrIHtcblx0Ym9yZGVyLWNvbG9yOiAkYm9yZGVyLWRhcms7XG59XG5cbi5jLWJvcmRlci1oaWdobGlnaHQge1xuXHRib3JkZXItY29sb3I6ICRib3JkZXItaGlnaGxpZ2h0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBUZXh0IGltZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaW1nLWNvbnRlbnQge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQm94IEJvcmRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYm94LWJvcmRlciB7XG5cdGJvcmRlci13aWR0aDogM3B4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgU2hvd3Jvb20gLyBUZWFzZXIgQmlnXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zdWJ0aXRsZS1sb2dvLFxuLmMtcXVvdGUtbG9nb3tcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogMS42ZW07XG59XG5cbi5jLXN1YnRpdGxlLWxvZ28ge1xuXHR3aWR0aDogNzBweDtcbn1cblxuLmMtc2hvd3Jvb20tdmlkZW8sXG4uYy1zaG93cm9vbS1pbWcsXG4uYy1zaG93cm9vbS1vdmVybGF5LFxuLmMtbmV3cy1pdGVtLWltZyxcbi5jLW5ld3MtaXRlbS1vdmVybGF5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXNob3dyb29tLWltZ3tcblx0b3BhY2l0eTogMTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG5cdCYuaGlkZS1pbWFnZXtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5uby1qcyAuYy1zaG93cm9vbS12aWRlb3tcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtc2hvd3Jvb20tdmlkZW97XG5cdG9wYWNpdHk6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xuXHQmLnNob3ctdmlkZW97XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHRpZnJhbWV7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuXHR9XG59XG5cbi5jLXNob3dyb29tLW92ZXJsYXksXG4uYy1uZXdzLWl0ZW0tb3ZlcmxheSxcbi5jLWxpbmstdmlkZW8ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4zKTtcbn1cblxuLmpzLFxuLm5vLWpze1xuXHQuYy1zaG93cm9vbS1pbWcsXG5cdC5jLW5ld3MtaXRlbS1pbWd7XG5cdFx0Ji5jb21wYXQtb2JqZWN0LWZpdHtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0aW1nLFxuXHQgICBcdCAgIFx0aW1nLmxvYWRlZCxcblx0ICAgXHRcdGltZy5sYXp5bG9hZGVke1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0fVxuXHQgICBcdH1cblx0XHRpbWcsXG5cdFx0aW1nLmxvYWRlZCxcblx0XHRpbWcubGF6eWxvYWRlZHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0fVxuXHR9XG59XG5cbi5jLXNob3dyb29tLXNtYWxsIC5jLXNob3dyb29tLW92ZXJsYXkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBzaG93cm9vbSBubyBpbWFnZSAqL1xuLmMtc2hvd3Jvb20tbm8taW1hZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLXNob3dyb29tLW5vLWltYWdlIC5jLXJvdyB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBOZXdzIFRlYXNlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbmV3cy1pdGVtLXdpdGgtaW1nIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uYy1uZXdzLWl0ZW0tdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtbmV3cy1pdGVtLXdpdGgtaW1nIC5jLW5ld3MtaXRlbS10ZXh0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFByb2R1Y3QgVGVhc2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1wcm9kdWN0cy1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1wcm9kdWN0cy1saXN0IGxpIHtcblx0cGFkZGluZzogMi42ZW0gNXB4O1xuXHRmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uYy1wcm9kdWN0cy10ZWFzZXIgLmMtc3VidGl0bGUtbG9nbyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBOZXdzIEZpbHRlciAvIExvZ28gbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZpbHRlci1uZXdzLWxpc3QsXG4uYy1sb2dvcy1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLWZpbHRlciArIC5jLWZpbHRlciB7XG5cdHBhZGRpbmctdG9wOiAxLjFlbTtcbn1cblxuLmMtZmlsdGVyLW5ld3MtbGlzdCBsaSxcbi5jLWxvZ29zLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IDAuNWVtIDhweDtcbn1cblxuLmMtbG9nb3MtbGlzdCBsaSB7XG5cdHdpZHRoOiAyMy41JTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRG93bmxvYWQgSW5mb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW5ld3MtaXRlbS1saW5rLFxuLmMtbGlzdC1zcGVjaWFse1xuXHQuaW5mb3tcblx0XHRmb250LXNpemU6IDgwJTtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWFwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubWFwLXdyYXBwZXJ7XG5cdC5oaWRkZW57XG5cdCAgIFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5tYXBpbWFnZXtcblx0ICAgXHRoZWlnaHQ6IGF1dG87XG5cdCAgIFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmpze1xuXHQubWFwLXdyYXBwZXJ7XG5cdFx0LmVuaGFuY2VkLW1hcHtcblx0XHRcdGhlaWdodDogMDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxMDAlO1xuXHRcdH1cblx0fVxufVxuXG4ubm8tanN7XG4gICBcdC5tYXAtd3JhcHBlcntcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuICAgXHRcdC5tYXBpbWFnZXtcbiAgIFx0XHRcdGRpc3BsYXk6IG5vbmU7XG4gICBcdFx0fVxuICAgXHRcdC5ub2pzbWFwaW1hZ2V7XG4gICBcdFx0XHRoZWlnaHQ6IGF1dG87XG4gICBcdFx0XHR3aWR0aDogMTAwJTtcbiAgIFx0XHR9XG4gICBcdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgVGVhc2VyIDIgY29sIDIwMjRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qLmMtdGVhc2VyLTJjb2wge1xuICAgIG1hcmdpbi10b3A6IC00ZW07XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLWwpICogLTEpO1xufSovXG5cblxuLmMtdGVhc2VyLTJjb2wtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qbWFyZ2luLXRvcDogNGVtO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbCk7Ki9cbn1cblxuLmMtdGVhc2VyLTJjb2wtbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy10ZWFzZXItMmNvbC1saW5rLFxuLmMtdGVhc2VyLTJjb2wtbGluazp2aXNpdGVkLFxuLmMtdGVhc2VyLTJjb2wtbGluazpob3Zlcixcbi5jLXRlYXNlci0yY29sLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYy10ZWFzZXItMmNvbC1pdGVtIC5jLWxpbmstYXJyb3cge1xuICAgIGNvbG9yOiAkdGV4dC1oaWdobGlnaHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtaGlnaGxpZ2h0LWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtdGVhc2VyLTJjb2wtaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjZlbTtcbn1cblxuLmMtdGVhc2VyLTJjb2wtaW1nIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcbn1cblxuXG4uYy10ZWFzZXItMmNvbC1pdGVtOmhvdmVyIC5jLXRlYXNlci0yY29sLWltZyBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgXG59XG5cbi5jLXRlYXNlci0yY29sLWl0ZW06Zm9jdXMtd2l0aGluIC5jLXRlYXNlci0yY29sLWltZyBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgXG59XG5cbi5jLXRlYXNlci0yY29sLXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hW2hyZWZePVwidGVsOlwiXSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogc3RhbmRhcmQgbGlua3MgaW4gdGV4dC1ibG9jayAqL1xuLmMtdGV4dC1oaWdobGlnaHQgYSxcbi5jLXRleHQtaGlnaGxpZ2h0IGE6dmlzaXRlZCxcbi5jLXRleHQtaGlnaGxpZ2h0IGE6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCBhOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuXG4uYy10ZXh0LWJsb2NrIGEsXG4uYy1saW5rLXRleHQtYmlnLFxuLmMtbGluay10ZWFzZXIgaDMsXG4uYy1mb290ZXItZGlzY2xhaW1lciBhIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLDApIDUwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMnB4IDJweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEuMWVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbn1cblxuXG4uYy1saW5rLXRleHQtYmlnLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLXRleHQtYmlnIHtcblx0YmFja2dyb3VuZC1zaXplOiA0cHggNHB4O1xufVxuXG4uYy1saW5rLXRlYXNlciBoMyB7XG5cdGJhY2tncm91bmQtc2l6ZTogM3B4IDNweDtcblx0cGFkZGluZy1ib3R0b206IDFweDtcbn1cblxuLmMtdGV4dC1ibG9jayBhOmZvY3VzLFxuLmMtdGV4dC1ibG9jayBhOmhvdmVyLFxuLmMtbGluay10ZXh0LWJpZzpmb2N1cyxcbi5jLWxpbmstdGV4dC1iaWc6aG92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sJHRleHQtaGlnaGxpZ2h0LWNvbG9yIDUwJSxyZ2JhKDAsMCwwLDApIDUwJSk7XG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0IGE6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCBhOmhvdmVyLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay10ZXh0LWJpZzpmb2N1cyxcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstdGV4dC1iaWc6aG92ZXJ7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sJHRleHQtY29sb3ItbGlnaHQgNTAlLHJnYmEoMCwwLDAsMCkgNTAlKTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXIgYTpmb2N1cyxcbi5jLWZvb3Rlci1kaXNjbGFpbWVyIGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCR0ZXh0LWNvbG9yIDUwJSxyZ2JhKDAsMCwwLDApIDUwJSk7XG59XG5cbi8qIHNwZWNpYWwgbGlua3MgKi9cbi5jLWxpbmstYXJyb3cge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtcHJvZHVjdHMtdGVhc2VyIGEuYy1wcm9kdWN0cy1pdGVtLWxpbmssXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstdmlkZW8sXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstdmlkZW86Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstdmlkZW86aG92ZXIsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstYXJyb3csXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstYXJyb3c6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstYXJyb3c6aG92ZXIsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZXh0ZXJuLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWV4dGVybjpmb2N1cyxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1leHRlcm46aG92ZXIsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZG93bmxvYWQsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZG93bmxvYWQ6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZG93bmxvYWQ6aG92ZXIsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZW1haWwsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZW1haWw6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZW1haWw6aG92ZXIsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWFycm93LFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1hcnJvdzpmb2N1cyxcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstYXJyb3c6aG92ZXIsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWV4dGVybixcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZXh0ZXJuOmZvY3VzLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1leHRlcm46aG92ZXIsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWRvd25sb2FkLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1kb3dubG9hZDpmb2N1cyxcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZG93bmxvYWQ6aG92ZXIsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWVtYWlsLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1lbWFpbDpmb2N1cyxcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZW1haWw6aG92ZXIsXG4uYy1mb290ZXItYWRkcmVzcyBhOmZvY3VzLFxuLmMtZm9vdGVyLWFkZHJlc3MgYTpob3ZlciB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5jLWxpbmstZXh0ZXJuLFxuLmMtbGluay1leHRlcm46dmlzaXRlZCxcbi5jLWxpbmstZG93bmxvYWQsXG4uYy1saW5rLWRvd25sb2FkOnZpc2l0ZWQsXG4uYy1saW5rLWVtYWlsLFxuLmMtbGluay1lbWFpbDp2aXNpdGVke1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay1leHRlcm4sXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZXh0ZXJuOnZpc2l0ZWQsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZG93bmxvYWQsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZG93bmxvYWQ6dmlzaXRlZCxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1lbWFpbCxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1lbWFpbDp2aXNpdGVkLFxuLmMtZm9vdGVyLWFkZHJlc3MgYSxcbi5jLWZvb3Rlci1hZGRyZXNzIGE6dmlzaXRlZCxcbi5jLWZvb3Rlci1uYXYtbGlzdCBsaSBsaSBhLFxuLmMtZm9vdGVyLW5hdi1saXN0IGxpIGxpIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuLmMtbGluay1leHRlcm46Zm9jdXMsXG4uYy1saW5rLWV4dGVybjpob3Zlcixcbi5jLWxpbmstZG93bmxvYWQ6Zm9jdXMsXG4uYy1saW5rLWRvd25sb2FkOmhvdmVyLFxuLmMtbGluay1lbWFpbDpmb2N1cyxcbi5jLWxpbmstZW1haWw6aG92ZXIsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZXh0ZXJuOmZvY3VzLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLWV4dGVybjpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtbGluay1kb3dubG9hZDpmb2N1cyxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1kb3dubG9hZDpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtbGluay1lbWFpbDpmb2N1cyxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1lbWFpbDpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1oaWdobGlnaHQtY29sb3I7XG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZXh0ZXJuOmZvY3VzLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1leHRlcm46aG92ZXIsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWRvd25sb2FkOmZvY3VzLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1kb3dubG9hZDpob3Zlcixcbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZW1haWw6Zm9jdXMsXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWVtYWlsOmhvdmVye1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG5cbi5jLWJnLWxpZ2h0LFxuLmMtYmctbWVkaXVtLFxuLmMtYmctZGFyayAuYy10ZXh0LWxpZ2h0e1xuXHQuYy1uZXdzLWl0ZW0tbGlua3tcblx0XHRjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuXHR9XG59XG5cbi5jLWJnLWxpZ2h0LFxuLmMtYmctbWVkaXVtLFxuLmMtYmctaGlnaGxpZ2h0e1xuXHQudGVhc2VyLWxpbmt7XG5cdFx0LmMtZGF0ZSxcblx0XHQuYy10ZXh0LWJsb2Nre1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHRcdH1cblx0XHQuYy1uZXdzLWl0ZW0td2l0aC1pbWd7XG5cdFx0XHQuYy1kYXRlLFxuXHRcdFx0LmMtdGV4dC1ibG9ja3tcblx0XHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uYy1iZy1oaWdobGlnaHR7XG5cdC5jLW5ld3MtaXRlbS1saW5re1xuXHRcdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0fVxufVxuXG4uYy1iZy1kYXJre1xuXHQudGVhc2VyLWxpbmt7XG5cdFx0LmMtZGF0ZSxcblx0XHQuYy10ZXh0LWJsb2Nre1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXHRcdH1cblx0fVxufVxuXG4udGVhc2VyLWxpbmt7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHQuYy10ZXh0LWJsb2Nre1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdH1cbn1cblxuLmMtdGV4dC1oaWdobGlnaHQsXG4uYy10ZXh0LWJsb2Nre1xuXHQudGVhc2VyLWxpbmssXG5cdC50ZWFzZXItbGluazpob3Zlcixcblx0LnRlYXNlci1saW5rOmZvY3Vze1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdH1cbn1cblxuLmMtbGluay10ZWFzZXIge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtbGluay10ZWFzZXIgaDMge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xufVxuXG4uYy1saW5rLXRlYXNlciBoMyxcbi5jLWxpbmstdGVhc2VyIGgzOnZpc2l0ZWQsXG4uYy1saW5rLXRlYXNlciBoMzpmb2N1cyxcbi5jLWxpbmstdGVhc2VyIGgzOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuXHQuY3NzdHJhbnNpdGlvbnMuanMgLmMtbGluay10ZWFzZXIgaW1nLFxuICAgIC5jc3N0cmFuc2l0aW9ucy5qcyAuYy10ZWFzZXItMmNvbC1pbWcgaW1nIHtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjVzIGVhc2Utb3V0LCA7XG5cdH1cblx0LmMtbGluay10ZWFzZXI6aG92ZXIgaW1nLFxuICAgIC5jLXRlYXNlci0yY29sLWl0ZW06aG92ZXIgLmMtdGVhc2VyLTJjb2wtaW1nIGltZ3tcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cdH1cbn1cblxuLmMtbGluay10ZWFzZXI6Zm9jdXMgaDMsXG4uYy1saW5rLXRlYXNlcjpob3ZlciBoMyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwkdGV4dC1jb2xvciA1MCUscmdiYSgwLDAsMCwwKSA1MCUpO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstdGVhc2VyIGgzLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLXRlYXNlciBoMzp2aXNpdGVkLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLXRlYXNlciBoMzpmb2N1cyxcbi5jLXRleHQtbGlnaHQgLmMtbGluay10ZWFzZXIgaDM6aG92ZXIge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay10ZWFzZXI6Zm9jdXMgaDMsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstdGVhc2VyOmhvdmVyIGgzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCR0ZXh0LWNvbG9yLWxpZ2h0IDUwJSxyZ2JhKDAsMCwwLDApIDUwJSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbiBhbmQgbGlua3Mgd2l0aCBpY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwLjVlbSAzMHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYmctYnRuLDIwJSk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1idG4sXG4uYy1idG46dmlzaXRlZCB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG5cbi5jLWJ0bjpob3Zlcixcbi5jLWJ0bjpmb2N1cyxcbi5jdXJyZW50LW1lbnUtaXRlbSAuYy1idG4sXG4uYWN0aXZlIC5jLWJ0bntcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWJ0bjtcbn1cblxuLmMtYmctaGlnaGxpZ2h0e1xuXHQuYy1idG46aG92ZXIsXG5cdC5jLWJ0bjpmb2N1cyxcblx0LmN1cnJlbnQtbWVudS1pdGVtIC5jLWJ0bixcblx0LmFjdGl2ZSAuYy1idG57XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xuXHR9XG59XG5cblxuLyogaWNvbnMgKi9cbi5jLWljb246OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Y29udGVudDonJztcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoL2FwcC90aGVtZXMvI3skdGhlbWVuYW1lfS9hc3NldHMvaW1nL3Nwcml0ZS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uYy1pY29uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBsaW5rcyB3aXRoIGljb24gKi9cblxuXG4uYy1saW5rLWFycm93LFxuLmMtbGluay1leHRlcm4sXG4uYy1saW5rLWRvd25sb2FkLFxuLmMtbGluay1lbWFpbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQuYy1pY29ue1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxufVxuXG5idXR0b24uYy1saW5rLWFycm93IHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuXHRsaW5lLWhlaWdodDogMS42O1xufVxuXG4uYy10ZXh0LWhpZ2hsaWdodCBidXR0b24uYy1saW5rLWFycm93IHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuXG5cblxuLmMtbGluay1hcnJvdzpob3Zlcixcbi5jLXRlYXNlci0yY29sLWl0ZW06aG92ZXIgLmMtbGluay1hcnJvdyB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwcHgsMCk7XG59XG5cbi5jLWxpbmstY2lyY2xlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJvcmRlcjogc29saWQgMnB4ICR0ZXh0LWhpZ2hsaWdodC1jb2xvcjtcblx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstY2lyY2xlIHtcblx0Ym9yZGVyLWNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG5cdH1cblx0NTAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlaWNvbm9ubHkge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxufVxuXG4uYy1saW5rLWFycm93LWljb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcbn1cblxuLmMtbGluay1hcnJvdy1pY29uOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0bWFyZ2luLXRvcDogLThweDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG4uYy1saW5rLWFycm93LWJhY2sgLmMtbGluay1hcnJvdy1pY29uOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4O1xufVxuXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWFycm93LWljb246OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IDA7XG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstYXJyb3ctYmFjayAuYy1saW5rLWFycm93LWljb246OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0yMHB4O1xufVxuXG4uYy1saW5rLWludGVybi1pY29uLFxuLmMtbGluay1leHRlcm4taWNvbixcbi5jLWxpbmstZG93bmxvYWQtaWNvbixcbi5jLWxpbmstZW1haWwtaWNvbntcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDAuOGVtO1xuXHRsZWZ0OiAwO1xufVxuXG4uYy1saW5rLWludGVybi1pY29uOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogMDtcblx0bWFyZ2luLXRvcDogLThweDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwcHg7XG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstaW50ZXJuLWljb246OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IDBweDtcbn1cblxuLmMtbGluay1leHRlcm4taWNvbjo6YmVmb3JlIHtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDA7XG5cdG1hcmdpbi10b3A6IC02cHg7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDEycHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7XG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZXh0ZXJuLWljb246OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC02MHB4O1xufVxuXG4uYy1saW5rLWRvd25sb2FkLWljb246OmJlZm9yZSB7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiAwO1xuXHRtYXJnaW4tdG9wOiAtMTBweDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMjBweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDtcbn1cblxuLmMtdGV4dC1oaWdobGlnaHQgLmMtbGluay1kb3dubG9hZC1pY29uOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtODBweDtcbn1cblxuLmMtbGluay1lbWFpbC1pY29uOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogMDtcblx0bWFyZ2luLXRvcDogLTlweDtcblx0d2lkdGg6IDIycHg7XG5cdGhlaWdodDogMThweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjQwcHg7XG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0IC5jLWxpbmstZG93bmxvYWQtZW1haWw6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0yNDBweDtcbn1cblxuLmMtbGluay14aW5nLWljb246OmJlZm9yZSB7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi10b3A6IC04cHg7XG5cdG1hcmdpbi1sZWZ0OiAtN3B4O1xuXHR3aWR0aDogMTVweDtcblx0aGVpZ2h0OiAxOHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjBweDtcbn1cblxuLmMtbGluay1saW5rZWRpbi1pY29uOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtOHB4O1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7XG59XG5cbi5jLWxpbmstdHdpdHRlci1pY29uOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtOHB4O1xuXHRtYXJnaW4tbGVmdDogLTEwcHg7XG5cdHdpZHRoOiAxOXB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4O1xufVxuXG4uYy1saW5rLWZhY2Vib29rLWljb246OmJlZm9yZSB7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRtYXJnaW4tbGVmdDogLTZweDtcblx0d2lkdGg6IDExcHg7XG5cdGhlaWdodDogMjBweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTgwcHg7XG59XG5cbi5jLWxpbmsteW91dHViZS1pY29uOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtNnB4O1xuXHRtYXJnaW4tbGVmdDogLTlweDtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMTNweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjIwcHg7XG59XG5cbi5jLWxpbmstZG93biB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHRib3R0b206IDA7XG5cdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IG1hcC1nZXQoJHZlcnRpY2FsLWJyZWFrcG9pbnRzLCBwYWxtKSkgYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJG1xLWJyZWFrcG9pbnRzLCBwYWxtKSkge1xuXHRcdG1hcmdpbi1ib3R0b206IC0yZW07XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IG1hcC1nZXQoJHZlcnRpY2FsLWJyZWFrcG9pbnRzLCBwYWxtKSkgYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJG1xLWJyZWFrcG9pbnRzLCBkZXNrdG9wKSkge1xuXHRcdG1hcmdpbi1ib3R0b206IC00ZW07XG5cdH1cbn1cblxuLmMtbGluay1hcnJvdy1kb3duLWljb246OmJlZm9yZSB7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi10b3A6IC04cHg7XG5cdG1hcmdpbi1sZWZ0OiAtOHB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4O1xufVxuXG4uYy10ZXh0LWhpZ2hsaWdodCAuYy1saW5rLWFycm93LWRvd24taWNvbjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTQwcHg7XG59XG5cbi5jLWxpbmstdmlkZW8ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmMtbGluay12aWRlby1pY29uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdG1hcmdpbi10b3A6IC00MHB4O1xuXHR3aWR0aDogODBweDtcblx0aGVpZ2h0OiA4MHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJvcmRlcjogc29saWQgMnB4ICRiZy1saWdodDtcbn1cblxuLmMtbGluay12aWRlby1pY29uOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtMTRweDtcblx0bWFyZ2luLWxlZnQ6IC04cHg7XG5cdHdpZHRoOiAyMnB4O1xuXHRoZWlnaHQ6IDI5cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI2MHB4O1xufVxuXG5cbi5jLWxpbmstYXJyb3ctaWNvbjpob3Zlcixcbi5jLWxpbmstYXJyb3c6aG92ZXIgLmMtbGluay1hcnJvdy1pY29uLFxuLmMtbGluay1zb2NpYWw6aG92ZXIgLmMtbGluay1jaXJjbGUsXG4uYy1saW5rLWRvd246aG92ZXIgLmMtbGluay1jaXJjbGUsXG4uYy10ZWFzZXItMmNvbC1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3cgLmMtbGluay1hcnJvdy1pY29uIHtcblx0YW5pbWF0aW9uOiBwdWxzZSAwLjhzIGluZmluaXRlO1xufVxuXG4uYy1saW5rLWV4dGVybi1pY29uOmhvdmVyLFxuLmMtbGluay1leHRlcm46aG92ZXIgLmMtbGluay1pbnRlcm4taWNvbixcbi5jLWxpbmstZXh0ZXJuOmhvdmVyIC5jLWxpbmstZXh0ZXJuLWljb24sXG4uYy1saW5rLWRvd25sb2FkLWljb246aG92ZXIsXG4uYy1saW5rLWRvd25sb2FkOmhvdmVyIC5jLWxpbmstZG93bmxvYWQtaWNvbixcbi5jLWxpbmstZW1haWwtaWNvbjpob3Zlcixcbi5jLWxpbmstZW1haWw6aG92ZXIgLmMtbGluay1lbWFpbC1pY29uLFxuLmMtbGluay12aWRlby1pY29uOmhvdmVyLFxuLmMtbGluay12aWRlbzpob3ZlciAuYy1saW5rLXZpZGVvLWljb24ge1xuXHRhbmltYXRpb246IHB1bHNlaWNvbm9ubHkgMC44cyBpbmZpbml0ZTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSYXRpbyBCb3hcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXJhdGlvYm94IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDA7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1yYXRpb2JveCA+IGltZyxcbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xufVxuXG4uYy1yYXRpb2JveCA+IGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XHRcbn1cblxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4uYy1yYXRpb2JveC0xNmJ5OSB7XG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5jLXJhdGlvYm94LTRieTMge1xuXHRwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZhcmlhYmxlcyBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuOnJvb3Qge1xuICAgIFxuICAgIC8qIGZvcm0gKi9cbiAgICAtLWZvcm0tY29sb3ItaGlnaGxpZ2h0OiAjZjFhOTQ4O1xuICAgIC0tdGV4dC1jb2xvci1mb3JtOiAjMTIxODJkO1xuICAgIC0tYm9yZGVyLWZvcm06ICMxMjE4MmQ7IFxuICAgIC0tYm9yZGVyLWZvcm0tZm9jdXM6ICNmMWE5NDg7XG4gICAgLS1mb3JtLWRpc2FibGVkOiAjY2NjO1xuICAgIC0tZm9ybS1lcnJvcjogI2RkMDAwMDtcbiAgICAtLWZvcm0tb2s6ICMxMjE4MmQ7XG4gICAgLS1mb3JtLWluaXRpYWw6ICMxRDFEMUI7XG4gICAgLS1mb3JtLWJnLWNvbnRlbnQ6IHRyYW5zcGFyZW50O1xuICAgIC0tZm9ybS1ib3gtbWFyZ2luOiAtMzBweDtcbn1cblxuLmMtdGV4dC1saWdodCB7XG4gICAgLS10ZXh0LWNvbG9yLWZvcm06ICNmZmY7XG4gICAgLS1ib3JkZXItZm9ybTogI2ZmZjsgXG4gICAgLS1ib3JkZXItZm9ybS1mb2N1czogI2YxYTk0ODtcbiAgICAtLWZvcm0tb2s6ICNmZmY7XG4gICAgXG59XG5cbi5jLXRleHQtaGlnaGxpZ2h0IHtcbiAgICAtLWZvcm0tY29sb3ItaGlnaGxpZ2h0OiAjZmZmO1xuICAgIC0tYm9yZGVyLWZvcm0tZm9jdXM6ICNmZmY7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAxcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZm9ybS1ib3gtbWFyZ2luOiAtNDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZm9ybS1ib3gtbWFyZ2luOiAtMTJweDtcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHNhZmFyaSBmb3JtIGZpeCAqL1xuaW5wdXQsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbnRleHRhcmVhIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIHJlbW92ZSBjaHJvbWUgYXV0b2ZpbGwgeWVsbG93IGNvbG9yICovXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMjAwMHM7XG59XG5cbi8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBGaXJlZm94ICovXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtZm9ybS1jb250YWN0IHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYy1ib3ggLmMtZm9ybS1jb250YWN0IHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZm9ybS1ib3gtbWFyZ2luKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWZvcm0tYm94LW1hcmdpbik7XG59XG5cbi5jLWZvcm0taXRlbSxcbi5nZmllbGQsXG4uZ2Zvcm1fd3JhcHBlciAuYy1mb3JtLXN0YW5kYXJkIC5nZmllbGQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiAuYy1mb3JtLXN0YW5kYXJkIC5nZm9ybV9mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ2Zvcm1fcmVxdWlyZWRfbGVnZW5kIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZm9ybWZpZWxkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYSxcbi5jLWZvcm0tdGV4dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkYm9yZGVyLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItZm9ybSk7XG5cdHBhZGRpbmc6IC41ZW0gMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRib3JkZXItZGFyaztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcblx0bWluLWhlaWdodDogNmVtO1xuICAgIHBhZGRpbmc6IC41ZW0gOHB4O1xufVxuXG4vKlxuLmMtdGV4dC1saWdodCAuYy1mb3JtLXRleHQge1xuXHRib3JkZXItY29sb3I6ICRib3JkZXItbGlnaHQ7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn0qL1xuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhOmZvY3VzLFxuLmMtdGV4dC1oaWdobGlnaHQgLmMtZm9ybS10ZXh0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiAkYm9yZGVyLWxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZWxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhOmRpc2FibGVkIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcblx0Y29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAycHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGNoZWNrYm94IC8gcmFkaW9zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tbXVsdGlsaW5lIC53cGNmNy1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctcmlnaHQ6IDEuNmVtO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJde1xuICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCl7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdK2xhYmVsLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0rbGFiZWwsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXStsYWJlbCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdK2xhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrbGFiZWwsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK2xhYmVsLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtsYWJlbCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrbGFiZWx7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAwLjU1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXHRtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmV7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwLjE1ZW07XG4gICAgd2lkdGg6IDM4cHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItZGFyaztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWJnLWNvbnRlbnQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmV7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cytsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMrbGFiZWw6OmJlZm9yZXtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tYmctY29udGVudCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMC4xNWVtICsgNXB4KTtcbiAgICBsZWZ0OiAxMXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMjJweDtcblx0Ym9yZGVyOiBzb2xpZCB2YXIoLS1mb3JtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdGJvcmRlci13aWR0aDogMCA0cHggNHB4IDA7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygwLjE1ZW0gKyA5cHgpO1xuICAgIGxlZnQ6IDlweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuXG4uZ2Zvcm1fZmllbGRzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK2xhYmVsOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrbGFiZWw6OmFmdGVye1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrbGFiZWw6OmFmdGVye1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkK2xhYmVsOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCtsYWJlbDo6YWZ0ZXIge1xuXHRjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGRyb3Bkb3duXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDAuNWVtIDMwcHggMC41ZW0gMHB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBcbiAgICBcbiAgICBib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkYm9yZGVyLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdXJsKFwiL2FwcC90aGVtZXMvI3skdGhlbWVuYW1lfS9hc3NldHMvaW1nL2ljb24tZm9ybS1hcnJvdy5zdmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWZvcm0pO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XHRcbn1cblxuLmMtYmctZGFyayAuYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2FwcC90aGVtZXMvI3skdGhlbWVuYW1lfS9hc3NldHMvaW1nL2ljb24tZm9ybS1hcnJvdy1saWdodC5zdmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCBvcHRpb24ge1xuXHRwYWRkaW5nOiAwO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OmRpc2FibGVkOjotbXMtZXhwYW5kIHtcblx0Y29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0W2Rpc2FibGVkXSB7XG5cdGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZXJyb3IgLyBvayBtZXNzYWdlIHRiZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmdmb3JtX3dyYXBwZXIgLmMtZm9ybS1zdGFuZGFyZCAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgY29sb3I6ICNkODBjMGM7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgbWFyZ2luLXRvcDogLjM1ZW07XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgY29sb3I6IHZhcigtLWZvcm0tb2spO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkX3dyYXBwZXIuZ2Zvcm1fd3JhcHBlciAuZm9ybS1lcnJvcixcbiAuZ2Zvcm1fd3JhcHBlciAuYy1mb3JtLXN0YW5kYXJkIC5mb3JtLWVycm9yIHtcbiAgY29sb3I6ICNkODBjMGM7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZXJyb3IpO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIGNsZWFyOiBib3RoO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2xpZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uanMsXG4ubm8tanN7XG5cdC5zbGlkZXJ7XG5cdFx0LmMtcXVvdGUtbG9nb3tcblx0XHRcdG1heC13aWR0aDogc2N1dC1lbSgyMDApO1xuXHRcdH1cblx0XHQuc2xpZGUgKyAuc2xpZGV7XG5cdFx0XHRtYXJnaW4tdG9wOiAyZW07XG5cdFx0fVxuXHR9XG59XG5cbi5uby1qc3tcblx0LnNsaWRle1xuXHRcdC5pbWFnZXtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5lbmhhbmNlZHtcblx0LnNsaWRlcntcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ji5pbWFnZS1zbGlkZXIsXG5cdFx0Ji50ZXN0aW1vbmlhbHtcblx0XHRcdHBhZGRpbmctdG9wOiA1MHB4ICsgMjBweDtcblx0XHR9XG5cdFx0Ji5pbWFnZS1zbGlkZXJ7XG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcblx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHR9XG5cdFx0XHQuYy1waWV7XG5cdFx0XHRcdFx0cmlnaHQ6IDMwcHg7XG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBwYWxtZXIpe1xuXHRcdFx0XHRcdHJpZ2h0OiA0MHB4ICsgMTBweDtcblx0XHRcdFx0XHR0b3A6IDEwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGJpZ3RhYmxldCl7XG5cdFx0XHRcdFx0cmlnaHQ6IDQwcHggKyA0MHB4O1xuXHRcdFx0XHRcdHRvcDogNDBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCl7XG5cdFx0XHRcdFx0cmlnaHQ6IDQwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji50ZXN0aW1vbmlhbHtcblx0XHRcdC5jLXF1b3RlLWxvZ297XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ei1pbmRleDogNDA7XG5cdFx0XHR9XG5cdFx0XHQuYy1waWV7XG5cdFx0XHRcdHJpZ2h0OiAxMnB4O1xuXHRcdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogcGFsbSl7XG5cdFx0XHRcdFx0cmlnaHQ6IDMwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IHBhbG1lcil7XG5cdFx0XHRcdFx0cmlnaHQ6IDQwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuXHRcdFx0XHRcdHJpZ2h0OiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zbGlkZXItaW5kZXh7XG5cdFx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHotaW5kZXg6IDQwO1xuXHRcdFx0ZGl2e1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGhlaWdodDogMTBweDtcblx0XHRcdFx0d2lkdGg6IDEwcHg7XG5cdFx0XHRcdCYuYWN0aXZle1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiZy1oaWdobGlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnRleHR7XG5cdFx0XHRcdFx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW47XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGRpdiArIGRpdntcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNsaWRlICsgLnNsaWRle1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdFx0LnNsaWRle1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC42cyBlYXNlLWluLW91dDtcblx0XHRcdHRvcDogMDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdC5jLXF1b3RlLWxvZ297XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zbGlkZS5hY3RpdmV7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogYXV0bztcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHQuYy1xdW90ZS1sb2dve1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC42cyBlYXNlLWluLW91dDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNsaWRlci1uYXZpZ2F0aW9ue1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0ei1pbmRleDogMjA7XG5cdFx0XHQubmV4dCxcblx0XHRcdC5wcmV2e1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR3aWR0aDogMzAlO1xuXHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0XHQudGV4dHtcblx0XHRcdFx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lm5leHR7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0LnByZXZ7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jLWJnLWRhcmt7XG5cdFx0LnNsaWRlcntcblx0XHRcdC5zbGlkZXItaW5kZXh7XG5cdFx0XHRcdGRpdntcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG5cdFx0XHRcdFx0Ji5hY3RpdmV7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctaGlnaGxpZ2h0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2xpZGVyIENvdW50ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmMtcGlle1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiA1MHB4O1xuXHRoZWlnaHQ6IDUwcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0Ym9yZGVyOiBzb2xpZCAzcHggJGJvcmRlci1kYXJrO1xufVxuXG4uYy1waWUtc2VwYXJhdG9yIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC0ycHg7XG5cdG1hcmdpbi10b3A6IC0xNXB4O1xuXHR3aWR0aDogM3B4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItZGFyaztcblx0dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG59XG5cbi5jLWJnLWRhcmt7XG5cdC5jLXBpZXtcblx0XHRib3JkZXItY29sb3I6ICRib3JkZXItbGlnaHQ7XG5cdH1cblx0LmMtcGllLXNlcGFyYXRvcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xcHg7XG5cdFx0bWFyZ2luLXRvcDogLTE0cHg7XG5cdFx0d2lkdGg6IDJweDtcblx0fVxuXHQuYy1waWUtbnVtYmVyLXN0YXR1cyxcblx0LmMtcGllLW51bWJlci10b3RhbHtcblx0XHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG5cdH1cbn1cblxuLmMtcGllLW51bWJlci1zdGF0dXMsXG4uYy1waWUtbnVtYmVyLXRvdGFsIHtcblx0ZGlzcGxheTpibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtaW4td2lkdGg6IDE1cHg7XG59XG5cbi5jLXBpZS1udW1iZXItc3RhdHVzIHtcblx0dG9wOiAwLjVlbTtcblx0bGVmdDogNnB4O1xufVxuXG4uYy1waWUtbnVtYmVyLXRvdGFsIHtcblx0Ym90dG9tOiAwLjVlbTtcblx0cmlnaHQ6IDVweDtcbn1cblxuLmMtcGllLXNsaWNlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0zcHg7XG5cdGxlZnQ6IC0zcHg7XG5cdHdpZHRoOiBjYWxjKDEwMCUgKyA2cHgpO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSArIDZweCk7XG5cdGNsaXA6IHJlY3QoMCwgNTBweCwgNTBweCwgMjVweCk7XG59XG5cbi5jLXBpZS1iYXIsXG4uYy1waWUtZmlsbCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG5cbi5jLXBpZS1iYXIsXG4uYy1waWUtZmlsbCB7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0Ym9yZGVyOiBzb2xpZCAzcHggJGJvcmRlci1oaWdobGlnaHQ7XG59XG5cbi5jLXBpZS1maWxsIHtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gbG9vcCB0byBjcmVhdGUgYWxsIG5lZWRlZCBlbGVtZW50cyBhdXRvbWF0aWNhbGx5XG4uYy1waWUge1xuXHRAZm9yICRqIGZyb20gMSB0aHJvdWdoIDUwIHtcblx0XHQmLmMtcGllI3skan0gLmMtcGllLWJhcntcblx0XHRcdGNsaXA6IHJlY3QoMCwgMjVweCwgNTBweCwgMCk7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgoMzYwLzEwMCokaikgKyBkZWcpO1xuXHRcdH1cblx0fVxuXG5cdEBmb3IgJGogZnJvbSA1MSB0aHJvdWdoIDEwMCB7XG5cdFx0Ji5jLXBpZSN7JGp9IC5jLXBpZS1zbGljZSB7XG5cdFx0XHRjbGlwOiByZWN0KGF1dG8sIGF1dG8sIGF1dG8sIGF1dG8pO1xuXHRcdH1cblxuXHRcdCYuYy1waWUjeyRqfSAuYy1waWUtYmFye1xuXHRcdFx0Y2xpcDogcmVjdCgwLCA1MHB4LCA1MHB4LCAyNXB4KTtcblx0XHR9XG5cblx0XHQmLmMtcGllI3skan0gLmMtcGllLWZpbGx7XG5cdFx0XHRjbGlwOiByZWN0KDAsMjVweCw1MHB4LDApO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkYm9yZGVyLWhpZ2hsaWdodDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKCgzNjAvMTAwKiRqKSArIGRlZyk7XG5cdFx0fVxuXG5cdH1cbn1cbiIsIi5jLXZpZGVvLXdyYXBwZXJ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMDtcbn1cblxuLmMtdmlkZW8td3JhcHBlciAuaW1hZ2UubGF6eWxvYWRlZHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmMtdmlkZW8td3JhcHBlciAuaW1hZ2UubGF6eWxvYWRlZC5yZW1vdmV7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmMtbGluay12aWRlb3tcbiAgICB6LWluZGV4OiAxO1xufVxuXG4udmlkZW9wbGF5ZXJ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbn1cblxuLnZpZGVvcGxheWVyIGlmcmFtZXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZpZXdwb3J0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ALW1zLXZpZXdwb3J0IHtcblx0d2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWVkaWFxdWVyaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkge1xuXHQvKiBncmlkIGdhcCAqL1xuXHQuYy1jb250YWluZXIge1xuXHRcdHBhZGRpbmctbGVmdDogODBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuXHR9XG5cblx0LmMtYm94IHtcblx0XHRtYXJnaW4tbGVmdDogODBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDgwcHg7XG5cdH1cblxuXHQuYy1yb3cge1xuXHRcdG1hcmdpbi1yaWdodDogLTQwcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IC00MHB4O1xuXHR9XG5cblx0LmMtY29sLTEsXG5cdC5jLWNvbC0yLFxuXHQuYy1jb2wtMyxcblx0LmMtY29sLTQsXG5cdC5jLWNvbC01LFxuXHQuYy1jb2wtNixcblx0LmMtY29sLTcsXG5cdC5jLWNvbC04LFxuXHQuYy1jb2wtOSxcblx0LmMtY29sLTEwLFxuXHQuYy1jb2wtMTEsXG5cdC5jLWNvbC0xMiB7XG5cdFx0cGFkZGluZy1yaWdodDogNDBweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdH1cblxuXHQuYy1mb290ZXIgLmMtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXG5cdC5jLXJvdy1mb290ZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdC5jLWltZy1sZWZ0LFxuXHQuYy1pbWctcmlnaHR7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCBjYWxjKDUwJSArIDQwcHgpO1xuXHRcdC1tcy1mbGV4OiAwIDAgY2FsYyg1MCUgKyA0MHB4KTtcblx0XHRmbGV4OiAwIDAgY2FsYyg1MCUgKyA0MHB4KTtcblx0XHRtYXgtd2lkdGg6IGNhbGMoNTAlICsgNDBweCk7XG5cdH1cblx0LmMtY29udGFpbmVyIHtcblx0XHQuYy1tZWRpYS5sZWZ0e1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC04MHB4O1xuXHRcdH1cblx0XHQuYy1tZWRpYS5yaWdodHtcblx0XHRcdG1hcmdpbi1yaWdodDogLTgwcHg7XG5cdFx0fVxuXHR9XG5cdC5jLWltZy1sZWZ0IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IC00MHB4O1xuXHR9XG5cblx0LmMtaW1nLXJpZ2h0IHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogLTQwcHg7XG5cdH1cblxuXHQuYy1pbWctb25seSAge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQuYy1jb250ZW50LW1vZHVsLFxuXHQuYy1ib3gge1xuXHRcdHBhZGRpbmctdG9wOiA2ZW07XG5cdFx0cGFkZGluZy1ib3R0b206IDZlbTtcblx0fVxuXG5cdC5jLXRlYXNlci0zY29sLWl0ZW0ge1xuXHRcdHBhZGRpbmctdG9wOiA2ZW07XG5cdH1cblxuXHQuYy1jdGEtYmFjayB7XG5cdFx0cGFkZGluZy1ib3R0b206IDZlbTtcblx0XHQmLmJvdHRvbXtcblx0XHRcdHBhZGRpbmctbGVmdDogMTIwcHg7XG5cdFx0fVxuXHR9XG5cdC5jLWNvbnRlbnQtbW9kdWwsXG5cdC5jLWhlYWRlciB7XG5cdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDQwcHg7XG5cdH1cblxuXHQuYy1mb290ZXIgLmMtY29udGVudC1tb2R1bCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxuXHQuYy1mb290ZXItbWFpbiB7XG5cdFx0cGFkZGluZy1yaWdodDogMTIwcHg7XG5cdFx0cGFkZGluZy1sZWZ0OiA4MHB4O1xuXG5cdH1cblxuXHQuYy1mb290ZXItbWVtYmVyIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDgwcHg7XG5cblx0fVxuXG5cdC5jLWZvb3Rlci1tZW1iZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0fVxuXG5cdC5jLXRlYXNlci0zY29sIC5jLXJvdyB7XG5cdFx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xuXHRcdG1hcmdpbi1yaWdodDogLTIwcHg7XG5cdH1cblxuXHQuYy10ZWFzZXItM2NvbC1pdGVtIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0fVxuXG5cdC5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcblx0XHRsZWZ0OiAtNDBweDtcblx0fVxuXG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyIHtcblx0XHRyaWdodDogODBweDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTY4MHB4KSB7XG5cdC8qIGNvbnRhaW5lciBtYXggd2lkdGggKi9cblx0LmMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDE2MDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuXHQuYy1mb290ZXIgLmMtY29udGFpbmVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5jLWJveCB7XG5cdFx0d2lkdGg6IDE0NDBweDtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuXHQuYy1ib3ggLmMtY29udGFpbmVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5jLWZvb3RlciAuYy1jb250ZW50LW1vZHVsIHtcblx0XHR3aWR0aDogNjQwcHg7XG5cdH1cblxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNTAxcHgpIHtcblx0LmMtZm9vdGVyLW5hdiB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCkge1xuXHQuYy1zaG93cm9vbS1zbWFsbCAuYy1zaG93cm9vbS1vdmVybGF5IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC5jLXNob3dyb29tLXNtYWxsIC5jLWNvbnRlbnQtbW9kdWwge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdC5jLXNob3dyb29tLXNtYWxsIC5jLXNob3dyb29tLXNtYWxsLXRleHQge1xuXHRcdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0XHQuYy10ZXh0LWhpZ2hsaWdodHtcblx0XHRcdC5jLXN1YnRpdGxle1xuXHRcdFx0XHRjb2xvcjogJHRleHQtaGlnaGxpZ2h0LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNTAwcHgpIHtcblx0LmMtZm9vdGVyLWFkZHJlc3MsXG5cdC5jLWZvb3Rlci1uYXYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctdG9wOiAzZW07XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk2MXB4KSBhbmQgKG1heC13aWR0aDoxMTk5cHgpIHtcblx0LmMtZm9vdGVyLWRpc2NsYWltZXIge1xuXHRcdGxlZnQ6IC0yMHB4O1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5NjFweCkge1xuXHQuYy1mb290ZXItbWVtYmVyLFxuXHQuYy1mb290ZXItbWVtYmVyIC5jLWNvbnRlbnQtbW9kdWwge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHQuYy1mb290ZXItbWVtYmVyIC5jLXJvdyB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblxuXHQuYy1mb290ZXItZGlzY2xhaW1lciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMmVtO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5NjBweCkge1xuXHQuYy1mb290ZXIgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LmMtcXVvdGUtbG9nbyB7XG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ODAxcHgpIHtcblx0LmMtdGVhc2VyLTNjb2wtaXRlbTpudGgtY2hpbGQoLW4rMykge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4MDBweCkge1xuXHQuYy1zZWN0aW9uLXRpdGxlIC5jLWNvbC04LFxuXHQuYy10ZXh0LW9ubHkgLmMtY29sLTgsXG5cdC5jLWxpc3Qtc3BlY2lhbC1jb250ZW50IC5jLWNvbC0xMCxcblx0LmMtcXVvdGUgLmMtY29sLTEwLFxuXHQuYy1zaG93cm9vbS10ZXh0IC5jLWNvbC04LFxuXHQuYy1zaG93cm9vbS1zbWFsbC10ZXh0IC5jLWNvbC04LFxuXHQuYy10aXRsZSAuYy1jb2wtMTAge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LmMtc3VidGl0bGUtbG9nbyB7XG5cdFx0d2lkdGg6IDYwcHg7XG5cdH1cblxuXHQuYy10ZWFzZXItM2NvbC1pdGVtIHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cblx0LmMtbmV3cy1pdGVtLXdpdGgtaW1nIC5jLW5ld3MtaXRlbS10ZXh0IHtcblx0XHRwYWRkaW5nOiAyMHB4O1xuXHR9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjUwMXB4KSBhbmQgKG1heC13aWR0aDo4MDBweCkge1xuXHQuYy10ZWFzZXItM2NvbC1pdGVtOm50aC1jaGlsZCgtbisyKSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjExMDBweCkge1xuXHQuYy1wcm9kdWN0cy1saXN0IGxpIHtcblx0XHRmbGV4OiAwIDAgNTAlO1xuICAgIFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblxufVxuXG4uYy10ZXh0LTJjb2wgLnBhZGRpbmd0b3B7XG5cdHBhZGRpbmctdG9wOiAxZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCkge1xuXHQuYy10ZXh0LWltZy0yY29sIC5wYWRkaW5ndG9we1xuXHRcdHBhZGRpbmctdG9wOiAxZW07XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XG5cdC5jLXRleHQtaW1nLTJjb2wgLmMtY29sLTYsXG5cdC5jLXRleHQtMmNvbCAuYy1jb2wtNixcblx0LmMtaW1nLTJjb2wgLmMtY29sLTYsXG5cdC5jLW5ld3MtdGVhc2VyIC5jLWNvbC02LFxuXHQuYy1wcm9kdWN0cy10ZWFzZXIgLmMtY29sLTYsXG4gICAgLmMtdGVhc2VyLTJjb2wgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LmMtdGV4dC1pbWctMmNvbCAuYy1jb2wtNjpmaXJzdC1jaGlsZCxcblx0LmMtaW1nLTJjb2wgLmMtY29sLTY6Zmlyc3QtY2hpbGQsXG5cdC5jLXByb2R1Y3RzLXRlYXNlciAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDIuNmVtO1xuXHR9XG4gICAgXG4gICAgLmMtdGVhc2VyLTJjb2wgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xuXHR9XG5cblx0LmMtZm9vdGVyLW5hdiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5jLWJveC1ib3JkZXIge1xuXHRcdGJvcmRlci13aWR0aDogM3B4O1xuXHR9XG5cblx0LypsaXN0IGV2ZW50cyAqL1xuXHQuYy1saXN0LWV2ZW50aW5mbyBkdCB7XG5cdFx0ZmxleDogMCAwIDMzJTtcblx0XHRtYXgtd2lkdGg6IDMzJTtcblx0fVxuXG5cdC5jLWxpc3QtZXZlbnRpbmZvIGRkIHtcblx0XHRmbGV4OiAwIDAgNjclO1xuXHRcdG1heC13aWR0aDogNjclO1xuXHR9XG5cbn1cblxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0LyogZ3JpZCBnYXAgKi9cblx0LmMtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogMzBweDtcblx0fVxuXG5cdC5jLWJveCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXHR9XG5cblx0LmMtcm93IHtcblx0XHRtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0fVxuXG5cdC5jLWNvbC0xLFxuXHQuYy1jb2wtMixcblx0LmMtY29sLTMsXG5cdC5jLWNvbC00LFxuXHQuYy1jb2wtNSxcblx0LmMtY29sLTYsXG5cdC5jLWNvbC03LFxuXHQuYy1jb2wtOCxcblx0LmMtY29sLTksXG5cdC5jLWNvbC0xMCxcblx0LmMtY29sLTExLFxuXHQuYy1jb2wtMTIge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG5cblx0LmMtZm9vdGVyIC5jLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxuXHQuYy1yb3ctZm9vdGVyIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblxuXHQuYy1jb250ZW50LW1vZHVsLFxuXHQuYy1ib3gge1xuXHRcdHBhZGRpbmctdG9wOiAzZW07XG5cdFx0cGFkZGluZy1ib3R0b206IDNlbTtcblx0fVxuXG5cdC5jLXRlYXNlci0zY29sLWl0ZW0ge1xuXHRcdHBhZGRpbmctdG9wOiAzZW07XG5cdH1cblxuXHQuYy1jdGEtYmFjayB7XG5cdFx0cGFkZGluZy1ib3R0b206IDNlbTtcblx0fVxuXG5cblx0LmMtZm9vdGVyLW1haW4sXG5cdC5jLWZvb3Rlci1tZW1iZXIge1xuXHRcdHBhZGRpbmctbGVmdDogMzBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHR9XG5cblx0LmMtcHJvZHVjdHMtbGlzdCBsaSB7XG5cdFx0ZmxleDogMCAwIDUwJTtcbiAgICBcdG1heC13aWR0aDogNTAlO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1MDBweCkge1xuXHQuYy10ZWFzZXItM2NvbC1pdGVtIHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXG5cdC5jLXRlYXNlci0zY29sLWl0ZW06bnRoLWNoaWxkKDEpIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxuXG5cdC5jLXByb2R1Y3RzLWxpc3Qge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQuYy1wcm9kdWN0cy1saXN0IGxpIHtcblx0XHRmbGV4OiAwIDAgMTAwJTtcbiAgICBcdG1heC13aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXG5cdC5jLXByb2R1Y3RzLWxpc3QgYSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctbGVmdDogODBweDtcblx0fVxuXG5cdC5jLXByb2R1Y3RzLXRlYXNlciAuYy1zdWJ0aXRsZS1sb2dvIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tdG9wOiAtMzBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxuXG5cdC5jLWxvZ29zIC5jLWxvZ29zLWxpc3QgbGkge1xuXHRcdHdpZHRoOiA0NyU7XG5cdH1cblxuXHQuYy1ib3gtb3V0ZXIge1xuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMnB4O1xuXHR9XG5cblx0LmMtYm94IHtcblx0XHRtYXJnaW4tbGVmdDogMTJweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDEycHg7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sdGlwIGZvciBTZWN0aW9uIElkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5qc3tcbiAgICAuc2hvd2lke1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGlucHV0e1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2hvd2lke1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsQ291cmllciwnTHVjaWRhIFNhbnMgVHlwZXdyaXRlcicsJ0x1Y2lkYSBUeXBld3JpdGVyJywgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZWZ0OiAzMHB4O1xuICAgIG91dGxpbmU6IDA7XG4gICAgcGFkZGluZzogMCAwIDAgMjZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogcGFsbWVyKXtcbiAgICAgICAgbGVmdDogNDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3Ape1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkaWZmKXtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBhZnRlci1wc2V1ZG8oYWJzb2x1dGUpO1xuICAgIEBpbmNsdWRlIGJlZm9yZS1wc2V1ZG8oYWJzb2x1dGUpO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAuMDVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIC4wNWVtIC4wNWVtIDA7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIC4wNjVlbSwgLjEzZW0gLjExZW0gMCAtLjA1ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgLjNlbSAwIDA7XG4gICAgICAgIGhlaWdodDogLjk1ZW07XG4gICAgICAgIGxlZnQ6IC4yZW07XG4gICAgICAgIG1hcmdpbjogMCAuMTdlbSAuMDVlbSAuMWVtO1xuICAgICAgICB0b3A6IC4yNWVtO1xuICAgICAgICB3aWR0aDogLjc1ZW07XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjFlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogLjJlbTtcbiAgICAgICAgbGVmdDogLjVlbTtcbiAgICAgICAgdG9wOiAuMjhlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgaW5wdXR7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiAyZW07XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBpbnB1dDo6c2VsZWN0aW9ue1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cblxuLmMtYmctZGFya3tcbiAgICAuc2hvd2lke1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgICAgIGlucHV0e1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0OjpzZWxlY3Rpb257XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jLXRleHQtYmxvY2t7XG5cdC5jLW5ld3MtaXRlbS1pbWd7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cbn1cblxuLmNzc3RyYW5zaXRpb25ze1xuXHQuYy1uZXdzLXRlYXNlcntcblx0XHQuYy1jb2wtNntcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC42cyBlYXNlLWluLW91dDtcblx0XHR9XG5cdFx0LmMtY29sLTYuZmFkZWlue1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cbn1cbiIsIi5jLXRlYXNlci0zY29sLWl0ZW0gZmlndXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjZlbTtcbn1cbiIsIiNjb29raWUtbm90aWNlIHtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkbW9iaWxlU21hbGxGb250U2l6ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKXtcbiAgICAgICAgZm9udC1zaXplOiAkZGVza3RvcFNtYWxsRm9udFNpemU7XG4gICAgfVxufVxuXG4jY29va2llLW5vdGljZSAuY24tYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogc2N1dC1lbSgxNik7XG59XG5cbi5jb29raWUtbm90aWNle1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIHB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY24tYnV0dG9ue1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJnLWJ0biwyMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC41ZW07XG5cdHBhZGRpbmc6IHNjdXQtZW0oNikgc2N1dC1lbSgxNikgc2N1dC1lbSgzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHByZWRlc2t0b3Ape1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLmNuLWJ1dHRvbjpob3Zlcntcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWJ0bjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jc3N0cmFuc2l0aW9uc3tcbiAgICAuY24tYnV0dG9ue1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICB9XG59XG4iLCIvLy5jLXNpdGUtaGVhZGVyIC5jLWhlYWRlci1uYXZpZ2F0aW9uIC5vZmZjYW52YXMtbmF2aWdhdGlvbi5maXhuYXZpLFxuLmZpeG5hdmksXG4uZml4Ym9keXtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG59XG5cbi5maXhuYXZpe1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICByaWdodDogMDtcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uZml4Ym9keXtcbiAgICBsZWZ0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmZpeGJvZHl7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG4iXX0= */
