/*!***************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!../styles/main.scss ***!
  \***************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ==========================================================================
   Settings
   ========================================================================== */
/*@import "../fonts/inlineFonts.scss";*/
/* Variables, Naming may vary from project to project */
/* ==========================================================================
   Fonts (see '_fonts.scss' for more information on license)
   ========================================================================== */
/* ==========================================================================
   Colors
   ========================================================================== */
/* text */
/* dark grey */
/* dark blue */
/* dark blue */
/* blue */
/* red */
/* background */
/* dark blue */
/* light grey */
/* line-colors */
/* form */
/* spacing */
/* grid */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "Figtree", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-medium: 400;
  /* text  */
  --text-color: #000; /* black */
  --text-color-light: #fff;
  --text-color-title: #000; /* dark blue */
  --text-color-medium: #666;
  --color-highlight: #285fc3; /* blue */
  --color-alert: #285FC3; /* blue */
  --color-secondary: #285fc3; /* blue */
  --color-nav-hover: #285fc3;
  /* background */
  --bg-content: #fff;
  --bg-dark: #00001D; /* blue dark */
  --bg-dark-2: #001540; /* blue medium */
  --bg-light: #F4F4F5;
  --bg-organigramm-l2: #285fc3;
  --bg-organigramm-l3: #d4dff3;
  --bg-gradient: linear-gradient(90deg, rgba(40,95,195,1) 10%, rgba(0,21,64,1) 50%, rgba(0,0,29,1) 100%);
  /* lines */
  --border-basic: #d1d4d5;
  --border-light: #E4E4E5;
  --border-width-thin: 2px;
  --border-width-thick: 4px;
  --border-width-fat: 4px;
  /*--border-light-blue: #616171;*/
  --border-light-blue: rgba(255,255,255, 0.3);
  /* spacing */
  --spacing-l: 6.5rem;
  --spacing-m: 4rem;
  --spacing-s: 1.5rem;
  --spacing-xs: 0.75rem;
  --spacing-organigramm-s: 20px;
  --padding-box: 1.5em 32px;
  --padding-news-item: 1.5em 0 0 32px;
  --header-inner-height: 96px;
  --header-inner-margin-top: 54px;
  --header-meta-height: 50px;
  --offcanvas-meta-position: calc(96px + 54px + 50px);
  /* form */
  --border-form: #00001D;
  --border-form-focus: #285fc3;
  --border-form-width: 2px;
  --form-disabled: #ccc;
  --color-form-error: #E0000C;
  --color-form-ok: #65a569;
  --color-form-initial: #1D1D1B;
  --color-form-placeholder: #999999;
  /* grid */
  --grid-container: 30px;
  --grid-row: -15px;
  --grid-col: 15px;
  --grid-row-form-half: -8px;
  --grid-col-form-half: 8px;
  /* font-sizes */
  --font-size-root: 18px;
  --font-size-h1: 3.33rem; /* 60px */
  --font-size-h2: 2.11rem; /* 38px */
  --font-size-h3: 1.33rem;
  --font-size-lead: 1.33rem;
  --font-size-body: 1rem;
  --font-size-body-s: 0.88rem;
  --font-size-body-xs: 0.77rem;
  --font-size-body-xxs: 0.66rem;
  --font-size-body-l: 1.77rem; /* 32px */
}

/* ==========================================================================
   Exeptions for different backgrounds
   ========================================================================== */
.c-text-light {
  --text-color-title: #fff; /* white */
}

/*.c-link-icon,
.c-link-bold {
    --text-color: #004087;
}*/
.c-text-light,
.c-text-light .c-link-icon,
.c-text-light .c-link-bold,
.c-search-result-list .c-active .c-box .c-link-icon,
.c-search-result-list .c-active .c-box .c-link-bold,
.c-search-result-list .c-active .c-box a,
.c-search-result-list .c-active .c-box {
  --text-color: #fff;
  --color-highlight: #fff;
  --text-color-title: #fff;
}

.c-text-light .c-btn {
  --text-color-light: #285fc3;
}

.c-text-light .c-btn:hover,
.c-text-light .c-btn:focus {
  --text-color-light: #fff;
}

.c-text-light .c-btn-secondary:hover,
.c-text-light .c-btn-secondary:focus,
.c-text-light .c-offcanvas-meta-list .c-btn-secondary:hover,
.c-text-light .c-offcanvas-meta-list .c-btn-secondary:focus {
  --text-color-light: #00001D;
}

.c-footer,
.c-offcanvas-nav {
  --color-highlight: #407cff; /* brighter blue */
  --color-nav-hover: #407cff;
}

/*.c-message-alert .c-text-light .c-btn {
   --color-highlight: #285FC3;
}*/
.c-bg-light .c-btn,
.c-cookie-notice .c-btn {
  --bg-light: #fff;
}

.c-search-result-list .c-active .c-accordion-title:focus,
.c-search-result-list .c-active .c-accordion-title:hover {
  --bg-light: transparent;
}

.c-search-result-list .c-active .c-accordion-container {
  --border-basic: var(--border-light-blue);
}

.c-header-sticky {
  --header-inner-height: 96px;
  --header-inner-margin-top: 0;
}

.c-header-sticky .c-offcanvas-inner {
  --header-inner-margin-top: 54px;
}

.c-organigramm {
  --bg-dark: #001540;
}

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 40px;
    --grid-row: -20px;
    --grid-col: 20px;
    --padding-box: 1.8em 40px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-l: 4.5rem;
    --spacing-m: 2rem;
    --spacing-organigramm-s: 10px;
    --header-inner-height: 90px;
    --header-inner-margin-top: 0;
  }
  .c-header-sticky {
    --header-inner-height: 82px;
  }
}
/*@import "common/_fonts";*/
/*! 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 */
  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 {
  -moz-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: "“" "”" "‘" "’";
}

/**
 * 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 {
  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] {
  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 */
  -moz-box-sizing: border-box; /* 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;
  -moz-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: flex;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
}

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

.c-content {
  flex-grow: 1;
}

/* ==========================================================================
   Components
   ========================================================================== */
/* styles for every project */
/* ==========================================================================
   Base Project
   ========================================================================== */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  background-color: var(--bg-content);
  color: #000;
  color: var(--text-color);
  font-family: "Figtree", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-weight: 300;
  font-weight: var(--font-weight-normal);
  -webkit-tap-highlight-color: transparent;
}

/* links */
a,
a:visited,
a:focus,
a:hover {
  color: #000;
  color: var(--text-color);
  text-decoration: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #000;
  color: var(--text-color);
}

textarea {
  resize: none;
}

/* ==========================================================================
   Standard img / media declaration
   ========================================================================== */
embed,
object,
video,
iframe,
img {
  width: 100%;
}

img {
  height: auto;
}

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

img {
  vertical-align: bottom;
}

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

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-container-medium {
  padding-bottom: 6.5rem;
  padding-bottom: var(--spacing-l);
}

.c-main-title,
.c-showroom {
  margin-top: 6.5rem;
  margin-top: var(--spacing-l);
}

.c-container-no-padding {
  padding-bottom: 0;
}

.c-section-title {
  padding-bottom: 0.75rem;
  padding-bottom: var(--spacing-xs);
}

.c-section-title h2.c-subtitle {
  padding-bottom: 0.75rem;
  padding-bottom: var(--spacing-xs);
}

.c-line-top {
  padding-top: 2.5rem;
}

.c-line-bottom {
  padding-bottom: 2.5rem;
  margin-bottom: 6.5rem;
  margin-bottom: var(--spacing-l);
}

/* contact snippet inside accordion */
.c-accordion-inner .c-line-bottom {
  margin-bottom: var(--spacing-s);
}

.c-teaser .c-col-4 {
  padding-bottom: 30px;
  padding-bottom: var(--grid-container);
}

.c-teaser {
  padding-bottom: calc(6.5rem - 30px);
  padding-bottom: calc(var(--spacing-l) - var(--grid-container));
}

.c-news-teaser .c-col-4,
.c-overview-teaser .c-col-6 {
  padding-bottom: 6.5rem;
  padding-bottom: var(--spacing-l);
}

.c-news-teaser,
.c-map,
.c-overview-teaser {
  padding-bottom: 0;
}

.c-filter {
  padding-bottom: 2.5rem;
  padding-bottom: calc(var(--spacing-m) - var(--spacing-s));
}

.c-newsletter-registration,
.c-search-container,
.c-text-img-2col-wide {
  padding-top: 4rem;
  padding-top: var(--spacing-m);
  padding-bottom: 4rem;
  padding-bottom: var(--spacing-m);
  margin-bottom: 6.5rem;
  margin-bottom: var(--spacing-l);
}

.c-quicklinks-content-inner {
  padding-top: 4rem;
  padding-top: var(--spacing-m);
  padding-bottom: 4rem;
  padding-bottom: var(--spacing-m);
}

.c-search-container,
.c-map {
  margin-bottom: 4rem;
  margin-bottom: var(--spacing-m);
}

.c-message-alert {
  z-index: 2;
  padding-top: 1.5rem;
  padding-top: var(--spacing-s);
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-search-result-title {
  padding-bottom: 4rem;
  padding-bottom: var(--spacing-m);
}

.c-text-only + .c-text-only,
.c-text-only + .c-accordion,
.c-text-only + .c-team-teaser {
  margin-top: -6.5rem;
  margin-top: calc(var(--spacing-l) * -1);
}

.c-text-only + .c-accordion {
  padding-top: -0.75rem;
  padding-top: calc(var(--spacing-xs) * -1);
}

.c-text-only + .c-team-teaser {
  padding-top: 0.75rem;
  padding-top: var(--spacing-xs);
}

/* ==========================================================================
   Standard Grid Declaration
   ========================================================================== */
.c-container,
.c-container-medium {
  padding-left: 30px;
  padding-right: 30px;
  padding-left: var(--grid-container);
  padding-right: var(--grid-container);
}

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

.c-row-reverse {
  flex-direction: row-reverse;
}

.c-row-justify-left {
  justify-content: flex-start;
}

.c-row-justify-center {
  justify-content: center;
}

.c-row-justify-right {
  justify-content: flex-end;
}

.c-row-justify-around {
  justify-content: space-around;
}

.c-row-justify-between {
  justify-content: space-between;
}

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

.c-row-align-center {
  align-items: center;
}

.c-row-align-bottom {
  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: 15px;
  padding-left: 15px;
  padding-left: var(--grid-col);
  padding-right: var(--grid-col);
}

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

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

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

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

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

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

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

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

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

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

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

.c-col-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.33333%;
  -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-form-standard .c-col-4 .c-row,
.c-form-standard .c-col-6 .c-row {
  margin-right: -8px;
  margin-left: -8px;
  margin-left: var(--grid-row-form-half);
  margin-right: var(--grid-row-form-half);
}

.c-form-standard .c-col-4 .c-col-3,
.c-form-standard .c-col-4 .c-col-9,
.c-form-standard .c-col-6 .c-col-3,
.c-form-standard .c-col-6 .c-col-9 {
  padding-right: 8px;
  padding-left: 8px;
  padding-left: var(--grid-col-form-half);
  padding-right: var(--grid-col-form-half);
}

.c-asym-right-edgeless,
.c-asym-right-edgeless-medium {
  overflow: hidden;
}

.c-asym-right-edgeless-img,
.c-asym-right-edgeless-col {
  margin-right: -30px;
  margin-right: calc(var(--grid-container) * -1);
}

/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 18px;
  font-size: var(--font-size-root);
}

/* ==========================================================================
   Titles
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  text-wrap: balance;
}

h1,
.c-h1 {
  padding-bottom: 0.4em;
  line-height: 1.1;
  font-size: 3.33rem; /* 60px */
  font-size: var(--font-size-h1);
  color: #004087;
  color: var(--text-color-title);
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

h2,
.c-h2 {
  padding-bottom: 0.5em;
  line-height: 1.25;
  font-size: 2.11rem; /* 38px */
  font-size: var(--font-size-h2);
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

h2 span {
  font-weight: 400;
  font-weight: var(--font-weight-normal);
}

h3,
.c-h3 {
  line-height: 1.4;
  font-size: 1.33rem;
  font-size: var(--font-size-h3);
  padding-bottom: 0.5em;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-news-teaser-big h3 {
  font-size: var(--font-size-h2);
}

h4, .c-h4 {
  font-size: 1rem;
  font-size: var(--font-size-body);
}

.c-subtitle {
  display: block;
  line-height: 1.2;
  font-size: 0.66rem;
  font-size: var(--font-size-body-xxs);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  padding-bottom: 0.75em;
}

.c-main-title .c-subtitle {
  color: #004087;
  color: var(--text-color-title);
}

.c-message-alert .c-subtitle,
.c-message-alert h2 {
  padding-right: 40px;
}

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

.c-text-block p,
.c-footer-main p {
  padding-bottom: 1.5em;
}

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

.c-text-block p + h2,
.c-text-block p + h3,
.c-text-block p + h4,
.c-text-block ul + p,
.c-text-block ul + h2,
.c-text-block ul + h3,
.c-text-block ul + h4,
.c-text-block ul + ol,
.c-text-block ol + p,
.c-text-block ol + h2,
.c-text-block ol + h3,
.c-text-block ol + h4,
.c-accordion-inner .c-contact + p,
.c-accordion-inner .c-contact + ul,
.c-accordion-inner .c-contact + h3,
.c-accordion-inner .c-contact + h4 {
  padding-top: 1.5em;
}

.c-accordion-inner p + .c-contact,
.c-accordion-inner ul + .c-contact {
  margin-top: 1.5em;
}

.c-text-only + .c-text-only h2:first-child,
.c-text-only + .c-text-only h3:first-child {
  padding-top: 1.5em;
}

.c-lead,
.c-showroom-box p {
  font-size: 1.33rem;
  font-size: var(--font-size-lead);
  font-weight: var(--font-weight-normal);
}

.c-filter-quicklinks {
  font-size: 1.33rem;
  font-size: var(--font-size-lead);
}

.c-lead + h1 {
  padding-top: 4rem;
  padidng-top: var(--spacing-m);
  padding-bottom: 0;
}

.c-text-small,
.c-text-block blockquote cite,
figcaption,
.c-offcanvas-meta,
.c-header-meta {
  font-size: 0.77rem; /* 14px */
  font-size: var(--font-size-body-xs);
}

figcaption {
  display: block;
  padding-top: 0.75rem;
  padding-top: var(--spacing-xs);
}

.c-footer-disclaimer,
.c-footer-nav-list ul,
.c-offcanvas-menu-content {
  font-size: 0.88rem; /* 16px */
  font-size: var(--font-size-body-s);
}

.c-text-big {
  /*font-size: 1.77rem; 
  font-size: var(--font-size-body-l);*/
  font-size: 1rem;
  font-size: var(--font-size-body);
}

/* ==========================================================================
   Basic Lists Content 
   ========================================================================== */
.c-text-block ul,
.c-text-block ol,
.c-form-bullet-list {
  margin: 0;
  padding: 0 0 1.5em 0;
  list-style: none;
}

.c-form-bullet-list {
  padding-top: 1em;
  padding-bottom: 0;
}

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

.c-text-block .c-link-list li,
.c-link-list li,
.c-text-block .c-category-list li {
  padding-left: 0;
}

.c-text-block ol li {
  position: relative;
  padding-left: 32px;
}

.c-text-block ul li + li,
.c-text-block ol li + li,
.c-form-bullet-list li + li {
  margin-top: 0.5em;
}

.c-text-block .c-category-list li + li {
  margin-top: 0;
}

.c-text-block ul li::before,
.c-form-bullet-list li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #004087;
  background-color: var(--color-highlight);
}

.c-text-block .c-link-list li::before,
.c-text-block .c-showroom-box-list li::before {
  background-color: transparent;
}

.c-text-block ol {
  counter-reset: custom-counter;
}

.c-text-block ol li {
  counter-increment: custom-counter;
}

.c-text-block ol li::before {
  content: counter(custom-counter) ". ";
  position: absolute;
  left: 0;
  top: 0;
  width: 26px;
  color: #000;
  color: var(--text-color);
  font-weight: bold;
  text-align: right;
}

.c-jobs-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: solid 1px #d1d4d5;
  border-width: var(--border-width-thin);
  border-color: var(--border-basic);
}

.c-jobs-list li {
  padding: 1em 0;
  border-bottom: solid 1px #d1d4d5;
  border-width: var(--border-width-thin);
  border-color: var(--border-basic);
}

.c-specification-list {
  margin: 0;
  padding: 0 0 1.5em 0;
  border-top: solid 2px #d1d4d5;
  border-color: var(--border-basic);
}

.c-specification-list {
  overflow: hidden;
  display: flex;
  flex-flow: row wrap;
}

.c-specification-list dt,
.c-specification-list dd {
  margin: 0;
  padding: 0.75rem 0;
  padding: var(--spacing-xs) 0;
  border-bottom: solid 2px #d1d4d5;
  border-color: var(--border-basic);
}

.c-specification-list dt {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 60%;
  -ms-flex: 0 0 60%;
  flex: 0 0 60%;
  max-width: 60%;
  padding-right: 20px;
}

.c-specification-list dd {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 40%;
  -ms-flex: 0 0 40%;
  flex: 0 0 40%;
  max-width: 40%;
}

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

.c-text-block blockquote p {
  position: relative;
  padding: 0;
}

.c-text-block blockquote cite {
  display: block;
  font-style: normal;
}

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

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

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

/* ==========================================================================
   Text sizes responsive
   ========================================================================== */
.c-teaser h3 {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

@media only screen and (min-width: 1440px) {
  .c-main-teaser h3,
.c-cross-teaser h3 {
    padding-bottom: 0.5em;
    line-height: 1.25;
    font-size: var(--font-size-h3);
  }
}
@media only screen and (max-width: 1360px) {
  h1, .c-h1,
h2, .c-h2,
h3, .c-h3 {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
@media only screen and (max-width: 1200px) {
  :root {
    --font-size-h1: 2.66rem;
    --font-size-lead: 1.125rem;
  }
  .c-footer {
    font-size: 0.88rem;
    font-size: var(--font-size-body-s);
  }
}
@media only screen and (max-width: 1100px) {
  .c-main-nav {
    font-size: 0.88rem;
    font-size: var(--font-size-body-s);
  }
}
@media only screen and (max-width: 980px) {
  .c-offcanvas-menu-content {
    font-size: 1rem;
    font-size: var(--font-size-body);
  }
}
@media only screen and (max-width: 850px) {
  .c-news-teaser-big h3 {
    font-size: var(--font-size-h3);
  }
}
@media only screen and (min-width: 768px) {
  .c-offcanvas-nav-list > li span {
    font-size: 1.33rem;
  }
}
@media only screen and (min-width: 651px) and (max-width: 980px) {
  .c-filter-quicklinks {
    font-size: 0.88rem;
    font-size: var(--font-size-body-s);
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --font-size-h1: 1.85rem;
    --font-size-h2: 1.5rem;
    --font-size-h3: 1.125rem;
    --font-size-lead: 1.125rem;
    --font-size-body-l: 1.5rem;
  }
  .c-filter-list {
    font-size: 0.88rem; /* 16px */
    font-size: var(--font-size-body-s);
  }
  .c-organigramm,
.c-offcanvas-meta-list {
    font-size: 0.88rem;
    font-size: var(--font-size-body-s);
  }
}
@media only screen and (max-width: 650px) {
  .c-filter-quicklinks {
    font-size: 0.55rem;
    text-transform: uppercase;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  background-color: #fff;
  background-color: var(--bg-content);
  z-index: 10;
}

.c-header-inner {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  height: var(--header-inner-height);
  margin-top: 54px;
  margin-top: var(--header-inner-margin-top);
}

.c-header-logo {
  position: relative;
  width: 350px;
  height: 88px;
}

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

/* ==========================================================================
   Header sticky 
   ========================================================================== */
.c-header-sticky {
  position: fixed;
  border-bottom: solid 1px #d2d4d5;
}

.c-header-sticky .c-header-inner {
  padding-top: 15px;
  padding-bottom: 15px;
}

.c-header-sticky .c-header-logo {
  position: relative;
  width: 270px;
  height: 67px;
}

.c-header-sticky .c-header-meta {
  display: none;
}

/* ==========================================================================
   skip link
   ========================================================================== */
.c-skip-link {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  display: inline-block;
  color: #004087;
  color: var(--color-highlight);
  font-weight: bold;
  border: solid 2px #004087;
  border-top: none;
  background-color: #fff;
  background-color: var(--bg-content);
  padding: 0.5em 20px;
  border-radius: 0 0 20px 20px;
}

.c-skip-link:focus {
  clip: auto;
  height: auto;
  overflow: auto;
  position: absolute;
  width: auto;
  color: #004087;
  color: var(--color-highlight);
}

/* ==========================================================================
   main nav 
   ========================================================================== */
.c-main-nav {
  justify-content: flex-end;
  padding-right: 70px;
}

.c-main-nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

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

.c-main-nav-list li + li {
  padding-left: 2em;
}

.c-main-nav-list a,
.c-main-anv-list a:visited {
  display: inline-block;
  position: relative;
  text-transform: uppercase;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.c-main-nav-list a:hover,
.c-main-nav-list a:focus {
  color: #545455;
  color: var(--color-nav-hover);
}

.c-main-nav-list a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background-color: #004087;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-main-nav-list a:focus::before,
.c-main-nav-list a:hover::before,
.c-main-nav-list .c-active a::before {
  height: 4px;
  height: var(--border-width-fat);
}

/* ==========================================================================
   meta 
   ========================================================================== */
.c-header-meta {
  padding-top: 24px;
  height: 50px;
  height: var(--header-meta-height);
}

.c-header-meta-list,
.c-offcanvas-meta-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-header-meta-list li + li,
.c-offcanvas-meta-list li + li {
  padding-left: 2em;
}

.c-header-meta-list a,
.c-header-meta-list a:visited {
  color: #666666;
  color: var(--text-color-medium);
}

.c-header-meta-list a:focus,
.c-header-meta-list a:hover {
  color: #004087;
  color: var(--color-highlight);
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 6.5rem;
  padding-bottom: 4rem;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-m);
  background-color: #004087;
  background-color: var(--bg-dark);
}

.c-footer-main {
  padding-bottom: 4rem;
  padding-bottom: var(--spacing-m);
  line-height: 1.7;
}

.c-footer-nav {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-footer-teaser {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  margin-bottom: 4rem;
  margin-bottom: var(--spacing-m);
  line-height: 1.2;
}

.c-footer-disclaimer-list,
.c-footer-link-list,
.c-footer-teaser-list,
.c-footer-social-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-footer a,
.c-footer a:visited,
.c-footer-main a,
.c-footer-main a:visited {
  color: #000;
  color: var(--text-color);
}

.c-footer a:hover,
.c-footer a:focus,
.c-footer-main a:hover,
.c-footer-main a:focus {
  color: #004087;
  color: var(--color-highlight);
}

.c-footer-logo {
  position: relative;
  width: 350px;
  height: 88px;
  margin-bottom: 4rem;
  margin-bottom: var(--spacing-m);
}

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

.c-footer-social-list li {
  display: inline-block;
  padding: 0.5em 1em 0.5em 0;
}

/* ==========================================================================
   Footer teaser
   ========================================================================== */
.c-footer-teaser-list {
  display: flex;
  flex-flow: row wrap;
  margin-right: -15px;
  margin-left: -15px;
  margin-left: var(--grid-row);
  margin-right: var(--grid-row);
}

.c-footer-teaser-list li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
  padding-right: 15px;
  padding-left: 15px;
  padding-left: var(--grid-col);
  padding-right: var(--grid-col);
  padding-top: 1em;
  padding-bottom: 1em;
}

.c-footer-teaser::before,
.c-footer-teaser::after {
  content: "";
  position: absolute;
  top: 0;
  left: 30px;
  left: var(--grid-container);
  width: calc(100% - 60px);
  width: calc(100% - var(--grid-container) * 2);
  height: 1px;
  height: var(--border-width-thin);
  background-color: #d1d4d5;
  background-color: var(--border-light-blue);
}

.c-footer-teaser::after {
  top: auto;
  bottom: 0;
}

/* ==========================================================================
   Disclaimer
   ========================================================================== */
.c-footer-disclaimer-list li {
  display: inline-block;
}

.c-footer-disclaimer-list > li + li {
  padding-left: 2em;
}

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 50%;
  right: 30px;
  right: var(--grid-container);
  width: 40px;
  height: 40px;
  margin: -20px 0 0 0;
  color: transparent;
  transform: perspective(1px) translateZ(0);
  transition: all 0.2s ease-in-out;
  overflow: hidden;
}

.c-offcanvas-trigger::before,
.c-offcanvas-trigger::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
}

.c-offcanvas-trigger-open::before,
.c-offcanvas-trigger-open::after {
  width: 26px;
  transition: width 0.2s ease-in-out;
}

.c-offcanvas-trigger-open::before {
  height: 20px;
  margin-top: -10px;
  border-top: 4px solid #004087;
  border-bottom: 4px solid #004087;
  border-color: var(--color-highlight);
}

.c-offcanvas-trigger-open::after {
  height: 4px;
  background-color: #004087;
  background-color: var(--color-highlight);
  margin-top: -2px;
}

.c-offcanvas-trigger-open:focus::after,
.c-offcanvas-trigger-open:hover::after {
  width: 15px;
}

.c-offcanvas-trigger-close::before,
.c-offcanvas-trigger-close::after {
  background-color: #004087;
  background-color: var(--color-highlight);
  margin-top: -2px;
  height: 4px;
  width: 26px;
  transition: all 0.5s;
}

.c-offcanvas-trigger-close::before {
  transform: rotate(-45deg);
}

.c-offcanvas-trigger-close::after {
  transform: rotate(45deg);
}

.c-offcanvas-trigger-close:hover::before,
.c-offcanvas-trigger-close:hover::after {
  transform: rotate(0deg);
}

/* ==========================================================================
   Offcanvas nav main container
   ========================================================================== */
.c-offcanvas-nav {
  /*display: none;*/
  position: absolute;
  top: 0;
  left: 0;
  background-color: #004087;
  background-color: var(--bg-dark);
  color: #fff;
  color: var(--text-color-light);
  z-index: 10;
  width: 0;
  height: 0;
  overflow-y: auto;
  transition: height 0.2s ease-out 0s;
}

#open-navigation:not(:target) .c-offcanvas-nav {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.c-offcanvas-inner {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow-y: auto;
}

.c-offcanvas-inner .c-header-inner {
  margin-top: calc(var(--header-inner-margin-top) + var(--header-meta-height));
}

/* ==========================================================================
   Offcanvas Content
   ========================================================================== */
.c-offcanvas-content {
  padding-top: 0;
}

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

.c-offcanvas-meta-list {
  padding-bottom: 4rem;
}

.c-offcanvas-nav-list {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  margin-right: -15px;
  margin-left: -15px;
  margin-left: var(--grid-row);
  margin-right: var(--grid-row);
}

.c-offcanvas-nav-list > li {
  position: relative;
  flex: 0 0 25%;
  max-width: 25%;
  padding-top: 1em;
  padding-right: 15px;
  padding-left: 15px;
  padding-left: var(--grid-col);
  padding-right: var(--grid-col);
}

.c-offcanvas-menu-content {
  font-weight: var(--font-weight-extrabold);
}

.c-offcanvas-menu-content ul {
  padding-left: 0;
  margin-top: 1em;
  padding-bottom: 4rem;
  font-weight: 400;
  font-weight: var(--font-weight-normal);
}

.c-offcanvas-menu-content ul ul {
  /*margin-top: 0.75em;*/
  padding-left: 24px;
  padding-bottom: 3rem;
}

.c-offcanvas-menu-content li:first-child {
  margin-top: 1.1em;
}

.c-offcanvas-menu-content ul li:first-child {
  margin-top: 0;
}

.c-offcanvas-menu-content ul li + li {
  padding-top: 1em;
}

.c-offcanvas-menu-content ul ul li + li {
  padding-top: 0.65em;
}

.c-offcanvas-meta-list a,
.c-offcanvas-meta-list a:visited,
.c-offcanvas-nav-list a,
.c-offcanvas-nav-list a:visited {
  color: #004087;
  color: var(--color-highlight);
}

.c-offcanvas-meta-list a:hover,
.c-offcanvas-meta-list a:focus,
.c-offcanvas-nav-list a:hover,
.c-offcanvas-nav-list a:focus {
  color: #545455;
  color: var(--color-nav-hover);
}

.c-text-light .c-offcanvas-meta-list .c-btn-secondary:hover,
.c-text-light .c-offcanvas-meta-list .c-btn-secondary:focus {
  color: var(--text-color-light);
}

.c-offcanvas-nav-list span a {
  display: inline-block;
  position: relative;
  padding-bottom: 0.5em;
  transition: all 0.2s ease-in-out;
}

.c-offcanvas-nav-list span a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background-color: #545455;
  background-color: var(--color-nav-hover);
  transition: all 0.2s linear;
}

