/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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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O0VBTUk7RUFDQTtFQUNBO0FOazJCSjs7QU0vMUJBOzsrRUFBQTtBQUlBOztFQUVDLHNCTHdCVztFS3ZCUjtBTmkyQko7O0FNOTFCQTs7RUFFQyxrQkxrQlc7RUtqQlI7QU5pMkJKOztBTTcxQkE7RUFDQztBTmcyQkQ7O0FNNzFCQTtFQUNDLHVCTFdZO0VLVlQ7QU5nMkJKOztBTTMxQkE7RUFDSSx1QkxJUztFS0hUO0FOODFCSjs7QU0zMUJBO0VBQ0k7QU44MUJKOztBTTMxQkE7RUFDSTtFQUNBLHFCTFRRO0VLVVI7QU44MUJKOztBTTMxQkE7QUFDQTtFQUNJO0FOODFCSjs7QU0zMUJBO0VBQ0ksb0JMYmE7RUtjYjtBTjgxQko7O0FNMzFCQTtFQUNJO0VBQ0E7QU44MUJKOztBTTMxQkE7O0VBRUksc0JMOUJRO0VLK0JSO0FOODFCSjs7QU0zMUJBOzs7RUFHSTtBTjgxQko7O0FNMzFCQTtFQUNJO0VBQ0E7QU44MUJKOztBTTExQkE7OztFQUdJLGlCTGhEUTtFS2lEUjtFQUNBLG9CTGxEUTtFS21EUjtFQUNBLHFCTHJEUTtFS3NEUjtBTjYxQko7O0FNMTFCQTtFQUNJLGlCTHpEUTtFSzBEUjtFQUNBLG9CTDNEUTtFSzREUjtBTjYxQko7O0FNMTFCQTs7RUFFSSxtQkxqRVE7RUtrRVI7QU42MUJKOztBTTExQkE7RUFDSTtFQUNBLG1CTHRFUTtFS3VFUjtFQUNBLHNCTHhFUTtFS3lFUjtBTjYxQko7O0FNMTFCQTtFQUNDLG9CTDlFVztFSytFUjtBTjYxQko7O0FNMTFCQTs7O0VBR0k7RUFDQTtBTjYxQko7O0FNMTFCQTtFQUNJO0VBQ0E7QU42MUJKOztBTTExQkE7RUFDSSxvQkw3RlM7RUs4RlQ7QU42MUJKOztBTTExQkE7OytFQUFBO0FBSUE7O0VBRUksa0JMcEdhO0VLcUdiLG1CTHJHYTtFS3NHYjtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0ksbUJMMUdPO0VLMkdQLGtCTDNHTztFSzRHUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSTtFQUNJO0FONDFCWjs7QU16MUJBO0VBQ0k7QU40MUJKOztBTXoxQkE7RUFDSTtBTjQxQko7O0FNejFCQTtFQUNJO0FONDFCSjs7QU16MUJBO0VBQ0k7QU40MUJKOztBTXoxQkE7RUFDSTtBTjQxQko7O0FNejFCQTtFQUNJO0FONDFCSjs7QU16MUJBO0VBQ0k7QU40MUJKOztBTXoxQkE7RUFDSTtBTjQxQko7O0FNejFCQTtFQUNJO0FONDFCSjs7QU16MUJBOzs7Ozs7Ozs7Ozs7RUFZSTtFQUNBO0VBQ0EsbUJMMUtPO0VLMktQLGtCTDNLTztFSzRLUDtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40MUJKOztBTXoxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40MUJKOztBTXoxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40MUJKOztBTXoxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONDFCSjs7QU16MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjQxQko7O0FNejFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40MUJKOztBTXoxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONDFCSjs7QU16MUJBO0FBQ0E7RUFDRTtBTjQxQkY7O0FNejFCQTtFQUNFO0FONDFCRjs7QU16MUJBO0VBQ0U7QU40MUJGOztBTXoxQkE7RUFDRTtBTjQxQkY7O0FNejFCQTtFQUNFO0FONDFCRjs7QU16MUJBO0VBQ0U7QU40MUJGOztBTXoxQkE7RUFDRTtBTjQxQkY7O0FNejFCQTtFQUNFO0FONDFCRjs7QU16MUJBO0VB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Q0g7QVYrN0REOztBVTM3REM7RUFDQztFQUNBO0VBQ0E7QVY4N0RGO0FVMzdEQztFQUNDO0FWNjdERjtBVTE3REk7O0VBRUk7QVY0N0RSOztBQXI1RUE7QVd4QkE7OytFQUFBO0FBSUE7RUFDQyx5QlZvQlU7RVVuQlA7QVhnN0VKOztBVzc2RUE7RUFDQyx5QlZjUztFVWJOO0FYZzdFSjs7QVc3NkVBO0VBQ0MseUJWR2E7RVVGVjtBWGc3RUo7O0FXNTZFQTs7K0VBQUE7QUFJQTtFQUNDO0FYODZFRDs7QVczNkVBO0VBQ0U7QVg4NkVGOztBVzE2RUE7O0VBRUk7RUFDQTtFQUNBO0FYNjZFSjs7QVcxNkVBO0VBQ0k7QVg2NkVKOztBV3o2RUE7OytFQUFBO0FBR0E7RUFDSTtFQUNBLGlCVkxRO0VVTVI7RUFDQTtFQUNBLGNWcENjO0VVcUNkO0FYNDZFSjs7QVd6NkVBO0VBQ0ksV1Y1Q1M7RVU2Q1Q7QVg0NkVKOztBV3o2RUE7O0VBRUksY1YvQ2M7RVVnRGQ7QVg0NkVKOztBV3o2RUE7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVg0NkVKOztBV3o2RUE7O0VBRUk7RUFDQTtFQUNBLHNCVm5DUztFVW9DVDtBWDQ2RUo7O0FXejZFQTs7RUFFSTtFQUNBO0FYNDZFSjs7QVd6NkVBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCVnhFVztFVXlFWDtBWDQ2RUo7O0FXejZFQTs7RUFFSTtBWDQ2RUo7O0FXejZFQTtFQUNJO0FYNDZFSjs7QVd6NkVBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYMjZFSjs7QVd4NkVBO0VBQ0k7QVgyNkVKOztBV3g2RUE7RUFDSTtFQUNBO0VBQ0g7RUFDRztFQUNBO0VBQ0E7RUFDQSxjVjNIZTtFVTRIZjtBWDI2RUo7O0FXeDZFQTtFQUNJO0FYMjZFSjs7QVd4NkVBOztFQUVJLHlCVjVITztFVTZIUDtBWDI2RUo7O0FXeDZFQTtFQUNJO0VBQ0E7QVgyNkVKOztBV3Y2RUE7Ozs7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVgwNkVKOztBV3Y2RUE7Ozs7RUFJSTtBWDA2RUo7O0FXdjZFQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCVnZLYztFVXdLZDtBWDA2RUo7O0FXdjZFQTs7RUFFSTtFQUNBO0VBQ0U7QVgwNkVOOztBV3Y2RUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDA2RUo7O0FXdjZFQTs7RUFFSTtFQUNBO0FYMDZFSjs7QVd2NkVBO0VBQ0kseUJWbE1jO0VVbU1kO0FYMDZFSjs7QVd2NkVBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QVgwNkVKOztBV3Q2RUE7RUFDSTtFQUNBO0FYeTZFSjs7QVdyNkVBO0VBQ0k7RUFDQTtBWHc2RUo7O0FXcDZFQTtFQUNJO0VBQ0E7QVh1NkVKOztBV3A2RUE7QUFFQTtFQUNJO0FYczZFSjs7QVduNkVBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtBWHE2RUo7O0FXbDZFQTtFQUNJO0VBQ0E7RUFDQTtBWHE2RUo7O0FXbDZFQTs7RUFFSTtFQUNBO0VBQ0E7QVhxNkVKOztBV2w2RUE7OztFQUdJO0FYcTZFSjs7QVdsNkVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYcTZFRjs7QVdqNkVBO0VBQ0ksV1Y5UWU7RVUrUWYseUJWN1FjO0VVOFFkO0FYbzZFSjs7QVdqNkVBOzs7Ozs7RUFBQTtBQVFBOztFQUVJLFdWN1JlO0VVOFJmO0FYbTZFSjs7QVdoNkVBO0VBQ0k7RUFDQTtBWG02RUo7O0FXaDZFQTs7RUFFSTtBWG02RUo7O0FXaDZFQTtFQUNJO0VBQ0E7QVhtNkVKOztBV2g2RUE7O0VBRUk7QVhtNkVKOztBV2g2RUE7RUFDSSx5QlY1U087RVU2U1A7QVhtNkVKOztBV2g2RUE7O0VBRUksV1Y3VFM7RVU4VFQ7QVhtNkVKOztBV2g2RUE7RUFDSTtBWG02RUo7O0FXaDZFQTs7O0VBR0k7QVhtNkVKOztBV2g2RUE7RUFDSTtBWG02RUo7O0FXaDZFQTs7O0VBR0k7QVhtNkVKOztBV2g2RUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWG02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SEQ7O0FhN3pIQTs7O0VBQUE7QUFLQTs7RUFFQztFQUNBO0VBQ0E7QWIrekhEOztBYTV6SEE7RUFDQztBYit6SEQ7O0FhNXpIQTs7RUFFQztBYit6SEQ7O0FhNXpIQTtFQUNDO0FiK3pIRDs7QWE1ekhBOztFQUVJO0FiK3pISjs7QWE1ekhBOzs7O0VBSUM7RUFDQTtFQUNBO0FiK3pIRDs7QWN0M0hBOzsrRUFBQTtBQUdBO0FBQ0E7Ozs7RUFJSTtFQUNBO0VBQ0g7QWR5M0hEOztBY3QzSEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FkeTNISjs7QWN0M0hBO0FBQ0E7Ozs7RUFJQztBZHkzSEQ7O0FjdDNIQTtFQUNJLGNiWXFCO0VhWHJCO0VBQ0E7QWR5M0hKOztBY3IzSEE7RUFDQztFQUNBO0VBQ0E7QWR3M0hEOztBY3IzSEE7RUFDQztFQUNBO0FkdzNIRDs7QWNyM0hBOzs7RUFHSSxrQmJIUTtBRDIzSFo7O0FjcjNIQTtFQUNJO0FkdzNISjs7QWNyM0hBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWR3M0hKOztBY3AzSEE7OytFQUFBO0FBSUE7OztFQUdJO0VBQ0E7RUFDQTtBZHMzSEo7O0FjbjNIQTtFQUNJO0FkczNISjs7QWM3MkhBOztFQUVDO0VBQ0E7RUFDRztFQUNBO0VBQ0gsV2I5RVk7RWErRVQ7RUFDSDtFQUNBLHNCYnhFWTtFYXlFVDtBZGczSEo7O0FjNzJIQTtFQUNDO0FkZzNIRDs7QWM3MkhBO0VBQ0k7QWRnM0hKOztBYzcySEE7RUFDQztBZGczSEQ7O0FjeDJIQTs7RUFFQyxxQmJsRm1CO0VhbUZoQjtFQUNIO0FkMjJIRDs7QWNuMkhBOztFQUVDLGtCYjdGZTtFYThGZixXYjlGZTtFYStGWjtFQUNIO0FkczJIRDs7QWNuMkhBOztFQUVDO0VBQ0E7RUFDRztFQUNBO0FkczJISjs7QWNuMkhBOztFQUVJO0VBQ0E7RUFDQTtBZHMySEo7O0FjbjJIQTtFQUNJO0VBQ0E7QWRzMkhKOztBY24ySEE7RUFDSTtBZHMySEo7O0FjbjJIQTtFQUNJO0FkczJISjs7QWNsMkhBOzsrRUFBQTtBQUtBOztF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QTtFZ0I5dkpEO0lBQ0M7RWhCZ3dKQTtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvbWFpbi5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX21peGlucy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYmFzZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbi1saW5rcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yYXRpb2JveC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypAaW1wb3J0IFwiLi4vZm9udHMvaW5saW5lRm9udHMuc2Nzc1wiOyovXG5AaW1wb3J0IFwiY29tbW9uL192YXJpYWJsZXNcIjtcbi8qQGltcG9ydCBcImNvbW1vbi9fZm9udHNcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiY29tbW9uL19taXhpbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vX2hlbHBlcnNcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG4vKiBvcHRpb25hbCBzdHlsZXMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYmxlc1wiOyovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb3JtXCI7XG4vKkBpbXBvcnQgXCJjb21wb25lbnRzL19zb2NpYWwtbWVkaWFcIjsqL1xuXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wcmludFwiOyIsIi8qIFZhcmlhYmxlcywgTmFtaW5nIG1heSB2YXJ5IGZyb20gcHJvamVjdCB0byBwcm9qZWN0ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyAoc2VlICdfZm9udHMuc2NzcycgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gbGljZW5zZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuXG4kZm9udC1zdGFjay1kZWZhdWx0OiAnRmlndHJlZScsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiB0ZXh0ICovXG4kdGV4dC1jb2xvcjogIzAwMDsgLyogZGFyayBncmV5ICovXG4kdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiR0ZXh0LWNvbG9yLXRpdGxlOiAjMDA0MDg3OyAvKiBkYXJrIGJsdWUgKi9cbiRjb2xvci1oaWdobGlnaHQ6ICMwMDQwODc7IC8qIGRhcmsgYmx1ZSAqL1xuJGNvbG9yLWFsZXJ0OiAjMjg1RkMzOyAvKiBibHVlICovXG4kY29sb3Itc2Vjb25kYXJ5OiAjRTAwMDBDOyAvKiByZWQgKi9cbiRjb2xvci1uYXYtaG92ZXI6ICM1NDU0NTU7XG5cbi8qIGJhY2tncm91bmQgKi9cbiRiZy1jb250ZW50OiAjZmZmO1xuJGJnLWRhcms6ICMwMDQwODc7IC8qIGRhcmsgYmx1ZSAqL1xuJGJnLWxpZ2h0OiAjRjRGNEY1OyAvKiBsaWdodCBncmV5ICovXG4kYmctb3JnYW5pZ3JhbW0tbDI6ICMyODVmYzM7XG4kYmctb3JnYW5pZ3JhbW0tbDM6ICNkNGRmZjM7XG5cbi8qIGxpbmUtY29sb3JzICovXG4kYm9yZGVyLWJhc2ljOiAjZDFkNGQ1O1xuJGJvcmRlci1saWdodDogI0U0RTRFNTtcblxuXG4vKiBmb3JtICovXG4kYm9yZGVyLWZvcm06ICM4QzkzOTY7XG4kYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDQwODc7XG4kZm9ybS1kaXNhYmxlZDogI2NjYztcbiRjb2xvci1mb3JtLWVycm9yOiAjRTAwMDBDO1xuJGNvbG9yLWZvcm0tb2s6ICM2NWE1Njk7XG4kY29sb3ItZm9ybS1pbml0aWFsOiAjMUQxRDFCO1xuJGNvbG9yLWZvcm0tcGxhY2Vob2xkZXI6ICM5OTk5OTk7XG5cbi8qIHNwYWNpbmcgKi9cbiRzcGFjaW5nLWw6IDYuNXJlbTtcbiRzcGFjaW5nLW06IDRyZW07XG4kc3BhY2luZy1zOiAxLjVyZW07XG4kc3BhY2luZy14czogMC43NXJlbTtcblxuLyogZ3JpZCAqL1xuJGdyaWQtY29udGFpbmVyOiAzMHB4O1xuJGdyaWQtcm93OiAtMTVweDtcbiRncmlkLWNvbDogMTVweDtcblxuJGdyaWQtcm93LWZvcm0taGFsZjogLThweDtcbiRncmlkLWNvbC1mb3JtLWhhbGY6IDhweDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ3VzdG9tIFByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46cm9vdCB7XG4gICAgLyogZm9udHMgKi9cbiAgICAtLWZvbnQtc3RhY2stZGVmYXVsdDogJ0ZpZ3RyZWUnLCAnQXJpYWwnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuICAgIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuICAgIC0tZm9udC13ZWlnaHQtZXh0cmFib2xkOiA4MDA7XG4gICAgLS1mb250LXdlaWdodC1tZWRpdW06IDQwMDtcbiAgICBcbiAgICAvKiB0ZXh0ICAqL1xuICAgIC0tdGV4dC1jb2xvcjogIzAwMDsgLyogYmxhY2sgKi9cbiAgICAtLXRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLXRpdGxlOiAjMDAwOyAvKiBkYXJrIGJsdWUgKi9cbiAgICAtLXRleHQtY29sb3ItbWVkaXVtOiAjNjY2O1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjMjg1ZmMzOyAvKiBibHVlICovXG4gICAgLS1jb2xvci1hbGVydDogIzI4NUZDMzsgLyogYmx1ZSAqL1xuICAgIC0tY29sb3Itc2Vjb25kYXJ5OiAjMjg1ZmMzOyAvKiBibHVlICovXG4gICAgLS1jb2xvci1uYXYtaG92ZXI6ICMyODVmYzM7XG4gICAgXG4gICAgLyogYmFja2dyb3VuZCAqL1xuICAgIC0tYmctY29udGVudDogI2ZmZjtcbiAgICAtLWJnLWRhcms6ICMwMDAwMUQ7IC8qIGJsdWUgZGFyayAqL1xuICAgIC0tYmctZGFyay0yOiAjMDAxNTQwOyAvKiBibHVlIG1lZGl1bSAqL1xuICAgIC0tYmctbGlnaHQ6ICNGNEY0RjU7XG4gICAgLS1iZy1vcmdhbmlncmFtbS1sMjogIzI4NWZjMztcbiAgICAtLWJnLW9yZ2FuaWdyYW1tLWwzOiAjZDRkZmYzOyBcbiAgICAtLWJnLWdyYWRpZW50OiAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDQwLDk1LDE5NSwxKSAxMCUsIHJnYmEoMCwyMSw2NCwxKSA1MCUsIHJnYmEoMCwwLDI5LDEpIDEwMCUpOyBcbiAgICBcbiAgICAvKiBsaW5lcyAqL1xuICAgIC0tYm9yZGVyLWJhc2ljOiAjZDFkNGQ1O1xuICAgIC0tYm9yZGVyLWxpZ2h0OiAjRTRFNEU1O1xuICAgIC0tYm9yZGVyLXdpZHRoLXRoaW46IDJweDtcbiAgICAtLWJvcmRlci13aWR0aC10aGljazogNHB4O1xuICAgIC0tYm9yZGVyLXdpZHRoLWZhdDogNHB4O1xuICAgIC8qLS1ib3JkZXItbGlnaHQtYmx1ZTogIzYxNjE3MTsqL1xuICAgIC0tYm9yZGVyLWxpZ2h0LWJsdWU6IHJnYmEoMjU1LDI1NSwyNTUsIDAuMyk7XG4gICAgXG4gICAgLyogc3BhY2luZyAqL1xuICAgIC0tc3BhY2luZy1sOiA2LjVyZW07XG4gICAgLS1zcGFjaW5nLW06IDRyZW07IFxuICAgIC0tc3BhY2luZy1zOiAxLjVyZW07XG4gICAgLS1zcGFjaW5nLXhzOiAwLjc1cmVtO1xuICAgIC0tc3BhY2luZy1vcmdhbmlncmFtbS1zOiAyMHB4O1xuICAgIC0tcGFkZGluZy1ib3g6IDEuNWVtIDMycHg7XG4gICAgLS1wYWRkaW5nLW5ld3MtaXRlbTogMS41ZW0gMCAwIDMycHg7XG4gICAgXG4gICAgLS1oZWFkZXItaW5uZXItaGVpZ2h0OiA5NnB4O1xuICAgIC0taGVhZGVyLWlubmVyLW1hcmdpbi10b3A6IDU0cHg7XG4gICAgLS1oZWFkZXItbWV0YS1oZWlnaHQ6IDUwcHg7XG4gICAgLS1vZmZjYW52YXMtbWV0YS1wb3NpdGlvbjogY2FsYyg5NnB4ICsgNTRweCArIDUwcHgpO1xuICAgIFxuICAgIC8qIGZvcm0gKi9cbiAgICAtLWJvcmRlci1mb3JtOiAjMDAwMDFEOyBcbiAgICAtLWJvcmRlci1mb3JtLWZvY3VzOiAjMjg1ZmMzO1xuICAgIC0tYm9yZGVyLWZvcm0td2lkdGg6IDJweDtcbiAgICAtLWZvcm0tZGlzYWJsZWQ6ICNjY2M7XG4gICAgLS1jb2xvci1mb3JtLWVycm9yOiAjRTAwMDBDO1xuICAgIC0tY29sb3ItZm9ybS1vazogIzY1YTU2OTtcbiAgICAtLWNvbG9yLWZvcm0taW5pdGlhbDogIzFEMUQxQjtcbiAgICAtLWNvbG9yLWZvcm0tcGxhY2Vob2xkZXI6ICM5OTk5OTk7XG4gICAgXG4gICAgLyogZ3JpZCAqL1xuICAgIC0tZ3JpZC1jb250YWluZXI6IDMwcHg7XG4gICAgLS1ncmlkLXJvdzogLTE1cHg7XG4gICAgLS1ncmlkLWNvbDogMTVweDtcbiAgICBcbiAgICAtLWdyaWQtcm93LWZvcm0taGFsZjogLThweDtcbiAgICAtLWdyaWQtY29sLWZvcm0taGFsZjogOHB4O1xuICAgIFxuICAgIC8qIGZvbnQtc2l6ZXMgKi9cbiAgICAtLWZvbnQtc2l6ZS1yb290OiAxOHB4O1xuICAgIC0tZm9udC1zaXplLWgxOiAzLjMzcmVtOyAvKiA2MHB4ICovXHRcbiAgICAtLWZvbnQtc2l6ZS1oMjogMi4xMXJlbTsgLyogMzhweCAqL1xuICAgIC0tZm9udC1zaXplLWgzOiAxLjMzcmVtO1xuICAgIC0tZm9udC1zaXplLWxlYWQ6IDEuMzNyZW07XG4gICAgLS1mb250LXNpemUtYm9keTogMXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1ib2R5LXM6IDAuODhyZW07XG4gICAgLS1mb250LXNpemUtYm9keS14czogMC43N3JlbTtcbiAgICAtLWZvbnQtc2l6ZS1ib2R5LXh4czogMC42NnJlbTtcbiAgICAtLWZvbnQtc2l6ZS1ib2R5LWw6IDEuNzdyZW07IC8qIDMycHggKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEV4ZXB0aW9ucyBmb3IgZGlmZmVyZW50IGJhY2tncm91bmRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWxpZ2h0IHtcbiAgICAtLXRleHQtY29sb3ItdGl0bGU6ICNmZmY7IC8qIHdoaXRlICovXG59XG5cbi8qLmMtbGluay1pY29uLFxuLmMtbGluay1ib2xkIHtcbiAgICAtLXRleHQtY29sb3I6ICMwMDQwODc7XG59Ki9cblxuLmMtdGV4dC1saWdodCxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1pY29uLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLWJvbGQsXG4uYy1zZWFyY2gtcmVzdWx0LWxpc3QgLmMtYWN0aXZlIC5jLWJveCAuYy1saW5rLWljb24sXG4uYy1zZWFyY2gtcmVzdWx0LWxpc3QgLmMtYWN0aXZlIC5jLWJveCAuYy1saW5rLWJvbGQsXG4uYy1zZWFyY2gtcmVzdWx0LWxpc3QgLmMtYWN0aXZlIC5jLWJveCBhLFxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1ib3gge1xuICAgIC0tdGV4dC1jb2xvcjogI2ZmZjtcbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItdGl0bGU6ICNmZmY7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtYnRuIHtcbiAgICAtLXRleHQtY29sb3ItbGlnaHQ6ICMyODVmYzM7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtYnRuOmhvdmVyLFxuLmMtdGV4dC1saWdodCAuYy1idG46Zm9jdXMge1xuICAgIC0tdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1idG4tc2Vjb25kYXJ5OmhvdmVyLFxuLmMtdGV4dC1saWdodCAuYy1idG4tc2Vjb25kYXJ5OmZvY3VzLFxuLmMtdGV4dC1saWdodCAuYy1vZmZjYW52YXMtbWV0YS1saXN0IC5jLWJ0bi1zZWNvbmRhcnk6aG92ZXIsXG4uYy10ZXh0LWxpZ2h0IC5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgLmMtYnRuLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjMDAwMDFEO1xufVxuXG4uYy1mb290ZXIsXG4uYy1vZmZjYW52YXMtbmF2IHtcbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogIzQwN2NmZjsgLyogYnJpZ2h0ZXIgYmx1ZSAqL1xuICAgIC0tY29sb3ItbmF2LWhvdmVyOiAjNDA3Y2ZmO1xufVxuXG5cbi8qLmMtbWVzc2FnZS1hbGVydCAuYy10ZXh0LWxpZ2h0IC5jLWJ0biB7XG4gICAtLWNvbG9yLWhpZ2hsaWdodDogIzI4NUZDMztcbn0qL1xuXG4uYy1iZy1saWdodCAuYy1idG4sXG4uYy1jb29raWUtbm90aWNlIC5jLWJ0biB7XG4gICAgLS1iZy1saWdodDogI2ZmZjtcbn1cblxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1hY2NvcmRpb24tdGl0bGU6Zm9jdXMsXG4uYy1zZWFyY2gtcmVzdWx0LWxpc3QgLmMtYWN0aXZlIC5jLWFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgLS1iZy1saWdodDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXNlYXJjaC1yZXN1bHQtbGlzdCAuYy1hY3RpdmUgLmMtYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gICAgLS1ib3JkZXItYmFzaWM6IHZhcigtLWJvcmRlci1saWdodC1ibHVlKTsgXG59XG5cbi5jLWhlYWRlci1zdGlja3kge1xuICAgIC0taGVhZGVyLWlubmVyLWhlaWdodDogOTZweDtcbiAgICAtLWhlYWRlci1pbm5lci1tYXJnaW4tdG9wOiAwO1xufVxuXG4uYy1oZWFkZXItc3RpY2t5IC5jLW9mZmNhbnZhcy1pbm5lciB7XG4gICAgLS1oZWFkZXItaW5uZXItbWFyZ2luLXRvcDogNTRweDtcbn1cblxuLmMtb3JnYW5pZ3JhbW0ge1xuICAgIC0tYmctZGFyazogIzAwMTU0MDtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWdyaWQtY29udGFpbmVyOiA0MHB4O1xuICAgICAgICAtLWdyaWQtcm93OiAtMjBweDtcbiAgICAgICAgLS1ncmlkLWNvbDogMjBweDtcbiAgICAgICAgLS1wYWRkaW5nLWJveDogMS44ZW0gNDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1zcGFjaW5nLWw6IDQuNXJlbTtcbiAgICAgICAgLS1zcGFjaW5nLW06IDJyZW07IFxuICAgICAgICAtLXNwYWNpbmctb3JnYW5pZ3JhbW0tczogMTBweDtcbiAgICAgICAgLS1oZWFkZXItaW5uZXItaGVpZ2h0OiA5MHB4O1xuICAgICAgICAtLWhlYWRlci1pbm5lci1tYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1oZWFkZXItc3RpY2t5IHtcbiAgICAgICAgLS1oZWFkZXItaW5uZXItaGVpZ2h0OiA4MnB4O1xuICAgIH1cbn1cblxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4qIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiA0ICovXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLypcbiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcblxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlICdhJyBlbGVtZW50IGluIElFNi83LzgvOSwgRkYzXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFN1xuICogICAgY29kZS5mbGlja3IuY29tL2Jsb2cvMjAwOC8xMS8xMi9vbi11aS1xdWFsaXR5LXRoZS1saXR0bGUtdGhpbmdzLWNsaWVudC1zaWRlLWltYWdlLXJlc2l6aW5nL1xuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgbWFyZ2luOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBwYWRkaW5nOjA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gIGJvcmRlcjogMDtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogNCAqL1xufVxuXG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG5cbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cblxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLyoqXG5cbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxsc1xuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnRzIGN1YmVncmFmaWtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5cbmRpdiwgcCB7XG4gICAgcGFkZGluZzowO1xuICAgIG1hcmdpbjowO1xufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGgsIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gICAgLyogUmVtb3ZlZCBiZWNhdXNlIG9mIHZpc2liaWxpdHljaGFuZ2UtYWRkaXRpb24gdG8gZmFuY3ktZm9ybXMgcGx1Z2luLlxuICAgICAqIDIwMTUvMDEvMjIgLSBGbG9yaWFuIE3DpGRlclxuICAgICAqIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsqL1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBGaXJlZm94IDEgLSAyOCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqL1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5sYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDEwICAqL1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTErICovXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm0gUGxhY2Vob2xkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgICB7QGNvbnRlbnR9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fSAgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyBzbW9vdGhpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PSBvbiB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgSGlkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oaWRlLXZpc3VhbGx5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmMtaGlkZS1jb21wbGV0ZWx5IHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBpbWFnZSByZXBsYWNlbWVudCAqL1xuLmMtaXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0ZGlyZWN0aW9uOiBsdHI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0aWNreSBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtaGVhZGVyLFxuLmMtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmMtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIFByb2plY3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJvZHkge1xuXHRAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stZGVmYXVsdDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1kZWZhdWx0KTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogbGlua3MgKi9cbmEsXG5hOnZpc2l0ZWQsXG5hOmZvY3VzLFxuYTpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyxcbmlmcmFtZSxcbmltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1pbWctbWF4LXdpZHRoLFxuLmMtY29udGVudCAuYy1pbWctbWF4LXdpZHRoIHtcblx0d2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nIHsgXG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBNYWluIENvbnRhaW5lciBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLFxuLmMtY29udGVudCxcbi5jLWZvb3Rlcixcbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci13aWRlLFxuLmMtY29udGFpbmVyLW1lZGl1bSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBQYWRkaW5nIGJldHdlZW4gQ29tcG9uZW50cyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci1tZWRpdW0ge1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtbWFpbi10aXRsZSxcbi5jLXNob3dyb29tIHtcblx0bWFyZ2luLXRvcDogJHNwYWNpbmctbDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG5cbi5jLWNvbnRhaW5lci1uby1wYWRkaW5nIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXNlY3Rpb24tdGl0bGUge1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG5cblxuLmMtc2VjdGlvbi10aXRsZSBoMi5jLXN1YnRpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4uYy1saW5lLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTsgICAgXG59XG5cbi5jLWxpbmUtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLyogY29udGFjdCBzbmlwcGV0IGluc2lkZSBhY2NvcmRpb24gKi9cbi5jLWFjY29yZGlvbi1pbm5lciAuYy1saW5lLWJvdHRvbXtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy10ZWFzZXIgLmMtY29sLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbn1cblxuLmMtdGVhc2VyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygkc3BhY2luZy1sIC0gJGdyaWQtY29udGFpbmVyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nLWwpIC0gdmFyKC0tZ3JpZC1jb250YWluZXIpKTtcbn1cblxuLmMtbmV3cy10ZWFzZXIgLmMtY29sLTQsXG4uYy1vdmVydmlldy10ZWFzZXIgLmMtY29sLTYge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy1uZXdzLXRlYXNlcixcbi5jLW1hcCxcbi5jLW92ZXJ2aWV3LXRlYXNlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLWZpbHRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoJHNwYWNpbmctbSAtICRzcGFjaW5nLXMpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmctbSkgLSB2YXIoLS1zcGFjaW5nLXMpKTtcbn1cblxuXG4uYy1uZXdzbGV0dGVyLXJlZ2lzdHJhdGlvbixcbi5jLXNlYXJjaC1jb250YWluZXIsXG4uYy10ZXh0LWltZy0yY29sLXdpZGUge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtcXVpY2tsaW5rcy1jb250ZW50LWlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLmMtc2VhcmNoLWNvbnRhaW5lcixcbi5jLW1hcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy1tZXNzYWdlLWFsZXJ0IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1zZWFyY2gtcmVzdWx0LXRpdGxlIHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi5jLXRleHQtb25seSArIC5jLXRleHQtb25seSxcbi5jLXRleHQtb25seSArIC5jLWFjY29yZGlvbixcbi5jLXRleHQtb25seSArIC5jLXRlYW0tdGVhc2VyIHtcbiAgICBtYXJnaW4tdG9wOiAtJHNwYWNpbmctbDtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgKiAtMSk7XG59XG5cbi5jLXRleHQtb25seSArIC5jLWFjY29yZGlvbiB7XG4gICAgcGFkZGluZy10b3A6IC0kc3BhY2luZy14cztcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLXhzKSAqIC0xKTtcbn1cblxuLmMtdGV4dC1vbmx5ICsgLmMtdGVhbS10ZWFzZXIge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy14cztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBHcmlkIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItbWVkaXVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtcm93LWp1c3RpZnktcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmMtcm93LWFsaWduLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXJvdy1hbGlnbi1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmMtY29sLTEsXG4uYy1jb2wtMixcbi5jLWNvbC0zLFxuLmMtY29sLTQsXG4uYy1jb2wtNSxcbi5jLWNvbC02LFxuLmMtY29sLTcsXG4uYy1jb2wtOCxcbi5jLWNvbC05LFxuLmMtY29sLTEwLFxuLmMtY29sLTExLFxuLmMtY29sLTEyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLWNvbC0xMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgIFxufVxuXG4uYy1jb2wtMTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5jLWNvbC0xMCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLmMtY29sLTkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jLWNvbC04IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG4uYy1jb2wtNyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmMtY29sLTYge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xufVxuXG4uYy1jb2wtNCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtY29sLTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jLWNvbC0yIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uYy1jb2wtMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlO1xufVxuXG4vKiBvZmZzZXQgY29scyAqL1xuLmMtY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmMtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY3JTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgVmFyaWFudGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWNvbC00IC5jLXJvdyxcbi5jLWZvcm0tc3RhbmRhcmQgLmMtY29sLTYgLmMtcm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdy1mb3JtLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdy1mb3JtLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93LWZvcm0taGFsZik7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdy1mb3JtLWhhbGYpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWNvbC00IC5jLWNvbC0zLFxuLmMtZm9ybS1zdGFuZGFyZCAuYy1jb2wtNCAuYy1jb2wtOSxcbi5jLWZvcm0tc3RhbmRhcmQgLmMtY29sLTYgLmMtY29sLTMsXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWNvbC02IC5jLWNvbC05e1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbC1mb3JtLWhhbGY7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2wtZm9ybS1oYWxmO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wtZm9ybS1oYWxmKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbC1mb3JtLWhhbGYpO1xufVxuXG4uYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLFxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1tZWRpdW0ge1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1pbWcsXG4uYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLWNvbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogLTEpO1xufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuXHRmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcm9vdCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUaXRsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbiAgICB0ZXh0LXdyYXA6YmFsYW5jZTtcbiAgICBcbn1cblxuaDEsXG4uYy1oMSB7XG5cdHBhZGRpbmctYm90dG9tOiAuNGVtO1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRmb250LXNpemU6IDMuMzNyZW07IC8qIDYwcHggKi9cdFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgxKTtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItdGl0bGU7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItdGl0bGUpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBcbn1cblxuaDIsXG4uYy1oMiB7XG5cdHBhZGRpbmctYm90dG9tOiAuNWVtO1xuXHRsaW5lLWhlaWdodDogMS4yNTtcblx0Zm9udC1zaXplOiAyLjExcmVtOyAvKiAzOHB4ICovXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDIpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuaDIgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbn1cblxuaDMsXG4uYy1oMyB7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdGZvbnQtc2l6ZTogMS4zM3JlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLW5ld3MtdGVhc2VyLWJpZyBoMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDIpO1xufVxuXG5oNCwgLmMtaDQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcbiAgICBcbn1cblxuLmMtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC1zaXplOiAwLjY2cmVtOyAgIFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkteHhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjc1ZW07XG59XG5cbi5jLW1haW4tdGl0bGUgLmMtc3VidGl0bGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci10aXRsZTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci10aXRsZSk7XG59XG5cblxuLmMtbWVzc2FnZS1hbGVydCAuYy1zdWJ0aXRsZSxcbi5jLW1lc3NhZ2UtYWxlcnQgaDIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2ljIFRleHQgQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGVudCxcbi5jLWZvb3RlciB7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jLXRleHQtYmxvY2sgcCxcbi5jLWZvb3Rlci1tYWluIHAge1xuXHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgcDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1ibG9jayBwICsgaDIsXG4uYy10ZXh0LWJsb2NrIHAgKyBoMyxcbi5jLXRleHQtYmxvY2sgcCArIGg0LFxuLmMtdGV4dC1ibG9jayB1bCArIHAsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDIsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDMsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDQsXG4uYy10ZXh0LWJsb2NrIHVsICsgb2wsXG4uYy10ZXh0LWJsb2NrIG9sICsgcCxcbi5jLXRleHQtYmxvY2sgb2wgKyBoMixcbi5jLXRleHQtYmxvY2sgb2wgKyBoMyxcbi5jLXRleHQtYmxvY2sgb2wgKyBoNCxcbi5jLWFjY29yZGlvbi1pbm5lciAuYy1jb250YWN0ICsgcCxcbi5jLWFjY29yZGlvbi1pbm5lciAuYy1jb250YWN0ICsgdWwsXG4uYy1hY2NvcmRpb24taW5uZXIgLmMtY29udGFjdCArIGgzLFxuLmMtYWNjb3JkaW9uLWlubmVyIC5jLWNvbnRhY3QgKyBoNCB7XG5cdHBhZGRpbmctdG9wOiAxLjVlbTtcbn1cblxuLmMtYWNjb3JkaW9uLWlubmVyIHAgKyAuYy1jb250YWN0ICxcbi5jLWFjY29yZGlvbi1pbm5lciB1bCArIC5jLWNvbnRhY3Qge1xuXHRtYXJnaW4tdG9wOiAxLjVlbTtcbn1cblxuLmMtdGV4dC1vbmx5ICsgLmMtdGV4dC1vbmx5IGgyOmZpcnN0LWNoaWxkLFxuLmMtdGV4dC1vbmx5ICsgLmMtdGV4dC1vbmx5IGgzOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMS41ZW07XG59XG5cbi5jLWxlYWQsXG4uYy1zaG93cm9vbS1ib3ggcCB7XG5cdGZvbnQtc2l6ZTogMS4zM3JlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZWFkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbn1cblxuLmMtZmlsdGVyLXF1aWNrbGlua3Mge1xuXHRmb250LXNpemU6IDEuMzNyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGVhZClcbn1cblxuLmMtbGVhZCArIGgxIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbTtcbiAgICBwYWRpZG5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1zbWFsbCxcbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlLFxuZmlnY2FwdGlvbixcbi5jLW9mZmNhbnZhcy1tZXRhLFxuLmMtaGVhZGVyLW1ldGEse1xuXHRmb250LXNpemU6IDAuNzdyZW07IC8qIDE0cHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXhzKTtcbn1cblxuZmlnY2FwdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy14cztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLFxuLmMtZm9vdGVyLW5hdi1saXN0IHVsLFxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG5cdGZvbnQtc2l6ZTogMC44OHJlbTsgLyogMTZweCAqL1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcylcbn1cblxuLmMtdGV4dC1iaWcge1xuICAgIC8qZm9udC1zaXplOiAxLjc3cmVtOyBcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LWwpOyovXG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2ljIExpc3RzIENvbnRlbnQgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWJsb2NrIHVsLFxuLmMtdGV4dC1ibG9jayBvbCxcbi5jLWZvcm0tYnVsbGV0LWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjVlbSAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1mb3JtLWJ1bGxldC1saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaSxcbi5jLWZvcm0tYnVsbGV0LWxpc3QgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWxpc3QgbGksXG4uYy1saW5rLWxpc3QgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWNhdGVnb3J5LWxpc3QgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIG9sIGxpICsgbGksXG4uYy1mb3JtLWJ1bGxldC1saXN0IGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwLjVlbTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jYXRlZ29yeS1saXN0IGxpICsgbGkge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGk6OmJlZm9yZSxcbi5jLWZvcm0tYnVsbGV0LWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41OGVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstbGlzdCBsaTo6YmVmb3JlLFxuLmMtdGV4dC1ibG9jayAuYy1zaG93cm9vbS1ib3gtbGlzdCBsaTo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIHtcblx0Y291bnRlci1yZXNldDogY3VzdG9tLWNvdW50ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGkge1xuXHRjb3VudGVyLWluY3JlbWVudDogY3VzdG9tLWNvdW50ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IGNvdW50ZXIoY3VzdG9tLWNvdW50ZXIpIFwiLiBcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAyNnB4O1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jLWpvYnMtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLWpvYnMtbGlzdCBsaSB7XG5cdHBhZGRpbmc6IDFlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuXG4uYy1zcGVjaWZpY2F0aW9uLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjVlbSAwO1xuXHRib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLXNwZWNpZmljYXRpb24tbGlzdCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cblxuLmMtc3BlY2lmaWNhdGlvbi1saXN0IGR0LFxuLmMtc3BlY2lmaWNhdGlvbi1saXN0IGRkIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAkc3BhY2luZy14cyAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpIDA7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtc3BlY2lmaWNhdGlvbi1saXN0IGR0IHtcblx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA2MCU7XG4gICAgLW1zLWZsZXg6IDAgMCA2MCU7XG4gICAgZmxleDogMCAwIDYwJTtcbiAgICBtYXgtd2lkdGg6IDYwJTtcblx0cGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuXG4uYy1zcGVjaWZpY2F0aW9uLWxpc3QgZGQge1xuXHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQwJTtcbiAgICAtbXMtZmxleDogMCAwIDQwJTtcbiAgICBmbGV4OiAwIDAgNDAlO1xuICAgIG1heC13aWR0aDogNDAlO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1b3RlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjVyZW0gMDtcbn1cblxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMDtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBoZWxwZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jLXRleHQtY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy10ZXh0LWxpZ2h0IHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgc2l6ZXMgcmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGVhc2VyIGgzIHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAgIC1tb3otaHlwaGVuczogYXV0bztcbiAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE0NDBweCkge1xuICAgIC5jLW1haW4tdGVhc2VyIGgzLFxuICAgIC5jLWNyb3NzLXRlYXNlciBoMyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEzNjBweCkge1xuXHRoMSwgLmMtaDEsXG5cdGgyLCAuYy1oMixcblx0aDMsIC5jLWgze1xuXHRcdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRcdC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdFx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdFx0LW1zLWh5cGhlbnM6IGF1dG87XG5cdFx0LW1vei1oeXBoZW5zOiBhdXRvO1xuXHRcdC13ZWJraXQtaHlwaGVuczogYXV0bztcblx0XHRoeXBoZW5zOiBhdXRvO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZm9udC1zaXplLWgxOiAyLjY2cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1sZWFkOiAxLjEyNXJlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExMDBweCkge1xuICAgIC5jLW1haW4tbmF2IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7XG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuICAgIH1cbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjg1MHB4KSB7XG4gICAgLmMtbmV3cy10ZWFzZXItYmlnIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0ID4gbGkgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zM3JlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NTFweCkgYW5kIChtYXgtd2lkdGg6OTgwcHgpIHtcbiAgICAuYy1maWx0ZXItcXVpY2tsaW5rcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtaDE6IDEuODVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWgyOiAxLjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWgzOiAxLjEyNXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtbGVhZDogMS4xMjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWJvZHktbDogMS41cmVtO1xuICAgIH1cblxuXHQuYy1maWx0ZXItbGlzdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTsgLyogMTZweCAqL1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy1vcmdhbmlncmFtbSxcbiAgICAuYy1vZmZjYW52YXMtbWV0YS1saXN0IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xuICAgIH1cblxuXG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY1MHB4KSB7XG4gICAgLmMtZmlsdGVyLXF1aWNrbGlua3Mge1xuICAgICAgICBmb250LXNpemU6IDAuNTVyZW07IFxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHR6LWluZGV4OiAxMDtcbn1cblxuLmMtaGVhZGVyLWlubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWlubmVyLWhlaWdodCk7XG4gICAgbWFyZ2luLXRvcDogNTRweDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oZWFkZXItaW5uZXItbWFyZ2luLXRvcCk7XG59XG5cblxuLmMtaGVhZGVyLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAzNTBweDtcblx0aGVpZ2h0OiA4OHB4O1xufVxuXG4uYy1oZWFkZXItbG9nbyBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXIgc3RpY2t5IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLXN0aWNreSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZDJkNGQ1O1xufVxuXG4uYy1oZWFkZXItc3RpY2t5IC5jLWhlYWRlci1pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5jLWhlYWRlci1zdGlja3kgLmMtaGVhZGVyLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAyNzBweDtcblx0aGVpZ2h0OiA2N3B4O1xufVxuXG4uYy1oZWFkZXItc3RpY2t5IC5jLWhlYWRlci1tZXRhIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgc2tpcCBsaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1za2lwLWxpbmsge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxcHg7ICAgIFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgcGFkZGluZzogMC41ZW0gMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMjBweCAyMHB4O1xufVxuXG4uYy1za2lwLWxpbms6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBcbiAgICBjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIG1haW4gbmF2IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbWFpbi1uYXYge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XG59XG5cbi5jLW1haW4tbmF2LWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhLFxuLmMtbWFpbi1hbnYtbGlzdCBhOnZpc2l0ZWQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTpob3Zlcixcbi5jLW1haW4tbmF2LWxpc3QgYTpmb2N1c3tcblx0Y29sb3I6ICRjb2xvci1uYXYtaG92ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW5hdi1ob3Zlcik7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGE6Zm9jdXM6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgYTpob3Zlcjo6YmVmb3JlLFxuLmMtbWFpbi1uYXYtbGlzdCAuYy1hY3RpdmUgYTo6YmVmb3JlIHtcblx0aGVpZ2h0OiA0cHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtZmF0KTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBtZXRhIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLW1ldGEge1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBoZWlnaHQ6IHZhcigtLWhlYWRlci1tZXRhLWhlaWdodCk7XG59XG5cbi5jLWhlYWRlci1tZXRhLWxpc3QsXG4uYy1vZmZjYW52YXMtbWV0YS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgXG59XG5cbi5jLWhlYWRlci1tZXRhLWxpc3QgbGkgKyBsaSxcbi5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgbGkgKyBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi5jLWhlYWRlci1tZXRhLWxpc3QgYSxcbi5jLWhlYWRlci1tZXRhLWxpc3QgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICM2NjY2NjY7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbWVkaXVtKTtcbn1cblxuLmMtaGVhZGVyLW1ldGEtbGlzdCBhOmZvY3VzLFxuLmMtaGVhZGVyLW1ldGEtbGlzdCBhOmhvdmVyIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi5jLWZvb3Rlci1tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xufVxuXG4uYy1mb290ZXItbmF2IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtZm9vdGVyLXRlYXNlciB7XG4gICAgcGFkZGluZy10b3A6IDEuNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCxcbi5jLWZvb3Rlci1saW5rLWxpc3QsXG4uYy1mb290ZXItdGVhc2VyLWxpc3QsXG4uYy1mb290ZXItc29jaWFsLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWZvb3RlciBhLFxuLmMtZm9vdGVyIGE6dmlzaXRlZCxcbi5jLWZvb3Rlci1tYWluIGEsXG4uYy1mb290ZXItbWFpbiBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XHRcbn1cblxuLmMtZm9vdGVyIGE6aG92ZXIsXG4uYy1mb290ZXIgYTpmb2N1cyxcbi5jLWZvb3Rlci1tYWluIGE6aG92ZXIsXG4uYy1mb290ZXItbWFpbiBhOmZvY3VzIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWZvb3Rlci1sb2dvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMzUwcHg7XG5cdGhlaWdodDogODhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi5jLWZvb3Rlci1sb2dvIGEge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtZm9vdGVyLXNvY2lhbC1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtIDAuNWVtIDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgdGVhc2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZm9vdGVyLXRlYXNlci1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3cpO1xufVxuXG4uYy1mb290ZXItdGVhc2VyLWxpc3QgbGkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi5jLWZvb3Rlci10ZWFzZXI6OmJlZm9yZSxcbi5jLWZvb3Rlci10ZWFzZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogJGdyaWQtY29udGFpbmVyO1xuICAgIGxlZnQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gJGdyaWQtY29udGFpbmVyICogMik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWdyaWQtY29udGFpbmVyKSAqIDIpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItYmFzaWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9yZGVyLWxpZ2h0LWJsdWUpO1xufVxuXG4uYy1mb290ZXItdGVhc2VyOjphZnRlciB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGlzY2xhaW1lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0ID4gbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIHRyaWdnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dG9wOiA1MCU7XG4gICAgcmlnaHQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICByaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW46IC0yMHB4IDAgMCAwO1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YWZ0ZXIge1xuXHR3aWR0aDogMjZweDtcblx0dHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRib3JkZXItdG9wOiA0cHggc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcblx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjphZnRlciB7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46Zm9jdXM6OmFmdGVyLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpob3Zlcjo6YWZ0ZXIge1xuXHR3aWR0aDogMTVweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YWZ0ZXIge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOmhvdmVyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTpob3Zlcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBtYWluIGNvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLW5hdiB7XG5cdC8qZGlzcGxheTogbm9uZTsqL1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdHotaW5kZXg6IDEwO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgLjJzIGVhc2Utb3V0IDBzO1xufVxuXG4jb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1vZmZjYW52YXMtbmF2IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLW9mZmNhbnZhcy1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uYy1vZmZjYW52YXMtaW5uZXIgLmMtaGVhZGVyLWlubmVyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWhlYWRlci1pbm5lci1tYXJnaW4tdG9wKSArIHZhcigtLWhlYWRlci1tZXRhLWhlaWdodCkpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1vZmZjYW52YXMtY29udGVudCB7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYy1vZmZjYW52YXMtbWV0YS1saXN0LFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0LFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1vZmZjYW52YXMtbWV0YS1saXN0IHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTsgICAgXG59XG5cblxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcblx0cGFkZGluZy1yaWdodDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbn1cblxuXG4uYy1vZmZjYW52YXMtbWVudS1jb250ZW50IHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB1bCB7XG5cdHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB1bCB1bCB7XG4gICAgLyptYXJnaW4tdG9wOiAwLjc1ZW07Ki9cbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG5cdHBhZGRpbmctYm90dG9tOiAzcmVtO1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jb250ZW50IGxpOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMS4xZW07XG59XG5cblxuXG4uYy1vZmZjYW52YXMtbWVudS1jb250ZW50IHVsIGxpOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB1bCBsaSArIGxpIHtcblx0cGFkZGluZy10b3A6IDFlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB1bCB1bCBsaSArIGxpIHtcblx0cGFkZGluZy10b3A6IDAuNjVlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCBhLFxuLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCBhOnZpc2l0ZWQsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYSxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOnZpc2l0ZWQge1xuXHRjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuXG5cbi5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgYTpob3Zlcixcbi5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgYTpmb2N1cyxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmhvdmVyLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGE6Zm9jdXN7XG5cdGNvbG9yOiAkY29sb3ItbmF2LWhvdmVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uYXYtaG92ZXIpO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLW9mZmNhbnZhcy1tZXRhLWxpc3QgLmMtYnRuLXNlY29uZGFyeTpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCAuYy1idG4tc2Vjb25kYXJ5OmZvY3VzIHtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qgc3BhbiBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qgc3BhbiBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5hdi1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uYXYtaG92ZXIpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBzcGFuIGE6Zm9jdXM6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBzcGFuIGE6aG92ZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCAuYy1hY3RpdmUgc3BhbiBhOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDRweDtcbiAgICBoZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1mYXQpO1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jb250ZW50IGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMC4yNWVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQgYTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAtNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQgLmMtYWN0aXZlID4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jb250ZW50IC5jLWFjdGl2ZSA+IGE6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1uYXYtaG92ZXIpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIGFjY29yZGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2sge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IC05OTk5cHg7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LXRpdGxlIHtcblx0ZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMWVtIDAgMWVtIDU0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItdGl0bGU7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItdGl0bGUpO1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyLFxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTFweCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgbGVmdDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgXHRsZWZ0OiAyM3B4O1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgUmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk4MXB4KSB7XG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2ssXG5cdC5jLW9mZmNhbnZhcy1tZW51LXRpdGxlLFxuICAgIC5jLW9mZmNhbnZhcy1tZW51LWxpbmstbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4xZW07XG4gICAgfVxuICAgIFxuICAgIC5jLW9mZmNhbnZhcy1uYXYtbGlzdCAuYy1vZmZjYW52YXMtbWVudS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi4xZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHtcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3Q6OmJlZm9yZSxcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3QgPiBsaTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAkZ3JpZC1jb2w7XG4gICAgICAgIGxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICRncmlkLWNvbnRhaW5lcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItYmFzaWM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvcmRlci1saWdodC1ibHVlKTtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0OjpiZWZvcmUge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0ID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtdGl0bGUgKyBzcGFuIHsgIFxuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbiAgICBcblx0LmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMCwxLDAsMSk7XG5cdH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jb250ZW50ID4gbGkge1xuXHRcdHBhZGRpbmctbGVmdDogNTRweDtcblx0fVxuICAgIFxuICAgICBcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkIH4gLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG5cdFx0bWF4LWhlaWdodDogOTk5OXB4O1xuXHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMSwwLDEsMCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG5cdH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jb250ZW50IHVsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgfVxuICAgIFxuICAgIC5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQgdWwgdWwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgXG4gICAuYy1vZmZjYW52YXMtbWVudS1saW5rLW1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMWVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XG4gICAgLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbWV0YS1saXN0IGxpICsgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxZW0gMCAxZW0gMzJweDtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCA+IGxpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDMycHg7XG5cdH1cbiAgICBcbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlcixcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3Jle1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICB9XG5cbiAgICAuYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbiAgICAuYy1vZmZjYW52YXMtbWVudS1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgfVxuXG4gICAgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuICAgIC5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgIH1cbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ0MHB4KSB7XG4gICAgLmMtb2ZmY2FudmFzLW1ldGEtbGlzdCAuYy1idG4tc2Vjb25kYXJ5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgb3BlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuXHQuYy1vZmZjYW52YXMtbmF2IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cblx0XG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbiAgICBcbiAgICAuYy1xdWlja25hdi1zdGlja3ksXG4gICAgLmMtY29va2llLW5vdGljZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufSIsIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYmctbGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4uYy1iZy1kYXJrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi5jLW1lc3NhZ2UtYWxlcnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxlcnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWxlcnQpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNob3dyb29tIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2hvd3Jvb20ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1zaG93cm9vbSAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLWltZyB7XG4gIG1hcmdpbi1sZWZ0OiAtNDEuNjY3JTtcbn1cblxuXG4uYy1zaG93cm9vbS1ib3gtbGlzdCxcbi5jLXRleHQtYmxvY2sgLmMtc2hvd3Jvb20tYm94LWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtc2hvd3Jvb20tYm94LWxpc3QgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBCcmVhZGNydW1iIC8gY2F0ZWdvcnkgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWJyZWFkY3J1bWIge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1icmVhZGNydW1iIGEge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi5jLWJyZWFkY3J1bWIgYTpob3Zlcixcbi5jLWJyZWFkY3J1bWIgYTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWJyZWFkY3J1bWIgdWwsXG4uYy1jYXRlZ29yeS1saXN0LFxuLmMtbmV3cy1pdGVtLXRleHQgLmMtY2F0ZWdvcnktbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7ICAgIFxufVxuXG4uYy1icmVhZGNydW1iIGxpLFxuLmMtY2F0ZWdvcnktbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcteHM7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLWJyZWFkY3J1bWIgbGk6bGFzdC1jaGlsZCxcbi5jLWNhdGVnb3J5LWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5jLWJyZWFkY3J1bWIgbGk6OmJlZm9yZSxcbi5jLWNhdGVnb3J5LWxpc3QgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtY2F0ZWdvcnktbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMTRweCk7XG4gICAgd2lkdGg6IDJweDtcbiAgICB3aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtYnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkOjpiZWZvcmUsXG4uYy1jYXRlZ29yeS1saXN0IGxpOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtY2F0ZWdvcnktbGlzdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQWNjb3JkaW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1hY2NvcmRpb24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xufVxuXG4uYy1hY2NvcmRpb24tY29udGFpbmVyICsgLmMtYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmMtYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAxZW0gMCAxZW0gNTRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci10aXRsZTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci10aXRsZSk7XG59XG5cbi5jLWFjY29yZGlvbi1zbWFsbCAuYy1hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmc6IDFlbSAwIDFlbSAzMnB4O1xufVxuXG4uYy1hY2NvcmRpb24tdGl0bGU6Zm9jdXMsXG4uYy1hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi5jLWFjY29yZGlvbi1jaGVjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG5cbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUsXG4uYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTFweCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtYWNjb3JkaW9uLXNtYWxsIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1hY2NvcmRpb24tc21hbGwgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSxcbi5jLWFjY29yZGlvbi1zbWFsbCAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1hY2NvcmRpb24tc21hbGwgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gOHB4KTtcbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDlweDtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWFjY29yZGlvbi1zbWFsbCAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1hY2NvcmRpb24tc21hbGwgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xufVxuXG4uYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgbGVmdDogMjNweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1hY2NvcmRpb24tc21hbGwgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWFjY29yZGlvbi1zbWFsbCAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgICBsZWZ0OiA3cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xufVxuXG4uYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi8qIENvbnRlbnRzICovXG4uYy1hY2NvcmRpb24tY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMCwxLDAsMSk7XG5cbn1cblxuLmMtYWNjb3JkaW9uLWlubmVyIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy14cyAyNSUgJHNwYWNpbmctbSA1NHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpIDI1JSB2YXIoLS1zcGFjaW5nLW0pIDU0cHg7XG5cbn1cblxuLmMtYWNjb3JkaW9uLXNtYWxsIC5jLWFjY29yZGlvbi1pbm5lciB7XG4gICAgcGFkZGluZzogJHNwYWNpbmcteHMgMCAkc3BhY2luZy1zIDMycHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy14cykgMCB2YXIoLS1zcGFjaW5nLXMpIDMycHg7XG5cbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQgfiAuYy1hY2NvcmRpb24tY29udGVudCB7XG4gICBcdG1heC1oZWlnaHQ6IDk5OTlweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDEsMCwxLDApO1xufVxuXG4vKiBjb250YWN0IHNuaXBwZXQgaW5zaWRlIGFjY29yZGlvbiAqL1xuXG4uYy1hY2NvcmRpb24taW5uZXIgLmMtY29udGFjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBtYWluIHRlYXNlciAvIGNyb3NzIHRlYXNlciAvIG5ld3MgdGVhc2VyIC8gb3ZlcnZpZXcgdGVhc2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1ib3gge1xuICAgIHBhZGRpbmc6IDEuNWVtIDMycHg7XG4gICAgcGFkZGluZzogdmFyKC0tcGFkZGluZy1ib3gpO1xufVxuXG4uYy1ib3gtYm9yZGVyIHtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbn1cblxuLmMtbmV3cy1pdGVtLFxuLmMtdGVhc2VyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5jLXRlYXNlci1pdGVtIC5jLWxpbmstYXJyb3ctYmlnLFxuLmMtbmV3cy1pdGVtIC5jLWxpbmstYXJyb3ctYmlnLFxuLmMtbmV3cy1pdGVtLXRleHQgLmMtbGluay1hcnJvdy1iaWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYy10ZWFzZXItbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4vKi5jLW1haW4tdGVhc2VyIC5jLWNvbC00Om50aC1jaGlsZCg0bisxKSAuYy10ZWFzZXItaXRlbXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1tYWluLXRlYXNlciAuYy1jb2wtNDpudGgtY2hpbGQoNW4rMikgLmMtdGVhc2VyLWl0ZW17XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyay0yKTtcbn0qL1xuXG4uYy1tYWluLXRlYXNlciAuYy10ZWFzZXItaXRlbSBoMyBhLFxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW0gLmMtbGluay1ib2xkIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1tYWluLXRlYXNlciAuYy10ZWFzZXItaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctZ3JhZGllbnQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIgaDMgYSxcbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLWxpbmstYm9sZCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1tYWluLXRlYXNlciAuYy10ZWFzZXItaXRlbTpmb2N1cy13aXRoaW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWdyYWRpZW50KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLW1haW4tdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbiBoMyBhLFxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluIC5jLWxpbmstYm9sZCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi5jLWNyb3NzLXRlYXNlciAuYy10ZWFzZXItaXRlbSBoMyBhLFxuLmMtbmV3cy1pdGVtIGgzIGEge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi5jLWNyb3NzLXRlYXNlciAuYy10ZWFzZXItaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctZ3JhZGllbnQpO1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIsXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIgaDMgYSxcbi5jLWNyb3NzLXRlYXNlciAuYy10ZWFzZXItaXRlbTpob3ZlciAuYy1saW5rLWJvbGQge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctZ3JhZGllbnQpO1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluLFxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbiBoMyBhLFxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbiAuYy1saW5rLWJvbGQge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtbmV3cy1pdGVtLXRleHQsXG4uYy1vdmVydmlldy1pdGVtLXRleHQge1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgcGFkZGluZzogMS41ZW0gMCAwIDMycHg7XG4gICAgcGFkZGluZzogdmFyKC0tcGFkZGluZy1uZXdzLWl0ZW0pO1xufVxuXG4uYy1uZXdzLXRlYXNlci1iaWcgLmMtbmV3cy1pdGVtLXRleHQge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICBwYWRkaW5nOiAyLjVlbSAwIDAgMDtcbn1cblxuXG5cbi5jLW5ld3MtaXRlbS10ZXh0IHVsICsgaDMge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vKi5jLW5ld3MtaXRlbS10ZXh0IHAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG59Ki9cblxuLmMtcmF0aW9ib3gtbmV3cyBpbWcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy1uZXdzLWl0ZW06aG92ZXIgLmMtcmF0aW9ib3gtbmV3cyBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG59XG5cbi5jLW5ld3MtaXRlbTpmb2N1cy13aXRoaW4gLmMtcmF0aW9ib3gtbmV3cyBpbWcge1xuICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbn1cblxuLmMtbmV3cy10ZWFzZXItYmlnIC5jLWNvbC00LFxuLmMtbmV3cy10ZWFzZXItYmlnIC5jLWNvbC02IHtcbiAgICBwb3NpdGlvbjogdW5zZXQ7XG59XG5cbi8qIGNyb3NzdGVhc2VyIC8gbWFpbnRlYXNlciB3aXRob3V0IHNtYWxsZXIgYXJyb3cgKi9cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGV4dC1ibG9jayBwLFxuLmMtY3Jvc3MtdGVhc2VyIC5jLXRleHQtYmxvY2sgcCxcbi5jLW5ld3MtaXRlbS10ZXh0IHAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjM1ZW07XG59XG5cbi8qIG92ZXJ2aWV3IHRlYXNlciAqL1xuLmMtb3ZlcnZpZXctaXRlbS10ZXh0IHAgKyB1bCB7XG4gICAgcGFkZGluZy10b3A6IDEuMjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgTGluZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWxpbmUtdG9wOjpiZWZvcmUsXG4uYy1saW5lLWJvdHRvbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBsZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICRncmlkLWNvbnRhaW5lciAqIDIpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAyKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBoZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLWxpbmUtdG9wOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbn1cblxuLmMtbGluZS1ib3R0b206OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG59XG5cbi8qIGZvciBjb250YWN0IHNuaXBwZXQgaW5zaWRlIGFjY29yZGlvbiAqL1xuLmMtYWNjb3JkaW9uLWlubmVyIC5jLWxpbmUtdG9wOjpiZWZvcmUsXG4uYy1hY2NvcmRpb24taW5uZXIgLmMtbGluZS1ib3R0b206YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZpbHRlciBsaXN0IC8gZmlsdGVyIHF1aWNrbGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZpbHRlci1saXN0LFxuLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWZpbHRlci1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtZmlsdGVyLWxpc3QgYSxcbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbn1cblxuLmMtZmlsdGVyLWxpc3QgYSxcbi5jLWZpbHRlci1saXN0IGE6dmlzaXRlZCxcbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYSxcbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYTp2aXNpdGVke1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy1maWx0ZXItbGlzdCBhOmhvdmVyLFxuLmMtZmlsdGVyLWxpc3QgYTpmb2N1cyxcbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYTpob3Zlcixcbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYTpmb2N1c3tcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWZpbHRlci1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtZmlsdGVyLWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtZmlsdGVyLWxpc3QgYTpob3Zlcjo6YmVmb3JlLFxuLmMtZmlsdGVyLWxpc3QgLmMtYWN0aXZlIGE6OmJlZm9yZXtcblx0aGVpZ2h0OiA0cHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtZmF0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpbHRlciBxdWlja2xpbmtzIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZmlsdGVyLXF1aWNrbGlua3Mge1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcblx0ZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgXG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYSB7XG4gICAgZmxleC1ncm93OiAxO1xuXHRkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDExMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgXG59XG5cbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlOyAgICBcblx0dG9wOiBjYWxjKDEwMCUgLSAzMHB4KTtcblx0bGVmdDogNTAlO1xuXHRib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci13aWR0aDogMTZweCAyMHB4IDA7XG5cdG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLWZpbHRlci1xdWlja2xpbmtzLWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IC5jLWFjdGl2ZSBhOjpiZWZvcmV7XG4gICAgdG9wOiAxMDAlO1xuXHRib3JkZXItdG9wLWNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgcXVpY2tsaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcXVpY2tsaW5rcy1jb250ZW50LWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ncmFkaWVudCk7XG59XG5cblxuLmMtcXVpY2tsaW5rcy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luOiAwIHZhcigtLWdyaWQtcm93KTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtcXVpY2tsaW5rcy1saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMWVtICRncmlkLWNvbDtcbiAgICBwYWRkaW5nOiAxZW0gdmFyKC0tZ3JpZC1jb2wpO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmMtcXVpY2tsaW5rcy1saXN0IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAkZ3JpZC1jb2w7XG4gICAgbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAkZ3JpZC1jb2wgKiAyKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tZ3JpZC1jb2wpICogMik7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItbGlnaHQtYmx1ZSk7XG59XG5cbi5jLXF1aWNrbGlua3MtbGlzdCBsaTpudGgtY2hpbGQoMSk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgcXVpY2sgbmF2IHN0aWNreVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXF1aWNrbmF2LXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcblx0ei1pbmRleDogMTE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cblxuLmMtcXVpY2tuYXYtc3RpY2t5IHVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1xdWlja25hdi1zdGlja3kgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogNzBweDtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbn1cblxuLmMtcXVpY2tuYXYtc3RpY2t5IGEge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAtMTkwcHg7XG5cdGxpbmUtaGVpZ2h0OiA3MHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDc2cHg7XG5cdHdpZHRoOiAyNjBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWdyYWRpZW50KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG59XG5cbi5jLXF1aWNrbmF2LXN0aWNreSBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAwO1xufVxuXG4uYy1xdWlja25hdi1zdGlja3kgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAyMHB4O1xufVxuXG4uYy1xdWlja25hdi1zdGlja3kgYSxcbi5jLXF1aWNrbmF2LXN0aWNreSBhOnZpc2l0ZWQsXG4uYy1xdWlja25hdi1zdGlja3kgYTpmb2N1cyxcbi5jLXF1aWNrbmF2LXN0aWNreSBhOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtcXVpY2tuYXYtc3RpY2t5IGE6Zm9jdXMsXG4uYy1xdWlja25hdi1zdGlja3kgYTpob3ZlciB7XG5cdHJpZ2h0OiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBtYXBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW1hcCB7XG4gICAgLyptYXJnaW4tYm90dG9tOiA0MHB4OyovXG59XG5cbi5jLW1hcC1pbm5lciB7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRoZWlnaHQ6IDYwMHB4O1xuXHRoZWlnaHQ6IDY1dmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBzZWFyY2ggLyBzZWFyY2ggcmVzdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IHtcblx0bWFyZ2luOiAwICRncmlkLXJvdztcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXNlYXJjaC1yZXN1bHQtbGlzdCBsaSB7XG5cdHBhZGRpbmc6IDAgJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcblx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IGxpIHtcblx0cGFkZGluZy1ib3R0b206ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1zZWFyY2gtcmVzdWx0LWxpc3QgLmMtYWN0aXZlIC5jLWJveCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmctZGFyaztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgdGV4dCBpbWcgMiBjb2xcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10ZXh0LWltZy0yY29sLXdpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi5jLXRleHQtaW1nLTJjb2wtd2lkZSBmaWd1cmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIE9yZ2FuaWdyYW1tXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vcmdhbmlncmFtbS1pdGVtIHtcbiAgICBtaW4taGVpZ2h0OiA2LjJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctb3JnYW5pZ3JhbW0tcyk7XG59XG5cbi5jLW9yZ2FuaWdyYW1tLWJnLWwxIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBib3JkZXItY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi8qLmMtb3JnYW5pZ3JhbW0tYmctc3RhYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogJGJnLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbn0qL1xuXG4uYy1vcmdhbmlncmFtbS1iZy1sMixcbi5jLW9yZ2FuaWdyYW1tLWJnLXN0YWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1vcmdhbmlncmFtbS1sMjtcbiAgICBib3JkZXItY29sb3I6ICRiZy1vcmdhbmlncmFtbS1sMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1vcmdhbmlncmFtbS1sMik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1vcmdhbmlncmFtbS1sMik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1vcmdhbmlncmFtbS1iZy1sMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLW9yZ2FuaWdyYW1tLWwzO1xuICAgIGJvcmRlci1jb2xvcjogJGJnLW9yZ2FuaWdyYW1tLWwzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLW9yZ2FuaWdyYW1tLWwzKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJnLW9yZ2FuaWdyYW1tLWwzKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi5jLW9yZ2FuaWdyYW1tLXNlcGFyYXRvciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAkc3BhY2luZy1sIDA7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZy1sKSAtIHZhcigtLXNwYWNpbmctb3JnYW5pZ3JhbW0tcykpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDb29raWUgbm90aWNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb29raWUtbm90aWNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWdyYWRpZW50KTtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAyMDtcbn1cblxuLmMtY29va2llLW5vdGljZSBwLFxuLmMtY29va2llLW5vdGljZSB1bCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC41ZW0gMC41ZW0gMCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjUwcHgpIHsgICBcbiAgICAuYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcblx0LmMtY29va2llLW5vdGljZSAuYy1idG4ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblx0fVxuXHRcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFN1YiBtZW51IGZpbHRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc3ViLW1lbnUtY29udGVudHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBTaG93IHRoZSBmaXJzdCBzdWIgbWVudSBjb250YWluZXIgKi9cbi5jLXN1Yi1tZW51LWNvbnRlbnQuYy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmsgY29sb3JzIGFuZCBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFbaHJlZl49XCJ0ZWw6XCJdIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIGEge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCRjb2xvci1oaWdobGlnaHQgMCUsJGNvbG9yLWhpZ2hsaWdodCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHZhcigtLWNvbG9yLWhpZ2hsaWdodCkgMCUsdmFyKC0tY29sb3ItaGlnaGxpZ2h0KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IDRweDtcbiAgXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcztcbn1cblxuXG5cbi5jLXRleHQtYmxvY2sgYTpmb2N1cyxcbi5jLXRleHQtYmxvY2sgYTpob3ZlciB7XG5cdGJhY2tncm91bmQtc2l6ZTogOHB4IDhweDtcbn1cblxuLmMtdGV4dC1zbWFsbCBhIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDJweCAycHg7XG59XG5cbi5jLXRleHQtYmxvY2sgYTpmb2N1cyxcbi5jLXRleHQtYmxvY2sgYTpob3ZlciB7XG5cdGJhY2tncm91bmQtc2l6ZTogNnB4IDZweDtcbn1cblxuLmMtdGV4dC1zbWFsbCBhOmZvY3VzLFxuLmMtdGV4dC1zbWFsbCBhOmhvdmVye1xuICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IDRweDtcbn1cblxuLmMtZm9vdGVyLW1haW4gYSxcbi5jLWZvb3Rlci1kaXNjbGFpbWVyIGF7XG5cdGJhY2tncm91bmQtc2l6ZTogMCAwO1xuICBcdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzO1xufVxuXG4uYy1mb290ZXItbWFpbiBhOmhvdmVyLFxuLmMtZm9vdGVyLW1haW4gYTpmb2N1cyxcbi5jLWZvb3Rlci1kaXNjbGFpbWVyIGE6aG92ZXIsXG4uYy1mb290ZXItZGlzY2xhaW1lciBhOmZvY3VzIHtcblx0YmFja2dyb3VuZC1zaXplOiAxcHggMXB4O1xuICBcdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bixcbi5jLXRleHQtYmxvY2sgLmMtYnRuLXNlY29uZGFyeSxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1pY29uLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWJvbGQsXG4uYy10ZWFzZXIgLmMtdGV4dC1ibG9jayBoMyBhLFxuLmMtbmV3cy10ZWFzZXItYmlnIC5jLXRleHQtYmxvY2sgaDMgYSxcbi5jLXRleHQtYmxvY2sgLmMtc2hvd3Jvb20tYm94LWxpc3QgYSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYnRuLFxuLmMtYnRuLXNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcblx0cGFkZGluZzogMC44ZW0gMjRweCAwLjhlbSAyNHB4O1xuXHRib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXHRmb250LXdlaWdodDogYm9sZDtcblx0Zm9udC1zaXplOiAxZW07XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1idG4sXG4uYy1idG46dmlzaXRlZHtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1idG46aG92ZXIsIFxuLmMtYnRuOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi5jLWJ0bi1zZWNvbmRhcnkge1xuICAgIGJvcmRlcjogc29saWQgMnB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYy1idG4tc2Vjb25kYXJ5LFxuLmMtYnRuLXNlY29uZGFyeTp2aXNpdGVke1xuICAgIGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1idG4tc2Vjb25kYXJ5OmhvdmVyLCBcbi5jLWJ0bi1zZWNvbmRhcnk6Zm9jdXMgeyAgICBcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuXG5cbi5jLWJ0bi11cGxvYWRmaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmMtYnRuLXNtYWxsIHsgICAgXG4gICBwYWRkaW5nOiAwLjVlbSAyMHB4O1xufVxuXG4uYy1idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRvcDogMjRweDtcbiAgICByaWdodDogJGdyaWQtY29udGFpbmVyO1xuICAgIHJpZ2h0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWJ0bi1jbG9zZTo6YmVmb3JlLFxuLmMtYnRuLWNsb3NlOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIHdpZHRoOiAyNnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuLmMtYnRuLWNsb3NlOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uYy1idG4tY2xvc2U6OmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uYy1idG4tY2xvc2U6aG92ZXI6OmJlZm9yZSxcbi5jLWJ0bi1jbG9zZTpob3Zlcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBsaW5rcyB3aXRoIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1pY29uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1pY29uOjpiZWZvcmUsXG4uYy1pY29uOjphZnRlcixcbi5jLW1haW4tbmF2LWxpbmstYXJyb3c6OmFmdGVyIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5jLWxpbmstaWNvbixcbi5jLWxpbmstYm9sZCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZy1sZWZ0OiAzMnB4O1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtbGluay1hcnJvdy1iaWcgIHtcblx0cGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICB3aWR0aDogNDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDQ4cHg7XG5cdGhlaWdodDogMjhweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjIwcHg7XG59XG5cbi5jLWxpbmstYXJyb3ctYmlnOmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWFycm93LWJpZzpmb2N1czo6YmVmb3JlXG4vKi5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUsXG4uYy10ZWFzZXItaXRlbTpmb2N1cyAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlLFxuLmMtbmV3cy1pdGVtOmhvdmVyIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUsXG4uYy1uZXdzLWl0ZW06Zm9jdXMgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSxcbi5jLW5ld3MtaXRlbS10ZXh0OmhvdmVyIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUsXG4uYy1uZXdzLWl0ZW0tdGV4dDpmb2N1cyAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlKi8ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtNjIwcHg7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZVxuLyouYy1tYWluLXRlYXNlciAuYy10ZWFzZXItaXRlbSAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlKi8ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTYyMHB4O1xufVxuXG4vKi5jLWNyb3NzLXRlYXNlciAuYy10ZWFzZXItaXRlbTpob3ZlciAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IC02MjBweDtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IC02MjBweDtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtNjIwcHg7XG59XG5cbi5jLWNyb3NzLXRlYXNlciAuYy10ZWFzZXItaXRlbTpmb2N1cy13aXRoaW4gLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IC02MjBweDtcbn0qL1xuXG4vKiB0ZXN0IHNtYWxsIGFycm93cyBpbiB0ZWFzZXJzICovXG4uYy1tYWluLXRlYXNlciAuYy1saW5rLWFycm93LWJpZyxcbi5jLWNyb3NzLXRlYXNlciAuYy1saW5rLWFycm93LWJpZyxcbi5jLW5ld3MtaXRlbSAuYy1saW5rLWFycm93LWJpZyB7XG5cdHBhZGRpbmctbGVmdDogMzhweDtcbiAgICB3aWR0aDogMzhweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4uYy1tYWluLXRlYXNlciAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlLFxuLmMtY3Jvc3MtdGVhc2VyIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUsXG4uYy1uZXdzLWl0ZW0gLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdHdpZHRoOiAzOHB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW0gLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAwO1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW0gLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSxcbi5jLW5ld3MtaXRlbSAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAwO1xufVxuXG4uYy1tYWluLXRlYXNlciAuYy10ZWFzZXItaXRlbTpob3ZlciAuYy1saW5rLWFycm93LWJpZzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggMDtcbn1cblxuLmMtbWFpbi10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAwO1xufVxuXG4uYy1jcm9zcy10ZWFzZXIgLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluIC5jLWxpbmstYXJyb3ctYmlnOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAwO1xufVxuXG4uYy1uZXdzLWl0ZW06aG92ZXIgLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IDA7XG59XG5cbi5jLW5ld3MtaXRlbTpmb2N1cy13aXRoaW4gLmMtbGluay1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IDA7XG59XG5cbi8qIGVuZCBzbWFsbCBhcnJvd3MgaW4gdGVhc2VycyAqL1xuXG4uYy1saW5rLWFycm93OjpiZWZvcmUsXG4uYy1saW5rLWJhY2s6OmJlZm9yZSB7XG5cdHRvcDogMC4zNWVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMzhweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi5jLWxpbmstYXJyb3c6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstYXJyb3c6Zm9jdXM6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IDA7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay1hcnJvdzo6YmVmb3JlLFxuLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWFjdGl2ZSAuYy1saW5rLWFycm93OjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggMDtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1saW5rLWFycm93OmhvdmVyOjpiZWZvcmUsXG4uYy1zZWFyY2gtcmVzdWx0LWxpc3QgLmMtYWN0aXZlIC5jLWxpbmstYXJyb3c6aG92ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAwO1xufVxuXG4uYy1saW5rLWJhY2s6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwcHg7XG59XG5cbi5jLWxpbmstYmFjazpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1iYWNrOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtMjBweDtcbn1cblxuLmMtbGluay1kb3dubG9hZDo6YmVmb3JlIHtcblx0dG9wOiAwLjE1ZW07XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG59XG5cbi5jLWxpbmstZG93bmxvYWQ6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstZG93bmxvYWQ6Zm9jdXM6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC00MHB4O1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNDBweDtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1saW5rLWRvd25sb2FkOmhvdmVyOjpiZWZvcmUsXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZG93bmxvYWQ6Zm9jdXM6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtNDBweDtcbn1cblxuLmMtbGluay1leHRlcm46OmJlZm9yZSB7XG5cdHRvcDogMGVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjFweDtcblx0aGVpZ2h0OiAyMXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4O1xufVxuXG4uYy1saW5rLWV4dGVybjpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1leHRlcm46Zm9jdXM6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC04MHB4O1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTgwcHg7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay1leHRlcm46aG92ZXI6OmJlZm9yZSxcbi5jLXRleHQtbGlnaHQgLmMtbGluay1leHRlcm46Zm9jdXM6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtODBweDtcbn1cblxuLmMtbWFpbi1uYXYtbGluay1hcnJvdzo6YWZ0ZXIge1xuICAgIHRvcDogMC40NWVtO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDE0cHg7XG5cdGhlaWdodDogOHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDtcbn1cblxuXG4uYy1saW5rLXJlc2V0OjpiZWZvcmUge1xuXHR0b3A6IDAuMmVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNjBweDtcbn1cblxuLmMtbGluay1yZXNldDpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1yZXNldDpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTM2MHB4O1xufVxuXG4uYy1idG4tc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAkZ3JpZC1jb2w7XG4gICAgcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1mb3JtLXNlYXJjaC1jaGltbmV5IC5jLWJ0bi1zZWFyY2gge1xuICAgIHJpZ2h0OiAwO1xufVxuXG4uYy1idG4tc2VhcmNoOjpiZWZvcmUge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMjBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgaWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3Rlci10ZWFzZXItbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDY2cHg7XG59XG5cbi5jLWZvb3Rlci10ZWFzZXItbGluayBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtZm9vdGVyLXRlYXNlci1saW5rOjpiZWZvcmUsXG4uYy1xdWlja25hdi1saW5rOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUtaWNvbnMuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiA0MXB4O1xuICAgIGhlaWdodDogNDFweDsgIFxufVxuXG4uYy1mb290ZXItdGVhc2VyLWhvdGxpbmU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IDA7XG4gICAgbWFyZ2luLXRvcDogLTE4cHg7XG59XG5cbi5jLWZvb3Rlci10ZWFzZXItZGFtYWdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtODBweDtcbiAgICBtYXJnaW4tdG9wOiAtMThweDtcbn1cblxuLmMtZm9vdGVyLXRlYXNlci1jaGltbmV5OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTYwcHg7XG4gICAgbWFyZ2luLXRvcDogLTE4cHg7XG59XG5cbi5jLWZvb3Rlci10ZWFzZXItd2VhdGhlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTI0MHB4O1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG4uYy1xdWlja25hdi1saW5rOjpiZWZvcmUge1xuXHRsZWZ0OiAxNXB4O1xuICAgIHdpZHRoOiA0MXB4O1xuICAgIGhlaWdodDogNDFweDsgIFxuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG4uYy1xdWlja25hdi1jb250YWN0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDE2cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAwO1xufVxuXG4uYy1xdWlja25hdi1kYW1hZ2U6OmJlZm9yZSB7XG4gICAgbGVmdDogMThweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC04MHB4O1xufVxuXG4uYy1xdWlja25hdi1jaGltbmV5OjpiZWZvcmUge1xuICAgIGxlZnQ6IDE2cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTYwcHg7XG59XG5cbi5jLXF1aWNrbmF2LXdlYXRoZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMjQwcHg7XG59XG5cbi5jLWljb24tcXVpY2tsaW5rOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS1xdWlja2xpbmtzLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMTBweDtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDgwcHg7IFxuICAgIG1hcmdpbi1sZWZ0OiAtMzVweDtcbn1cblxuLmMtaWNvbi1xdWlja2xpbmstb3duZXI6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG4uYy1pY29uLXF1aWNrbGluay1hdXRob3JpdHk6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjBweDtcbn1cblxuLmMtaWNvbi1xdWlja2xpbmstZmlyZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI0MHB4O1xufVxuXG4uYy1pY29uLXF1aWNrbGluay1wbGFubmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzYwcHg7XG59XG5cblxuLmMtaWNvbi1yZXNldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICB0b3A6IDAuNWVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBcbn1cblxuLmMtaWNvbi1yZXNldDo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDAwcHg7XG59XG5cbi5jLWljb24tcmVzZXQ6Zm9jdXM6OmJlZm9yZSxcbi5jLWljb24tcmVzZXQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTQwMHB4O1xufVxuXG4uYy1pY29uLXNvY2lhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQxcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtaWNvbi1zb2NpYWw6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG59XG5cbi5jLWljb24tc29jaWFsOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDFweDtcbn1cblxuLmMtaWNvbi1zb2NpYWwtbGlua2VkaW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDQwcHg7XG59XG5cbi5jLWljb24tc29jaWFsLWZhY2Vib29rOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU2MHB4O1xufVxuXG4uYy1pY29uLXNvY2lhbC1pbnN0YWdyYW06OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTAwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NTFweCkgeyBcbiAgICAuYy1pY29uLXF1aWNrbGluazpob3Zlcjo6YWZ0ZXIsXG4gICAgLmMtaWNvbi1xdWlja2xpbms6Zm9jdXM6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY1MHB4KSB7ICAgXG5cdC5jLWljb24tcXVpY2tsaW5rOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDsgXG4gICAgfVxuXG4gICAgLmMtaWNvbi1xdWlja2xpbmstb3duZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWljb24tcXVpY2tsaW5rLWF1dGhvcml0eTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggLTEyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1pY29uLXF1aWNrbGluay1maXJlOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtMjQwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWljb24tcXVpY2tsaW5rLXBsYW5uZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IC0zNjBweDtcbiAgICB9XG4gICAgXG59XG5cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmF0aW8gQm94XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1yYXRpb2JveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcsXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcbn1cblxuLyouYy1yYXRpb2JveCA+IGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XHRcbn0qL1xuXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5jLXJhdGlvYm94LTE2Ynk5IHtcblx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmMtcmF0aW9ib3gtNGJ5Myxcbi5jLXJhdGlvYm94LW5ld3Mge1xuXHRwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4uYy1yYXRpb2JveC0xYnkxIHtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5jLXJhdGlvYm94LXNob3dyb29tLFxuLmMtcmF0aW9ib3gtb3ZlcnZpZXcge1xuICAgIHBhZGRpbmctYm90dG9tOiA2Ni42NjYlO1xufVxuXG4uYy1yYXRpb2JveCA+IGltZyxcbi5jLXJhdGlvYm94LXNob3dyb29tIGltZyxcbi5jLXJhdGlvYm94LW5ld3MgaW1nLFxuLmMtcmF0aW9ib3gtb3ZlcnZpZXcgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBzYWZhcmkgZm9ybSBmaXggKi9cbmlucHV0LFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG50ZXh0YXJlYSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBzYWZhcmkgZGF0ZSBmaXggKi9cbmlucHV0W3R5cGU9XCJkYXRlXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBtaW4taGVpZ2h0OiAxZW07IFxuICAgIHBhZGRpbmc6IDAuNjVlbSAxMnB4O1xufVxuXG4vKiByZW1vdmUgY2hyb21lIGF1dG9maWxsIHllbGxvdyBjb2xvciAqL1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xuXHQtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDIwMDBzO1xufVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWZvcm0tcGxhY2Vob2xkZXI7XG4gICAgY29sb3I6IC0tY29sb3ItZm9ybS1wbGFjZWhvbGRlcjtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG5cbi5jLWZvcm0taXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtZm9ybS1pdGVtLWlubmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtZm9ybS1pdGVtICsgaDMsXG4uYy1mb3JtLXN0YW5kYXJkIC5jLXJvdyArIGgzLFxuLmMtZm9ybS1zdGFuZGFyZCBmaWVsZHNldCArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWJ0biB7XG4gICAgbWluLXdpZHRoOiBjYWxjKDMzLjMzMyUgLSB2YXIoLS1ncmlkLWNvbCkpO1xufVxuXG4uYy1mb3JtLWluZm8tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMC43N3JlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXhzKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZm9ybWZpZWxkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS10ZXh0LCBcbi5jLWZvcm0tdGV4dGFyZWEsIFxuLmMtZm9ybS1zZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG59XG5cbi5jLWZvcm0tc2VwYXJhdG9yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi8vIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tdGV4dCxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWEge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiBzb2xpZCAxcHggJGJvcmRlci1mb3JtO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLWZvcm0td2lkdGgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0pO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRwYWRkaW5nOiAwLjY1ZW0gMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLXRleHQtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhIHtcblx0bWluLWhlaWdodDogNmVtO1xufVxuXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLy8gLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLXRleHQ6Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiAkYm9yZGVyLWZvcm0tZm9jdXM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybS1mb2N1cyk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8vIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl06ZGlzYWJsZWQsXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpkaXNhYmxlZCxcbi8vIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXTpkaXNhYmxlZCxcbi8vIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl06ZGlzYWJsZWQsXG4vLyAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZWxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tdGV4dDpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWE6ZGlzYWJsZWQge1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkO1xuXHRjb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcblx0Y29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tbGFiZWwtdGV4dCxcbi5jLWZvcm0tc3RhbmRhcmQgbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMC43N3JlbTsgXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS14cyk7XG59XG5cbi5jLWZvcm0tbGlzdC12ZXJ0aWNhbCxcbi5jLWZvcm0tbGlzdC1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC41ZW0gMCAwIDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtZm9ybS1saXN0LWhvcml6b250YWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmMtZm9ybS1saXN0LWhvcml6b250YWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xufVxuXG4uYy1mb3JtLWxpc3QtdmVydGljYWwgbGkgKyBsaSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNWVtO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBjaGVja2JveCAvIHJhZGlvc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uYy1mb3JtLWNoZWNrYm94LFxuLmMtZm9ybS1yYWRpbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG59XG5cbi5jLWZvcm0tY2hlY2tib3g6Y2hlY2tlZCtsYWJlbCxcbi5jLWZvcm0tY2hlY2tib3g6bm90KDpjaGVja2VkKStsYWJlbCxcbi5jLWZvcm0tcmFkaW86Y2hlY2tlZCtsYWJlbCxcbi5jLWZvcm0tcmFkaW86bm90KDpjaGVja2VkKStsYWJlbHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgcGFkZGluZy10b3A6IDAuM2VtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cdG1pbi1oZWlnaHQ6IDM0cHg7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4uYy1mb3JtLWNoZWNrYm94OmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tY2hlY2tib3g6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1yYWRpbzpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXJhZGlvOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwLjE1ZW07XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItZm9ybTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci1mb3JtLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtZm9ybS1yYWRpbzpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXJhZGlvOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYy1mb3JtLWNoZWNrYm94OmZvY3VzK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXJhZGlvOmZvY3VzK2xhYmVsOjpiZWZvcmV7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWZvcm0tZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybS1mb2N1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLWZvcm0tY2hlY2tib3g6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1yYWRpbzpjaGVja2VkK2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLWNoZWNrYm94OmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtZm9ybS1jaGVja2JveDpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygwLjE1ZW0gKyAycHgpO1xuICAgIGxlZnQ6IDlweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJvcmRlcjogc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcblx0Ym9yZGVyLXdpZHRoOiAwIDRweCA0cHggMDtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtZm9ybS1yYWRpbzpjaGVja2VkK2xhYmVsOjphZnRlcixcbi5jLWZvcm0tcmFkaW86bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMC4xNWVtICsgNXB4KTtcbiAgICBsZWZ0OiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1mb3JtLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uYy1mb3JtLXJhZGlvOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5cbi5jLWZvcm0tY2hlY2tib3g6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5jLWZvcm0tcmFkaW86Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLmMtZm9ybS1jaGVja2JveDpkaXNhYmxlZCtsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1jaGVja2JveDpkaXNhYmxlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1mb3JtLXJhZGlvOmRpc2FibGVkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXJhZGlvOmRpc2FibGVkK2xhYmVsOjphZnRlcntcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG5cdGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGRyb3Bkb3duXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tc2VsZWN0LFxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAwLjY1ZW0gNDBweCAwLjY1ZW0gMTJweCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItZm9ybTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci1mb3JtLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbi1mb3JtLWFycm93LnN2Z1wiKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDEuNHJlbSAhaW1wb3J0YW50O1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcdFxufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWZvcm0tZm9jdXM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybS1mb2N1cyk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0IG9wdGlvbiB7XG5cdHBhZGRpbmc6IDA7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OjotbXMtZXhwYW5kIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6ZGlzYWJsZWQ6Oi1tcy1leHBhbmQge1xuXHRjb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0W2Rpc2FibGVkXSB7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBmb3JtIGNvdmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLWNvdmVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1mb3JtLWNvdmVyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBsb2FkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tc2VuZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLWZvcm0tc2VuZCAuYy1idG4gKyAuYy1sb2FkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG59XG5cblxuXG4uYy1sb2FkZXIge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyOiA0cHggc29saWQgJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHJvdGF0aW9uIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLyouYy1mb3JtLWl0ZW0tbG9hZGluZyAuYy1mb3JtLXRleHQsXG4uYy1mb3JtLWl0ZW0tbG9hZGluZyAuYy1mb3JtLXNlbGVjdCB7XG4gICAgb3BhY2l0eTogMC4zO1xufSovXG5cbi5jLWZvcm0taXRlbS1sb2FkaW5nIC5jLWxvYWRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IGNhbGMoMS41ZW0gKyA5cHgpO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIC8qcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyovXG59XG5cbi5jLWZvcm0tc2VuZC5jLWZvcm0taXRlbS1sb2FkaW5nIC5jLWxvYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn0gXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBlcnJvclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1tZXNzYWdlLWJveCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci1mb3JtLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1mb3JtLW1lc3NhZ2UtYm94LWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1mb3JtLWVycm9yO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZm9ybS1lcnJvcik7XG4gICAgY29sb3I6ICRjb2xvci1mb3JtLWVycm9yO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1mb3JtLWVycm9yKTtcbn1cblxuLmMtZm9ybS1tZXNzYWdlLWJveC1vayB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZm9ybS1vaztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWZvcm0tb2spO1xuICAgIGNvbG9yOiAkY29sb3ItZm9ybS1vaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZm9ybS1vayk7XG59XG5cbi50ZXh0LWRhbmdlcntcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC43N3JlbTsgXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS14cyk7XG59XG4vKiBlcnJvciBtZXNzYWdlKi9cbi5oYXMtZXJyb3IgbGFiZWwsXG4udGV4dC1kYW5nZXIsXG4udGV4dC1kYW5nZXItbm9uLWpzLW92ZXJyaWRlLFxuLmhhcy1lcnJvciAuYy1mb3JtLWxhYmVsLXRleHQge1xuICAgIGNvbG9yOiAkY29sb3ItZm9ybS1lcnJvcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZm9ybS1lcnJvcik7XG59XG5cbi5oYXMtZXJyb3IgLnRleHQtZGFuZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMC41ZW07XG59XG5cbi5oYXMtZXJyb3IgLmMtZm9ybS1jaGVja2JveCArIGxhYmVsOjpiZWZvcmUsXG4uaGFzLWVycm9yIC5jLWZvcm0tcmFkaW8gKyBsYWJlbDo6YmVmb3JlLFxuLmhhcy1lcnJvciAuYy1mb3JtLXRleHQsXG4uaGFzLWVycm9yIC5jLWZvcm0tdGV4dGFyZWEsXG4uaGFzLWVycm9yIC5jLWZvcm0tc2VsZWN0LFxuLmhhcy1lcnJvciB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZm9ybS1lcnJvcjtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWZvcm0tZXJyb3IpO1xufVxuXG4uaGFzLWVycm9yIC5jLWZvcm0tbGlzdC1ob3Jpem9udGFsICsgLnRleHQtZGFuZ2VyIHtcbiAgICBtYXJnaW4tdG9wOiAtMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOjEuNWVtO1xufVxuXG4uYy1mb3JtLWluZm8tdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkteHMpO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWaWV3cG9ydFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQC1tcy12aWV3cG9ydCB7XG5cdHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWRpYXF1ZXJpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNjYwcHgpIHtcblx0LyogY29udGFpbmVyIG1heCB3aWR0aCAqL1xuXHQuYy1jb250YWluZXItbWVkaXVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNjQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1tZWRpdW0gLmMtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLW1lZGl1bSAge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDgyMHB4ICsgNTAlKTtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEzNDBweCkge1xuXHQvKiBjb250YWluZXIgbWF4IHdpZHRoICovXG5cdC5jLWNvbnRhaW5lcixcbiAgICAuYy1tYWluLXRlYXNlcixcbiAgICAuYy1jcm9zcy10ZWFzZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEzMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICBcbiAgICAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYyg2NjBweCArIDUwJSk7XG4gICAgfVxuICAgIFxuICAgIC8qLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1tZWRpdW0gIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYyg4MjBweCArIDUwJSk7XG4gICAgfSovXG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyxcbiAgICAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLW1lZGl1bSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20gLmMtYXN5bS1jb2wtZ3JpZCB7XG4gICAgICAgIGZsZXg6IDAgMCA3OTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA3OTBweDsgXG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tIC5jLWFzeW0tY29sLWVkZ2VsZXNzIHtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoMTAwJSAtIDc5MHB4KTsgXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNzkwcHgpOyBcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20gLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1pbWcge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MHB4O1xuICAgIH1cbiAgICBcbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEyMDBweCkgeyAgXG5cdC5jLWhlYWRlci1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTgxcHgpIHsgIFxuICAgIC5jLXF1aWNrbGlua3MtbGlzdCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgIH1cbiAgICBcbiAgICAuYy1xdWlja2xpbmtzLWxpc3QgbGk6bnRoLWNoaWxkKDIpOjpiZWZvcmUsXG4gICAgLmMtcXVpY2tsaW5rcy1saXN0IGxpOm50aC1jaGlsZCgzKTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIFxuICAgIC5jLXF1aWNrbmF2LXN0aWNreSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbWV0YS1saXN0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgICAgdG9wOiBjYWxjKHZhcigtLW9mZmNhbnZhcy1tZXRhLXBvc2l0aW9uKSAqIC0xKTtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIHJpZ2h0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjUxcHgpIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcbiAgICAuYy1xdWlja2xpbmtzLWxpc3QgbGkge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtcXVpY2tsaW5rcy1saXN0IGxpOm50aC1jaGlsZCgyKTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHsgIFxuXHQuYy1mb290ZXItdGVhc2VyLWxpc3QgbGksXG4gICAgLmMtZm9vdGVyLW5hdi1saXN0ID4gbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyIC5jLWNvbC00LFxuICAgIC5jLWZvcm0tbmV3c2xldHRlciAuYy1jb2wtNCxcbiAgICAuYy1mb3JtLXNlYXJjaCAuYy1jb2wtNCxcbiAgICAuYy1zZWFyY2gtcmVzdWx0LWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtb3JnYW5pZ3JhbW0gLmMtY29sLTQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1vcmdhbmlncmFtbSAuYy1yb3ctbDIgLmMtb3JnYW5pZ3JhbW0taXRlbSxcbiAgICAuYy1vcmdhbmlncmFtbSAuYy1yb3ctc3RhYiAuYy1vcmdhbmlncmFtbS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbiAgICB9XG4gICAgXG4gICAgLmMtb3JnYW5pZ3JhbW0gLmMtcm93LWwzIC5jLW9yZ2FuaWdyYW1tLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY3JTtcbiAgICB9XG4gICAgXG4gICAgLmMtb3JnYW5pZ3JhbW0gLmMtcm93LWw0IC5jLW9yZ2FuaWdyYW1tLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjUlO1xuICAgIH1cbiAgICBcbiAgICBcbiAgICAuYy10ZXh0LW9ubHkgLmMtY29sLTgsXG5cdC5jLW1haW4tdGl0bGUgLmMtY29sLTgsXG5cdC5jLXNlY3Rpb24tdGl0bGUgLmMtY29sLTgsXG4gICAgLmMtaW1nLWNvbnRlbnQgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtYWNjb3JkaW9uLWlubmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE3JTtcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20sIC5jLW1haW4tdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIH1cbiAgICBcbiAgICAuYy1uZXdzLXRlYXNlci1iaWcgLmMtY29sLTQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgICB9XG4gICAgXG4gICAgLmMtbmV3cy1saW5rLWFsbCAuYy1jb2wtMTAge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTtcbiAgICB9XG59XG5cbi8qIGhlYWRlciBzaG93IG9mZmNhbnZhcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtbWFpbi1uYXYsXG4gICAgLmMtaGVhZGVyLW1ldGEge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbiAgICBcbiAgICAuYy1oZWFkZXItbG9nbyxcbiAgICAuYy1mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICBcbiAgICAuYy1zaG93cm9vbS10ZXh0IC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODUwcHgpIHsgIFxuXG4gICAgLmMtZm9ybS1zdGFuZGFyZCAuYy1jb2wtNCxcbiAgICAuYy1mb3JtLXN0YW5kYXJkIC5jLWNvbC04IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1uZXdzLXRlYXNlci1iaWcgLmMtY29sLTQsXG4gICAgLmMtbmV3cy10ZWFzZXItYmlnIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MtbGluay1hbGwgLmMtY29sLTEwIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICBcblx0LmMtdGV4dC1vbmx5IC5jLWNvbC04LFxuXHQuYy1tYWluLXRpdGxlIC5jLWNvbC04LFxuXHQuYy1zZWN0aW9uLXRpdGxlIC5jLWNvbC04LFxuICAgIC5jLWltZy1jb250ZW50IC5jLWNvbC04LFxuICAgIC5jLXRleHQtaW1nLTJjb2wtd2lkZSAuYy1jb2wtNiB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy10ZXh0LWltZy0yY29sLXdpZGUgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcblx0fVxuICAgIFxuICAgIC5jLWFjY29yZGlvbi1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1tO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLXRlYXNlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW5hdi1saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1uYXYtbGlzdCA+IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkYm9yZGVyLWJhc2ljO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1uYXYtbGlzdCB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1uYXYtbGlzdCB1bCBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW5hdi1saXN0IHVsIHVsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbmF2LWxpc3QgdWwgdWwgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1tZW51LXRpdGxlICsgc3BhbiB7ICBcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1lbnUtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG5cdC5jLWZvb3Rlci1tZW51LWNvbnRlbnQge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWF4LWhlaWdodDogMDtcblx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDAsMSwwLDEpO1xuXHR9ICAgIFxuICAgICBcbiAgICAuYy1mb290ZXItbWVudS1jaGVjazpjaGVja2VkIH4gLmMtZm9vdGVyLW1lbnUtY29udGVudCB7XG5cdFx0bWF4LWhlaWdodDogOTk5OXB4O1xuXHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMSwwLDEsMCk7XG5cdH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS10ZXh0IC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG4gICAgfVxuICAgIFxuICAgIC5jLWNvbnRhY3QgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWNvbnRhY3QgLmMtY29sLTYgKyAuYy1jb2wtNiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1zdGFuZGFyZCAuYy1idG4ge1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tZ3JpZC1jb2wpKTtcbiAgICB9XG4gICAgXG4gICAgLmMtb3JnYW5pZ3JhbW0taXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDE1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NTFweCkgeyAgXG4gICAgLyouYy1uZXdzLXRlYXNlciAuYy1jb2wtNCwqL1xuICAgIC5jLXRlYXNlciAuYy1jb2wtNCxcbiAgICAuYy1zZWFyY2gtcmVzdWx0LWxpc3QgbGkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdC8qLmMtbmV3cy1pdGVtLCovXG4gICAgLmMtdGVhc2VyLWl0ZW0sXG4gICAgLmMtc2VhcmNoLXJlc3VsdC1saXN0IC5jLWJveCB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHR9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY1MHB4KSB7ICBcblx0LmMtdGVhc2VyIC5jLWNvbC00LFxuICAgIC5jLW5ld3MtdGVhc2VyLWJpZyAuYy1jb2wtNCxcbiAgICAuYy1uZXdzLXRlYXNlci1iaWcgLmMtY29sLTYsXG4gICAgLmMtc2VhcmNoLXJlc3VsdC1saXN0IGxpLFxuICAgIC5jLW92ZXJ2aWV3LXRlYXNlciAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZmlsdGVyLXF1aWNrbGlua3MtbGlzdCBhIHtcbiAgICAgICAgcGFkZGluZzogNjBweCA1cHggMWVtIDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgIH1cbiAgICBcbiAgICAuYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGE6OmJlZm9yZSxcbiAgICAuYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGE6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbiAgICAuYy1maWx0ZXItcXVpY2tsaW5rcy1saXN0IC5jLWFjdGl2ZSBhOjpiZWZvcmV7XG4gICAgICAgIGJvcmRlci13aWR0aDogOHB4IDEwcHggMDtcblx0ICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1zdGFuZGFyZCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1zdGFuZGFyZCAuYy1idG4ge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAvKi5jLWZvcm0tbmV3c2xldHRlciAuYy1jb2wtNCArIC5jLWNvbC00IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNWVtO1xuICAgIH0qL1xuICAgIFxuICAgIC5jLWZvcm0tc2VuZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb3JtLWl0ZW0tbG9hZGluZyAuYy1idG4gKyAuYy1sb2FkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxZW0gYXV0byAwIGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tIC5jLWNvbC01LFxuICAgIC5jLXNob3dyb29tIC5jLWNvbC03IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20gLmMtY29sLTcge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctcztcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MtaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MtdGVhc2VyLWJpZyAuYy1uZXdzLWl0ZW0tdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctbmV3cy1pdGVtKTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7ICBcblx0LmMtZm9vdGVyLXRlYXNlci1saXN0IGxpLFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtNiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxuICAgIFxuICAgIC5jLWFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVlbSAwIDAuNzVlbSAzMnB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuICAgIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUsXG4gICAgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuICAgIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSA4cHgpO1xuICAgIH1cblxuICAgIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbiAgICAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgIH1cblxuXG4gICAgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbiAgICAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogN3B4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWFjY29yZGlvbi1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIH1cbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ0MHB4KSB7IFxuICAgIC5jLWhlYWRlci1sb2dvLFxuICAgIC5jLWZvb3Rlci1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6Mzc1cHgpIHsgXG4gICAgLmMtaWNvbi1xdWlja2xpbmsgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByaW50IENTU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBwcmludCB7XG4gICAgLyogYmFzZSBzdHlsZXMgKi9cbiAgICAqIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cdFxuXHRhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICBcbiAgICAuYy1pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgICBhW2hyZWZdOmFmdGVyIHtcblx0XHRjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG5cdCAgfVxuICAgIFxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyBcbiAgICB9XG4gICAgXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgICAgIFxuICAgIEBwYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwLjVjbTtcbiAgICB9XG4gICAgXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG4gICAgXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBicmVhay1hZnRlcjphdm9pZDtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIC8qIGZvbnQtc2l6ZXMgKi9cblx0XG5cdGh0bWwsXG5cdGJvZHkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHQvKm92ZXJmbG93OiBhdXRvOyovXG5cdH1cbiAgICBcbiAgICBib2R5IHtcbiAgICAgICAgZm9udC1zaXplOjEycHg7ICAgIFxuICAgIH1cblx0XG5cdGgxLCAuYy1oMSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cdFxuXHQuYy1sZWFkLFxuXHQuYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG5cdGgyLCAuYy1oMixcblx0aDMsIC5jLWgzLFxuXHQuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cdFxuXHQvKiBwcm9qZWN0IHN0eWxlcyAqL1xuXHQuYy1jb250YWluZXIge1xuXHRcdHBhZGRpbmctYm90dG9tOiAyZW07XG5cdH1cblx0XG5cdC5jLWZvb3RlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/