.c-offcanvas-nav-list span a:focus::before,
.c-offcanvas-nav-list span a:hover::before,
.c-offcanvas-nav-list .c-active span a::before {
  height: 4px;
  height: var(--border-width-fat);
}

.c-offcanvas-menu-content a {
  display: inline-block;
  position: relative;
  padding: 0.25em;
  transition: all 0.2s ease-in-out;
}

.c-offcanvas-menu-content a::before {
  content: "";
  display: block;
  left: -4px;
  position: absolute;
  top: 50%;
  margin-top: -7px;
  height: 0;
  width: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 10px 10px 0;
  transform: rotate(-90deg);
  transition: all 0.2s ease-in-out;
}

.c-offcanvas-menu-content .c-active > a {
  padding-left: 24px;
}

.c-offcanvas-menu-content .c-active > a::before {
  border-color: var(--color-nav-hover) transparent transparent transparent;
}

/* ==========================================================================
   Offcanvas accordion
   ========================================================================== */
.c-offcanvas-menu-check {
  position: absolute;
  left: -9999px;
}

.c-offcanvas-menu-title {
  display: block;
  position: relative;
  cursor: pointer;
  padding: 1em 0 1em 54px;
  transition: all 0.2s ease-in-out;
  text-align: left;
  color: #004087;
  color: var(--text-color-title);
}

.c-offcanvas-menu-check:checked + label::after,
.c-offcanvas-menu-check:not(:checked) + label::after,
.c-offcanvas-menu-check:checked + label::before,
.c-offcanvas-menu-check:not(:checked) + label::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 11px);
  border-radius: 0;
  transition: all 0.2s ease-out;
}

.c-offcanvas-menu-check:checked + label::after,
.c-offcanvas-menu-check:not(:checked) + label::after {
  left: 14px;
  margin-top: 9px;
  width: 22px;
  height: 4px;
  background-color: #004087;
  background-color: var(--color-highlight);
}

.c-offcanvas-menu-check:checked + label::before,
.c-offcanvas-menu-check:not(:checked) + label::before {
  left: 23px;
  width: 4px;
  height: 22px;
  background-color: transparent;
  transition: all 0.2s ease-in-out;
}

.c-offcanvas-menu-check:not(:checked) + label::before {
  background-color: #004087;
  background-color: var(--color-highlight);
}

/* ==========================================================================
   Offcanvas Responsive
   ========================================================================== */
@media only screen and (min-width: 981px) {
  .c-offcanvas-menu-check,
.c-offcanvas-menu-title,
.c-offcanvas-menu-link-mobile {
    display: none;
  }
  .c-offcanvas-nav-list ul {
    margin-top: 1.1em;
  }
  .c-offcanvas-nav-list .c-offcanvas-menu-content {
    margin-top: 2.1em;
  }
}
@media only screen and (max-width: 980px) {
  .c-offcanvas-nav-list::before,
.c-offcanvas-nav-list > li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 15px;
    left: var(--grid-col);
    width: calc(100% - 30px);
    width: calc(100% - var(--grid-container));
    height: 1px;
    height: var(--border-width-thin);
    background-color: #d1d4d5;
    background-color: var(--border-light-blue);
  }
  .c-offcanvas-nav-list::before {
    top: auto;
    bottom: 0;
  }
  .c-offcanvas-nav-list > li {
    flex: 0 0 100%;
    max-width: 100%;
    padding-top: 0;
  }
  .c-offcanvas-menu-title + span {
    display: none;
  }
  .c-offcanvas-menu-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
  }
  .c-offcanvas-menu-content > li {
    padding-left: 54px;
  }
  .c-offcanvas-menu-check:checked ~ .c-offcanvas-menu-content {
    max-height: 9999px;
    transition: max-height 0.3s cubic-bezier(1, 0, 1, 0);
    padding-bottom: 2em;
  }
  .c-offcanvas-menu-content ul {
    padding-bottom: 3rem;
  }
  .c-offcanvas-menu-content ul ul {
    padding-bottom: 2rem;
  }
  .c-offcanvas-menu-link-mobile {
    margin-bottom: 1.1em;
  }
}
@media only screen and (max-width: 767px) {
  .c-offcanvas-meta-list {
    display: block;
  }
  .c-offcanvas-meta-list li + li {
    padding-left: 0;
    padding-top: 1rem;
  }
}
@media only screen and (max-width: 600px) {
  .c-offcanvas-menu-title {
    padding: 1em 0 1em 32px;
  }
  .c-offcanvas-menu-content > li {
    padding-left: 32px;
  }
  .c-offcanvas-menu-check:checked + label::after,
.c-offcanvas-menu-check:not(:checked) + label::after,
.c-offcanvas-menu-check:checked + label::before,
.c-offcanvas-menu-check:not(:checked) + label::before {
    top: calc(50% - 8px);
  }
  .c-offcanvas-menu-check:checked + label::after,
.c-offcanvas-menu-check:not(:checked) + label::after {
    left: 0;
    margin-top: 7px;
    width: 18px;
  }
  .c-offcanvas-menu-check:checked + label::before,
.c-offcanvas-menu-check:not(:checked) + label::before {
    left: 7px;
    height: 18px;
  }
}
@media only screen and (max-width: 440px) {
  .c-offcanvas-meta-list .c-btn-secondary {
    display: block;
    width: 100%;
  }
}
/* ==========================================================================
   Offcanvas nav open
   ========================================================================== */
#open-navigation:target {
  position: relative;
  top: auto;
  height: auto;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#open-navigation:target .c-offcanvas-nav {
  width: 100%;
  height: 100vh;
  overflow-y: auto;
}
#open-navigation:target .c-offcanvas-trigger-open {
  display: none;
}
#open-navigation:target .c-quicknav-sticky,
#open-navigation:target .c-cookie-notice {
  z-index: 1;
}

/*@import "components/_tables";*/
/* ==========================================================================
   Colors
   ========================================================================== */
.c-bg-light {
  background-color: #F4F4F5;
  background-color: var(--bg-light);
}

.c-bg-dark {
  background-color: #004087;
  background-color: var(--bg-dark);
}

.c-message-alert {
  background-color: #285FC3;
  background-color: var(--color-alert);
}

/* ==========================================================================
  Showroom 
   ========================================================================== */
.c-showroom {
  overflow: hidden;
}

.c-showroom .c-asym-right-edgeless-img {
  margin-left: -41.667%;
}

.c-showroom-box-list,
.c-text-block .c-showroom-box-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-text-block .c-showroom-box-list li {
  padding-left: 0;
}

/* ==========================================================================
  Breadcrumb / category list
   ========================================================================== */
.c-breadcrumb {
  line-height: 1;
  padding-top: 4rem;
  padding-top: var(--spacing-m);
  font-weight: var(--font-weight-medium);
  color: #004087;
  color: var(--color-highlight);
}

.c-breadcrumb a {
  color: #000;
  color: var(--text-color);
}

.c-breadcrumb a:hover,
.c-breadcrumb a:focus {
  color: #004087;
  color: var(--color-highlight);
}

.c-breadcrumb ul,
.c-category-list,
.c-news-item-text .c-category-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-breadcrumb li,
.c-category-list li {
  position: relative;
  padding-right: 28px;
  margin-bottom: 0.75rem;
  margin-bottom: var(--spacing-xs);
}

.c-breadcrumb li:last-child,
.c-category-list li:last-child {
  position: relative;
  padding-right: 0;
}

.c-breadcrumb li::before,
.c-category-list li::before,
.c-text-block .c-category-list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(100% - 14px);
  width: 2px;
  width: var(--border-width-thin);
  height: 100%;
  background-color: #d1d4d5;
  border-color: var(--border-basic);
}

.c-breadcrumb li:last-child::before,
.c-category-list li:last-child::before {
  background: none;
}

.c-category-list {
  text-transform: uppercase;
}

/* ==========================================================================
  Accordion
   ========================================================================== */
.c-accordion-container {
  position: relative;
  width: 100%;
  border-top: 2px solid #d1d4d5;
  border-bottom: 2px solid #d1d4d5;
  border-color: var(--border-basic);
  border-width: var(--border-width-thin);
}

.c-accordion-container + .c-accordion-container {
  border-top: none;
}

.c-accordion-title {
  display: block;
  position: relative;
  cursor: pointer;
  padding: 1em 0 1em 54px;
  transition: all 0.2s ease-in-out;
  text-align: left;
  color: #004087;
  color: var(--text-color-title);
}

.c-accordion-small .c-accordion-title {
  padding: 1em 0 1em 32px;
}

.c-accordion-title:focus,
.c-accordion-title:hover {
  background-color: #F4F4F5;
  background-color: var(--bg-light);
}

.c-accordion-check {
  position: absolute;
  left: -9999px;
}

.c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before,
.c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 11px);
  border-radius: 0;
  transition: all 0.2s ease-out;
}

.c-accordion-small .c-accordion-check:checked + label::before,
.c-accordion-small .c-accordion-check:not(:checked) + label::before,
.c-accordion-small .c-accordion-check:checked + label::after,
.c-accordion-small .c-accordion-check:not(:checked) + label::after {
  top: calc(50% - 8px);
}

.c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after {
  left: 14px;
  margin-top: 9px;
  width: 22px;
  height: 4px;
  background-color: #004087;
  background-color: var(--color-highlight);
}

.c-accordion-small .c-accordion-check:checked + label::after,
.c-accordion-small .c-accordion-check:not(:checked) + label::after {
  left: 0;
  margin-top: 7px;
  width: 18px;
}

.c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before {
  left: 23px;
  width: 4px;
  height: 22px;
  background-color: transparent;
  transition: all 0.2s ease-in-out;
}

.c-accordion-small .c-accordion-check:checked + label::before,
.c-accordion-small .c-accordion-check:not(:checked) + label::before {
  left: 7px;
  height: 18px;
}

.c-accordion-check:not(:checked) + label::before {
  background-color: #004087;
  background-color: var(--color-highlight);
}

/* Contents */
.c-accordion-content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}

.c-accordion-inner {
  padding: 0.75rem 25% 4rem 54px;
  padding: var(--spacing-xs) 25% var(--spacing-m) 54px;
}

.c-accordion-small .c-accordion-inner {
  padding: 0.75rem 0 1.5rem 32px;
  padding: var(--spacing-xs) 0 var(--spacing-s) 32px;
}

.c-accordion-check:checked ~ .c-accordion-content {
  max-height: 9999px;
  transition: max-height 0.3s cubic-bezier(1, 0, 1, 0);
}

/* contact snippet inside accordion */
.c-accordion-inner .c-contact {
  position: relative;
}

/* ==========================================================================
  main teaser / cross teaser / news teaser / overview teaser
   ========================================================================== */
.c-box {
  padding: 1.5em 32px;
  padding: var(--padding-box);
}

.c-box-border {
  border: solid 2px #d1d4d5;
  border-color: var(--border-basic);
  border-width: var(--border-width-thin);
}

.c-news-item,
.c-teaser-item {
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease-out;
}

.c-teaser-item .c-link-arrow-big,
.c-news-item .c-link-arrow-big,
.c-news-item-text .c-link-arrow-big {
  pointer-events: none;
}

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

.c-main-teaser .c-teaser-item {
  color: #fff;
  background-color: #004087;
  background-color: var(--color-highlight);
}

/*.c-main-teaser .c-col-4:nth-child(4n+1) .c-teaser-item{
    background-color: var(--color-highlight);
}

.c-main-teaser .c-col-4:nth-child(5n+2) .c-teaser-item{
    background-color: var(--bg-dark-2);
}*/
.c-main-teaser .c-teaser-item h3 a,
.c-main-teaser .c-teaser-item .c-link-bold {
  color: #fff;
  color: var(--text-color-light);
}

.c-main-teaser .c-teaser-item:hover {
  background: var(--bg-gradient);
  color: var(--text-color-light);
}

.c-main-teaser .c-teaser-item:hover h3 a,
.c-main-teaser .c-teaser-item:hover .c-link-bold {
  color: var(--text-color-light);
}

.c-main-teaser .c-teaser-item:focus-within {
  background: var(--bg-gradient);
  color: var(--text-color-light);
}

.c-main-teaser .c-teaser-item:focus-within h3 a,
.c-main-teaser .c-teaser-item:focus-within .c-link-bold {
  color: var(--text-color-light);
}

.c-cross-teaser .c-teaser-item {
  background-color: #F4F4F5;
  background-color: var(--bg-light);
}

.c-cross-teaser .c-teaser-item h3 a,
.c-news-item h3 a {
  color: #000;
  color: var(--text-color);
}

.c-cross-teaser .c-teaser-item:hover {
  background: var(--bg-gradient);
}

.c-cross-teaser .c-teaser-item:hover,
.c-cross-teaser .c-teaser-item:hover h3 a,
.c-cross-teaser .c-teaser-item:hover .c-link-bold {
  color: var(--text-color-light);
}

.c-cross-teaser .c-teaser-item:focus-within {
  background: var(--bg-gradient);
}

.c-cross-teaser .c-teaser-item:focus-within,
.c-cross-teaser .c-teaser-item:focus-within h3 a,
.c-cross-teaser .c-teaser-item:focus-within .c-link-bold {
  color: var(--text-color-light);
}

.c-news-item-text,
.c-overview-item-text {
  border-left: solid 2px #d1d4d5;
  border-width: var(--border-width-thin);
  border-color: var(--border-basic);
  padding: 1.5em 0 0 32px;
  padding: var(--padding-news-item);
}

.c-news-teaser-big .c-news-item-text {
  border-left: none;
  border-top: solid 2px #d1d4d5;
  border-width: var(--border-width-thin);
  border-color: var(--border-basic);
  padding: 2.5em 0 0 0;
}

.c-news-item-text ul + h3 {
  padding-top: 0;
}

/*.c-news-item-text p {
    padding-bottom: 1em;
}*/
.c-ratiobox-news img {
  transition: all 0.2s ease-out;
}

.c-news-item:hover .c-ratiobox-news img {
  transform: scale(1.02);
}

.c-news-item:focus-within .c-ratiobox-news img {
  transform: scale(1.02);
}

.c-news-teaser-big .c-col-4,
.c-news-teaser-big .c-col-6 {
  position: unset;
}

/* crossteaser / mainteaser without smaller arrow */
.c-main-teaser .c-text-block p,
.c-cross-teaser .c-text-block p,
.c-news-item-text p {
  padding-bottom: 0.35em;
}

/* overview teaser */
.c-overview-item-text p + ul {
  padding-top: 1.25em;
}

/* ==========================================================================
  Lines
   ========================================================================== */
.c-line-top::before,
.c-line-bottom::after {
  content: "";
  position: absolute;
  left: 30px;
  left: var(--grid-container);
  width: calc(100% - 60px);
  width: calc(100% - var(--grid-container) * 2);
  height: 1px;
  height: var(--border-width-thin);
  background-color: #d1d4d5;
  background-color: var(--border-basic);
}

.c-line-top::before {
  top: 0;
}

.c-line-bottom::after {
  bottom: 0;
}

/* for contact snippet inside accordion */
.c-accordion-inner .c-line-top::before,
.c-accordion-inner .c-line-bottom:after {
  left: 0;
  width: 100%;
}

/* ==========================================================================
  Filter list / filter quicklinks
   ========================================================================== */
.c-filter-list,
.c-filter-quicklinks-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-filter-list li {
  display: inline-block;
  padding-right: 2em;
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-filter-list a,
.c-filter-quicklinks-list a {
  display: inline-block;
  position: relative;
  padding-bottom: 0.5em;
}

.c-filter-list a,
.c-filter-list a:visited,
.c-filter-quicklinks-list a,
.c-filter-quicklinks-list a:visited {
  color: #000;
  color: var(--text-color);
}

.c-filter-list a:hover,
.c-filter-list a:focus,
.c-filter-quicklinks-list a:hover,
.c-filter-quicklinks-list a:focus {
  color: #004087;
  color: var(--color-highlight);
}

.c-filter-list a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background-color: #004087;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-filter-list a:focus::before,
.c-filter-list a:hover::before,
.c-filter-list .c-active a::before {
  height: 4px;
  height: var(--border-width-fat);
}

/* ==========================================================================
   Filter quicklinks 
   ========================================================================== */
.c-filter-quicklinks {
  z-index: 1;
}

.c-filter-quicklinks-list {
  display: flex;
  flex-flow: row wrap;
}

.c-filter-quicklinks-list li {
  display: flex;
  flex-flow: column;
  flex: 0 0 25%;
  max-width: 25%;
  align-content: flex-end;
}

.c-filter-quicklinks-list a {
  flex-grow: 1;
  display: block;
  text-align: center;
  padding-top: 110px;
  padding-bottom: 1em;
}

.c-filter-quicklinks-list a::before {
  content: "";
  position: absolute;
  top: calc(100% - 30px);
  left: 50%;
  border: solid transparent;
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(255, 255, 255, 0);
  border-top-color: transparent;
  border-width: 16px 20px 0;
  margin-left: -20px;
  transition: all 0.2s linear;
}

.c-filter-quicklinks-list a:focus::before,
.c-filter-quicklinks-list a:hover::before,
.c-filter-quicklinks-list .c-active a::before {
  top: 100%;
  border-top-color: #fff;
  border-top-color: var(--text-color-light);
}

/* ==========================================================================
  quicklinks
   ========================================================================== */
.c-quicklinks-content-inner {
  background: #004087;
  background: var(--bg-gradient);
}

.c-quicklinks-list {
  display: flex;
  margin: 0 -15px;
  margin: 0 var(--grid-row);
  flex-flow: row wrap;
  padding: 0;
  list-style: none;
}

.c-quicklinks-list li {
  position: relative;
  padding: 1em 15px;
  padding: 1em var(--grid-col);
  flex: 0 0 100%;
  max-width: 100%;
}

.c-quicklinks-list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 15px;
  left: var(--grid-col);
  width: calc(100% - 30px);
  width: calc(100% - var(--grid-col) * 2);
  height: 2px;
  height: var(--border-width-thin);
  background-color: #d1d4d5;
  background-color: var(--border-light-blue);
}

.c-quicklinks-list li:nth-child(1)::before {
  background-color: transparent;
}

/* ==========================================================================
   quick nav sticky
   ========================================================================== */
.c-quicknav-sticky {
  display: none;
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 11;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-quicknav-sticky ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: bold;
}

.c-quicknav-sticky li {
  position: relative;
  height: 70px;
  margin-top: 2px;
  margin-bottom: 2px;
  margin-top: var(--border-width-thin);
  margin-top: var(--border-width-thin);
}

.c-quicknav-sticky a {
  display: block;
  position: absolute;
  top: 0;
  right: -190px;
  line-height: 70px;
  padding-left: 76px;
  width: 260px;
  background-color: #004087;
  background-color: var(--color-highlight);
  background: var(--bg-gradient);
  transition: all 0.25s ease;
}

.c-quicknav-sticky li:first-child a {
  border-radius: 20px 0 0 0;
}

.c-quicknav-sticky li:last-child a {
  border-radius: 0 0 0 20px;
}

.c-quicknav-sticky a,
.c-quicknav-sticky a:visited,
.c-quicknav-sticky a:focus,
.c-quicknav-sticky a:hover {
  color: #fff;
  color: var(--text-color-light);
}

.c-quicknav-sticky a:focus,
.c-quicknav-sticky a:hover {
  right: 0;
}

/* ==========================================================================
  map
   ========================================================================== */
.c-map {
  /*margin-bottom: 40px;*/
}

.c-map-inner {
  box-sizing: content-box;
  height: 600px;
  height: 65vh;
  background-color: #F4F4F5;
}

/* ==========================================================================
  search / search results
   ========================================================================== */
.c-search-result-list {
  margin: 0 -15px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.c-search-result-list li {
  padding: 0 15px;
  padding-left: var(--grid-col);
  padding-right: var(--grid-col);
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-search-result-list li {
  padding-bottom: 30px;
  padding-bottom: var(--grid-container);
}

.c-search-result-list .c-active .c-box {
  border-color: #004087;
  border-color: var(--bg-dark);
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}

/* ==========================================================================
  text img 2 col
   ========================================================================== */
.c-text-img-2col-wide {
  background-color: #F4F4F5;
  background-color: var(--bg-light);
}

.c-text-img-2col-wide figure {
  padding-bottom: 1.2em;
  padding-bottom: 1.2em;
}

/* ==========================================================================
  Organigramm
   ========================================================================== */
.c-organigramm-item {
  min-height: 6.2em;
  margin-bottom: 20px;
  margin-bottom: var(--spacing-organigramm-s);
}

.c-organigramm-bg-l1 {
  background-color: #004087;
  border-color: #004087;
  background-color: var(--bg-dark);
  border-color: var(--bg-dark);
}

/*.c-organigramm-bg-stab {
    background-color: $bg-light;
    border-color: $bg-light;
    background-color: var(--bg-light);
    border-color: var(--bg-light);
}*/
.c-organigramm-bg-l2,
.c-organigramm-bg-stab {
  background-color: #285fc3;
  border-color: #285fc3;
  background-color: var(--bg-organigramm-l2);
  border-color: var(--bg-organigramm-l2);
  color: var(--text-color-light);
}

.c-organigramm-bg-l3 {
  background-color: #d4dff3;
  border-color: #d4dff3;
  background-color: var(--bg-organigramm-l3);
  border-color: var(--bg-organigramm-l3);
  color: var(--text-color);
}

.c-organigramm-separator {
  margin: 0;
  padding: 0 0 6.5rem 0;
  padding-bottom: calc(var(--spacing-l) - var(--spacing-organigramm-s));
  height: 1px;
  border: none;
  background: none;
}

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 100%;
  padding: 1.5rem 32px;
  background-color: #004087;
  background: var(--bg-gradient);
  color: #fff;
  color: var(--text-color-light);
  line-height: 1.5;
  text-align: left;
  z-index: 20;
}

.c-cookie-notice p,
.c-cookie-notice ul {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.c-text-block .c-cookie-notice-list {
  padding-bottom: 0;
}

.c-text-block .c-cookie-notice-list li::before {
  background: transparent;
}

.c-text-block .c-cookie-notice-list li {
  display: inline-block;
  padding: 0.5em 0.5em 0 0;
}

@media only screen and (max-width: 650px) {
  .c-text-block .c-cookie-notice-list li {
    display: block;
  }
  .c-cookie-notice .c-btn {
    display: block;
    width: 100%;
  }
}
/* ==========================================================================
  Sub menu filter
   ========================================================================== */
.c-sub-menu-content {
  display: none;
  visibility: hidden;
}

/* Show the first sub menu container */
.c-sub-menu-content.c-active {
  display: block;
  visibility: visible;
}

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

.c-text-block a {
  background-image: linear-gradient(to bottom, #004087 0%, #004087 100%);
  background-image: linear-gradient(to bottom, var(--color-highlight) 0%, var(--color-highlight) 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 4px 4px;
  transition: background 0.1s;
}

.c-text-block a:focus,
.c-text-block a:hover {
  background-size: 8px 8px;
}

.c-text-small a {
  background-size: 2px 2px;
}

.c-text-block a:focus,
.c-text-block a:hover {
  background-size: 6px 6px;
}

.c-text-small a:focus,
.c-text-small a:hover {
  background-size: 4px 4px;
}

.c-footer-main a,
.c-footer-disclaimer a {
  background-size: 0 0;
  transition: background 0.1s;
}

.c-footer-main a:hover,
.c-footer-main a:focus,
.c-footer-disclaimer a:hover,
.c-footer-disclaimer a:focus {
  background-size: 1px 1px;
  transition: background 0.1s;
}

.c-text-block .c-btn,
.c-text-block .c-btn-secondary,
.c-text-block .c-link-icon,
.c-text-block .c-link-bold,
.c-teaser .c-text-block h3 a,
.c-news-teaser-big .c-text-block h3 a,
.c-text-block .c-showroom-box-list a {
  background-image: none;
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn,
.c-btn-secondary {
  display: inline-block;
  margin: 0;
  padding: 0.8em 24px 0.8em 24px;
  border: none;
  border-radius: 40px;
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
  font-size: 1em;
  transition: all 0.2s ease-out;
  text-decoration: none;
}

.c-btn {
  background-color: #004087;
  background-color: var(--color-highlight);
}

.c-btn,
.c-btn:visited {
  color: #fff;
  color: var(--text-color-light);
}

.c-btn:hover,
.c-btn:focus {
  color: var(--text-color-light);
  background-color: var(--bg-dark);
}

.c-btn-secondary {
  border: solid 2px #004087;
  border-width: var(--border-width-thin);
  border-color: var(--color-highlight);
  background-color: transparent;
}

.c-btn-secondary,
.c-btn-secondary:visited {
  color: #004087;
  color: var(--color-highlight);
}

.c-btn-secondary:hover,
.c-btn-secondary:focus {
  color: #fff;
  color: var(--text-color-light);
  background-color: #004087;
  background-color: var(--color-highlight);
}

.c-btn-uploadfile {
  display: block;
  width: 100%;
}

.c-btn-small {
  padding: 0.5em 20px;
}

.c-btn-close {
  position: absolute;
  display: block;
  top: 24px;
  right: 30px;
  right: var(--grid-container);
  width: 40px;
  height: 40px;
  margin: 0;
  color: transparent;
  transform: perspective(1px) translateZ(0);
  transition: all 0.2s ease-in-out;
  overflow: hidden;
}

.c-btn-close::before,
.c-btn-close::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -2px;
  height: 4px;
  width: 26px;
  background-color: #fff;
  background-color: var(--text-color-light);
  transition: all 0.5s;
}

.c-btn-close::before {
  transform: rotate(-45deg);
}

.c-btn-close::after {
  transform: rotate(45deg);
}

.c-btn-close:hover::before,
.c-btn-close:hover::after {
  transform: rotate(0deg);
}

/* ==========================================================================
  links with icons
   ========================================================================== */
.c-icon {
  position: relative;
}

.c-icon::before,
.c-icon::after,
.c-main-nav-link-arrow::after {
  content: "";
  position: absolute;
  background-image: url(sprite_322c.svg);
  background-repeat: no-repeat;
}

.c-link-icon,
.c-link-bold {
  display: inline-block;
  padding-left: 32px;
  color: #000;
  color: var(--text-color);
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-link-arrow-big {
  padding-left: 48px;
  height: 28px;
  width: 48px;
  overflow: hidden;
  text-indent: 100%;
  color: transparent;
}

.c-link-arrow-big::before {
  top: 0;
  left: 0;
  width: 48px;
  height: 28px;
  background-position: 0 -620px;
}

.c-link-arrow-big:hover::before,
.c-link-arrow-big:focus::before {
  background-position: -50px -620px;
}

.c-text-light .c-link-arrow-big::before {
  background-position: -100px -620px;
}

/*.c-cross-teaser .c-teaser-item:hover .c-link-arrow-big::before {
	background-position: -150px -620px;
}

.c-main-teaser .c-teaser-item:hover .c-link-arrow-big::before {
    background-position: -150px -620px;
}

.c-main-teaser .c-teaser-item:focus-within .c-link-arrow-big::before {
    background-position: -150px -620px;
}

.c-cross-teaser .c-teaser-item:focus-within .c-link-arrow-big::before {
    background-position: -150px -620px;
}*/
/* test small arrows in teasers */
.c-main-teaser .c-link-arrow-big,
.c-cross-teaser .c-link-arrow-big,
.c-news-item .c-link-arrow-big {
  padding-left: 38px;
  width: 38px;
  height: 16px;
}

.c-main-teaser .c-link-arrow-big::before,
.c-cross-teaser .c-link-arrow-big::before,
.c-news-item .c-link-arrow-big::before {
  width: 38px;
  height: 16px;
}

.c-main-teaser .c-teaser-item .c-link-arrow-big::before {
  background-position: -100px 0;
}

.c-cross-teaser .c-teaser-item .c-link-arrow-big::before,
.c-news-item .c-link-arrow-big::before {
  background-position: 0 0;
}

.c-cross-teaser .c-teaser-item:hover .c-link-arrow-big::before {
  background-position: -150px 0;
}

.c-main-teaser .c-teaser-item:hover .c-link-arrow-big::before {
  background-position: -150px 0;
}

.c-main-teaser .c-teaser-item:focus-within .c-link-arrow-big::before {
  background-position: -150px 0;
}

.c-cross-teaser .c-teaser-item:focus-within .c-link-arrow-big::before {
  background-position: -150px 0;
}

.c-news-item:hover .c-link-arrow-big::before {
  background-position: -50px 0;
}

.c-news-item:focus-within .c-link-arrow-big::before {
  background-position: -50px 0;
}

/* end small arrows in teasers */
.c-link-arrow::before,
.c-link-back::before {
  top: 0.35em;
  left: 0;
  width: 38px;
  height: 16px;
  background-position: 0 0;
}

.c-link-arrow:hover::before,
.c-link-arrow:focus::before {
  background-position: -50px 0;
}

.c-text-light .c-link-arrow::before,
.c-search-result-list .c-active .c-link-arrow::before {
  background-position: -100px 0;
}

.c-text-light .c-link-arrow:hover::before,
.c-search-result-list .c-active .c-link-arrow:hover::before {
  background-position: -150px 0;
}

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

.c-link-back:hover::before,
.c-link-back:focus::before {
  background-position: -50px -20px;
}

.c-link-download::before {
  top: 0.15em;
  left: 0;
  width: 16px;
  height: 20px;
  background-position: 0 -40px;
}

.c-link-download:hover::before,
.c-link-download:focus::before {
  background-position: -50px -40px;
}

.c-text-light .c-link-download::before {
  background-position: -100px -40px;
}

.c-text-light .c-link-download:hover::before,
.c-text-light .c-link-download:focus::before {
  background-position: -150px -40px;
}

.c-link-extern::before {
  top: 0em;
  left: 0;
  width: 21px;
  height: 21px;
  background-position: 0 -80px;
}

.c-link-extern:hover::before,
.c-link-extern:focus::before {
  background-position: -50px -80px;
}

.c-text-light .c-link-extern::before {
  background-position: -100px -80px;
}

.c-text-light .c-link-extern:hover::before,
.c-text-light .c-link-extern:focus::before {
  background-position: -150px -80px;
}

.c-main-nav-link-arrow::after {
  top: 0.45em;
  right: 0;
  width: 14px;
  height: 8px;
  background-position: 0 -140px;
}

.c-link-reset::before {
  top: 0.2em;
  left: 0;
  width: 24px;
  height: 20px;
  background-position: 0 -360px;
}

.c-link-reset:hover::before,
.c-link-reset:focus::before {
  background-position: -50px -360px;
}

.c-btn-search {
  position: absolute;
  top: 0;
  right: 15px;
  right: var(--grid-col);
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
  width: 54px;
  height: 100%;
}

.c-form-search-chimney .c-btn-search {
  right: 0;
}

.c-btn-search::before {
  top: 50%;
  right: 10px;
  width: 34px;
  height: 34px;
  margin-top: -16px;
  background-position: 0 -320px;
}

/* ==========================================================================
  icons
   ========================================================================== */
.c-footer-teaser-link {
  position: relative;
  display: inline-block;
  padding-left: 66px;
}

.c-footer-teaser-link span {
  display: block;
  font-weight: bold;
}

.c-footer-teaser-link::before,
.c-quicknav-link::before {
  content: "";
  position: absolute;
  background-image: url(sprite-icons_6996.svg);
  background-repeat: no-repeat;
  left: 0;
  top: 50%;
  width: 41px;
  height: 41px;
}

.c-footer-teaser-hotline::before {
  background-position: -100px 0;
  margin-top: -18px;
}

.c-footer-teaser-damage::before {
  background-position: -100px -80px;
  margin-top: -18px;
}

.c-footer-teaser-chimney::before {
  background-position: -100px -160px;
  margin-top: -18px;
}

.c-footer-teaser-weather::before {
  background-position: -100px -240px;
  margin-top: -20px;
}

.c-quicknav-link::before {
  left: 15px;
  width: 41px;
  height: 41px;
  margin-top: -20px;
}

.c-quicknav-contact::before {
  left: 16px;
  background-position: -100px 0;
}

.c-quicknav-damage::before {
  left: 18px;
  background-position: -100px -80px;
}

.c-quicknav-chimney::before {
  left: 16px;
  background-position: -100px -160px;
}

.c-quicknav-weather::before {
  background-position: -100px -240px;
}

.c-icon-quicklink::after {
  content: "";
  position: absolute;
  background-image: url(sprite-quicklinks_88f5.svg);
  background-repeat: no-repeat;
  left: 50%;
  top: 10px;
  width: 70px;
  height: 80px;
  margin-left: -35px;
}

.c-icon-quicklink-owner::after {
  background-position: 0 0;
}

.c-icon-quicklink-authority::after {
  background-position: 0 -120px;
}

.c-icon-quicklink-fire::after {
  background-position: 0 -240px;
}

.c-icon-quicklink-planner::after {
  background-position: 0 -360px;
}

.c-icon-reset {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 0.5em;
  right: 0;
  margin-top: -20px;
  cursor: pointer;
}

.c-icon-reset::before {
  top: 50%;
  right: 0;
  margin-top: -14px;
  width: 20px;
  height: 28px;
  background-position: 0 -400px;
}

.c-icon-reset:focus::before,
.c-icon-reset:hover::before {
  background-position: -50px -400px;
}

.c-icon-social {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 41px;
  transition: all 0.2s ease-out;
  overflow: hidden;
}

.c-icon-social:hover {
  transform: scale(1.08);
}

.c-icon-social::before {
  top: 0;
  left: 0;
  width: 40px;
  height: 41px;
}

.c-icon-social-linkedin::before {
  background-position: 0 -440px;
}

.c-icon-social-facebook::before {
  background-position: 0 -560px;
}

.c-icon-social-instagram::before {
  background-position: 0 -500px;
}

/* ==========================================================================
  responsive
   ========================================================================== */
@media only screen and (min-width: 651px) {
  .c-icon-quicklink:hover::after,
.c-icon-quicklink:focus::after {
    margin-top: -6px;
    transition: 0.1s ease-in-out;
  }
}
@media only screen and (max-width: 650px) {
  .c-icon-quicklink::after {
    margin-left: -20px;
    width: 40px;
    height: 40px;
  }
  .c-icon-quicklink-owner::after {
    background-position: -150px 0;
  }
  .c-icon-quicklink-authority::after {
    background-position: -150px -120px;
  }
  .c-icon-quicklink-fire::after {
    background-position: -150px -240px;
  }
  .c-icon-quicklink-planner::after {
    background-position: -150px -360px;
  }
}
/* ==========================================================================
   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,
.c-ratiobox-news {
  padding-bottom: 75%;
}

.c-ratiobox-1by1 {
  padding-bottom: 100%;
}

.c-ratiobox-showroom,
.c-ratiobox-overview {
  padding-bottom: 66.666%;
}

.c-ratiobox > img,
.c-ratiobox-showroom img,
.c-ratiobox-news img,
.c-ratiobox-overview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

/* safari date fix */
input[type=date] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  min-height: 1em;
  padding: 0.65em 12px;
}

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

::placeholder {
  color: #999999;
  color: --color-form-placeholder;
  opacity: 1;
}

.c-form-item {
  position: relative;
  width: 100%;
  padding-bottom: 1.5em;
}

.c-form-item-inner {
  position: relative;
  width: 100%;
}

.c-form-item + h3,
.c-form-standard .c-row + h3,
.c-form-standard fieldset + h3 {
  margin-top: 1.5rem;
}

.c-form-standard .c-btn {
  min-width: calc(33.333% - var(--grid-col));
}

.c-form-info-text {
  display: block;
  padding-top: 0.5em;
  font-size: 0.77rem;
  font-size: var(--font-size-body-xs);
}

/* ==========================================================================
   formfields
   ========================================================================== */
.c-form-text,
.c-form-textarea,
.c-form-select {
  width: 100%;
  font-weight: 400;
  font-weight: var(--font-weight-normal);
}

.c-form-separator {
  padding-bottom: 2em;
}

.c-form-standard .c-form-text,
.c-form-standard textarea {
  width: 100%;
  border: solid 1px #8C9396;
  border-width: var(--border-form-width);
  border-color: var(--border-form);
  color: #000;
  color: var(--text-color);
  padding: 0.65em 12px;
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-standard input[type=file] {
  width: 100%;
}

.c-form-standard .c-form-text-search {
  padding-right: 50px;
}

.c-form-standard textarea {
  min-height: 6em;
}

.c-form-standard .c-form-text:focus,
.c-form-standard textarea:focus {
  border-color: #004087;
  border-color: var(--border-form-focus);
  outline: none;
}

.c-form-standard .c-form-text:disabled,
.c-form-standard textarea:disabled {
  border-color: #ccc;
  color: #ccc;
  border-color: var(--form-disabled);
  color: var(--form-disabled);
}

.c-form-standard .c-form-label-text,
.c-form-standard label {
  display: block;
  padding-bottom: 0.5em;
  font-size: 0.77rem;
  font-size: var(--font-size-body-xs);
}

.c-form-list-vertical,
.c-form-list-horizontal {
  margin: 0;
  padding: 0.5em 0 0 0;
  list-style: none;
}

.c-form-list-horizontal {
  display: flex;
  flex-flow: row wrap;
}

.c-form-list-horizontal li {
  padding-right: 1.5em;
}

.c-form-list-vertical li + li {
  margin-top: -0.5em;
}

/* ==========================================================================
   checkbox / radios
   ========================================================================== */
.c-form-checkbox,
.c-form-radio {
  position: absolute;
  left: -9999px;
}

.c-form-checkbox:checked + label,
.c-form-checkbox:not(:checked) + label,
.c-form-radio:checked + label,
.c-form-radio:not(:checked) + label {
  position: relative;
  display: inline-block;
  padding-left: 50px;
  padding-top: 0.3em;
  font-size: 1rem;
  font-size: var(--font-size-body);
  line-height: 1.5;
  cursor: pointer;
  user-select: none;
  min-height: 34px;
  vertical-align: baseline;
}

.c-form-checkbox:checked + label::before,
.c-form-checkbox:not(:checked) + label::before,
.c-form-radio:checked + label::before,
.c-form-radio:not(:checked) + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 30px;
  height: 30px;
  border: 1px solid #8C9396;
  background-color: #fff;
  border-width: var(--border-form-width);
  border-color: var(--border-form);
  background-color: var(--bg-content);
  transition: all 0.2s ease-in-out;
}

.c-form-radio:checked + label::before,
.c-form-radio:not(:checked) + label::before {
  border-radius: 50%;
}

.c-form-checkbox:focus + label::before,
.c-form-radio:focus + label::before {
  border-color: #004087;
  background-color: #fff;
  border-color: var(--border-form-focus);
  background-color: var(--bg-content);
}

.c-form-checkbox:checked + label::before,
.c-form-radio:checked + label::before {
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-checkbox:checked + label::after,
.c-form-checkbox:not(:checked) + label::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(0.15em + 2px);
  left: 9px;
  transition: all 0.2s ease-in-out;
  width: 12px;
  height: 20px;
  border: solid #004087;
  border-width: 0 4px 4px 0;
  transform: rotate(45deg);
  border-color: var(--color-highlight);
}

.c-form-radio:checked + label::after,
.c-form-radio:not(:checked) + label::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(0.15em + 5px);
  left: 5px;
  transition: all 0.2s ease-in-out;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background-color: #004087;
  background-color: var(--color-highlight);
}

.c-form-checkbox:not(:checked) + label::after {
  opacity: 0;
}

.c-form-radio:not(:checked) + label::after {
  opacity: 0;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
}

.c-form-checkbox:checked + label::after {
  opacity: 1;
}

.c-form-radio:checked + label::after {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.c-form-checkbox:disabled + label::before,
.c-form-checkbox:disabled + label::after,
.c-form-radio:disabled + label::before,
.c-form-radio:disabled + label::after {
  color: #ccc;
  border-color: #ccc;
  border-color: var(--form-disabled);
  color: var(--form-disabled);
}

/* ==========================================================================
   dropdown
   ========================================================================== */
.c-form-standard .c-form-select,
.c-form-standard select {
  display: block;
  padding: 0.65em 40px 0.65em 12px !important;
  width: 100%;
  height: auto !important;
  border: 1px solid #8C9396;
  border-width: var(--border-form-width);
  border-color: var(--border-form);
  border-radius: 0;
  background: url(icon-form-arrow_6c34.svg) right center no-repeat;
  background-color: #fff;
  color: #000;
  background-color: var(--bg-content);
  color: var(--text-color);
  font-size: 100%;
  line-height: 1.4rem !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-form-standard select:focus {
  border-color: #004087;
  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: #ccc;
  color: var(--form-disabled);
}

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

/* ==========================================================================
   form cover
   ========================================================================== */
.c-form-cover-container {
  position: relative;
}

.c-form-cover-item {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  background-color: var(--bg-content);
  opacity: 0.7;
}

/* ==========================================================================
   loader
   ========================================================================== */
.c-form-send {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.c-form-send .c-btn + .c-loader {
  margin-left: 1em;
}

.c-loader {
  display: none;
  width: 32px;
  height: 32px;
  border: 4px solid #d1d4d5;
  border-color: var(--border-basic);
  border-bottom-color: #004087;
  border-bottom-color: var(--color-highlight);
  border-radius: 50%;
  animation: rotation 1s linear infinite;
}

/*.c-form-item-loading .c-form-text,
.c-form-item-loading .c-form-select {
    opacity: 0.3;
}*/
.c-form-item-loading .c-loader {
  display: inline-block;
  position: absolute;
  bottom: calc(1.5em + 9px);
  right: 10px;
  /*right: 50%;
  margin-right: -16px;*/
}

.c-form-send.c-form-item-loading .c-loader {
  position: relative;
  bottom: auto;
  right: auto;
  margin-right: 0;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* ==========================================================================
   error
   ========================================================================== */
.c-form-message-box {
  border: solid 1px #004087;
  border-width: var(--border-form-width);
  border-color: var(--color-highlight);
  color: #004087;
  color: var(--color-highlight);
  margin-bottom: 1.5rem;
  margin-bottom: var(--spacing-s);
}

.c-form-message-box-error {
  border-color: #E0000C;
  border-color: var(--color-form-error);
  color: #E0000C;
  color: var(--color-form-error);
}

.c-form-message-box-ok {
  border-color: #65a569;
  border-color: var(--color-form-ok);
  color: #65a569;
  color: var(--color-form-ok);
}

.text-danger {
  display: none;
  font-size: 0.77rem;
  font-size: var(--font-size-body-xs);
}

/* error message*/
.has-error label,
.text-danger,
.text-danger-non-js-override,
.has-error .c-form-label-text {
  color: #E0000C;
  color: var(--color-form-error);
}

.has-error .text-danger {
  display: block;
  padding-top: 0.5em;
}

.has-error .c-form-checkbox + label::before,
.has-error .c-form-radio + label::before,
.has-error .c-form-text,
.has-error .c-form-textarea,
.has-error .c-form-select,
.has-error textarea {
  border-color: #E0000C;
  border-color: var(--color-form-error);
}

.has-error .c-form-list-horizontal + .text-danger {
  margin-top: -2em;
  padding-bottom: 1.5em;
}

.c-form-info-text {
  display: block;
  padding-top: 0.5em;
  font-size: var(--font-size-body-xs);
}

/*@import "components/_social-media";*/
/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1660px) {
  /* container max width */
  .c-container-medium {
    max-width: 1640px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless-medium .c-container {
    margin-left: 120px;
  }
  .c-asym-right-edgeless-medium {
    max-width: none;
    width: calc(820px + 50%);
  }
}
@media only screen and (min-width: 1340px) {
  /* container max width */
  .c-container,
.c-main-teaser,
.c-cross-teaser {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless {
    max-width: none;
    width: calc(660px + 50%);
  }
  /*.c-asym-right-edgeless-medium  {
      max-width: none;
      width: calc(820px + 50%);
  }*/
  .c-asym-right-edgeless,
.c-asym-right-edgeless-medium {
    margin-right: 0;
  }
  .c-showroom .c-asym-col-grid {
    flex: 0 0 790px;
    max-width: 790px;
  }
  .c-showroom .c-asym-col-edgeless {
    flex: 0 0 calc(100% - 790px);
    max-width: calc(100% - 790px);
  }
  .c-showroom .c-asym-right-edgeless-img {
    margin-left: -250px;
  }
}
@media only screen and (max-width: 1200px) {
  .c-header-logo {
    width: 280px;
    height: 70px;
  }
}
@media only screen and (min-width: 981px) {
  .c-quicklinks-list li {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .c-quicklinks-list li:nth-child(2)::before,
.c-quicklinks-list li:nth-child(3)::before {
    background-color: transparent;
  }
  .c-quicknav-sticky {
    display: block;
  }
  .c-offcanvas-meta-list {
    position: absolute;
    padding-top: 24px;
    top: calc(var(--offcanvas-meta-position) * -1);
    right: 30px;
    right: var(--grid-container);
  }
}
@media only screen and (min-width: 651px) and (max-width: 980px) {
  .c-quicklinks-list li {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-quicklinks-list li:nth-child(2)::before {
    background-color: transparent;
  }
}
@media only screen and (max-width: 980px) {
  .c-footer-teaser-list li,
.c-footer-nav-list > li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-teaser .c-col-4,
.c-form-newsletter .c-col-4,
.c-form-search .c-col-4,
.c-search-result-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-organigramm .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 1000%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-organigramm .c-row-l2 .c-organigramm-item,
.c-organigramm .c-row-stab .c-organigramm-item {
    margin-left: 8.333%;
  }
  .c-organigramm .c-row-l3 .c-organigramm-item {
    margin-left: 16.667%;
  }
  .c-organigramm .c-row-l4 .c-organigramm-item {
    margin-left: 25%;
  }
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-img-content .c-col-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .c-accordion-inner {
    padding-right: 17%;
  }
  .c-showroom, .c-main-title {
    margin-top: var(--spacing-m);
  }
  .c-news-teaser-big .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  .c-news-link-all .c-col-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 980px) {
  .c-main-nav,
.c-header-meta {
    display: none;
  }
  .c-header-logo,
.c-footer-logo {
    width: 250px;
    height: 62px;
  }
}
@media only screen and (max-width: 900px) {
  .c-showroom-text .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
}
@media only screen and (max-width: 850px) {
  .c-form-standard .c-col-4,
.c-form-standard .c-col-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-news-teaser-big .c-col-4,
.c-news-teaser-big .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-news-link-all .c-col-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-img-content .c-col-8,
.c-text-img-2col-wide .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-img-2col-wide .c-col-6:first-child {
    padding-bottom: 6.5rem;
    padding-bottom: var(--spacing-l);
  }
  .c-accordion-inner {
    padding-right: 0;
  }
  .c-footer-main .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-top: 4rem;
    padding-top: var(--spacing-m);
  }
  .c-footer-main .c-col-4:first-child {
    padding-top: 0;
  }
  .c-footer-teaser {
    margin-bottom: 1.5rem;
    margin-bottom: var(--spacing-s);
  }
  .c-footer-disclaimer::before {
    background-color: transparent;
  }
  .c-footer-nav-list {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
  .c-footer-nav-list > li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    border-bottom: solid 1px #d1d4d5;
    border-color: var(--border-basic);
  }
  .c-footer-nav-list ul {
    padding: 0;
  }
  .c-footer-nav-list ul li {
    padding-left: 32px;
  }
  .c-footer-nav-list ul ul {
    padding-bottom: 1.5em;
  }
  .c-footer-nav-list ul ul li {
    padding-left: 0;
  }
  .c-footer-menu-title + span {
    display: none;
  }
  .c-footer-menu-title {
    display: block;
  }
  .c-footer-menu-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
  }
  .c-footer-menu-check:checked ~ .c-footer-menu-content {
    max-height: 9999px;
    transition: max-height 0.3s cubic-bezier(1, 0, 1, 0);
  }
  .c-showroom-text .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .c-contact .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-contact .c-col-6 + .c-col-6 {
    padding-top: 1.5em;
  }
  .c-form-standard .c-btn {
    min-width: calc(50% - var(--grid-col));
  }
  .c-organigramm-item {
    padding: 0.5em 15px;
    min-height: 0;
  }
}
@media only screen and (min-width: 651px) {
  /*.c-news-teaser .c-col-4,*/
  .c-teaser .c-col-4,
.c-search-result-list li {
    display: flex;
    flex-direction: column;
  }
  /*.c-news-item,*/
  .c-teaser-item,
.c-search-result-list .c-box {
    flex-grow: 1;
  }
}
@media only screen and (max-width: 650px) {
  .c-teaser .c-col-4,
.c-news-teaser-big .c-col-4,
.c-news-teaser-big .c-col-6,
.c-search-result-list li,
.c-overview-teaser .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-filter-quicklinks-list a {
    padding: 60px 5px 1em 5px;
    transition: all 0.2s linear;
  }
  .c-filter-quicklinks-list a::before,
.c-filter-quicklinks-list a:focus::before,
.c-filter-quicklinks-list a:hover::before,
.c-filter-quicklinks-list .c-active a::before {
    border-width: 8px 10px 0;
    margin-left: -10px;
  }
  .c-form-standard .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-form-standard .c-btn {
    min-width: 0;
    width: 100%;
  }
  /*.c-form-newsletter .c-col-4 + .c-col-4 {
      padding-top: 1.5em;
  }*/
  .c-form-send {
    display: block;
  }
  .c-form-item-loading .c-btn + .c-loader {
    display: block;
    margin: 1em auto 0 auto;
  }
  .c-showroom .c-col-5,
.c-showroom .c-col-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-top: 0;
  }
  .c-showroom .c-col-7 {
    padding-top: 1.5rem;
    padding-top: var(--spacing-s);
  }
  .c-showroom .c-asym-right-edgeless-img {
    margin-left: 0;
  }
  .c-news-teaser-big .c-news-item-text {
    padding: var(--padding-news-item);
    border-top: none;
    border-left: solid 2px #d1d4d5;
    border-width: var(--border-width-thin);
    border-color: var(--border-basic);
  }
}
@media only screen and (max-width: 600px) {
  .c-footer-teaser-list li,
.c-footer-disclaimer .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-disclaimer .c-col-6 {
    text-align: left;
  }
  .c-footer-disclaimer-list li {
    padding-bottom: 1.5rem;
    padding-bottom: var(--spacing-s);
  }
  .c-accordion-title {
    padding: 0.75em 0 0.75em 32px;
  }
  .c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before,
.c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after {
    top: calc(50% - 8px);
  }
  .c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after {
    left: 0;
    margin-top: 7px;
    width: 18px;
  }
  .c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before {
    left: 7px;
    height: 18px;
  }
  .c-accordion-inner {
    padding-left: 0;
  }
}
@media only screen and (max-width: 440px) {
  .c-header-logo,
.c-footer-logo {
    width: 200px;
    height: 50px;
  }
}
@media only screen and (max-width: 375px) {
  .c-icon-quicklink span {
    display: block;
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }
}
/* ==========================================================================
   Print CSS
   ========================================================================== */
@media print {
  /* base styles */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
a:visited {
    text-decoration: underline;
  }
  .c-ir a:after,
a[href^="javascript:"]:after,
a[href]:after {
    content: none !important;
  }
  pre,
blockquote {
    border: none;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
h3 {
    break-after: avoid;
    page-break-after: avoid;
  }
  /* font-sizes */
  html,
body {
    width: 100%;
    height: auto;
    /*overflow: auto;*/
  }
  body {
    font-size: 12px;
  }
  h1, .c-h1 {
    font-size: 24px;
  }
  .c-lead,
.c-text-block .c-lead,
h2, .c-h2,
h3, .c-h3,
.c-text-block blockquote p {
    font-size: 16px;
  }
  /* project styles */
  .c-container {
    padding-bottom: 2em;
  }
  .c-footer {
    display: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBSUE7Ozs7OztFQU1JO0VBQ0E7RUFDQTtBTmsyQko7O0FNLzFCQTs7K0VBQUE7QUFJQTs7RUFFQyxzQkx3Qlc7RUt2QlI7QU5pMkJKOztBTTkxQkE7O0VBRUMsa0JMa0JXO0VLakJSO0FOaTJCSjs7QU03MUJBO0VBQ0M7QU5nMkJEOztBTTcxQkE7RUFDQyx1QkxXWTtFS1ZUO0FOZzJCSjs7QU0zMUJBO0VBQ0ksdUJMSVM7RUtIVDtBTjgxQko7O0FNMzFCQTtFQUNJO0FOODFCSjs7QU0zMUJBO0VBQ0k7RUFDQSxxQkxUUTtFS1VSO0FOODFCSjs7QU0zMUJBO0FBQ0E7RUFDSTtBTjgxQko7O0FNMzFCQTtFQUNJLG9CTGJhO0VLY2I7QU44MUJKOztBTTMxQkE7RUFDSTtFQUNBO0FOODFCSjs7QU0zMUJBOztFQUVJLHNCTDlCUTtFSytCUjtBTjgxQko7O0FNMzFCQTs7O0VBR0k7QU44MUJKOztBTTMxQkE7RUFDSTtFQUNBO0FOODFCSjs7QU0xMUJBOzs7RUFHSSxpQkxoRFE7RUtpRFI7RUFDQSxvQkxsRFE7RUttRFI7RUFDQSxxQkxyRFE7RUtzRFI7QU42MUJKOztBTTExQkE7RUFDSSxpQkx6RFE7RUswRFI7RUFDQSxvQkwzRFE7RUs0RFI7QU42MUJKOztBTTExQkE7O0VBRUksbUJMakVRO0VLa0VSO0FONjFCSjs7QU0xMUJBO0VBQ0k7RUFDQSxtQkx0RVE7RUt1RVI7RUFDQSxzQkx4RVE7RUt5RVI7QU42MUJKOztBTTExQkE7RUFDQyxvQkw5RVc7RUsrRVI7QU42MUJKOztBTTExQkE7OztFQUdJO0VBQ0E7QU42MUJKOztBTTExQkE7RUFDSTtFQUNBO0FONjFCSjs7QU0xMUJBO0VBQ0ksb0JMN0ZTO0VLOEZUO0FONjFCSjs7QU0xMUJBOzsrRUFBQTtBQUlBOztFQUVJLGtCTHBHYTtFS3FHYixtQkxyR2E7RUtzR2I7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJLG1CTDFHTztFSzJHUCxrQkwzR087RUs0R1A7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0k7RUFDSTtBTjQxQlo7O0FNejFCQTtFQUNJO0FONDFCSjs7QU16MUJBO0VBQ0k7QU40MUJKOztBTXoxQkE7RUFDSTtBTjQxQko7O0FNejFCQTtFQUNJO0FONDFCSjs7QU16MUJBO0VBQ0k7QU40MUJKOztBTXoxQkE7RUFDSTtBTjQxQko7O0FNejFCQTtFQUNJO0FONDFCSjs7QU16MUJBO0VBQ0k7QU40MUJKOztBTXoxQkE7RUFDSTtBTjQxQko7O0FNejFCQTs7Ozs7Ozs7Ozs7O0VBWUk7RUFDQTtFQUNBLG1CTDFLTztFSzJLUCxrQkwzS087RUs0S1A7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40MUJKOztBTXoxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40MUJKOztBTXoxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40MUJKOztBTXoxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40MUJKOztBTXoxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjQxQko7O0FNejFCQTtBQUNBO0VBQ0U7QU40MUJGOztBTXoxQkE7RUFDRTtBTjQxQkY7O0FNejFCQTtFQUNFO0FONDFCRjs7QU16MUJBO0VBQ0U7QU40MUJGOztBTXoxQkE7RUFDRTtBTjQxQkY7O0FNejFCQTtFQUNFO0FONDFCRjs7QU16MUJBO0VBQ0U7QU40MUJGOztBTXoxQkE7RUFDRTtBTjQxQkY7O0FNejFCQTtFQUNFO0FONDFCRjs7QU16MUJBO0VBQ0U7QU40MUJGOztBTXoxQkE7RUFDRTtBTjQxQkY7O0FNejFCQTs7K0VBQUE7QUFJQTs7RUFFSSxrQkxqVWlCO0VLa1VqQixpQkxsVWlCO0VLbVVqQjtFQUNBO0FOMjFCSjs7QU14MUJBOzs7O0VBSUksa0JMMVVpQjtFSzJVakIsaUJMM1VpQjtFSzRVakI7RUFDQTtBTjIxQko7O0FNeDFCQTs7RUFFSTtBTjIxQko7O0FNeDFCQTs7RUFFSTtFQUNBO0FOMjFCSjs7QU8zdUNBOzsrRUFBQTtBQUdBO0VBQ0M7RUFDRztBUDh1Q0o7O0FPM3VDQTs7K0VBQUE7QUFJQTs7Ozs7O0VBTUM7RUFDQTtFQUNHO0FQNnVDSjs7QU96dUNBOztFQUVDO0VBQ0E7RUFDQTtFQUNHO0VBQ0EsY05iZTtFTWNmO0VBQ0E7RUFDQTtBUDR1Q0o7O0FPeHVDQTs7RUFFQztFQUNBO0VBQ0E7RUFDRztFQUNBO0VBQ0E7QVAydUNKOztBT3h1Q0E7RUFDSTtFQUNBO0FQMnVDSjs7QU94dUNBOztFQUVDO0VBQ0E7RUFDRztFQUNIO0VBQ0c7RUFDQTtBUDJ1Q0o7O0FPeHVDQTtFQUNJO0FQMnVDSjs7QU94dUNBO0VBQ0k7RUFDQTtBUDJ1Q0o7O0FPdnVDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQMHVDSjs7QU92dUNBO0VBQ0ksY05sRWU7RU1tRWY7QVAwdUNKOztBT3R1Q0E7O0VBRUk7QVB5dUNKOztBT3J1Q0E7OytFQUFBO0FBSUE7O0VBRUM7QVB1dUNEOztBT3B1Q0E7O0VBRUM7QVB1dUNEOztBT3B1Q0E7RUFDSTtBUHV1Q0o7O0FPcHVDQTs7Ozs7Ozs7Ozs7Ozs7OztFQWdCQztBUHV1Q0Q7O0FPcHVDQTs7RUFFQztBUHV1Q0Q7O0FPcHVDQTs7RUFFSTtBUHV1Q0o7O0FPcHVDQTs7RUFFQztFQUNHO0VBQ0E7QVB1dUNKOztBT3B1Q0E7RUFDQztFQUNHO0FQdXVDSjs7QU9wdUNBO0VBQ0ksaUJONUdRO0VNNkdSO0VBQ0E7QVB1dUNKOztBT3B1Q0E7Ozs7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Q0E7RUFDQTtFQUNIO0FWKzdERDs7QVUzN0RDO0VBQ0M7RUFDQTtFQUNBO0FWODdERjtBVTM3REM7RUFDQztBVjY3REY7QVUxN0RJOztFQUVJO0FWNDdEUjs7QUFyNUVBO0FXeEJBOzsrRUFBQTtBQUlBO0VBQ0MseUJWb0JVO0VVbkJQO0FYZzdFSjs7QVc3NkVBO0VBQ0MseUJWY1M7RVViTjtBWGc3RUo7O0FXNzZFQTtFQUNDLHlCVkdhO0VVRlY7QVhnN0VKOztBVzU2RUE7OytFQUFBO0FBSUE7RUFDQztBWDg2RUQ7O0FXMzZFQTtFQUNFO0FYODZFRjs7QVcxNkVBOztFQUVJO0VBQ0E7RUFDQTtBWDY2RUo7O0FXMTZFQTtFQUNJO0FYNjZFSjs7QVd6NkVBOzsrRUFBQTtBQUdBO0VBQ0k7RUFDQSxpQlZMUTtFVU1SO0VBQ0E7RUFDQSxjVnBDYztFVXFDZDtBWDQ2RUo7O0FXejZFQTtFQUNJLFdWNUNTO0VVNkNUO0FYNDZFSjs7QVd6NkVBOztFQUVJLGNWL0NjO0VVZ0RkO0FYNDZFSjs7QVd6NkVBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNDZFSjs7QVd6NkVBOztFQUVJO0VBQ0E7RUFDQSxzQlZuQ1M7RVVvQ1Q7QVg0NkVKOztBV3o2RUE7O0VBRUk7RUFDQTtBWDQ2RUo7O0FXejZFQTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlZ4RVc7RVV5RVg7QVg0NkVKOztBV3o2RUE7O0VBRUk7QVg0NkVKOztBV3o2RUE7RUFDSTtBWDQ2RUo7O0FXejZFQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDI2RUo7O0FXeDZFQTtFQUNJO0FYMjZFSjs7QVd4NkVBO0VBQ0k7RUFDQTtFQUNIO0VBQ0c7RUFDQTtFQUNBO0VBQ0EsY1YzSGU7RVU0SGY7QVgyNkVKOztBV3g2RUE7RUFDSTtBWDI2RUo7O0FXeDZFQTs7RUFFSSx5QlY1SE87RVU2SFA7QVgyNkVKOztBV3g2RUE7RUFDSTtFQUNBO0FYMjZFSjs7QVd2NkVBOzs7O0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYMDZFSjs7QVd2NkVBOzs7O0VBSUk7QVgwNkVKOztBV3Y2RUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlZ2S2M7RVV3S2Q7QVgwNkVKOztBV3Y2RUE7O0VBRUk7RUFDQTtFQUNFO0FYMDZFTjs7QVd2NkVBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVgwNkVKOztBV3Y2RUE7O0VBRUk7RUFDQTtBWDA2RUo7O0FXdjZFQTtFQUNJLHlCVmxNYztFVW1NZDtBWDA2RUo7O0FXdjZFQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FYMDZFSjs7QVd0NkVBO0VBQ0k7RUFDQTtBWHk2RUo7O0FXcjZFQTtFQUNJO0VBQ0E7QVh3NkVKOztBV3A2RUE7RUFDSTtFQUNBO0FYdTZFSjs7QVdwNkVBO0FBRUE7RUFDSTtBWHM2RUo7O0FXbjZFQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7QVhxNkVKOztBV2w2RUE7RUFDSTtFQUNBO0VBQ0E7QVhxNkVKOztBV2w2RUE7O0VBRUk7RUFDQTtFQUNBO0FYcTZFSjs7QVdsNkVBOzs7RUFHSTtBWHE2RUo7O0FXbDZFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHE2RUY7O0FXajZFQTtFQUNJLFdWOVFlO0VVK1FmLHlCVjdRYztFVThRZDtBWG82RUo7O0FXajZFQTs7Ozs7O0VBQUE7QUFRQTs7RUFFSSxXVjdSZTtFVThSZjtBWG02RUo7O0FXaDZFQTtFQUNJO0VBQ0E7QVhtNkVKOztBV2g2RUE7O0VBRUk7QVhtNkVKOztBV2g2RUE7RUFDSTtFQUNBO0FYbTZFSjs7QVdoNkVBOztFQUVJO0FYbTZFSjs7QVdoNkVBO0VBQ0kseUJWNVNPO0VVNlNQO0FYbTZFSjs7QVdoNkVBOztFQUVJLFdWN1RTO0VVOFRUO0FYbTZFSjs7QVdoNkVBO0VBQ0k7QVhtNkVKOztBV2g2RUE7OztFQUdJO0FYbTZFSjs7QVdoNkVBO0VBQ0k7QVhtNkVKOztBV2g2RUE7OztFQUdJO0FYbTZFSjs7QVdoNkVBOztFQUVJO0VBQ0E7RUFDQTtFQUNB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O0VBQ0E7QWJnMEhEOztBYTd6SEE7OztFQUFBO0FBS0E7O0VBRUM7RUFDQTtFQUNBO0FiK3pIRDs7QWE1ekhBO0VBQ0M7QWIrekhEOztBYTV6SEE7O0VBRUM7QWIrekhEOztBYTV6SEE7RUFDQztBYit6SEQ7O0FhNXpIQTs7RUFFSTtBYit6SEo7O0FhNXpIQTs7OztFQUlDO0VBQ0E7RUFDQTtBYit6SEQ7O0FjdDNIQTs7K0VBQUE7QUFHQTtBQUNBOzs7O0VBSUk7RUFDQTtFQUNIO0FkeTNIRDs7QWN0M0hBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBZHkzSEo7O0FjdDNIQTtBQUNBOzs7O0VBSUM7QWR5M0hEOztBY3QzSEE7RUFDSSxjYllxQjtFYVhyQjtFQUNBO0FkeTNISjs7QWNyM0hBO0VBQ0M7RUFDQTtFQUNBO0FkdzNIRDs7QWNyM0hBO0VBQ0M7RUFDQTtBZHczSEQ7O0FjcjNIQTs7O0VBR0ksa0JiSFE7QUQyM0haOztBY3IzSEE7RUFDSTtBZHczSEo7O0FjcjNIQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FkdzNISjs7QWNwM0hBOzsrRUFBQTtBQUlBOzs7RUFHSTtFQUNBO0VBQ0E7QWRzM0hKOztBY24zSEE7RUFDSTtBZHMzSEo7O0FjNzJIQTs7RUFFQztFQUNBO0VBQ0c7RUFDQTtFQUNILFdiOUVZO0VhK0VUO0VBQ0g7RUFDQSxzQmJ4RVk7RWF5RVQ7QWRnM0hKOztBYzcySEE7RUFDQztBZGczSEQ7O0FjNzJIQTtFQUNJO0FkZzNISjs7QWM3MkhBO0VBQ0M7QWRnM0hEOztBY3gySEE7O0VBRUMscUJibEZtQjtFYW1GaEI7RUFDSDtBZDIySEQ7O0FjbjJIQTs7RUFFQyxrQmI3RmU7RWE4RmYsV2I5RmU7RWErRlo7RUFDSDtBZHMySEQ7O0FjbjJIQTs7RUFFQztFQUNBO0VBQ0c7RUFDQTtBZHMySEo7O0FjbjJIQTs7RUFFSTtFQUNBO0VBQ0E7QWRzMkhKOztBY24ySEE7RUFDSTtFQUNBO0FkczJISjs7QWNuMkhBO0VBQ0k7QWRzMkhKOztBY24ySEE7RUFDSTtBZHMySEo7O0FjbDJIQTs7K0VB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QUNDO0VoQml3SkE7RWdCOXZKRDtJQUNDO0VoQmd3SkE7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2NvbnRlbnRlbGVtZW50cy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19idXR0b24tbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcmF0aW9ib3guc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZm9ybS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qQGltcG9ydCBcIi4uL2ZvbnRzL2lubGluZUZvbnRzLnNjc3NcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fdmFyaWFibGVzXCI7XG4vKkBpbXBvcnQgXCJjb21tb24vX2ZvbnRzXCI7Ki9cbkBpbXBvcnQgXCJjb21tb24vX25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImNvbW1vbi9fbWl4aW5zXCI7XG5AaW1wb3J0IFwiY29tbW9uL19oZWxwZXJzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19iYXNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb290ZXJcIjtcblxuLyogb3B0aW9uYWwgc3R5bGVzICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fb2ZmY2FudmFzXCI7XG4vKkBpbXBvcnQgXCJjb21wb25lbnRzL190YWJsZXNcIjsqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnRlbGVtZW50c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2J1dHRvbi1saW5rc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3JhdGlvYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9ybVwiO1xuLypAaW1wb3J0IFwiY29tcG9uZW50cy9fc29jaWFsLW1lZGlhXCI7Ki9cblxuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcHJpbnRcIjsiLCIvKiBWYXJpYWJsZXMsIE5hbWluZyBtYXkgdmFyeSBmcm9tIHByb2plY3QgdG8gcHJvamVjdCAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgKHNlZSAnX2ZvbnRzLnNjc3MnIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGxpY2Vuc2UpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuJGZvbnQtc3RhY2stZGVmYXVsdDogJ0ZpZ3RyZWUnLCAnQXJpYWwnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogdGV4dCAqL1xuJHRleHQtY29sb3I6ICMwMDA7IC8qIGRhcmsgZ3JleSAqL1xuJHRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG4kdGV4dC1jb2xvci10aXRsZTogIzAwNDA4NzsgLyogZGFyayBibHVlICovXG4kY29sb3ItaGlnaGxpZ2h0OiAjMDA0MDg3OyAvKiBkYXJrIGJsdWUgKi9cbiRjb2xvci1hbGVydDogIzI4NUZDMzsgLyogYmx1ZSAqL1xuJGNvbG9yLXNlY29uZGFyeTogI0UwMDAwQzsgLyogcmVkICovXG4kY29sb3ItbmF2LWhvdmVyOiAjNTQ1NDU1O1xuXG4vKiBiYWNrZ3JvdW5kICovXG4kYmctY29udGVudDogI2ZmZjtcbiRiZy1kYXJrOiAjMDA0MDg3OyAvKiBkYXJrIGJsdWUgKi9cbiRiZy1saWdodDogI0Y0RjRGNTsgLyogbGlnaHQgZ3JleSAqL1xuJGJnLW9yZ2FuaWdyYW1tLWwyOiAjMjg1ZmMzO1xuJGJnLW9yZ2FuaWdyYW1tLWwzOiAjZDRkZmYzO1xuXG4vKiBsaW5lLWNvbG9ycyAqL1xuJGJvcmRlci1iYXNpYzogI2QxZDRkNTtcbiRib3JkZXItbGlnaHQ6ICNFNEU0RTU7XG5cblxuLyogZm9ybSAqL1xuJGJvcmRlci1mb3JtOiAjOEM5Mzk2O1xuJGJvcmRlci1mb3JtLWZvY3VzOiAjMDA0MDg3O1xuJGZvcm0tZGlzYWJsZWQ6ICNjY2M7XG4kY29sb3ItZm9ybS1lcnJvcjogI0UwMDAwQztcbiRjb2xvci1mb3JtLW9rOiAjNjVhNTY5O1xuJGNvbG9yLWZvcm0taW5pdGlhbDogIzFEMUQxQjtcbiRjb2xvci1mb3JtLXBsYWNlaG9sZGVyOiAjOTk5OTk5O1xuXG4vKiBzcGFjaW5nICovXG4kc3BhY2luZy1sOiA2LjVyZW07XG4kc3BhY2luZy1tOiA0cmVtO1xuJHNwYWNpbmctczogMS41cmVtO1xuJHNwYWNpbmcteHM6IDAuNzVyZW07XG5cbi8qIGdyaWQgKi9cbiRncmlkLWNvbnRhaW5lcjogMzBweDtcbiRncmlkLXJvdzogLTE1cHg7XG4kZ3JpZC1jb2w6IDE1cHg7XG5cbiRncmlkLXJvdy1mb3JtLWhhbGY6IC04cHg7XG4kZ3JpZC1jb2wtZm9ybS1oYWxmOiA4cHg7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuOnJvb3Qge1xuICAgIC8qIGZvbnRzICovXG4gICAgLS1mb250LXN0YWNrLWRlZmF1bHQ6ICdGaWd0cmVlJywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LXdlaWdodC1ub3JtYWw6IDQwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZDogODAwO1xuICAgIC0tZm9udC13ZWlnaHQtbWVkaXVtOiA0MDA7XG4gICAgXG4gICAgLyogdGV4dCAgKi9cbiAgICAtLXRleHQtY29sb3I6ICMwMDA7IC8qIGJsYWNrICovXG4gICAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvci10aXRsZTogIzAwMDsgLyogZGFyayBibHVlICovXG4gICAgLS10ZXh0LWNvbG9yLW1lZGl1bTogIzY2NjtcbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogIzI4NWZjMzsgLyogYmx1ZSAqL1xuICAgIC0tY29sb3ItYWxlcnQ6ICMyODVGQzM7IC8qIGJsdWUgKi9cbiAgICAtLWNvbG9yLXNlY29uZGFyeTogIzI4NWZjMzsgLyogYmx1ZSAqL1xuICAgIC0tY29sb3ItbmF2LWhvdmVyOiAjMjg1ZmMzO1xuICAgIFxuICAgIC8qIGJhY2tncm91bmQgKi9cbiAgICAtLWJnLWNvbnRlbnQ6ICNmZmY7XG4gICAgLS1iZy1kYXJrOiAjMDAwMDFEOyAvKiBibHVlIGRhcmsgKi9cbiAgICAtLWJnLWRhcmstMjogIzAwMTU0MDsgLyogYmx1ZSBtZWRpdW0gKi9cbiAgICAtLWJnLWxpZ2h0OiAjRjRGNEY1O1xuICAgIC0tYmctb3JnYW5pZ3JhbW0tbDI6ICMyODVmYzM7XG4gICAgLS1iZy1vcmdhbmlncmFtbS1sMzogI2Q0ZGZmMzsgXG4gICAgLS1iZy1ncmFkaWVudDogIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSg0MCw5NSwxOTUsMSkgMTAlLCByZ2JhKDAsMjEsNjQsMSkgNTAlLCByZ2JhKDAsMCwyOSwxKSAxMDAlKTsgXG4gICAgXG4gICAgLyogbGluZXMgKi9cbiAgICAtLWJvcmRlci1iYXNpYzogI2QxZDRkNTtcbiAgICAtLWJvcmRlci1saWdodDogI0U0RTRFNTtcbiAgICAtLWJvcmRlci13aWR0aC10aGluOiAycHg7XG4gICAgLS1ib3JkZXItd2lkdGgtdGhpY2s6IDRweDtcbiAgICAtLWJvcmRlci13aWR0aC1mYXQ6IDRweDtcbiAgICAvKi0tYm9yZGVyLWxpZ2h0LWJsdWU6ICM2MTYxNzE7Ki9cbiAgICAtLWJvcmRlci1saWdodC1ibHVlOiByZ2JhKDI1NSwyNTUsMjU1LCAwLjMpO1xuICAgIFxuICAgIC8qIHNwYWNpbmcgKi9cbiAgICAtLXNwYWNpbmctbDogNi41cmVtO1xuICAgIC0tc3BhY2luZy1tOiA0cmVtOyBcbiAgICAtLXNwYWNpbmctczogMS41cmVtO1xuICAgIC0tc3BhY2luZy14czogMC43NXJlbTtcbiAgICAtLXNwYWNpbmctb3JnYW5pZ3JhbW0tczogMjBweDtcbiAgICAtLXBhZGRpbmctYm94OiAxLjVlbSAzMnB4O1xuICAgIC0tcGFkZGluZy1uZXdzLWl0ZW06IDEuNWVtIDAgMCAzMnB4O1xuICAgIFxuICAgIC0taGVhZGVyLWlubmVyLWhlaWdodDogOTZweDtcbiAgICAtLWhlYWRlci1pbm5lci1tYXJnaW4tdG9wOiA1NHB4O1xuICAgIC0taGVhZGVyLW1ldGEtaGVpZ2h0OiA1MHB4O1xuICAgIC0tb2ZmY2FudmFzLW1ldGEtcG9zaXRpb246IGNhbGMoOTZweCArIDU0cHggKyA1MHB4KTtcbiAgICBcbiAgICAvKiBmb3JtICovXG4gICAgLS1ib3JkZXItZm9ybTogIzAwMDAxRDsgXG4gICAgLS1ib3JkZXItZm9ybS1mb2N1czogIzI4NWZjMztcbiAgICAtLWJvcmRlci1mb3JtLXdpZHRoOiAycHg7XG4gICAgLS1mb3JtLWRpc2FibGVkOiAjY2NjO1xuICAgIC0tY29sb3ItZm9ybS1lcnJvcjogI0UwMDAwQztcbiAgICAtLWNvbG9yLWZvcm0tb2s6ICM2NWE1Njk7XG4gICAgLS1jb2xvci1mb3JtLWluaXRpYWw6ICMxRDFEMUI7XG4gICAgLS1jb2xvci1mb3JtLXBsYWNlaG9sZGVyOiAjOTk5OTk5O1xuICAgIFxuICAgIC8qIGdyaWQgKi9cbiAgICAtLWdyaWQtY29udGFpbmVyOiAzMHB4O1xuICAgIC0tZ3JpZC1yb3c6IC0xNXB4O1xuICAgIC0tZ3JpZC1jb2w6IDE1cHg7XG4gICAgXG4gICAgLS1ncmlkLXJvdy1mb3JtLWhhbGY6IC04cHg7XG4gICAgLS1ncmlkLWNvbC1mb3JtLWhhbGY6IDhweDtcbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG4gICAgLS1mb250LXNpemUtcm9vdDogMThweDtcbiAgICAtLWZvbnQtc2l6ZS1oMTogMy4zM3JlbTsgLyogNjBweCAqL1x0XG4gICAgLS1mb250LXNpemUtaDI6IDIuMTFyZW07IC8qIDM4cHggKi9cbiAgICAtLWZvbnQtc2l6ZS1oMzogMS4zM3JlbTtcbiAgICAtLWZvbnQtc2l6ZS1sZWFkOiAxLjMzcmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHk6IDFyZW07XG4gICAgLS1mb250LXNpemUtYm9keS1zOiAwLjg4cmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHkteHM6IDAuNzdyZW07XG4gICAgLS1mb250LXNpemUtYm9keS14eHM6IDAuNjZyZW07XG4gICAgLS1mb250LXNpemUtYm9keS1sOiAxLjc3cmVtOyAvKiAzMnB4ICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFeGVwdGlvbnMgZm9yIGRpZmZlcmVudCBiYWNrZ3JvdW5kc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1saWdodCB7XG4gICAgLS10ZXh0LWNvbG9yLXRpdGxlOiAjZmZmOyAvKiB3aGl0ZSAqL1xufVxuXG4vKi5jLWxpbmstaWNvbixcbi5jLWxpbmstYm9sZCB7XG4gICAgLS10ZXh0LWNvbG9yOiAjMDA0MDg3O1xufSovXG5cbi5jLXRleHQtbGlnaHQsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstaWNvbixcbi5jLXRleHQtbGlnaHQgLmMtbGluay1ib2xkLFxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1ib3ggLmMtbGluay1pY29uLFxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1ib3ggLmMtbGluay1ib2xkLFxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1ib3ggYSxcbi5jLXNlYXJjaC1yZXN1bHQtbGlzdCAuYy1hY3RpdmUgLmMtYm94IHtcbiAgICAtLXRleHQtY29sb3I6ICNmZmY7XG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLXRpdGxlOiAjZmZmO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWJ0biB7XG4gICAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjMjg1ZmMzO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWJ0bjpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtYnRuOmZvY3VzIHtcbiAgICAtLXRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtYnRuLXNlY29uZGFyeTpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtYnRuLXNlY29uZGFyeTpmb2N1cyxcbi5jLXRleHQtbGlnaHQgLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCAuYy1idG4tc2Vjb25kYXJ5OmhvdmVyLFxuLmMtdGV4dC1saWdodCAuYy1vZmZjYW52YXMtbWV0YS1saXN0IC5jLWJ0bi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIC0tdGV4dC1jb2xvci1saWdodDogIzAwMDAxRDtcbn1cblxuLmMtZm9vdGVyLFxuLmMtb2ZmY2FudmFzLW5hdiB7XG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICM0MDdjZmY7IC8qIGJyaWdodGVyIGJsdWUgKi9cbiAgICAtLWNvbG9yLW5hdi1ob3ZlcjogIzQwN2NmZjtcbn1cblxuXG4vKi5jLW1lc3NhZ2UtYWxlcnQgLmMtdGV4dC1saWdodCAuYy1idG4ge1xuICAgLS1jb2xvci1oaWdobGlnaHQ6ICMyODVGQzM7XG59Ki9cblxuLmMtYmctbGlnaHQgLmMtYnRuLFxuLmMtY29va2llLW5vdGljZSAuYy1idG4ge1xuICAgIC0tYmctbGlnaHQ6ICNmZmY7XG59XG5cbi5jLXNlYXJjaC1yZXN1bHQtbGlzdCAuYy1hY3RpdmUgLmMtYWNjb3JkaW9uLXRpdGxlOmZvY3VzLFxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgIC0tYmctbGlnaHQ6IHRyYW5zcGFyZW50O1xufVxuXG4uYy1zZWFyY2gtcmVzdWx0LWxpc3QgLmMtYWN0aXZlIC5jLWFjY29yZGlvbi1jb250YWluZXIge1xuICAgIC0tYm9yZGVyLWJhc2ljOiB2YXIoLS1ib3JkZXItbGlnaHQtYmx1ZSk7IFxufVxuXG4uYy1oZWFkZXItc3RpY2t5IHtcbiAgICAtLWhlYWRlci1pbm5lci1oZWlnaHQ6IDk2cHg7XG4gICAgLS1oZWFkZXItaW5uZXItbWFyZ2luLXRvcDogMDtcbn1cblxuLmMtaGVhZGVyLXN0aWNreSAuYy1vZmZjYW52YXMtaW5uZXIge1xuICAgIC0taGVhZGVyLWlubmVyLW1hcmdpbi10b3A6IDU0cHg7XG59XG5cbi5jLW9yZ2FuaWdyYW1tIHtcbiAgICAtLWJnLWRhcms6ICMwMDE1NDA7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzcG9uc2l2ZSBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1ncmlkLWNvbnRhaW5lcjogNDBweDtcbiAgICAgICAgLS1ncmlkLXJvdzogLTIwcHg7XG4gICAgICAgIC0tZ3JpZC1jb2w6IDIwcHg7XG4gICAgICAgIC0tcGFkZGluZy1ib3g6IDEuOGVtIDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tc3BhY2luZy1sOiA0LjVyZW07XG4gICAgICAgIC0tc3BhY2luZy1tOiAycmVtOyBcbiAgICAgICAgLS1zcGFjaW5nLW9yZ2FuaWdyYW1tLXM6IDEwcHg7XG4gICAgICAgIC0taGVhZGVyLWlubmVyLWhlaWdodDogOTBweDtcbiAgICAgICAgLS1oZWFkZXItaW5uZXItbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtaGVhZGVyLXN0aWNreSB7XG4gICAgICAgIC0taGVhZGVyLWlubmVyLWhlaWdodDogODJweDtcbiAgICB9XG59XG5cbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFNi83IHdoZW4gYm9keSBmb250LXNpemUgaXMgc2V0IHVzaW5nIGVtIHVuaXRzXG4gKiAgICBodHRwOi8vY2xhZ251dC5jb20vYmxvZy8zNDgvI2M3OTBcbiAqIDIuIEtlZXBzIHBhZ2UgY2VudHJlZCBpbiBhbGwgYnJvd3NlcnMgcmVnYXJkbGVzcyBvZiBjb250ZW50IGhlaWdodFxuICogMy4gUHJldmVudHMgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb21cbiAqICAgIHd3dy40NTZiZXJlYXN0cmVldC5jb20vYXJjaGl2ZS8yMDEwMTIvY29udHJvbGxpbmdfdGV4dF9zaXplX2luX3NhZmFyaV9mb3JfaW9zX3dpdGhvdXRfZGlzYWJsaW5nX3VzZXJfem9vbS9cbiAqIDQuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogNCAqL1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG5cblxuICovXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qXG4qIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnNcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5cbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cblxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSAnYScgZWxlbWVudCBpbiBJRTYvNy84LzksIEZGM1xuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRTdcbiAqICAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUtbGl0dGxlLXRoaW5ncy1jbGllbnQtc2lkZS1pbWFnZS1yZXNpemluZy9cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLypcbiAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdHMgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRTYvN1xuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZ1xuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIG1hcmdpbjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgcGFkZGluZzowOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICBib3JkZXI6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDQgKi9cbn1cblxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFNi5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgLyogNCAqL1xufVxuXG4vKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50c1xuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcblxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8qKlxuXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbGVtZW50cyBjdWJlZ3JhZmlrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuXG5kaXYsIHAge1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MDtcbn1cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIC8qIFJlbW92ZWQgYmVjYXVzZSBvZiB2aXNpYmlsaXR5Y2hhbmdlLWFkZGl0aW9uIHRvIGZhbmN5LWZvcm1zIHBsdWdpbi5cbiAgICAgKiAyMDE1LzAxLzIyIC0gRmxvcmlhbiBNw6RkZXJcbiAgICAgKiAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7Ki9cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmh0bWwge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDMuMCAtIDUuMCwgQ2hyb21lIDEgLSA5LCBBbmRyb2lkIDIuMSAtIDMueCAqL1xuICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogRmlyZWZveCAxIC0gMjggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArLCBGaXJlZm94IDI5KywgT3BlcmEgNyssIElFIDgrLCBBbmRyb2lkIDQuMCssIGlPUyBhbnkgKi9cbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxubGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMCAgKi9cbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDExKyAqL1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIFBsYWNlaG9sZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgICAge0Bjb250ZW50fVxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH0gIFxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgc21vb3RoaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOiBvbikge1xuICAgIEBpZiAkdmFsdWUgPT0gb24ge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEhpZGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGlkZS12aXN1YWxseSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5jLWhpZGUtY29tcGxldGVseSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogaW1hZ2UgcmVwbGFjZW1lbnQgKi9cbi5jLWlyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogMDtcblx0dGV4dC1pbmRlbnQ6IC05OTllbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGRpcmVjdGlvbjogbHRyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGlja3kgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jLWhlYWRlcixcbi5jLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jLWNvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBQcm9qZWN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5IHtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stZGVmYXVsdCk7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIGxpbmtzICovXG5hLFxuYTp2aXNpdGVkLFxuYTpmb2N1cyxcbmE6aG92ZXIge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG50ZXh0YXJlYSB7XG5cdHJlc2l6ZTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgaW1nIC8gbWVkaWEgZGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmVtYmVkLFxub2JqZWN0LFxudmlkZW8sXG5pZnJhbWUsXG5pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmMtaW1nLW1heC13aWR0aCxcbi5jLWNvbnRlbnQgLmMtaW1nLW1heC13aWR0aCB7XG5cdHdpZHRoOiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7IFxuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgTWFpbiBDb250YWluZXIgRGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlcixcbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIsXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItd2lkZSxcbi5jLWNvbnRhaW5lci1tZWRpdW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgUGFkZGluZyBiZXR3ZWVuIENvbXBvbmVudHMgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItbWVkaXVtIHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLW1haW4tdGl0bGUsXG4uYy1zaG93cm9vbSB7XG5cdG1hcmdpbi10b3A6ICRzcGFjaW5nLWw7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuXG4uYy1jb250YWluZXItbm8tcGFkZGluZyB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1zZWN0aW9uLXRpdGxlIHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXhzO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuXG5cbi5jLXNlY3Rpb24tdGl0bGUgaDIuYy1zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXhzO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuLmMtbGluZS10b3Age1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07ICAgIFxufVxuXG4uYy1saW5lLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi8qIGNvbnRhY3Qgc25pcHBldCBpbnNpZGUgYWNjb3JkaW9uICovXG4uYy1hY2NvcmRpb24taW5uZXIgLmMtbGluZS1ib3R0b217XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtdGVhc2VyIC5jLWNvbC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtY29udGFpbmVyO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG59XG5cbi5jLXRlYXNlciB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoJHNwYWNpbmctbCAtICRncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZy1sKSAtIHZhcigtLWdyaWQtY29udGFpbmVyKSk7XG59XG5cbi5jLW5ld3MtdGVhc2VyIC5jLWNvbC00LFxuLmMtb3ZlcnZpZXctdGVhc2VyIC5jLWNvbC02IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtbmV3cy10ZWFzZXIsXG4uYy1tYXAsXG4uYy1vdmVydmlldy10ZWFzZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1maWx0ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCRzcGFjaW5nLW0gLSAkc3BhY2luZy1zKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nLW0pIC0gdmFyKC0tc3BhY2luZy1zKSk7XG59XG5cblxuLmMtbmV3c2xldHRlci1yZWdpc3RyYXRpb24sXG4uYy1zZWFyY2gtY29udGFpbmVyLFxuLmMtdGV4dC1pbWctMmNvbC13aWRlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLXF1aWNrbGlua3MtY29udGVudC1pbm5lciB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi5jLXNlYXJjaC1jb250YWluZXIsXG4uYy1tYXAge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLmMtbWVzc2FnZS1hbGVydCB7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtc2VhcmNoLXJlc3VsdC10aXRsZSB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy10ZXh0LW9ubHkgKyAuYy10ZXh0LW9ubHksXG4uYy10ZXh0LW9ubHkgKyAuYy1hY2NvcmRpb24sXG4uYy10ZXh0LW9ubHkgKyAuYy10ZWFtLXRlYXNlciB7XG4gICAgbWFyZ2luLXRvcDogLSRzcGFjaW5nLWw7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLWwpICogLTEpO1xufVxuXG4uYy10ZXh0LW9ubHkgKyAuYy1hY2NvcmRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAtJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2luZy14cykgKiAtMSk7XG59XG5cbi5jLXRleHQtb25seSArIC5jLXRlYW0tdGVhc2VyIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgR3JpZCBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtY29udGFpbmVyO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbn1cblxuLmMtcm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uYy1yb3ctanVzdGlmeS1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYy1yb3ctanVzdGlmeS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYy1yb3ctanVzdGlmeS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jLXJvdy1hbGlnbi10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1yb3ctYWxpZ24tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1yb3ctYWxpZ24tYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jLWNvbC0xLFxuLmMtY29sLTIsXG4uYy1jb2wtMyxcbi5jLWNvbC00LFxuLmMtY29sLTUsXG4uYy1jb2wtNixcbi5jLWNvbC03LFxuLmMtY29sLTgsXG4uYy1jb2wtOSxcbi5jLWNvbC0xMCxcbi5jLWNvbC0xMSxcbi5jLWNvbC0xMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wpO1xufVxuXG4uYy1jb2wtMTIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAgICBcbn1cblxuLmMtY29sLTExIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclO1xufVxuXG4uYy1jb2wtMTAge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7XG59XG5cbi5jLWNvbC05IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDc1JTtcbiAgICAtbXMtZmxleDogMCAwIDc1JTtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xufVxuXG4uYy1jb2wtOCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLmMtY29sLTcge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG59XG5cbi5jLWNvbC02IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xufVxuXG4uYy1jb2wtNSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLmMtY29sLTQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLWNvbC0zIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xufVxuXG4uYy1jb2wtMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTtcbn1cblxuLmMtY29sLTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLyogb2Zmc2V0IGNvbHMgKi9cbi5jLWNvbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLmMtY29sLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NyU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcmlkIFZhcmlhbnRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1jb2wtNCAuYy1yb3csXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWNvbC02IC5jLXJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3ctZm9ybS1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3ctZm9ybS1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdy1mb3JtLWhhbGYpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3ctZm9ybS1oYWxmKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1jb2wtNCAuYy1jb2wtMyxcbi5jLWZvcm0tc3RhbmRhcmQgLmMtY29sLTQgLmMtY29sLTksXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWNvbC02IC5jLWNvbC0zLFxuLmMtZm9ybS1zdGFuZGFyZCAuYy1jb2wtNiAuYy1jb2wtOXtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb2wtZm9ybS1oYWxmO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sLWZvcm0taGFsZjtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sLWZvcm0taGFsZik7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wtZm9ybS1oYWxmKTtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcyxcbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MtbWVkaXVtIHtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MtaW1nLFxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1jb2wge1xuICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcblx0Zm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXJvb3QpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG4gICAgdGV4dC13cmFwOmJhbGFuY2U7XG4gICAgXG59XG5cbmgxLFxuLmMtaDEge1xuXHRwYWRkaW5nLWJvdHRvbTogLjRlbTtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0Zm9udC1zaXplOiAzLjMzcmVtOyAvKiA2MHB4ICovXHRcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMSk7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLXRpdGxlO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLXRpdGxlKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgXG59XG5cbmgyLFxuLmMtaDIge1xuXHRwYWRkaW5nLWJvdHRvbTogLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdGZvbnQtc2l6ZTogMi4xMXJlbTsgLyogMzhweCAqL1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgyKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbmgyIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG59XG5cbmgzLFxuLmMtaDMge1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRmb250LXNpemU6IDEuMzNyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpO1xuXHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1uZXdzLXRlYXNlci1iaWcgaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgyKTtcbn1cblxuaDQsIC5jLWg0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG4gICAgXG59XG5cbi5jLXN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtc2l6ZTogMC42NnJlbTsgICBcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXh4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NWVtO1xufVxuXG4uYy1tYWluLXRpdGxlIC5jLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItdGl0bGU7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItdGl0bGUpO1xufVxuXG5cbi5jLW1lc3NhZ2UtYWxlcnQgLmMtc3VidGl0bGUsXG4uYy1tZXNzYWdlLWFsZXJ0IGgyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBUZXh0IENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIge1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYy10ZXh0LWJsb2NrIHAsXG4uYy1mb290ZXItbWFpbiBwIHtcblx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIHA6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgcCArIGgyLFxuLmMtdGV4dC1ibG9jayBwICsgaDMsXG4uYy10ZXh0LWJsb2NrIHAgKyBoNCxcbi5jLXRleHQtYmxvY2sgdWwgKyBwLFxuLmMtdGV4dC1ibG9jayB1bCArIGgyLFxuLmMtdGV4dC1ibG9jayB1bCArIGgzLFxuLmMtdGV4dC1ibG9jayB1bCArIGg0LFxuLmMtdGV4dC1ibG9jayB1bCArIG9sLFxuLmMtdGV4dC1ibG9jayBvbCArIHAsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDIsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDMsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDQsXG4uYy1hY2NvcmRpb24taW5uZXIgLmMtY29udGFjdCArIHAsXG4uYy1hY2NvcmRpb24taW5uZXIgLmMtY29udGFjdCArIHVsLFxuLmMtYWNjb3JkaW9uLWlubmVyIC5jLWNvbnRhY3QgKyBoMyxcbi5jLWFjY29yZGlvbi1pbm5lciAuYy1jb250YWN0ICsgaDQge1xuXHRwYWRkaW5nLXRvcDogMS41ZW07XG59XG5cbi5jLWFjY29yZGlvbi1pbm5lciBwICsgLmMtY29udGFjdCAsXG4uYy1hY2NvcmRpb24taW5uZXIgdWwgKyAuYy1jb250YWN0IHtcblx0bWFyZ2luLXRvcDogMS41ZW07XG59XG5cbi5jLXRleHQtb25seSArIC5jLXRleHQtb25seSBoMjpmaXJzdC1jaGlsZCxcbi5jLXRleHQtb25seSArIC5jLXRleHQtb25seSBoMzpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDEuNWVtO1xufVxuXG4uYy1sZWFkLFxuLmMtc2hvd3Jvb20tYm94IHAge1xuXHRmb250LXNpemU6IDEuMzNyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGVhZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG59XG5cbi5jLWZpbHRlci1xdWlja2xpbmtzIHtcblx0Zm9udC1zaXplOiAxLjMzcmVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxlYWQpXG59XG5cbi5jLWxlYWQgKyBoMSB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLW07XG4gICAgcGFkaWRuZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRleHQtc21hbGwsXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSxcbmZpZ2NhcHRpb24sXG4uYy1vZmZjYW52YXMtbWV0YSxcbi5jLWhlYWRlci1tZXRhLHtcblx0Zm9udC1zaXplOiAwLjc3cmVtOyAvKiAxNHB4ICovXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS14cyk7XG59XG5cbmZpZ2NhcHRpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lcixcbi5jLWZvb3Rlci1uYXYtbGlzdCB1bCxcbi5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQge1xuXHRmb250LXNpemU6IDAuODhyZW07IC8qIDE2cHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpXG59XG5cbi5jLXRleHQtYmlnIHtcbiAgICAvKmZvbnQtc2l6ZTogMS43N3JlbTsgXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1sKTsqL1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBMaXN0cyBDb250ZW50IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayB1bCxcbi5jLXRleHQtYmxvY2sgb2wsXG4uYy1mb3JtLWJ1bGxldC1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMS41ZW0gMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtZm9ybS1idWxsZXQtbGlzdCB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGksXG4uYy1mb3JtLWJ1bGxldC1saXN0IGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0IGxpLFxuLmMtbGluay1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1jYXRlZ29yeS1saXN0IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogMzJweDtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaSArIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSArIGxpLFxuLmMtZm9ybS1idWxsZXQtbGlzdCBsaSArIGxpIHtcblx0bWFyZ2luLXRvcDogMC41ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY2F0ZWdvcnktbGlzdCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpOjpiZWZvcmUsXG4uYy1mb3JtLWJ1bGxldC1saXN0IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNThlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWxpc3QgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtc2hvd3Jvb20tYm94LWxpc3QgbGk6OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCB7XG5cdGNvdW50ZXItcmVzZXQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpIHtcblx0Y291bnRlci1pbmNyZW1lbnQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OiBjb3VudGVyKGN1c3RvbS1jb3VudGVyKSBcIi4gXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMjZweDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy1qb2JzLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4uYy1qb2JzLWxpc3QgbGkge1xuXHRwYWRkaW5nOiAxZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cblxuLmMtc3BlY2lmaWNhdGlvbi1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMS41ZW0gMDtcblx0Ym9yZGVyLXRvcDogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4uYy1zcGVjaWZpY2F0aW9uLWxpc3Qge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG5cbi5jLXNwZWNpZmljYXRpb24tbGlzdCBkdCxcbi5jLXNwZWNpZmljYXRpb24tbGlzdCBkZCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogJHNwYWNpbmcteHMgMDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXhzKSAwO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLXNwZWNpZmljYXRpb24tbGlzdCBkdCB7XG5cdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNjAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNjAlO1xuICAgIGZsZXg6IDAgMCA2MCU7XG4gICAgbWF4LXdpZHRoOiA2MCU7XG5cdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cblxuLmMtc3BlY2lmaWNhdGlvbi1saXN0IGRkIHtcblx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA0MCU7XG4gICAgLW1zLWZsZXg6IDAgMCA0MCU7XG4gICAgZmxleDogMCAwIDQwJTtcbiAgICBtYXgtd2lkdGg6IDQwJTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBRdW90ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMS41cmVtIDA7XG59XG5cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy10ZXh0LWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtdGV4dC1saWdodCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNpemVzIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRlYXNlciBoMyB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4gICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAgIGh5cGhlbnM6IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNDQwcHgpIHtcbiAgICAuYy1tYWluLXRlYXNlciBoMyxcbiAgICAuYy1jcm9zcy10ZWFzZXIgaDMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzYwcHgpIHtcblx0aDEsIC5jLWgxLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oM3tcblx0XHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHQtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRcdC1tb3otaHlwaGVuczogYXV0bztcblx0XHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdFx0aHlwaGVuczogYXV0bztcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTIwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMTogMi42NnJlbTtcbiAgICAgICAgLS1mb250LXNpemUtbGVhZDogMS4xMjVyZW07XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3RlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMTAwcHgpIHtcbiAgICAuYy1tYWluLW5hdiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkge1xuICAgIC5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IFxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcbiAgICB9XG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4NTBweCkge1xuICAgIC5jLW5ld3MtdGVhc2VyLWJpZyBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCkge1xuICAgIC5jLW9mZmNhbnZhcy1uYXYtbGlzdCA+IGxpIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEuMzNyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjUxcHgpIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7XG4gICAgLmMtZmlsdGVyLXF1aWNrbGlua3Mge1xuICAgICAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZm9udC1zaXplLWgxOiAxLjg1cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMjogMS41cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMzogMS4xMjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWxlYWQ6IDEuMTI1cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LWw6IDEuNXJlbTtcbiAgICB9XG5cblx0LmMtZmlsdGVyLWxpc3Qge1xuICAgICAgICBmb250LXNpemU6IDAuODhyZW07IC8qIDE2cHggKi9cbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbiAgICB9XG4gICAgXG4gICAgLmMtb3JnYW5pZ3JhbW0sXG4gICAgLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbiAgICB9XG5cblxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2NTBweCkge1xuICAgIC5jLWZpbHRlci1xdWlja2xpbmtzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjU1cmVtOyBcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0ei1pbmRleDogMTA7XG59XG5cbi5jLWhlYWRlci1pbm5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHZhcigtLWhlYWRlci1pbm5lci1oZWlnaHQpO1xuICAgIG1hcmdpbi10b3A6IDU0cHg7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0taGVhZGVyLWlubmVyLW1hcmdpbi10b3ApO1xufVxuXG5cbi5jLWhlYWRlci1sb2dvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMzUwcHg7XG5cdGhlaWdodDogODhweDtcbn1cblxuLmMtaGVhZGVyLWxvZ28gYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyIHN0aWNreSBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlci1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2QyZDRkNTtcbn1cblxuLmMtaGVhZGVyLXN0aWNreSAuYy1oZWFkZXItaW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4uYy1oZWFkZXItc3RpY2t5IC5jLWhlYWRlci1sb2dvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMjcwcHg7XG5cdGhlaWdodDogNjdweDtcbn1cblxuLmMtaGVhZGVyLXN0aWNreSAuYy1oZWFkZXItbWV0YSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIHNraXAgbGlua1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2tpcC1saW5rIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMXB4OyAgICBcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIHBhZGRpbmc6IDAuNWVtIDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDIwcHggMjBweDtcbn1cblxuLmMtc2tpcC1saW5rOmZvY3VzIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgXG4gICAgY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBtYWluIG5hdiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW1haW4tbmF2IHtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xufVxuXG4uYy1tYWluLW5hdi1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYSxcbi5jLW1haW4tYW52LWxpc3QgYTp2aXNpdGVkIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLXRvcDogMC41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGE6aG92ZXIsXG4uYy1tYWluLW5hdi1saXN0IGE6Zm9jdXN7XG5cdGNvbG9yOiAkY29sb3ItbmF2LWhvdmVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uYXYtaG92ZXIpO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgLmMtYWN0aXZlIGE6OmJlZm9yZSB7XG5cdGhlaWdodDogNHB4O1xuICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLWZhdCk7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbWV0YSBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlci1tZXRhIHtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItbWV0YS1oZWlnaHQpO1xufVxuXG4uYy1oZWFkZXItbWV0YS1saXN0LFxuLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIFxufVxuXG4uYy1oZWFkZXItbWV0YS1saXN0IGxpICsgbGksXG4uYy1vZmZjYW52YXMtbWV0YS1saXN0IGxpICsgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG4uYy1oZWFkZXItbWV0YS1saXN0IGEsXG4uYy1oZWFkZXItbWV0YS1saXN0IGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAjNjY2NjY2O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLW1lZGl1bSk7XG59XG5cbi5jLWhlYWRlci1tZXRhLWxpc3QgYTpmb2N1cyxcbi5jLWhlYWRlci1tZXRhLWxpc3QgYTpob3ZlciB7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3RlciB7XG5cdHBhZGRpbmctdG9wOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xufVxuXG4uYy1mb290ZXItbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbn1cblxuLmMtZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLWZvb3Rlci10ZWFzZXIge1xuICAgIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QsXG4uYy1mb290ZXItbGluay1saXN0LFxuLmMtZm9vdGVyLXRlYXNlci1saXN0LFxuLmMtZm9vdGVyLXNvY2lhbC1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1mb290ZXIgYSxcbi5jLWZvb3RlciBhOnZpc2l0ZWQsXG4uYy1mb290ZXItbWFpbiBhLFxuLmMtZm9vdGVyLW1haW4gYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1x0XG59XG5cbi5jLWZvb3RlciBhOmhvdmVyLFxuLmMtZm9vdGVyIGE6Zm9jdXMsXG4uYy1mb290ZXItbWFpbiBhOmhvdmVyLFxuLmMtZm9vdGVyLW1haW4gYTpmb2N1cyB7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1mb290ZXItbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDM1MHB4O1xuXHRoZWlnaHQ6IDg4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy1mb290ZXItbG9nbyBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWZvb3Rlci1zb2NpYWwtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbSAwLjVlbSAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIHRlYXNlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZvb3Rlci10ZWFzZXItbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbn1cblxuLmMtZm9vdGVyLXRlYXNlci1saXN0IGxpIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuXG4uYy1mb290ZXItdGVhc2VyOjpiZWZvcmUsXG4uYy1mb290ZXItdGVhc2VyOjphZnRlciB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBsZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICRncmlkLWNvbnRhaW5lciAqIDIpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAyKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBoZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvcmRlci1saWdodC1ibHVlKTtcbn1cblxuLmMtZm9vdGVyLXRlYXNlcjo6YWZ0ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERpc2NsYWltZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCA+IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyB0cmlnZ2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtdHJpZ2dlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRvcDogNTAlO1xuICAgIHJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0bWFyZ2luOiAtMjBweCAwIDAgMDtcblx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlcjo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiA1MCU7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmFmdGVyIHtcblx0d2lkdGg6IDI2cHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlIHtcblx0aGVpZ2h0OiAyMHB4O1xuXHRtYXJnaW4tdG9wOiAtMTBweDtcblx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG5cdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YWZ0ZXIge1xuXHRoZWlnaHQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHRtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOmZvY3VzOjphZnRlcixcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46aG92ZXI6OmFmdGVyIHtcblx0d2lkdGg6IDE1cHg7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTpob3Zlcjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6aG92ZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgbWFpbiBjb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy1uYXYge1xuXHQvKmRpc3BsYXk6IG5vbmU7Ki9cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuXHR6LWluZGV4OiAxMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0dHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLW91dCAwcztcbn1cblxuI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtb2ZmY2FudmFzLW5hdiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy1vZmZjYW52YXMtaW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmMtb2ZmY2FudmFzLWlubmVyIC5jLWhlYWRlci1pbm5lciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1oZWFkZXItaW5uZXItbWFyZ2luLXRvcCkgKyB2YXIoLS1oZWFkZXItbWV0YS1oZWlnaHQpKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtb2ZmY2FudmFzLWNvbnRlbnQge1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cblxuLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB1bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7ICAgIFxufVxuXG5cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0ID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG5cdHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgXG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQgdWwge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgXG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQgdWwgdWwge1xuICAgIC8qbWFyZ2luLXRvcDogMC43NWVtOyovXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCBsaTpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDEuMWVtO1xufVxuXG5cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB1bCBsaTpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQgdWwgbGkgKyBsaSB7XG5cdHBhZGRpbmctdG9wOiAxZW07XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQgdWwgdWwgbGkgKyBsaSB7XG5cdHBhZGRpbmctdG9wOiAwLjY1ZW07XG59XG5cbi5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgYSxcbi5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgYTp2aXNpdGVkLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGEsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cblxuXG4uYy1vZmZjYW52YXMtbWV0YS1saXN0IGE6aG92ZXIsXG4uYy1vZmZjYW52YXMtbWV0YS1saXN0IGE6Zm9jdXMsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTpob3Zlcixcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmZvY3Vze1xuXHRjb2xvcjogJGNvbG9yLW5hdi1ob3ZlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbmF2LWhvdmVyKTtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1vZmZjYW52YXMtbWV0YS1saXN0IC5jLWJ0bi1zZWNvbmRhcnk6aG92ZXIsXG4uYy10ZXh0LWxpZ2h0IC5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgLmMtYnRuLXNlY29uZGFyeTpmb2N1cyB7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHNwYW4gYSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHNwYW4gYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uYXYtaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmF2LWhvdmVyKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qgc3BhbiBhOmZvY3VzOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qgc3BhbiBhOmhvdmVyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgLmMtYWN0aXZlIHNwYW4gYTo6YmVmb3JlIHtcblx0aGVpZ2h0OiA0cHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtZmF0KTtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDAuMjVlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jb250ZW50IGE6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogLTRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jb250ZW50IC5jLWFjdGl2ZSA+IGEge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCAuYy1hY3RpdmUgPiBhOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbmF2LWhvdmVyKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBhY2NvcmRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtOTk5OXB4O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS10aXRsZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDFlbSAwIDFlbSA1NHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLXRpdGxlO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLXRpdGxlKTtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlcixcbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZXtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDExcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgIFx0bGVmdDogMjNweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIFJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5ODFweCkge1xuICAgIC5jLW9mZmNhbnZhcy1tZW51LWNoZWNrLFxuXHQuYy1vZmZjYW52YXMtbWVudS10aXRsZSxcbiAgICAuYy1vZmZjYW52YXMtbWVudS1saW5rLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuICAgIFxuICAgIC5jLW9mZmNhbnZhcy1uYXYtbGlzdCB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMWVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3QgLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuMWVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7XG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0OjpiZWZvcmUsXG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0ID4gbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogJGdyaWQtY29sO1xuICAgICAgICBsZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAkZ3JpZC1jb250YWluZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tZ3JpZC1jb250YWluZXIpKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItbGlnaHQtYmx1ZSk7XG4gICAgfVxuICAgIFxuICAgIC5jLW9mZmNhbnZhcy1uYXYtbGlzdDo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLW9mZmNhbnZhcy1uYXYtbGlzdCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLW9mZmNhbnZhcy1tZW51LXRpdGxlICsgc3BhbiB7ICBcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG4gICAgXG5cdC5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWF4LWhlaWdodDogMDtcblx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDAsMSwwLDEpO1xuXHR9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCA+IGxpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDU0cHg7XG5cdH1cbiAgICBcbiAgICAgXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCB+IC5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQge1xuXHRcdG1heC1oZWlnaHQ6IDk5OTlweDtcblx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDEsMCwxLDApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHR9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB1bCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jb250ZW50IHVsIHVsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgfVxuICAgIFxuICAgLmMtb2ZmY2FudmFzLW1lbnUtbGluay1tb2JpbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjFlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkge1xuICAgIC5jLW9mZmNhbnZhcy1tZXRhLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCBsaSArIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuICAgIC5jLW9mZmNhbnZhcy1tZW51LXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMWVtIDAgMWVtIDMycHg7XG4gICAgfVxuICAgIFxuICAgIC5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQgPiBsaSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMnB4O1xuXHR9XG4gICAgXG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIsXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuICAgIC5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZXtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7XG4gICAgfVxuXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgIH1cblxuICAgIC5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0NDBweCkge1xuICAgIC5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgLmMtYnRuLXNlY29uZGFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgbmF2IG9wZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IHtcblx0LmMtb2ZmY2FudmFzLW5hdiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDB2aDtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHR9XG5cdFxuXHQuYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG4gICAgXG4gICAgLmMtcXVpY2tuYXYtc3RpY2t5LFxuICAgIC5jLWNvb2tpZS1ub3RpY2Uge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn0iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJnLWxpZ2h0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbn1cblxuLmMtYmctZGFyayB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xufVxuXG4uYy1tZXNzYWdlLWFsZXJ0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFsZXJ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFsZXJ0KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTaG93cm9vbSBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNob3dyb29tIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtc2hvd3Jvb20gLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1pbWcge1xuICBtYXJnaW4tbGVmdDogLTQxLjY2NyU7XG59XG5cblxuLmMtc2hvd3Jvb20tYm94LWxpc3QsXG4uYy10ZXh0LWJsb2NrIC5jLXNob3dyb29tLWJveC1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLXNob3dyb29tLWJveC1saXN0IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQnJlYWRjcnVtYiAvIGNhdGVnb3J5IGxpc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1icmVhZGNydW1iIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtYnJlYWRjcnVtYiBhIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy1icmVhZGNydW1iIGE6aG92ZXIsXG4uYy1icmVhZGNydW1iIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1icmVhZGNydW1iIHVsLFxuLmMtY2F0ZWdvcnktbGlzdCxcbi5jLW5ld3MtaXRlbS10ZXh0IC5jLWNhdGVnb3J5LWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyAgICBcbn1cblxuLmMtYnJlYWRjcnVtYiBsaSxcbi5jLWNhdGVnb3J5LWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhzO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4uYy1icmVhZGNydW1iIGxpOmxhc3QtY2hpbGQsXG4uYy1jYXRlZ29yeS1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uYy1icmVhZGNydW1iIGxpOjpiZWZvcmUsXG4uYy1jYXRlZ29yeS1saXN0IGxpOjpiZWZvcmUsXG4uYy10ZXh0LWJsb2NrIC5jLWNhdGVnb3J5LWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE0cHgpO1xuICAgIHdpZHRoOiAycHg7XG4gICAgd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLWJyZWFkY3J1bWIgbGk6bGFzdC1jaGlsZDo6YmVmb3JlLFxuLmMtY2F0ZWdvcnktbGlzdCBsaTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLWNhdGVnb3J5LWxpc3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEFjY29yZGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbn1cblxuLmMtYWNjb3JkaW9uLWNvbnRhaW5lciArIC5jLWFjY29yZGlvbi1jb250YWluZXIge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5jLWFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMWVtIDAgMWVtIDU0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItdGl0bGU7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItdGl0bGUpO1xufVxuXG4uYy1hY2NvcmRpb24tc21hbGwgLmMtYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAxZW0gMCAxZW0gMzJweDtcbn1cblxuLmMtYWNjb3JkaW9uLXRpdGxlOmZvY3VzLFxuLmMtYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4uYy1hY2NvcmRpb24tY2hlY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuXG59XG5cbi5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlLFxuLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDExcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5jLWFjY29yZGlvbi1zbWFsbCAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtYWNjb3JkaW9uLXNtYWxsIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUsXG4uYy1hY2NvcmRpb24tc21hbGwgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtYWNjb3JkaW9uLXNtYWxsIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDhweCk7XG59XG5cbi5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbi5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgbGVmdDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1hY2NvcmRpb24tc21hbGwgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtYWNjb3JkaW9uLXNtYWxsIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICB3aWR0aDogMThweDtcbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgIGxlZnQ6IDIzcHg7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtYWNjb3JkaW9uLXNtYWxsIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1hY2NvcmRpb24tc21hbGwgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgbGVmdDogN3B4O1xuICAgIGhlaWdodDogMThweDtcbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4vKiBDb250ZW50cyAqL1xuLmMtYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDAsMSwwLDEpO1xuXG59XG5cbi5jLWFjY29yZGlvbi1pbm5lciB7XG4gICAgcGFkZGluZzogJHNwYWNpbmcteHMgMjUlICRzcGFjaW5nLW0gNTRweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXhzKSAyNSUgdmFyKC0tc3BhY2luZy1tKSA1NHB4O1xuXG59XG5cbi5jLWFjY29yZGlvbi1zbWFsbCAuYy1hY2NvcmRpb24taW5uZXIge1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLXhzIDAgJHNwYWNpbmctcyAzMnB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpIDAgdmFyKC0tc3BhY2luZy1zKSAzMnB4O1xuXG59XG5cbi5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkIH4gLmMtYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgXHRtYXgtaGVpZ2h0OiA5OTk5cHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGN1YmljLWJlemllcigxLDAsMSwwKTtcbn1cblxuLyogY29udGFjdCBzbmlwcGV0IGluc2lkZSBhY2NvcmRpb24gKi9cblxuLmMtYWNjb3JkaW9uLWlubmVyIC5jLWNvbnRhY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbWFpbiB0ZWFzZXIgLyBjcm9zcyB0ZWFzZXIgLyBuZXdzIHRlYXNlciAvIG92ZXJ2aWV3IHRlYXNlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYm94IHtcbiAgICBwYWRkaW5nOiAxLjVlbSAzMnB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctYm94KTtcbn1cblxuLmMtYm94LWJvcmRlciB7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG59XG5cbi5jLW5ld3MtaXRlbSxcbi5jLXRlYXNlci1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy10ZWFzZXItaXRlbSAuYy1saW5rLWFycm93LWJpZyxcbi5jLW5ld3MtaXRlbSAuYy1saW5rLWFycm93LWJpZyxcbi5jLW5ld3MtaXRlbS10ZXh0IC5jLWxpbmstYXJyb3ctYmlnIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtdGVhc2VyLWxpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1tYWluLXRlYXNlciAuYy10ZWFzZXItaXRlbSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLyouYy1tYWluLXRlYXNlciAuYy1jb2wtNDpudGgtY2hpbGQoNG4rMSkgLmMtdGVhc2VyLWl0ZW17XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtY29sLTQ6bnRoLWNoaWxkKDVuKzIpIC5jLXRlYXNlci1pdGVte1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmstMik7XG59Ki9cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW0gaDMgYSxcbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtIC5jLWxpbmstYm9sZCB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWdyYWRpZW50KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtOmhvdmVyIGgzIGEsXG4uYy1tYWluLXRlYXNlciAuYy10ZWFzZXItaXRlbTpob3ZlciAuYy1saW5rLWJvbGQge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ncmFkaWVudCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1tYWluLXRlYXNlciAuYy10ZWFzZXItaXRlbTpmb2N1cy13aXRoaW4gaDMgYSxcbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbiAuYy1saW5rLWJvbGQge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW0gaDMgYSxcbi5jLW5ld3MtaXRlbSBoMyBhIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWdyYWRpZW50KTtcbn1cblxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtOmhvdmVyLFxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtOmhvdmVyIGgzIGEsXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtbGluay1ib2xkIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLWNyb3NzLXRlYXNlciAuYy10ZWFzZXItaXRlbTpmb2N1cy13aXRoaW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWdyYWRpZW50KTtcbn1cblxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbixcbi5jLWNyb3NzLXRlYXNlciAuYy10ZWFzZXItaXRlbTpmb2N1cy13aXRoaW4gaDMgYSxcbi5jLWNyb3NzLXRlYXNlciAuYy10ZWFzZXItaXRlbTpmb2N1cy13aXRoaW4gLmMtbGluay1ib2xkIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLW5ld3MtaXRlbS10ZXh0LFxuLmMtb3ZlcnZpZXctaXRlbS10ZXh0IHtcbiAgICBib3JkZXItbGVmdDogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIHBhZGRpbmc6IDEuNWVtIDAgMCAzMnB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctbmV3cy1pdGVtKTtcbn1cblxuLmMtbmV3cy10ZWFzZXItYmlnIC5jLW5ld3MtaXRlbS10ZXh0IHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgcGFkZGluZzogMi41ZW0gMCAwIDA7XG59XG5cblxuXG4uYy1uZXdzLWl0ZW0tdGV4dCB1bCArIGgzIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLyouYy1uZXdzLWl0ZW0tdGV4dCBwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xufSovXG5cbi5jLXJhdGlvYm94LW5ld3MgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtbmV3cy1pdGVtOmhvdmVyIC5jLXJhdGlvYm94LW5ld3MgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4uYy1uZXdzLWl0ZW06Zm9jdXMtd2l0aGluIC5jLXJhdGlvYm94LW5ld3MgaW1nIHtcbiAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG59XG5cbi5jLW5ld3MtdGVhc2VyLWJpZyAuYy1jb2wtNCxcbi5jLW5ld3MtdGVhc2VyLWJpZyAuYy1jb2wtNiB7XG4gICAgcG9zaXRpb246IHVuc2V0O1xufVxuXG4vKiBjcm9zc3RlYXNlciAvIG1haW50ZWFzZXIgd2l0aG91dCBzbWFsbGVyIGFycm93ICovXG5cbi5jLW1haW4tdGVhc2VyIC5jLXRleHQtYmxvY2sgcCxcbi5jLWNyb3NzLXRlYXNlciAuYy10ZXh0LWJsb2NrIHAsXG4uYy1uZXdzLWl0ZW0tdGV4dCBwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4zNWVtO1xufVxuXG4vKiBvdmVydmlldyB0ZWFzZXIgKi9cbi5jLW92ZXJ2aWV3LWl0ZW0tdGV4dCBwICsgdWwge1xuICAgIHBhZGRpbmctdG9wOiAxLjI1ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIExpbmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1saW5lLXRvcDo6YmVmb3JlLFxuLmMtbGluZS1ib3R0b206OmFmdGVyIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAkZ3JpZC1jb250YWluZXIgKiAyKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tZ3JpZC1jb250YWluZXIpICogMik7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4uYy1saW5lLXRvcDo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG59XG5cbi5jLWxpbmUtYm90dG9tOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xufVxuXG4vKiBmb3IgY29udGFjdCBzbmlwcGV0IGluc2lkZSBhY2NvcmRpb24gKi9cbi5jLWFjY29yZGlvbi1pbm5lciAuYy1saW5lLXRvcDo6YmVmb3JlLFxuLmMtYWNjb3JkaW9uLWlubmVyIC5jLWxpbmUtYm90dG9tOmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGaWx0ZXIgbGlzdCAvIGZpbHRlciBxdWlja2xpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1maWx0ZXItbGlzdCxcbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1maWx0ZXItbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLWZpbHRlci1saXN0IGEsXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbi5jLWZpbHRlci1saXN0IGEsXG4uYy1maWx0ZXItbGlzdCBhOnZpc2l0ZWQsXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGEsXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGE6dmlzaXRlZHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuLmMtZmlsdGVyLWxpc3QgYTpob3Zlcixcbi5jLWZpbHRlci1saXN0IGE6Zm9jdXMsXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGE6aG92ZXIsXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGE6Zm9jdXN7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1maWx0ZXItbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLWZpbHRlci1saXN0IGE6Zm9jdXM6OmJlZm9yZSxcbi5jLWZpbHRlci1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLWZpbHRlci1saXN0IC5jLWFjdGl2ZSBhOjpiZWZvcmV7XG5cdGhlaWdodDogNHB4O1xuICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLWZhdCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWx0ZXIgcXVpY2tsaW5rcyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZpbHRlci1xdWlja2xpbmtzIHtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG5cdGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IFxuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGEge1xuICAgIGZsZXgtZ3JvdzogMTtcblx0ZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIFxufVxuXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgXG5cdHRvcDogY2FsYygxMDAlIC0gMzBweCk7XG5cdGxlZnQ6IDUwJTtcblx0Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcblx0aGVpZ2h0OiAwO1xuXHR3aWR0aDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItd2lkdGg6IDE2cHggMjBweCAwO1xuXHRtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xufVxuXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGE6Zm9jdXM6OmJlZm9yZSxcbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYTpob3Zlcjo6YmVmb3JlLFxuLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCAuYy1hY3RpdmUgYTo6YmVmb3Jle1xuICAgIHRvcDogMTAwJTtcblx0Ym9yZGVyLXRvcC1jb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG5cdGJvcmRlci10b3AtY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHF1aWNrbGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXF1aWNrbGlua3MtY29udGVudC1pbm5lciB7XG4gICAgYmFja2dyb3VuZDogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctZ3JhZGllbnQpO1xufVxuXG5cbi5jLXF1aWNrbGlua3MtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgJGdyaWQtcm93O1xuICAgIG1hcmdpbjogMCB2YXIoLS1ncmlkLXJvdyk7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLXF1aWNrbGlua3MtbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDFlbSAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZzogMWVtIHZhcigtLWdyaWQtY29sKTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jLXF1aWNrbGlua3MtbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogJGdyaWQtY29sO1xuICAgIGxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gJGdyaWQtY29sICogMik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWdyaWQtY29sKSAqIDIpO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItYmFzaWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9yZGVyLWxpZ2h0LWJsdWUpO1xufVxuXG4uYy1xdWlja2xpbmtzLWxpc3QgbGk6bnRoLWNoaWxkKDEpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIHF1aWNrIG5hdiBzdGlja3lcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1xdWlja25hdi1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogMDtcblx0dG9wOiA1MCU7XG5cdHotaW5kZXg6IDExO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5cbi5jLXF1aWNrbmF2LXN0aWNreSB1bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtcXVpY2tuYXYtc3RpY2t5IGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDcwcHg7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG59XG5cbi5jLXF1aWNrbmF2LXN0aWNreSBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogLTE5MHB4O1xuXHRsaW5lLWhlaWdodDogNzBweDtcblx0cGFkZGluZy1sZWZ0OiA3NnB4O1xuXHR3aWR0aDogMjYwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ncmFkaWVudCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xufVxuXG4uYy1xdWlja25hdi1zdGlja3kgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAwIDAgMDtcbn1cblxuLmMtcXVpY2tuYXYtc3RpY2t5IGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMjBweDtcbn1cblxuLmMtcXVpY2tuYXYtc3RpY2t5IGEsXG4uYy1xdWlja25hdi1zdGlja3kgYTp2aXNpdGVkLFxuLmMtcXVpY2tuYXYtc3RpY2t5IGE6Zm9jdXMsXG4uYy1xdWlja25hdi1zdGlja3kgYTpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLXF1aWNrbmF2LXN0aWNreSBhOmZvY3VzLFxuLmMtcXVpY2tuYXYtc3RpY2t5IGE6aG92ZXIge1xuXHRyaWdodDogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbWFwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1tYXAge1xuICAgIC8qbWFyZ2luLWJvdHRvbTogNDBweDsqL1xufVxuXG4uYy1tYXAtaW5uZXIge1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0aGVpZ2h0OiA2MDBweDtcblx0aGVpZ2h0OiA2NXZoO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgc2VhcmNoIC8gc2VhcmNoIHJlc3VsdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNlYXJjaC1yZXN1bHQtbGlzdCB7XG5cdG1hcmdpbjogMCAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy1zZWFyY2gtcmVzdWx0LWxpc3QgbGkge1xuXHRwYWRkaW5nOiAwICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG5cdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLXNlYXJjaC1yZXN1bHQtbGlzdCBsaSB7XG5cdHBhZGRpbmctYm90dG9tOiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbn1cblxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1ib3gge1xuICAgIGJvcmRlci1jb2xvcjogJGJnLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHRleHQgaW1nIDIgY29sXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtdGV4dC1pbWctMmNvbC13aWRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4uYy10ZXh0LWltZy0yY29sLXdpZGUgZmlndXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBPcmdhbmlncmFtbVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb3JnYW5pZ3JhbW0taXRlbSB7XG4gICAgbWluLWhlaWdodDogNi4yZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW9yZ2FuaWdyYW1tLXMpO1xufVxuXG4uYy1vcmdhbmlncmFtbS1iZy1sMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJnLWRhcmspO1xufVxuXG4vKi5jLW9yZ2FuaWdyYW1tLWJnLXN0YWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbiAgICBib3JkZXItY29sb3I6ICRiZy1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59Ki9cblxuLmMtb3JnYW5pZ3JhbW0tYmctbDIsXG4uYy1vcmdhbmlncmFtbS1iZy1zdGFiIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctb3JnYW5pZ3JhbW0tbDI7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmctb3JnYW5pZ3JhbW0tbDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctb3JnYW5pZ3JhbW0tbDIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYmctb3JnYW5pZ3JhbW0tbDIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtb3JnYW5pZ3JhbW0tYmctbDMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1vcmdhbmlncmFtbS1sMztcbiAgICBib3JkZXItY29sb3I6ICRiZy1vcmdhbmlncmFtbS1sMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1vcmdhbmlncmFtbS1sMyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1vcmdhbmlncmFtbS1sMyk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy1vcmdhbmlncmFtbS1zZXBhcmF0b3Ige1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgJHNwYWNpbmctbCAwO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgLSB2YXIoLS1zcGFjaW5nLW9yZ2FuaWdyYW1tLXMpKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ29va2llIG5vdGljZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29va2llLW5vdGljZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMzJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ncmFkaWVudCk7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgei1pbmRleDogMjA7XG59XG5cbi5jLWNvb2tpZS1ub3RpY2UgcCxcbi5jLWNvb2tpZS1ub3RpY2UgdWwge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNWVtIDAuNWVtIDAgMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY1MHB4KSB7ICAgXG4gICAgLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG5cdC5jLWNvb2tpZS1ub3RpY2UgLmMtYnRuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cdH1cblx0XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTdWIgbWVudSBmaWx0ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXN1Yi1tZW51LWNvbnRlbnR7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogU2hvdyB0aGUgZmlyc3Qgc3ViIG1lbnUgY29udGFpbmVyICovXG4uYy1zdWItbWVudS1jb250ZW50LmMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hW2hyZWZePVwidGVsOlwiXSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayBhIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwkY29sb3ItaGlnaGxpZ2h0IDAlLCRjb2xvci1oaWdobGlnaHQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx2YXIoLS1jb2xvci1oaWdobGlnaHQpIDAlLHZhcigtLWNvbG9yLWhpZ2hsaWdodCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCA0cHg7XG4gIFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMXM7XG59XG5cblxuXG4uYy10ZXh0LWJsb2NrIGE6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLXNpemU6IDhweCA4cHg7XG59XG5cbi5jLXRleHQtc21hbGwgYSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAycHggMnB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIGE6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLXNpemU6IDZweCA2cHg7XG59XG5cbi5jLXRleHQtc21hbGwgYTpmb2N1cyxcbi5jLXRleHQtc21hbGwgYTpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCA0cHg7XG59XG5cbi5jLWZvb3Rlci1tYWluIGEsXG4uYy1mb290ZXItZGlzY2xhaW1lciBhe1xuXHRiYWNrZ3JvdW5kLXNpemU6IDAgMDtcbiAgXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcztcbn1cblxuLmMtZm9vdGVyLW1haW4gYTpob3Zlcixcbi5jLWZvb3Rlci1tYWluIGE6Zm9jdXMsXG4uYy1mb290ZXItZGlzY2xhaW1lciBhOmhvdmVyLFxuLmMtZm9vdGVyLWRpc2NsYWltZXIgYTpmb2N1cyB7XG5cdGJhY2tncm91bmQtc2l6ZTogMXB4IDFweDtcbiAgXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcztcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1idG4sXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bi1zZWNvbmRhcnksXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstaWNvbixcbi5jLXRleHQtYmxvY2sgLmMtbGluay1ib2xkLFxuLmMtdGVhc2VyIC5jLXRleHQtYmxvY2sgaDMgYSxcbi5jLW5ld3MtdGVhc2VyLWJpZyAuYy10ZXh0LWJsb2NrIGgzIGEsXG4uYy10ZXh0LWJsb2NrIC5jLXNob3dyb29tLWJveC1saXN0IGEge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ0bixcbi5jLWJ0bi1zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAuOGVtIDI0cHggMC44ZW0gMjRweDtcblx0Ym9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICBcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtYnRuLFxuLmMtYnRuOnZpc2l0ZWR7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtYnRuOmhvdmVyLCBcbi5jLWJ0bjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xufVxuXG4uYy1idG4tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtYnRuLXNlY29uZGFyeSxcbi5jLWJ0bi1zZWNvbmRhcnk6dmlzaXRlZHtcbiAgICBjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtYnRuLXNlY29uZGFyeTpob3ZlciwgXG4uYy1idG4tc2Vjb25kYXJ5OmZvY3VzIHsgICAgXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cblxuXG4uYy1idG4tdXBsb2FkZmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWJ0bi1zbWFsbCB7ICAgIFxuICAgcGFkZGluZzogMC41ZW0gMjBweDtcbn1cblxuLmMtYnRuLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDI0cHg7XG4gICAgcmlnaHQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICByaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1idG4tY2xvc2U6OmJlZm9yZSxcbi5jLWJ0bi1jbG9zZTo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICB3aWR0aDogMjZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG59XG5cbi5jLWJ0bi1jbG9zZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmMtYnRuLWNsb3NlOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmMtYnRuLWNsb3NlOmhvdmVyOjpiZWZvcmUsXG4uYy1idG4tY2xvc2U6aG92ZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbGlua3Mgd2l0aCBpY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaWNvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtaWNvbjo6YmVmb3JlLFxuLmMtaWNvbjo6YWZ0ZXIsXG4uYy1tYWluLW5hdi1saW5rLWFycm93OjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uYy1saW5rLWljb24sXG4uYy1saW5rLWJvbGQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctbGVmdDogMzJweDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWxpbmstYXJyb3ctYmlnICB7XG5cdHBhZGRpbmctbGVmdDogNDhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiA0OHB4O1xuXHRoZWlnaHQ6IDI4cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYyMHB4O1xufVxuXG4uYy1saW5rLWFycm93LWJpZzpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1hcnJvdy1iaWc6Zm9jdXM6OmJlZm9yZVxuLyouYy10ZWFzZXItaXRlbTpob3ZlciAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlLFxuLmMtdGVhc2VyLWl0ZW06Zm9jdXMgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSxcbi5jLW5ld3MtaXRlbTpob3ZlciAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlLFxuLmMtbmV3cy1pdGVtOmZvY3VzIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUsXG4uYy1uZXdzLWl0ZW0tdGV4dDpob3ZlciAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlLFxuLmMtbmV3cy1pdGVtLXRleHQ6Zm9jdXMgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSovIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTYyMHB4O1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmVcbi8qLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW0gLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSovIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC02MjBweDtcbn1cblxuLyouYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtNjIwcHg7XG59XG5cbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtNjIwcHg7XG59XG5cbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbiAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggLTYyMHB4O1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtNjIwcHg7XG59Ki9cblxuLyogdGVzdCBzbWFsbCBhcnJvd3MgaW4gdGVhc2VycyAqL1xuLmMtbWFpbi10ZWFzZXIgLmMtbGluay1hcnJvdy1iaWcsXG4uYy1jcm9zcy10ZWFzZXIgLmMtbGluay1hcnJvdy1iaWcsXG4uYy1uZXdzLWl0ZW0gLmMtbGluay1hcnJvdy1iaWcge1xuXHRwYWRkaW5nLWxlZnQ6IDM4cHg7XG4gICAgd2lkdGg6IDM4cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSxcbi5jLWNyb3NzLXRlYXNlciAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlLFxuLmMtbmV3cy1pdGVtIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuXHR3aWR0aDogMzhweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG5cbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggMDtcbn1cblxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUsXG4uYy1uZXdzLWl0ZW0gLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggMDtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IDA7XG59XG5cbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbiAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggMDtcbn1cblxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbiAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggMDtcbn1cblxuLmMtbmV3cy1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAwO1xufVxuXG4uYy1uZXdzLWl0ZW06Zm9jdXMtd2l0aGluIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAwO1xufVxuXG4vKiBlbmQgc21hbGwgYXJyb3dzIGluIHRlYXNlcnMgKi9cblxuLmMtbGluay1hcnJvdzo6YmVmb3JlLFxuLmMtbGluay1iYWNrOjpiZWZvcmUge1xuXHR0b3A6IDAuMzVlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDM4cHg7XG5cdGhlaWdodDogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG4uYy1saW5rLWFycm93OmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWFycm93OmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAwO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstYXJyb3c6OmJlZm9yZSxcbi5jLXNlYXJjaC1yZXN1bHQtbGlzdCAuYy1hY3RpdmUgLmMtbGluay1hcnJvdzo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IDA7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay1hcnJvdzpob3Zlcjo6YmVmb3JlLFxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1saW5rLWFycm93OmhvdmVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggMDtcbn1cblxuLmMtbGluay1iYWNrOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4O1xufVxuXG4uYy1saW5rLWJhY2s6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstYmFjazpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTIwcHg7XG59XG5cbi5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG5cdHRvcDogMC4xNWVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4O1xufVxuXG4uYy1saW5rLWRvd25sb2FkOmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtNDBweDtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTQwcHg7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay1kb3dubG9hZDpob3Zlcjo6YmVmb3JlLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggLTQwcHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHR0b3A6IDBlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDIxcHg7XG5cdGhlaWdodDogMjFweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDtcbn1cblxuLmMtbGluay1leHRlcm46aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstZXh0ZXJuOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtODBweDtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1saW5rLWV4dGVybjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC04MHB4O1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZXh0ZXJuOmhvdmVyOjpiZWZvcmUsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZXh0ZXJuOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggLTgwcHg7XG59XG5cbi5jLW1haW4tbmF2LWxpbmstYXJyb3c6OmFmdGVyIHtcbiAgICB0b3A6IDAuNDVlbTtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiAxNHB4O1xuXHRoZWlnaHQ6IDhweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7XG59XG5cblxuLmMtbGluay1yZXNldDo6YmVmb3JlIHtcblx0dG9wOiAwLjJlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjBweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzYwcHg7XG59XG5cbi5jLWxpbmstcmVzZXQ6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstcmVzZXQ6Zm9jdXM6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0zNjBweDtcbn1cblxuLmMtYnRuLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogJGdyaWQtY29sO1xuICAgIHJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOiA1NHB4O1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmMtZm9ybS1zZWFyY2gtY2hpbW5leSAuYy1idG4tc2VhcmNoIHtcbiAgICByaWdodDogMDtcbn1cblxuLmMtYnRuLXNlYXJjaDo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzIwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb290ZXItdGVhc2VyLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA2NnB4O1xufVxuXG4uYy1mb290ZXItdGVhc2VyLWxpbmsgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWZvb3Rlci10ZWFzZXItbGluazo6YmVmb3JlLFxuLmMtcXVpY2tuYXYtbGluazo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLWljb25zLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNDFweDtcbiAgICBoZWlnaHQ6IDQxcHg7ICBcbn1cblxuLmMtZm9vdGVyLXRlYXNlci1ob3RsaW5lOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAwO1xuICAgIG1hcmdpbi10b3A6IC0xOHB4O1xufVxuXG4uYy1mb290ZXItdGVhc2VyLWRhbWFnZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTgwcHg7XG4gICAgbWFyZ2luLXRvcDogLTE4cHg7XG59XG5cbi5jLWZvb3Rlci10ZWFzZXItY2hpbW5leTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTE2MHB4O1xuICAgIG1hcmdpbi10b3A6IC0xOHB4O1xufVxuXG4uYy1mb290ZXItdGVhc2VyLXdlYXRoZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0yNDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuLmMtcXVpY2tuYXYtbGluazo6YmVmb3JlIHtcblx0bGVmdDogMTVweDtcbiAgICB3aWR0aDogNDFweDtcbiAgICBoZWlnaHQ6IDQxcHg7ICBcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuLmMtcXVpY2tuYXYtY29udGFjdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggMDtcbn1cblxuLmMtcXVpY2tuYXYtZGFtYWdlOjpiZWZvcmUge1xuICAgIGxlZnQ6IDE4cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtODBweDtcbn1cblxuLmMtcXVpY2tuYXYtY2hpbW5leTo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTE2MHB4O1xufVxuXG4uYy1xdWlja25hdi13ZWF0aGVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTI0MHB4O1xufVxuXG4uYy1pY29uLXF1aWNrbGluazo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUtcXVpY2tsaW5rcy5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDEwcHg7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA4MHB4OyBcbiAgICBtYXJnaW4tbGVmdDogLTM1cHg7XG59XG5cbi5jLWljb24tcXVpY2tsaW5rLW93bmVyOjphZnRlciB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmMtaWNvbi1xdWlja2xpbmstYXV0aG9yaXR5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIwcHg7XG59XG5cbi5jLWljb24tcXVpY2tsaW5rLWZpcmU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNDBweDtcbn1cblxuLmMtaWNvbi1xdWlja2xpbmstcGxhbm5lcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM2MHB4O1xufVxuXG5cbi5jLWljb24tcmVzZXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgdG9wOiAwLjVlbTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgXG59XG5cbi5jLWljb24tcmVzZXQ6OmJlZm9yZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTE0cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwMHB4O1xufVxuXG4uYy1pY29uLXJlc2V0OmZvY3VzOjpiZWZvcmUsXG4uYy1pY29uLXJlc2V0OmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC00MDBweDtcbn1cblxuLmMtaWNvbi1zb2NpYWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWljb24tc29jaWFsOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xufVxuXG4uYy1pY29uLXNvY2lhbDo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQxcHg7XG59XG5cbi5jLWljb24tc29jaWFsLWxpbmtlZGluOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ0MHB4O1xufVxuXG4uYy1pY29uLXNvY2lhbC1mYWNlYm9vazo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01NjBweDtcbn1cblxuLmMtaWNvbi1zb2NpYWwtaW5zdGFncmFtOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTUwMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICByZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjUxcHgpIHsgXG4gICAgLmMtaWNvbi1xdWlja2xpbms6aG92ZXI6OmFmdGVyLFxuICAgIC5jLWljb24tcXVpY2tsaW5rOmZvY3VzOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2NTBweCkgeyAgIFxuXHQuYy1pY29uLXF1aWNrbGluazo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7IFxuICAgIH1cblxuICAgIC5jLWljb24tcXVpY2tsaW5rLW93bmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1pY29uLXF1aWNrbGluay1hdXRob3JpdHk6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IC0xMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtaWNvbi1xdWlja2xpbmstZmlyZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggLTI0MHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1pY29uLXF1aWNrbGluay1wbGFubmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtMzYwcHg7XG4gICAgfVxuICAgIFxufVxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJhdGlvIEJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcmF0aW9ib3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nLFxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi8qLmMtcmF0aW9ib3ggPiBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1x0XG59Ki9cblxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4uYy1yYXRpb2JveC0xNmJ5OSB7XG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5jLXJhdGlvYm94LTRieTMsXG4uYy1yYXRpb2JveC1uZXdzIHtcblx0cGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLmMtcmF0aW9ib3gtMWJ5MSB7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uYy1yYXRpb2JveC1zaG93cm9vbSxcbi5jLXJhdGlvYm94LW92ZXJ2aWV3IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjYuNjY2JTtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcsXG4uYy1yYXRpb2JveC1zaG93cm9vbSBpbWcsXG4uYy1yYXRpb2JveC1uZXdzIGltZyxcbi5jLXJhdGlvYm94LW92ZXJ2aWV3IGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogc2FmYXJpIGZvcm0gZml4ICovXG5pbnB1dCxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxudGV4dGFyZWEge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogc2FmYXJpIGRhdGUgZml4ICovXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgbWluLWhlaWdodDogMWVtOyBcbiAgICBwYWRkaW5nOiAwLjY1ZW0gMTJweDtcbn1cblxuLyogcmVtb3ZlIGNocm9tZSBhdXRvZmlsbCB5ZWxsb3cgY29sb3IgKi9cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAyMDAwcztcbn1cblxuOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvci1mb3JtLXBsYWNlaG9sZGVyO1xuICAgIGNvbG9yOiAtLWNvbG9yLWZvcm0tcGxhY2Vob2xkZXI7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuXG4uYy1mb3JtLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLWZvcm0taXRlbS1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jLWZvcm0taXRlbSArIGgzLFxuLmMtZm9ybS1zdGFuZGFyZCAuYy1yb3cgKyBoMyxcbi5jLWZvcm0tc3RhbmRhcmQgZmllbGRzZXQgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctcztcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1idG4ge1xuICAgIG1pbi13aWR0aDogY2FsYygzMy4zMzMlIC0gdmFyKC0tZ3JpZC1jb2wpKTtcbn1cblxuLmMtZm9ybS1pbmZvLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICBmb250LXNpemU6IDAuNzdyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS14cyk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGZvcm1maWVsZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tdGV4dCwgXG4uYy1mb3JtLXRleHRhcmVhLCBcbi5jLWZvcm0tc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xufVxuXG4uYy1mb3JtLXNlcGFyYXRvciB7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbn1cblxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLXRleHQsXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogc29saWQgMXB4ICRib3JkZXItZm9ybTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci1mb3JtLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0cGFkZGluZzogMC42NWVtIDEycHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS10ZXh0LXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYSB7XG5cdG1pbi1oZWlnaHQ6IDZlbTtcbn1cblxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi8vIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS10ZXh0OmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYTpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl06ZGlzYWJsZWQsXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdOmRpc2FibGVkLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLXRleHQ6ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhOmRpc2FibGVkIHtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG5cdGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLWxhYmVsLXRleHQsXG4uYy1mb3JtLXN0YW5kYXJkIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICBmb250LXNpemU6IDAuNzdyZW07IFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkteHMpO1xufVxuXG4uYy1mb3JtLWxpc3QtdmVydGljYWwsXG4uYy1mb3JtLWxpc3QtaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuNWVtIDAgMCAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWZvcm0tbGlzdC1ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLWZvcm0tbGlzdC1ob3Jpem9udGFsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbn1cblxuLmMtZm9ybS1saXN0LXZlcnRpY2FsIGxpICsgbGkge1xuICAgIG1hcmdpbi10b3A6IC0wLjVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgY2hlY2tib3ggLyByYWRpb3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmMtZm9ybS1jaGVja2JveCxcbi5jLWZvcm0tcmFkaW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xufVxuXG4uYy1mb3JtLWNoZWNrYm94OmNoZWNrZWQrbGFiZWwsXG4uYy1mb3JtLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkrbGFiZWwsXG4uYy1mb3JtLXJhZGlvOmNoZWNrZWQrbGFiZWwsXG4uYy1mb3JtLXJhZGlvOm5vdCg6Y2hlY2tlZCkrbGFiZWx7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAwLjNlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXHRtaW4taGVpZ2h0OiAzNHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLmMtZm9ybS1jaGVja2JveDpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tcmFkaW86Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1yYWRpbzpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMC4xNWVtO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWZvcm07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItZm9ybS13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLWZvcm0tcmFkaW86Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1yYWRpbzpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmMtZm9ybS1jaGVja2JveDpmb2N1cytsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1yYWRpbzpmb2N1cytsYWJlbDo6YmVmb3Jle1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLWNoZWNrYm94OmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tcmFkaW86Y2hlY2tlZCtsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1jaGVja2JveDpjaGVja2VkK2xhYmVsOjphZnRlcixcbi5jLWZvcm0tY2hlY2tib3g6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMC4xNWVtICsgMnB4KTtcbiAgICBsZWZ0OiA5cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRib3JkZXI6IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG5cdGJvcmRlci13aWR0aDogMCA0cHggNHB4IDA7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWZvcm0tcmFkaW86Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1mb3JtLXJhZGlvOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDAuMTVlbSArIDVweCk7XG4gICAgbGVmdDogNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtZm9ybS1jaGVja2JveDpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmMtZm9ybS1yYWRpbzpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuXG4uYy1mb3JtLWNoZWNrYm94OmNoZWNrZWQrbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uYy1mb3JtLXJhZGlvOmNoZWNrZWQrbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5jLWZvcm0tY2hlY2tib3g6ZGlzYWJsZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tY2hlY2tib3g6ZGlzYWJsZWQrbGFiZWw6OmFmdGVyLFxuLmMtZm9ybS1yYWRpbzpkaXNhYmxlZCtsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1yYWRpbzpkaXNhYmxlZCtsYWJlbDo6YWZ0ZXJ7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBkcm9wZG93blxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLXNlbGVjdCxcbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMC42NWVtIDQwcHggMC42NWVtIDEycHggIWltcG9ydGFudDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItZm9ybS13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb24tZm9ybS1hcnJvdy5zdmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxLjRyZW0gIWltcG9ydGFudDtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XHRcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCBvcHRpb24ge1xuXHRwYWRkaW5nOiAwO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OmRpc2FibGVkOjotbXMtZXhwYW5kIHtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdFtkaXNhYmxlZF0ge1xuXHRjb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZm9ybSBjb3ZlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1jb3Zlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtZm9ybS1jb3Zlci1pdGVtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbG9hZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXNlbmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1mb3JtLXNlbmQgLmMtYnRuICsgLmMtbG9hZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xufVxuXG5cblxuLmMtbG9hZGVyIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiByb3RhdGlvbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qLmMtZm9ybS1pdGVtLWxvYWRpbmcgLmMtZm9ybS10ZXh0LFxuLmMtZm9ybS1pdGVtLWxvYWRpbmcgLmMtZm9ybS1zZWxlY3Qge1xuICAgIG9wYWNpdHk6IDAuMztcbn0qL1xuXG4uYy1mb3JtLWl0ZW0tbG9hZGluZyAuYy1sb2FkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiBjYWxjKDEuNWVtICsgOXB4KTtcbiAgICByaWdodDogMTBweDtcbiAgICAvKnJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsqL1xufVxuXG4uYy1mb3JtLXNlbmQuYy1mb3JtLWl0ZW0tbG9hZGluZyAuYy1sb2FkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0aW9uIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59IFxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZXJyb3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tbWVzc2FnZS1ib3gge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItZm9ybS13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtZm9ybS1tZXNzYWdlLWJveC1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZm9ybS1lcnJvcjtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWZvcm0tZXJyb3IpO1xuICAgIGNvbG9yOiAkY29sb3ItZm9ybS1lcnJvcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZm9ybS1lcnJvcik7XG59XG5cbi5jLWZvcm0tbWVzc2FnZS1ib3gtb2sge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWZvcm0tb2s7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1mb3JtLW9rKTtcbiAgICBjb2xvcjogJGNvbG9yLWZvcm0tb2s7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWZvcm0tb2spO1xufVxuXG4udGV4dC1kYW5nZXJ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDAuNzdyZW07IFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkteHMpO1xufVxuLyogZXJyb3IgbWVzc2FnZSovXG4uaGFzLWVycm9yIGxhYmVsLFxuLnRleHQtZGFuZ2VyLFxuLnRleHQtZGFuZ2VyLW5vbi1qcy1vdmVycmlkZSxcbi5oYXMtZXJyb3IgLmMtZm9ybS1sYWJlbC10ZXh0IHtcbiAgICBjb2xvcjogJGNvbG9yLWZvcm0tZXJyb3I7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWZvcm0tZXJyb3IpO1xufVxuXG4uaGFzLWVycm9yIC50ZXh0LWRhbmdlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xufVxuXG4uaGFzLWVycm9yIC5jLWZvcm0tY2hlY2tib3ggKyBsYWJlbDo6YmVmb3JlLFxuLmhhcy1lcnJvciAuYy1mb3JtLXJhZGlvICsgbGFiZWw6OmJlZm9yZSxcbi5oYXMtZXJyb3IgLmMtZm9ybS10ZXh0LFxuLmhhcy1lcnJvciAuYy1mb3JtLXRleHRhcmVhLFxuLmhhcy1lcnJvciAuYy1mb3JtLXNlbGVjdCxcbi5oYXMtZXJyb3IgdGV4dGFyZWEge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWZvcm0tZXJyb3I7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1mb3JtLWVycm9yKTtcbn1cblxuLmhhcy1lcnJvciAuYy1mb3JtLWxpc3QtaG9yaXpvbnRhbCArIC50ZXh0LWRhbmdlciB7XG4gICAgbWFyZ2luLXRvcDogLTJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbToxLjVlbTtcbn1cblxuLmMtZm9ybS1pbmZvLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXhzKTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmlld3BvcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkAtbXMtdmlld3BvcnQge1xuXHR3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWVkaWFxdWVyaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTY2MHB4KSB7XG5cdC8qIGNvbnRhaW5lciBtYXggd2lkdGggKi9cblx0LmMtY29udGFpbmVyLW1lZGl1bSB7XG4gICAgICAgIG1heC13aWR0aDogMTY0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MtbWVkaXVtIC5jLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1tZWRpdW0gIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYyg4MjBweCArIDUwJSk7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMzQwcHgpIHtcblx0LyogY29udGFpbmVyIG1heCB3aWR0aCAqL1xuXHQuYy1jb250YWluZXIsXG4gICAgLmMtbWFpbi10ZWFzZXIsXG4gICAgLmMtY3Jvc3MtdGVhc2VyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgXG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjYwcHggKyA1MCUpO1xuICAgIH1cbiAgICBcbiAgICAvKi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MtbWVkaXVtICB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoODIwcHggKyA1MCUpO1xuICAgIH0qL1xuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MsXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1tZWRpdW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tIC5jLWFzeW0tY29sLWdyaWQge1xuICAgICAgICBmbGV4OiAwIDAgNzkwcHg7XG4gICAgICAgIG1heC13aWR0aDogNzkwcHg7IFxuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbSAuYy1hc3ltLWNvbC1lZGdlbGVzcyB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLSA3OTBweCk7IFxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDc5MHB4KTsgXG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MtaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTBweDtcbiAgICB9XG4gICAgXG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHsgIFxuXHQuYy1oZWFkZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk4MXB4KSB7ICBcbiAgICAuYy1xdWlja2xpbmtzLWxpc3QgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbiAgICB9XG4gICAgXG4gICAgLmMtcXVpY2tsaW5rcy1saXN0IGxpOm50aC1jaGlsZCgyKTo6YmVmb3JlLFxuICAgIC5jLXF1aWNrbGlua3MtbGlzdCBsaTpudGgtY2hpbGQoMyk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBcbiAgICAuYy1xdWlja25hdi1zdGlja3kge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICAgIHRvcDogY2FsYyh2YXIoLS1vZmZjYW52YXMtbWV0YS1wb3NpdGlvbikgKiAtMSk7XG4gICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICByaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY1MXB4KSBhbmQgKG1heC13aWR0aDo5ODBweCkgeyAgXG4gICAgLmMtcXVpY2tsaW5rcy1saXN0IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLXF1aWNrbGlua3MtbGlzdCBsaTpudGgtY2hpbGQoMik6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtZm9vdGVyLXRlYXNlci1saXN0IGxpLFxuICAgIC5jLWZvb3Rlci1uYXYtbGlzdCA+IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlciAuYy1jb2wtNCxcbiAgICAuYy1mb3JtLW5ld3NsZXR0ZXIgLmMtY29sLTQsXG4gICAgLmMtZm9ybS1zZWFyY2ggLmMtY29sLTQsXG4gICAgLmMtc2VhcmNoLXJlc3VsdC1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLW9yZ2FuaWdyYW1tIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtb3JnYW5pZ3JhbW0gLmMtcm93LWwyIC5jLW9yZ2FuaWdyYW1tLWl0ZW0sXG4gICAgLmMtb3JnYW5pZ3JhbW0gLmMtcm93LXN0YWIgLmMtb3JnYW5pZ3JhbW0taXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMyU7XG4gICAgfVxuICAgIFxuICAgIC5jLW9yZ2FuaWdyYW1tIC5jLXJvdy1sMyAuYy1vcmdhbmlncmFtbS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG4gICAgfVxuICAgIFxuICAgIC5jLW9yZ2FuaWdyYW1tIC5jLXJvdy1sNCAuYy1vcmdhbmlncmFtbS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgICB9XG4gICAgXG4gICAgXG4gICAgLmMtdGV4dC1vbmx5IC5jLWNvbC04LFxuXHQuYy1tYWluLXRpdGxlIC5jLWNvbC04LFxuXHQuYy1zZWN0aW9uLXRpdGxlIC5jLWNvbC04LFxuICAgIC5jLWltZy1jb250ZW50IC5jLWNvbC04IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgICAgXHRcblx0fVxuICAgIFxuICAgIC5jLWFjY29yZGlvbi1pbm5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNyU7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tLCAuYy1tYWluLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICB9XG4gICAgXG4gICAgLmMtbmV3cy10ZWFzZXItYmlnIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MtbGluay1hbGwgLmMtY29sLTEwIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAgICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG4gICAgfVxufVxuXG4vKiBoZWFkZXIgc2hvdyBvZmZjYW52YXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkgeyAgXG5cdC5jLW1haW4tbmF2LFxuICAgIC5jLWhlYWRlci1tZXRhIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG4gICAgXG4gICAgLmMtaGVhZGVyLWxvZ28sXG4gICAgLmMtZm9vdGVyLWxvZ28ge1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIGhlaWdodDogNjJweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkgeyAgXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjg1MHB4KSB7ICBcblxuICAgIC5jLWZvcm0tc3RhbmRhcmQgLmMtY29sLTQsXG4gICAgLmMtZm9ybS1zdGFuZGFyZCAuYy1jb2wtOCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtbmV3cy10ZWFzZXItYmlnIC5jLWNvbC00LFxuICAgIC5jLW5ld3MtdGVhc2VyLWJpZyAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1uZXdzLWxpbmstYWxsIC5jLWNvbC0xMCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgXG5cdC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtbWFpbi10aXRsZSAuYy1jb2wtOCxcblx0LmMtc2VjdGlvbi10aXRsZSAuYy1jb2wtOCxcbiAgICAuYy1pbWctY29udGVudCAuYy1jb2wtOCxcbiAgICAuYy10ZXh0LWltZy0yY29sLXdpZGUgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtdGV4dC1pbWctMmNvbC13aWRlIC5jLWNvbC02OmZpcnN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG5cdH1cbiAgICBcbiAgICAuYy1hY2NvcmRpb24taW5uZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWNvbC00OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci10ZWFzZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1uYXYtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbmF2LWxpc3QgPiBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGJvcmRlci1iYXNpYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbmF2LWxpc3QgdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbmF2LWxpc3QgdWwgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1uYXYtbGlzdCB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW5hdi1saXN0IHVsIHVsIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWVudS10aXRsZSArIHNwYW4geyAgXG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuICAgIFxuICAgIC5jLWZvb3Rlci1tZW51LXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuXHQuYy1mb290ZXItbWVudS1jb250ZW50IHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGN1YmljLWJlemllcigwLDEsMCwxKTtcblx0fSAgICBcbiAgICAgXG4gICAgLmMtZm9vdGVyLW1lbnUtY2hlY2s6Y2hlY2tlZCB+IC5jLWZvb3Rlci1tZW51LWNvbnRlbnQge1xuXHRcdG1heC1oZWlnaHQ6IDk5OTlweDtcblx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDEsMCwxLDApO1xuXHR9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICAgIH1cbiAgICBcbiAgICAuYy1jb250YWN0IC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1jb250YWN0IC5jLWNvbC02ICsgLmMtY29sLTYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgfVxuICAgIFxuICAgIC5jLWZvcm0tc3RhbmRhcmQgLmMtYnRuIHtcbiAgICAgICAgbWluLXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWdyaWQtY29sKSk7XG4gICAgfVxuICAgIFxuICAgIC5jLW9yZ2FuaWdyYW1tLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAxNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjUxcHgpIHsgIFxuICAgIC8qLmMtbmV3cy10ZWFzZXIgLmMtY29sLTQsKi9cbiAgICAuYy10ZWFzZXIgLmMtY29sLTQsXG4gICAgLmMtc2VhcmNoLXJlc3VsdC1saXN0IGxpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQvKi5jLW5ld3MtaXRlbSwqL1xuICAgIC5jLXRlYXNlci1pdGVtLFxuICAgIC5jLXNlYXJjaC1yZXN1bHQtbGlzdCAuYy1ib3gge1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0fVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2NTBweCkgeyAgXG5cdC5jLXRlYXNlciAuYy1jb2wtNCxcbiAgICAuYy1uZXdzLXRlYXNlci1iaWcgLmMtY29sLTQsXG4gICAgLmMtbmV3cy10ZWFzZXItYmlnIC5jLWNvbC02LFxuICAgIC5jLXNlYXJjaC1yZXN1bHQtbGlzdCBsaSxcbiAgICAuYy1vdmVydmlldy10ZWFzZXIgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggNXB4IDFlbSA1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICB9XG4gICAgXG4gICAgLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCBhOjpiZWZvcmUsXG4gICAgLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4gICAgLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4gICAgLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCAuYy1hY3RpdmUgYTo6YmVmb3Jle1xuICAgICAgICBib3JkZXItd2lkdGg6IDhweCAxMHB4IDA7XG5cdCAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvcm0tc3RhbmRhcmQgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvcm0tc3RhbmRhcmQgLmMtYnRuIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLyouYy1mb3JtLW5ld3NsZXR0ZXIgLmMtY29sLTQgKyAuYy1jb2wtNCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgICB9Ki9cbiAgICBcbiAgICAuYy1mb3JtLXNlbmQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1pdGVtLWxvYWRpbmcgLmMtYnRuICsgLmMtbG9hZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMWVtIGF1dG8gMCBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbSAuYy1jb2wtNSxcbiAgICAuYy1zaG93cm9vbSAuYy1jb2wtNyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tIC5jLWNvbC03IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXM7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbSAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLWltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1uZXdzLXRlYXNlci1iaWcgLmMtbmV3cy1pdGVtLXRleHQge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nLW5ld3MtaXRlbSk7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkgeyAgXG5cdC5jLWZvb3Rlci10ZWFzZXItbGlzdCBsaSxcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTYge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy1hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMCAwLjc1ZW0gMzJweDtcbiAgICB9XG4gICAgXG4gICAgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbiAgICAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlLFxuICAgIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbiAgICAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICB9XG5cbiAgICAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4gICAgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICB9XG5cblxuICAgIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4gICAgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1hY2NvcmRpb24taW5uZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICB9XG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0NDBweCkgeyBcbiAgICAuYy1oZWFkZXItbG9nbyxcbiAgICAuYy1mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjM3NXB4KSB7IFxuICAgIC5jLWljb24tcXVpY2tsaW5rIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBDU1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAgIC8qIGJhc2Ugc3R5bGVzICovXG4gICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXHRcblx0YSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgXG4gICAgLmMtaXIgYTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgYVtocmVmXTphZnRlciB7XG5cdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHQgIH1cbiAgICBcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgXG4gICAgfVxuICAgIFxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICAgICBcbiAgICBAcGFnZSB7XG4gICAgICAgIG1hcmdpbjogMC41Y207XG4gICAgfVxuICAgIFxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuICAgIFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgYnJlYWstYWZ0ZXI6YXZvaWQ7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG5cdFxuXHRodG1sLFxuXHRib2R5IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0LypvdmVyZmxvdzogYXV0bzsqL1xuXHR9XG4gICAgXG4gICAgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZToxMnB4OyAgICBcbiAgICB9XG5cdFxuXHRoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0fVxuXHRcblx0LmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oMyxcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHRcblx0LyogcHJvamVjdCBzdHlsZXMgKi9cblx0LmMtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHR9XG5cdFxuXHQuYy1mb290ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/