/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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)
   ========================================================================== */
/* @import must be at top of file, otherwise CSS will not work */
/* @import url('//hello.myfonts.net/count/426563'); */
/* ==========================================================================
   Fallbacks sass Variablen
   ========================================================================== */
/* text */
/* dark grey */
/* dark grey */
/* background */
/* dark blue */
/* light grey */
/* blue */
/* line-colors */
/* spacing */
/* grid */
/* form */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "Outfit", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 800;
  /* text  */
  --text-color: #000; /* black */
  --text-color-light: #fff;
  --text-color-link: #000;
  /* font-sizes */
  --font-size-root: 20px;
  --font-size-h1: 4rem; /* 80px */
  --font-size-h2: 2rem; /* 40px */
  --font-size-h3: 1.6rem;
  --font-size-lead: 1.4rem;
  --font-size-quote: 1.6rem;
  --font-size-body: 1rem;
  --font-size-body-xs: 0.8rem;
  --font-size-body-s: 0.9rem;
  /* colors / background */
  --bg-content: #fff;
  --bg-dark: #0F3049; /* dark blue */
  --bg-light: #f9f9f9; /* light grey */
  --color-highlight: #009FE3; /* blue */
  /* lines */
  --border-basic: #DDDDDD;
  --border-light: #57697a;
  --border-dark: #2A2228;
  /* spacing between components based on rem */
  --spacing-l: 6rem;
  --spacing-m: 3rem;
  --spacing-s: 1.5rem;
  --spacing-xs: 0.75rem;
  --padding-box-left: 24px;
  /* grid */
  --grid-container: 24px;
  --grid-row: -12px;
  --grid-col: 12px;
  --header-height: 150px;
  /* form */
  --border-form: #A8A8A8;
  --border-form-focus: #000;
  --form-disabled: #ccc;
  --form-error: #dd0000;
  --form-ok: #00828C;
  --form-initial: #1D1D1B;
}

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

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 48px;
    --grid-row: -24px;
    --grid-col: 24px;
    --padding-box-left: 32px;
  }
}
@media only screen and (max-width: 1023px) {
  :root {
    --header-height: 100px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-l: 3rem;
    --spacing-m: 1.75rem;
  }
}
/*@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: #2A2228;
  color: var(--text-color);
  font-family: "Outfit", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-weight: normal;
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-body);
  -webkit-tap-highlight-color: transparent;
}

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

p:empty {
  display: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #2A2228;
  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 {
  position: relative;
  width: 100%;
  z-index: auto;
}

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-services .c-col-4,
.c-separator-left,
.c-separator-right,
.c-teaser-news .c-col-6 {
  padding-bottom: 6rem;
  padding-bottom: var(--spacing-l);
}

.c-showroom,
.c-teaser-big {
  margin-bottom: 6rem;
  margin-bottom: var(--spacing-l);
}

.c-main-title {
  margin-top: 8em;
  margin-top: calc(var(--spacing-l) + var(--header-height));
}

.c-teaser-big {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
}

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

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

.c-text-only + .c-text-only,
.c-text-only + .c-logowall {
  margin-top: calc(var(--spacing-l) * -1);
  padding-top: 1.5em;
}

.c-teaser-news + .c-cta {
  margin-top: calc(var(--spacing-l) * -1);
}

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

.c-row {
  margin-right: -12px;
  margin-left: -12px;
  margin-right: var(--grid-row);
  margin-left: 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: 12px;
  padding-left: 12px;
  padding-right: var(--grid-col);
  padding-left: 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-asym-right-edgeless,
.c-asym-left-edgeless {
  overflow: hidden;
}

.c-asym-right-edgeless > .c-row {
  flex-direction: row-reverse;
}

.c-asym-right-edgeless .c-asym-col-edgeless .c-row {
  margin-right: -48px;
  margin-right: calc(var(--grid-container) * -2);
}

.c-asym-left-edgeless .c-asym-col-edgeless .c-row {
  margin-left: -48px;
  margin-left: calc(var(--grid-container) * -2);
}

.c-asym-right-edgeless .c-asym-separator-line-container {
  margin-right: -24px;
  margin-right: calc(var(--grid-container) * -1);
}

.c-asym-left-edgeless .c-asym-separator-line-container {
  margin-left: -24px;
  margin-left: 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;
  font-weight: var(--font-weight-bold);
  text-wrap: balance;
}

h1,
.c-h1 {
  padding-bottom: 0.5em;
  line-height: 1.05;
  font-size: 4rem; /* 80px */
  font-size: var(--font-size-h1);
  text-transform: uppercase;
}

h2,
.c-h2 {
  padding-bottom: 0.6em;
  line-height: 1.25;
  font-size: 2rem; /* 40px */
  font-size: var(--font-size-h2);
  text-transform: uppercase;
}

h3,
.c-h3 {
  padding-bottom: 0.5em;
  line-height: 1.25;
  font-size: 1.6rem;
  font-size: var(--font-size-h3);
  text-transform: none;
}

h1 span,
h2 span,
h3 span {
  color: var(--color-highlight);
}

/* ==========================================================================
   Basic Text Content
   ========================================================================== */
strong, b {
  font-weight: var(--font-weight-bold);
}

.c-content,
.c-footer {
  line-height: 1.5;
}

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

.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 {
  padding-top: 1.5em;
}

.c-lead {
  line-height: 1.5;
  font-size: 1.4rem;
  font-size: var(--font-size-lead);
  text-wrap: balance;
}

.c-header {
  font-size: 0.9rem; /* 18px */
  font-size: var(--font-size-body-s);
}

.c-text-small,
.c-text-block blockquote cite {
  font-size: 0.8rem; /* 16px */
  font-size: var(--font-size-body-xs);
}

.c-legend {
  display: block;
  padding-top: 1em;
  font-size: var(--font-size-body-xs);
}

.c-offcanvas-nav-list {
  font-size: 1.6rem;
  font-size: var(--font-size-h3);
  text-transform: uppercase;
  font-weight: var(--font-weight-bold);
}

.c-teaser-news .c-category-title {
  display: block;
  padding-bottom: 1em;
  line-height: 1;
  font-weight: normal;
  font-weight: var(--font-weight-normal);
}

.c-teaser-news .c-category-title-date {
  display: inline-block;
  padding-right: 10px;
  margin-right: 10px;
  border-right: solid 1px #2A2228;
  border-color: var(--border-dark);
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

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

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

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

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

.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: #2A2228;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-align: right;
}

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

.c-text-block .c-social-list li,
.c-text-block .c-athlete-profile-list li {
  padding-left: 0;
}

.c-social-list li {
  display: inline-block;
  padding-right: 10px;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

.c-text-block .c-social-list li + li {
  margin-top: 0.25em;
}

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

.c-text-block .c-social-list li::before,
.c-text-block .c-athlete-profile-list li::before {
  background: none;
}

.c-athlete-profile-list {
  border-top: solid 1px #DDDDDD;
  border-color: var(--border-basic);
}

.c-athlete-profile-list li {
  border-bottom: solid 1px #DDDDDD;
  border-color: var(--border-basic);
}

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

.c-text-block blockquote p {
  position: relative;
  padding: var(--spacing-m) 0 0 0;
  line-height: 1.25;
  font-size: 1.6rem;
  font-size: var(--font-size-quote);
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-wrap: balance;
}

.c-text-block blockquote cite {
  display: block;
  padding-top: 1.5em;
  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
   ========================================================================== */
@media only screen and (max-width: 1400px) {
  :root {
    --font-size-h1: 3.2rem;
  }
}
@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.8rem;
    --font-size-h2: 1.8rem;
    --font-size-h3: 1.4rem;
    --font-size-quote: 1.4rem;
    --font-size-lead: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --font-size-root: 18px;
    --font-size-h1: 2rem;
    --font-size-h2: 1.5rem;
    --font-size-h3: 1.25rem;
    --font-size-lead: 1.125rem;
    --font-size-quote: 1.25rem;
    --font-size-body: 1rem;
    --font-size-body-s: 1rem;
    --font-size-body-xs: 0.875rem;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.c-header-inner {
  height: 150px;
  height: var(--header-height);
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.c-header-logo {
  position: relative;
  margin-top: 60px;
  width: 350px;
  height: 80px;
}

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

.c-header-sticky {
  position: fixed;
}

.c-header-logo svg {
  width: 100%;
  height: auto;
}

.c-text-light .c-header-logo .st0 {
  fill: var(--text-color-light);
}

/* ==========================================================================
   lang 
   ========================================================================== */
.c-header-lang {
  position: absolute;
  top: 20px;
  right: 20px;
  right: var(--grid-container);
}

.c-header-lang-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-header-lang-list li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-header-lang-list li {
  display: inline-block;
}

.c-header-lang-list li + li {
  padding-left: 1em;
}

.c-header-lang-list a {
  display: inline-block;
  position: relative;
  padding-bottom: 0.5em;
}

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

.c-header-lang-list a:focus::before,
.c-header-lang-list a:hover::before,
.c-header-lang-list .wpml-ls-current-language a::before {
  height: 3px;
}

/* ==========================================================================
   main nav 
   ========================================================================== */
.c-main-nav {
  margin-top: 60px;
  justify-content: flex-end;
  text-transform: uppercase;
  font-weight: var(--font-weight-bold);
}

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

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

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

.c-main-nav-list a {
  display: inline-block;
  position: relative;
  padding-bottom: 0.5em;
}

.c-main-nav-list a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background-color: #009FE3;
  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 .current-menu-item a::before {
  height: 3px;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 6rem;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-l);
  background-color: #0F3049;
  background-color: var(--bg-dark);
  overflow: hidden;
}

.c-footer-logo {
  width: 350px;
  margin-bottom: 1.5em;
}

.c-footer-disclaimer {
  padding-top: 1.5em;
}

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

.c-footer-disclaimer-list li {
  display: inline-block;
  padding-left: 2em;
}

.c-footer-main-item {
  position: relative;
  display: block;
  border-left: solid 3px var(--border-light);
  padding-left: 24px;
  padding-left: var(--padding-box-left);
  flex-grow: 1;
}

.c-footer-deco {
  position: absolute;
  top: 0;
  right: 0;
  width: 255px;
  height: 262px;
  background-image: url(footer-deco_1928.svg);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  opacity: 0.15;
}

.c-footer-main .c-col-4 {
  display: flex;
  flex-flow: column;
}

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 16px;
  right: 24px;
  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-offcanvas-trigger-open {
  display: none;
}

.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: 30px;
  transition: width 0.2s ease-in-out;
}

.c-offcanvas-trigger-open::before {
  height: 22px;
  margin-top: -11px;
  border-top: 4px solid #009FE3;
  border-bottom: 4px solid #009FE3;
  border-color: var(--color-highlight);
}

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

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

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

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

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

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

#open-navigation.navigation .c-offcanvas-nav #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;
}

/* ==========================================================================
   Offcanvas Content
   ========================================================================== */
.c-offcanvas-content {
  padding-bottom: 1.5em;
}

.c-offcanvas-lang {
  padding-bottom: var(--spacing-l);
}

.c-offcanvas-nav-list {
  margin: 0;
  padding: 0 0 2rem 0;
  padding-bottom: var(--spacing-l);
  list-style: none;
}

.c-offcanvas-nav-list li + li {
  padding-top: 1em;
}

.c-offcanvas-nav-list a {
  display: inline-block;
  position: relative;
  padding-bottom: 0.35em;
}

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

.c-offcanvas-nav-list a:focus::before,
.c-offcanvas-nav-list a:hover::before,
.c-offcanvas-nav-list .current-menu-item a::before {
  height: 3px;
}

/* ==========================================================================
   Offcanvas nav open
   ========================================================================== */
#open-navigation.open,
#open-navigation:target {
  position: relative;
  top: auto;
  height: auto;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#open-navigation.open .c-offcanvas-nav,
#open-navigation:target .c-offcanvas-nav {
  width: 100%;
  height: 100vh;
  overflow-y: auto;
}
#open-navigation.open .c-offcanvas-trigger-open,
#open-navigation:target .c-offcanvas-trigger-open {
  display: none;
}

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

.c-bg-gradient {
  background: rgb(0, 133, 188);
  background: linear-gradient(306deg, rgb(0, 133, 188) 0%, rgb(0, 82, 116) 100%);
}

/* ==========================================================================
  Showroom
   ========================================================================== */
.c-showroom {
  overflow: hidden;
  padding-top: var(--header-height);
}

.c-showroom-img {
  position: relative;
  width: 100%;
  padding-top: 1em;
}

.c-showroom-text {
  margin-top: -0.5rem;
}

/* ==========================================================================
  services
   ========================================================================== */
.c-services-icon {
  max-width: 170px;
  padding-bottom: 1.5em;
  padding-bottom: var(--spacing-s);
}

/* ==========================================================================
  separator
   ========================================================================== */
.c-separator-line {
  display: block;
  position: relative;
  border: none;
  width: 100%;
  height: 54px;
  margin: 0;
  padding: 0;
  background-repeat: no-repeat;
  background-size: 176px 54px;
}

.c-separator-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 176px);
  height: 54px;
  background-image: url(separator-line_b8c1.svg);
  background-repeat: repeat-x;
}

.c-separator-left .c-separator-line::before,
.c-asym-left-edgeless .c-separator-line::before {
  left: auto;
  right: 0;
}

.c-separator-right .c-separator-line,
.c-asym-right-edgeless .c-separator-line {
  background-image: url(separator-right_0511.svg);
  background-position: right top;
}

.c-separator-left .c-separator-line,
.c-asym-left-edgeless .c-separator-line {
  background-image: url(separator-left_18f1.svg);
  background-position: left top;
}

/* ==========================================================================
  teaser News
   ========================================================================== */
.c-teaser-item {
  position: relative;
}

.c-teaser-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease-out;
}

.c-teaser-text {
  padding-top: 1.5rem;
  padding-top: var(--spacing-s);
  padding-left: 24px;
  padding-left: var(--padding-box-left);
  border-left: solid 4px #009FE3;
  border-color: var(--color-highlight);
}

.c-teaser-item:hover .c-teaser-img img {
  transform: scale(1.03);
}

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

/* ==========================================================================
  Teaser big deco
   ========================================================================== */
.c-teaser-big {
  overflow: hidden;
}

.c-teaser-big-deco {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 48%;
  height: 100%;
  background-image: url(teaser-deco_a96d.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom right;
  opacity: 0.45;
}

/* ==========================================================================
  Logowall
   ========================================================================== */
.c-logowall-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-logowall-list li {
  position: relative;
  padding: 0 10px;
  margin-bottom: 1.5rem;
  margin-bottom: var(--spacing-s);
  text-align: center;
  align-content: center;
}

.c-logowall-list li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.c-logowall-logo {
  position: relative;
  height: 0;
  display: block;
  overflow: hidden;
  padding-bottom: 66%;
}

.c-logowall-logo img {
  position: absolute;
  width: auto;
  height: auto;
  max-width: 80%;
  max-height: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
}

/* ==========================================================================
  Athlete
   ========================================================================== */
.c-athlete .c-col-4 {
  padding-top: 15px;
}

.c-asym-separator-line-container {
  margin-bottom: 1.6em;
}

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 0;
  bottom: 30px;
  width: 400px;
  padding: 1.5rem 30px;
  background-color: #fff;
  background-color: var(--bg-content);
  color: var(--text-color);
  line-height: 1.5;
  text-align: left;
  border: solid 4px #009FE3;
  border-color: var(--color-highlight);
  border-right: none;
}

.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: 767px) {
  .c-cookie-notice {
    width: 100%;
    bottom: 0;
    border: none;
    border-top: solid 4px #009FE3;
    border-color: var(--color-highlight);
  }
}
/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.c-text-block a {
  background-image: linear-gradient(to bottom, #009FE3 0%, #009FE3 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: 3px 3px;
  transition: background 0.1s;
}

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

.c-text-block .c-btn,
.c-text-block .c-form-standard input[type=submit],
.c-text-block .c-link-arrow,
.c-text-block .c-link-download,
.c-text-block .c-link-extern,
.c-text-block .c-link-back,
.c-text-block .c-icon-social {
  background-image: none;
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0.75em 30px;
  border: none;
  border-radius: 30px;
  background-color: #009FE3;
  background-color: var(--color-highlight);
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-body);
  transition: all 0.2s ease-out;
  text-decoration: none;
  overflow: hidden;
}

.c-btn span {
  position: relative;
}

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

.c-btn:hover,
.c-btn:focus {
  color: #fff;
  /*background-color: $text-color;*/
  color: var(--text-color-light);
  /*background-color: var(--text-color);*/
  text-decoration: none;
}

.c-btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #0F3049;
  background-color: var(--bg-dark);
  transition: all 0.2s ease-out;
}

.c-btn:hover::before {
  width: 100%;
}

.c-btn-small,
.c-btn-small:visited,
.c-btn-small:hover,
.c-btn-small:focus {
  padding: 0.5em 20px;
  font-size: var(--font-size-body-xs);
}

.c-cookie-message .c-btn-small {
  display: block;
}

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

.c-icon::before,
.c-icon::after,
.c-icon-social::before {
  content: "";
  position: absolute;
  background-image: url(sprite_eec2.svg);
  background-repeat: no-repeat;
}

.c-icon-social::before {
  background-image: url(sprite-social_e81f.svg);
}

.c-link-icon {
  display: inline-block;
  padding-left: 34px;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-link-icon,
.c-link-icon:visited {
  color: var(--color-highlight);
}

.c-link-arrow::before,
.c-link-back::before {
  top: 0.35em;
  left: 0;
  width: 22px;
  height: 16px;
  background-position: 0 0;
  transition: 0.1s ease-in-out;
}

.c-link-arrow:hover::before,
.c-link-arrow:focus::before {
  left: 4px;
}

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

.c-link-back:hover::before,
.c-link-back:focus::before {
  left: -4px;
}

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

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

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

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

.c-icon-social,
.c-text-block .c-icon-social {
  display: inline-block;
  position: relative;
  width: 52px;
  height: 52px;
  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: 52px;
  height: 52px;
}

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

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

.c-icon-social-youtube::before {
  background-position: 0 -120px;
}

.c-icon-social-twitter::before {
  background-position: 0 -180px;
}

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

.c-icon-social-vimeo::before {
  background-position: 0 -300px;
}

.c-icon-social-tiktok::before {
  background-position: 0 -360px;
}

.c-icon-social-website::before {
  background-position: 0 -420px;
}

.c-text-light .c-icon-social-facebook::before {
  background-position: -100px 0;
}

.c-text-light .c-icon-social-instagram::before {
  background-position: -100px -60px;
}

.c-text-light .c-icon-social-youtube::before {
  background-position: -100px -120px;
}

.c-text-light .c-icon-social-twitter::before {
  background-position: -100px -180px;
}

.c-text-light .c-icon-social-linkedin::before {
  background-position: -100px -240px;
}

.c-text-light .c-icon-social-vimeo::before {
  background-position: -100px -300px;
}

.c-text-light .c-icon-social-tiktok::before {
  background-position: -100px -360px;
}

.c-icon-profile {
  display: block;
  position: relative;
  padding: 0.75em 0 0.75em 64px;
}

.c-icon-profile::before {
  top: 50%;
  left: 8px;
  width: 40px;
  height: 40px;
  transform: translate(0, -50%);
}

.c-icon-profile-birthday::before {
  background-position: 0 -160px;
}

.c-icon-profile-place::before {
  height: 33px;
  background-position: 0 -220px;
}

.c-icon-profile-sport::before {
  height: 35px;
  background-position: 0 -280px;
}

.c-icon-profile-goal::before {
  background-position: 0 -340px;
}

/* ==========================================================================
  responsive
   ========================================================================== */
@media only screen and (max-width: 767px) {
  .c-link-arrow::before {
    top: 0.25em;
  }
  .c-link-download::before {
    top: 0.01em;
  }
  .c-link-extern::before {
    top: 0.15em;
  }
}
/* ==========================================================================
   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-athlete {
  padding-bottom: 75%;
}

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

.c-ratiobox-news {
  padding-bottom: 66.666%;
}

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

/*@import "components/_form";*/
/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1330px) {
  /* container max width */
  .c-container {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless,
.c-asym-left-edgeless {
    max-width: none;
    width: calc(660px + 50%);
  }
  .c-asym-right-edgeless {
    margin-right: 0;
  }
  .c-asym-left-edgeless {
    margin-left: 0;
  }
  .c-athlete .c-asym-col-grid {
    flex: 0 0 424px;
    max-width: 424px;
  }
  .c-athlete .c-asym-col-edgeless {
    flex: 0 0 calc(100% - 424px);
    max-width: calc(100% - 424px);
  }
}
@media only screen and (max-width: 1360px) {
  .c-header-logo {
    width: 280px;
    height: 64px;
  }
}
@media only screen and (max-width: 1100px) {
  .c-header-logo {
    width: 240px;
    height: 54px;
  }
  .c-teaser-big .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-teaser-big-deco {
    width: 55%;
  }
}
@media only screen and (max-width: 1023px) {
  .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%;
  }
  .c-footer-main-item {
    border-left: none;
    border-top: solid 3px var(--border-light);
    padding: var(--spacing-s) 0 var(--spacing-m) 0;
  }
  .c-col-4:last-child .c-footer-main-item {
    border-bottom: solid 3px var(--border-light);
  }
  /*offcanvas */
  .c-offcanvas-trigger-open {
    display: block;
  }
  .c-header-logo {
    margin-top: 24px;
  }
  .c-main-nav,
.c-header-lang {
    display: none;
  }
}
@media only screen and (max-width: 980px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-9,
.c-showroom-text .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-showroom-img::before {
    background-position: -600px top;
  }
  .c-services .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-services-icon {
    max-width: 140px;
  }
  .c-athlete .c-col-4,
.c-athlete .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-athlete .c-col-4 {
    padding-top: 1.5em;
    padding-top: var(--spacing-s);
  }
}
@media only screen and (max-width: 900px) {
  .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%;
    text-align: left;
  }
  .c-footer-disclaimer-list li {
    padding-left: 0;
    padding-right: 2em;
    padding-bottom: var(--spacing-s);
  }
}
@media only screen and (max-width: 767px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-9,
.c-section-title .c-col-8,
.c-showroom-text .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-footer-logo {
    width: 250px;
  }
  .c-quote .c-col-7 {
    -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-teaser-big .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-bottom: var(--spacing-l);
  }
  .c-teaser-big-deco {
    width: 65%;
  }
  .c-footer-deco {
    width: 50%;
    height: 100%;
  }
  .c-logowall li {
    -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-showroom-img {
    width: 160%;
    margin-left: -10%;
  }
}
@media only screen and (max-width: 600px) {
  .c-quote .c-col-7,
.c-quote .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-quote figure {
    max-width: 250px;
  }
  .c-teaser-news .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-athlete .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-athlete .c-col-6:first-child {
    padding-bottom: 1em;
    padding-bottom: var(--spacing-xs);
  }
}
@media only screen and (max-width: 539px) {
  .c-services .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-services-icon {
    max-width: 140px;
  }
}
@media only screen and (max-width: 450px) {
  .c-teaser-big-deco {
    width: 75%;
  }
  .c-logowall li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 370px) {
  .c-header-logo {
    width: 200px;
    height: 45px;
  }
  .c-footer-logo {
    max-width: 220px;
  }
}
/* ==========================================================================
   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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O0FKeW9CRDs7QUl0b0JBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKeW9CRDs7QUlyb0JBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtBSnVvQko7O0FJcG9CQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FKdW9CSjs7QUlwb0JBOztFQUVJO0FKdW9CSjs7QUlwb0JBO0VBQ0k7QUp1b0JKOztBQWxyQkE7OytFQUFBO0FBSUE7QUtoQkE7OytFQUFBO0FBSUE7RUZhUTtFQUNBO0VFWlAsc0JKZVk7RUlkVDtFQUNILGNKUVk7RUlQVDtFQUNILHVESkRvQjtFSUVqQjtFQUNIO0VBQ0c7RUFDQTtFQUNIO0FMcXNCRDs7QUtsc0JBO0FBQ0E7Ozs7RUFJQyxjSkxpQjtFSU1kO0VBQ0g7QUxxc0JEOztBS2xzQkE7RUFDSTtBTHFzQko7O0FLanNCQTs7K0VBQUE7QUFLQTs7O0VBR0MsY0p6Qlk7RUkwQlQ7QUxrc0JKOztBSy9yQkE7RUFDQztBTGtzQkQ7O0FLOXJCQTs7K0VBQUE7QUFJQTs7Ozs7RUFLSTtBTGdzQko7O0FLN3JCQTtFQUNJO0FMZ3NCSjs7QUs3ckJBOztFQUVDO0VBQ0E7QUxnc0JEOztBSzdyQkE7RUFDQztBTGdzQkQ7O0FNendCQTs7K0VBQUE7QUFJQTs7Ozs7RUFLSTtFQUNBO0VBQ0E7QU4yd0JKOztBTXh3QkE7OytFQUFBO0FBSUE7Ozs7O0VBS0Msb0JMUVc7RUtQUjtBTjB3Qko7O0FNdndCQTs7RUFFQyxtQkxFVztFS0RSO0FOMHdCSjs7QU12d0JBO0VBQ0M7RUFDRztBTjB3Qko7O0FNdndCQTtFQUNJLGlCTFJRO0VLU1I7QU4wd0JKOztBTXZ3QkE7RUFDQztBTjB3QkQ7O0FNdndCQTtFQUNDLHVCTGRZO0VLZVQ7QU4wd0JKOztBTXZ3QkE7O0VBRUk7RUFDQTtBTjB3Qko7O0FNdndCQTtFQUNJO0FOMHdCSjs7QU12d0JBOzsrRUFBQTtBQUlBO0VBQ0ksa0JMOUJhO0VLK0JiLG1CTC9CYTtFS2dDYjtFQUNBO0FOeXdCSjs7QU10d0JBO0VBQ0ksbUJMcENPO0VLcUNQLGtCTHJDTztFS3NDUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSTtFQUNJO0FOeXdCWjs7QU10d0JBO0VBQ0k7QU55d0JKOztBTXR3QkE7RUFDSTtBTnl3Qko7O0FNdHdCQTtFQUNJO0FOeXdCSjs7QU10d0JBO0VBQ0k7QU55d0JKOztBTXR3QkE7RUFDSTtBTnl3Qko7O0FNdHdCQTtFQUNJO0FOeXdCSjs7QU10d0JBO0VBQ0k7QU55d0JKOztBTXR3QkE7RUFDSTtBTnl3Qko7O0FNdHdCQTtFQUNJO0FOeXdCSjs7QU10d0JBOzs7Ozs7Ozs7Ozs7RUFZSTtFQUNBO0VBQ0EsbUJMcEdPO0VLcUdQLGtCTHJHTztFS3NHUDtFQUNBO0FOeXdCSjs7QU10d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnl3Qko7O0FNdHdCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU55d0JKOztBTXR3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOeXdCSjs7QU10d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnl3Qko7O0FNdHdCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU55d0JKOztBTXR3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOeXdCSjs7QU10d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnl3Qko7O0FNdHdCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU55d0JKOztBTXR3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOeXdCSjs7QU10d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnl3Qko7O0FNdHdCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU55d0JKOztBTXR3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOeXdCSjs7QU10d0JBO0FBQ0E7RUFDRTtBTnl3QkY7O0FNdHdCQTtFQUNFO0FOeXdCRjs7QU10d0JBO0VBQ0U7QU55d0JGOztBTXR3QkE7RUFDRTtBTnl3QkY7O0FNdHdCQTtF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Q0g7QVJvNENEOztBUWo0Q0E7RUFDQztFQUNHO0VBQ0g7RUFDQTtFQUNBO0FSbzRDRDs7QVFoNENBO0VBQ0M7RUFDRztFQUNIO0VBQ0E7QVJtNENEOztBUWg0Q0E7RUFDQztBUm00Q0Q7O0FRaDRDQTtFQUNDO0FSbTRDRDs7QVFoNENBO0VBQ0M7RUFDQTtBUm00Q0Q7O0FRaDRDQTtFQUNDO0FSbTRDRDs7QVFoNENBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVJrNENKOztBUS8zQ0E7RUFDSTtFQUNBO0VBQ0E7QVJrNENKOztBUS8zQ0E7RUFDSTtFQUNBO0VBQ0E7QVJrNENKOztBUS8zQ0E7RUFDQztBUms0Q0Q7O0FRLzNDQTtFQUNDO0FSazRDRDs7QVEvM0NBO0VBQ0M7RUFDQTtFQUNBO0FSazRDRDs7QVEvM0NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJQL0RpQjtFT2dFZDtFQUNIO0FSazRDRDs7QVEvM0NBOzs7RUFHQztBUms0Q0Q7O0FRLzNDQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0g7RUFDRztFQUNBO0FSaTRDSjs7QVE5M0NBO0VBQ0M7RUFDQTtFQUNBO0FSaTRDRDs7QVE5M0NBO0VBQ0M7QVJpNENEOztBUTkzQ0E7RUFDQztBUmk0Q0Q7O0FRNzNDQTtFQUNDO0VBQ0E7RUFDQTtBUmc0Q0Q7O0FRNzNDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCUGpIaUI7RU9rSGQ7RUFDSDtBUmc0Q0Q7O0FRNzNDQTs7O0VBR0M7QVJnNENEOztBU2poREE7OytFQUFBO0FBSUE7RUFDSTtFQUNILGlCUnlCVztFUXhCUixvQlJ3QlE7RVF2QlI7RUFDQTtFQUNBLHlCUllNO0VRWE47RUFDQTtBVG1oREo7O0FTaGhEQTtFQUNJO0VBQ0E7QVRtaERKOztBU2hoREE7RUFDQztBVG1oREQ7O0FTaGhEQTtFQUNDO0VBQ0E7RUFDQTtBVG1oREQ7O0FTaGhEQTtFQUNDO0VBQ0c7QVRtaERKOztBUy9nREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRraERKOztBUy9nREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSDtFQUNHO0VBQ0E7RUFDQTtBVGtoREo7O0FTL2dEQTtFQUNJO0VBQ0E7QVRraERKOztBQXZqREE7QVV2QkE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxXVDZCZ0I7RVM1QmI7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmlsREQ7O0FVOWtEQTtFQUNDO0FWaWxERDs7QVU5a0RBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZpbEREOztBVTlrREE7O0VBRUM7RUFDQTtBVmlsREQ7O0FVOWtEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0c7QVZpbERKOztBVTlrREE7RUFDQztFQUNBLHlCVHhCaUI7RVN5QmQ7RUFDSDtBVmlsREQ7O0FVOWtEQTs7RUFFQztBVmlsREQ7O0FVOWtEQTs7RUFFQyx5QlRwQ2lCO0VTcUNkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZpbERKOztBVTlrREE7RUFDQztBVmlsREQ7O0FVOWtEQTtFQUNDO0FWaWxERDs7QVU5a0RBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlQvRFM7RVNnRU47RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZnbEREOztBVTlrREE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZnbERKOztBVTdrREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBVmdsREQ7O0FVN2tEQTs7K0VBQUE7QUFHQTtFQUNDO0FWZ2xERDs7QVU3a0RBO0VBQ0k7QVZnbERKOztBVTdrREE7RUFDQztFQUNBO0VBQ0c7RUFDSDtBVmdsREQ7O0FVN2tEQTtFQUNDO0FWZ2xERDs7QVU3a0RBO0VBQ0M7RUFDQTtFQUNBO0FWZ2xERDs7QVU3a0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJUN0hpQjtFUzhIZDtFQUNIO0FWZ2xERDs7QVU3a0RBOzs7RUFHQztBVmdsREQ7O0FVN2tEQTs7K0VBQUE7QUFHQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0g7QVZnbEREOztBVTNrREM7O0VBQ0M7RUFDQTtFQUNBO0FWK2tERjtBVTVrREM7O0VBQ0M7QVYra0RGOztBQTV1REE7QVd4QkE7OytFQUFBO0FBSUE7RUFDQyx5QlZpQlU7RVVoQlA7QVh1d0RKOztBV3B3REE7RUFDSTtFQUNBO0FYdXdESjs7QVdwd0RBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtBWHN3REo7O0FXbndEQTtFQUNJO0VBQ0E7RUFDQTtBWHN3REo7O0FXbndEQTtFQUNJO0FYc3dESjs7QVdud0RBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0FYcXdESjs7QVdsd0RBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNIO0FYb3dERDs7QVdqd0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWG93REo7O0FXandEQTs7RUFFSTtFQUNBO0FYb3dESjs7QVdqd0RBOztFQUVJO0VBQ0E7QVhvd0RKOztBV2p3REE7O0VBRUk7RUFDQTtBWG93REo7O0FXL3ZEQTs7K0VBQUE7QUFLQTtFQUNJO0FYZ3dESjs7QVc3dkRBO0VBQ0k7RUFDSDtFQUNBO0VBQ0c7QVhnd0RKOztBVzd2REE7RUFDSSxtQlYzRVE7RVU0RVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWGd3REo7O0FXNXZEQTtFQUNJO0FYK3ZESjs7QVc1dkRBO0VBQ0k7QVgrdkRKOztBVzV2REE7OytFQUFBO0FBSUE7RUFDSTtBWDh2REo7O0FXM3ZEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0g7RUFDRztFQUNBO0VBQ0E7QVg4dkRKOztBVzN2REE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNnZERDs7QVcxdkRBO0VBQ0M7RUFDQTtFQUNHLHFCVmpJUTtFVWtJUjtFQUNBO0VBQ0E7QVg2dkRKOztBV3p2REE7RUFDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FYNHZESjs7QVd6dkRBO0VBQ0M7RUFDRztFQUNBO0VBQ0E7RUFDQTtBWDR2REo7O0FXenZEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDR2REo7O0FXenZEQTs7K0VBQUE7QUFHQTtFQUNJO0FYNHZESjs7QVd6dkRBO0VBQ0k7QVg0dkRKOztBV3h2REE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0g7RUFDRztFQUNBO0VBQ0E7RUFDQSxzQlZ2TVM7RVV3TVQ7RUFDQTtFQUNBO0VBQ0E7RUFDSDtFQUNHO0VBQ0g7QVgwdkREOztBV3Z2REE7RUFDSTtBWDB2REo7O0FXdnZEQTtFQUNJO0FYMHZESjs7QVd2dkRBO0VBQ0k7RUFDQTtBWDB2REo7O0FXdnZEQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDTTtFWDB2RE47QUFDRjtBWXAvREE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7QVpxL0REOztBWWwvREE7RUFDQztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0Q7QVpxL0RIOztBWWwvREE7O0VBRUM7QVpxL0REOztBWWwvREE7Ozs7Ozs7RUFPQztBWnEvREQ7O0FZbC9EQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNIO0VBQ0E7RUFDRztFQUNILHlCWHJCaUI7RVdzQmQ7RUFDQTtFQUNBO0VBQ0g7RUFDRztFQUNBO0VBQ0g7RUFDQTtFQUNHO0Faby9ESjs7QVlqL0RBO0VBQ0k7QVpvL0RKOztBWWovREE7O0VBRUksV1g5Q2U7RVcrQ2Y7QVpvL0RKOztBWWovREE7O0VBRUksV1hwRGU7RVdxRGxCO0VBQ0c7RUFDSDtFQUNBO0Faby9ERDs7QVlqL0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5Qlg5RE07RVcrRE47RUFDQTtBWm8vREo7O0FZai9EQTtFQUNJO0Faby9ESjs7QVloL0RBOzs7O0VBSUk7RUFDQTtBWm0vREo7O0FZaC9EQTtFQUNJO0FabS9ESjs7QVloL0RBOzsrRUFBQTtBQUlBOztFQUVDO0Faay9ERDs7QVkvK0RBOzs7RUFHQztFQUNBO0VBQ0E7RUFDQTtBWmsvREQ7O0FZLytEQTtFQUNDO0Faay9ERDs7QVkvK0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0c7QVprL0RKOztBWS8rREE7O0VBRUM7QVprL0REOztBWS8rREE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Faay9ERDs7QVkvK0RBOztFQUVDO0Faay9ERDs7QVkvK0RBO0VBQ0M7QVprL0REOztBWS8rREE7O0VBRUM7QVprL0REOztBWS8rREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0Faay9ERDs7QVkvK0RBOztFQUVDO0Faay9ERDs7QVkvK0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWmsvREQ7O0FZLytEQTs7RUFFQztBWmsvREQ7O0FZLytEQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVprL0RKOztBWS8rREE7RUFDSTtBWmsvREo7O0FZLytEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0Faay9ESjs7QVkvK0RBO0VBQ0k7QVprL0RKOztBWS8rREE7RUFDSTtBWmsvREo7O0FZLytEQTtFQUNJO0Faay9ESjs7QVkvK0RBO0VBQ0k7QVprL0RKOztBWS8rREE7RUFDSTtBWmsvREo7O0FZLytEQTtFQUNJO0Faay9ESjs7QVkvK0RBO0VBQ0k7QVprL0RKOztBWS8rREE7RUFDSTtBWmsvREo7O0FZLytEQTtFQUNJO0Faay9ESjs7QVkvK0RBO0VBQ0k7QVprL0RKOztBWS8rREE7RUFDSTtBWmsvREo7O0FZLytEQTtFQUNJO0Faay9ESjs7QVkvK0RBO0VBQ0k7QVprL0RKOztBWS8rREE7RUFDSTtBWmsvREo7O0FZLytEQTtFQUNJO0Faay9ESjs7QVkvK0RBO0VBQ0k7RUFDQTtFQUNBO0Faay9ESjs7QVkvK0RBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWmsvREo7O0FZLytEQTtFQUNJO0Faay9ESjs7QVkvK0RBO0VBQ0k7RUFDQTtBWmsvREo7O0FZLytEQTtFQUNJ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RWZpbUZOO0VlOWxGRDs7SUFFTztFZmdtRk47RWU3bEZFOzs7SUFHRjtFZitsRkE7RWU1bEZFOztJQUVJO0lBQ0E7RWY4bEZOO0VlM2xGRTtJQUNJO0VmNmxGTjtFZTFsRkU7O0lBRUk7RWY0bEZOO0VlemxGRTtJQUNJO0VmMmxGTjtFZXhsRkU7SUFDSTtFZjBsRk47RWV2bEZFOzs7SUFHSTtJQUNBO0VmeWxGTjtFZXRsRkU7O0lBRUk7SUFDQTtFZndsRk47RWVybEZFO0VBRUg7O0lBRUM7SUFDQTtJQUNBO0Vmc2xGQTtFZW5sRkU7SUFDSTtFZnFsRk47RWVsbEZEO0lBQ0M7RWZvbEZBO0VlamxGRDs7Ozs7SUFLQztFZm1sRkE7RWVobEZEO0VBQ0E7SUFDQztFZmtsRkE7RWUva0ZEO0lBQ0M7RWZpbEZBO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9faGVscGVycy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX29mZmNhbnZhcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19jb250ZW50ZWxlbWVudHMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3JhdGlvYm94LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypAaW1wb3J0IFwiLi4vZm9udHMvaW5saW5lRm9udHMuc2Nzc1wiOyovXG5AaW1wb3J0IFwiY29tbW9uL192YXJpYWJsZXNcIjtcbi8qQGltcG9ydCBcImNvbW1vbi9fZm9udHNcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiY29tbW9uL19taXhpbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vX2hlbHBlcnNcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG4vKiBvcHRpb25hbCBzdHlsZXMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYmxlc1wiOyovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvcm1cIjsqL1xuXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wcmludFwiOyIsIi8qIFZhcmlhYmxlcywgTmFtaW5nIG1heSB2YXJ5IGZyb20gcHJvamVjdCB0byBwcm9qZWN0ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyAoc2VlICdfZm9udHMuc2NzcycgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gbGljZW5zZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG4vKiBAaW1wb3J0IHVybCgnLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC80MjY1NjMnKTsgKi9cblxuJGZvbnQtc3RhY2stZGVmYXVsdDogJ091dGZpdCcsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmFsbGJhY2tzIHNhc3MgVmFyaWFibGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiB0ZXh0ICovXG4kdGV4dC1jb2xvcjogIzJBMjIyODsgLyogZGFyayBncmV5ICovXG4kdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiR0ZXh0LWNvbG9yLWxpbms6ICMyQTIyMjg7IC8qIGRhcmsgZ3JleSAqL1xuXG4vKiBiYWNrZ3JvdW5kICovXG4kYmctY29udGVudDogI2ZmZjtcbiRiZy1kYXJrOiAjMEYzMDQ5OyAvKiBkYXJrIGJsdWUgKi9cbiRiZy1saWdodDogI2Y5ZjlmOTsgLyogbGlnaHQgZ3JleSAqL1xuJGNvbG9yLWhpZ2hsaWdodDogIzAwOUZFMzsgLyogYmx1ZSAqL1xuXG4vKiBsaW5lLWNvbG9ycyAqL1xuJGJvcmRlci1iYXNpYzogI0RERERERDtcbiRib3JkZXItZGFyazogIzJBMjIyODtcblxuLyogc3BhY2luZyAqL1xuJHNwYWNpbmctbDogNnJlbTtcbiRzcGFjaW5nLW06IDNyZW07XG4kc3BhY2luZy1zOiAxLjVyZW07XG4kc3BhY2luZy14czogMC43NXJlbTtcblxuLyogZ3JpZCAqL1xuJGdyaWQtY29udGFpbmVyOiAyNHB4O1xuJGdyaWQtcm93OiAtMTJweDtcbiRncmlkLWNvbDogMTJweDtcblxuXG4vKiBmb3JtICovXG4kYm9yZGVyLWZvcm06ICNBOEE4QTg7XG4kYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4kZm9ybS1kaXNhYmxlZDogI2NjYztcbiRmb3JtLWVycm9yOiAjZGQwMDAwO1xuJGZvcm0tb2s6ICMwMDgyOEM7XG4kZm9ybS1pbml0aWFsOiAjMUQxRDFCO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG46cm9vdCB7XG4gICAgLyogZm9udHMgKi9cbiAgICAtLWZvbnQtc3RhY2stZGVmYXVsdDogJ091dGZpdCcsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiA4MDA7XG4gICAgXG4gICAgLyogdGV4dCAgKi9cbiAgICAtLXRleHQtY29sb3I6ICMwMDA7IC8qIGJsYWNrICovXG4gICAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiAjMDAwO1xuICAgIFxuICAgIC8qIGZvbnQtc2l6ZXMgKi9cbiAgICAtLWZvbnQtc2l6ZS1yb290OiAyMHB4O1xuICAgIC0tZm9udC1zaXplLWgxOiA0cmVtOyAvKiA4MHB4ICovXG4gICAgLS1mb250LXNpemUtaDI6IDJyZW07IC8qIDQwcHggKi9cbiAgICAtLWZvbnQtc2l6ZS1oMzogMS42cmVtO1xuICAgIC0tZm9udC1zaXplLWxlYWQ6IDEuNHJlbTtcbiAgICAtLWZvbnQtc2l6ZS1xdW90ZTogMS42cmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHk6IDFyZW07XG4gICAgLS1mb250LXNpemUtYm9keS14czogMC44cmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHktczogMC45cmVtO1xuICAgIFxuICAgIC8qIGNvbG9ycyAvIGJhY2tncm91bmQgKi9cbiAgICAtLWJnLWNvbnRlbnQ6ICNmZmY7XG4gICAgLS1iZy1kYXJrOiAjMEYzMDQ5OyAvKiBkYXJrIGJsdWUgKi9cbiAgICAtLWJnLWxpZ2h0OiAjZjlmOWY5OyAvKiBsaWdodCBncmV5ICovXG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICMwMDlGRTM7IC8qIGJsdWUgKi9cbiAgICBcbiAgICAvKiBsaW5lcyAqL1xuICAgIC0tYm9yZGVyLWJhc2ljOiAjREREREREO1xuICAgIC0tYm9yZGVyLWxpZ2h0OiAjNTc2OTdhO1xuICAgIC0tYm9yZGVyLWRhcms6ICMyQTIyMjg7XG4gICAgXG4gICAgLyogc3BhY2luZyBiZXR3ZWVuIGNvbXBvbmVudHMgYmFzZWQgb24gcmVtICovXG4gICAgLS1zcGFjaW5nLWw6IDZyZW07XG4gICAgLS1zcGFjaW5nLW06IDNyZW07IFxuICAgIC0tc3BhY2luZy1zOiAxLjVyZW07XG4gICAgLS1zcGFjaW5nLXhzOiAwLjc1cmVtOyAgICBcbiAgICAtLXBhZGRpbmctYm94LWxlZnQ6IDI0cHg7XG4gICAgIFxuICAgIC8qIGdyaWQgKi9cbiAgICAtLWdyaWQtY29udGFpbmVyOiAyNHB4O1xuICAgIC0tZ3JpZC1yb3c6IC0xMnB4O1xuICAgIC0tZ3JpZC1jb2w6IDEycHg7XG4gICAgXG4gICAgLS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcbiAgICBcbiAgICAvKiBmb3JtICovXG4gICAgLS1ib3JkZXItZm9ybTogI0E4QThBODsgXG4gICAgLS1ib3JkZXItZm9ybS1mb2N1czogIzAwMDtcbiAgICAtLWZvcm0tZGlzYWJsZWQ6ICNjY2M7XG4gICAgLS1mb3JtLWVycm9yOiAjZGQwMDAwO1xuICAgIC0tZm9ybS1vazogIzAwODI4QztcbiAgICAtLWZvcm0taW5pdGlhbDogIzFEMUQxQjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEV4ZXB0aW9ucyBmb3IgZGlmZmVyZW50IGJhY2tncm91bmRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWxpZ2h0IHtcbiAgICAtLXRleHQtY29sb3I6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6ICNmZmY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZ3JpZC1jb250YWluZXI6IDQ4cHg7XG4gICAgICAgIC0tZ3JpZC1yb3c6IC0yNHB4O1xuICAgICAgICAtLWdyaWQtY29sOiAyNHB4O1xuICAgICAgICAtLXBhZGRpbmctYm94LWxlZnQ6IDMycHg7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMDIzcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0taGVhZGVyLWhlaWdodDogMTAwcHg7IFxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLXNwYWNpbmctbDogM3JlbTtcbiAgICAgICAgLS1zcGFjaW5nLW06IDEuNzVyZW07IFxuICAgIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFNi83IHdoZW4gYm9keSBmb250LXNpemUgaXMgc2V0IHVzaW5nIGVtIHVuaXRzXG4gKiAgICBodHRwOi8vY2xhZ251dC5jb20vYmxvZy8zNDgvI2M3OTBcbiAqIDIuIEtlZXBzIHBhZ2UgY2VudHJlZCBpbiBhbGwgYnJvd3NlcnMgcmVnYXJkbGVzcyBvZiBjb250ZW50IGhlaWdodFxuICogMy4gUHJldmVudHMgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb21cbiAqICAgIHd3dy40NTZiZXJlYXN0cmVldC5jb20vYXJjaGl2ZS8yMDEwMTIvY29udHJvbGxpbmdfdGV4dF9zaXplX2luX3NhZmFyaV9mb3JfaW9zX3dpdGhvdXRfZGlzYWJsaW5nX3VzZXJfem9vbS9cbiAqIDQuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogNCAqL1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG5cblxuICovXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qXG4qIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnNcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5cbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cblxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSAnYScgZWxlbWVudCBpbiBJRTYvNy84LzksIEZGM1xuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRTdcbiAqICAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUtbGl0dGxlLXRoaW5ncy1jbGllbnQtc2lkZS1pbWFnZS1yZXNpemluZy9cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLypcbiAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdHMgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRTYvN1xuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZ1xuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIG1hcmdpbjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgcGFkZGluZzowOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICBib3JkZXI6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDQgKi9cbn1cblxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFNi5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgLyogNCAqL1xufVxuXG4vKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50c1xuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcblxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8qKlxuXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbGVtZW50cyBjdWJlZ3JhZmlrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuXG5kaXYsIHAge1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MDtcbn1cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIC8qIFJlbW92ZWQgYmVjYXVzZSBvZiB2aXNpYmlsaXR5Y2hhbmdlLWFkZGl0aW9uIHRvIGZhbmN5LWZvcm1zIHBsdWdpbi5cbiAgICAgKiAyMDE1LzAxLzIyIC0gRmxvcmlhbiBNw6RkZXJcbiAgICAgKiAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7Ki9cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmh0bWwge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDMuMCAtIDUuMCwgQ2hyb21lIDEgLSA5LCBBbmRyb2lkIDIuMSAtIDMueCAqL1xuICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogRmlyZWZveCAxIC0gMjggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArLCBGaXJlZm94IDI5KywgT3BlcmEgNyssIElFIDgrLCBBbmRyb2lkIDQuMCssIGlPUyBhbnkgKi9cbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxubGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMCAgKi9cbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDExKyAqL1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIFBsYWNlaG9sZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgICAge0Bjb250ZW50fVxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH0gIFxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgc21vb3RoaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOiBvbikge1xuICAgIEBpZiAkdmFsdWUgPT0gb24ge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEhpZGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGlkZS12aXN1YWxseSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5jLWhpZGUtY29tcGxldGVseSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogaW1hZ2UgcmVwbGFjZW1lbnQgKi9cbi5jLWlyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogMDtcblx0dGV4dC1pbmRlbnQ6IC05OTllbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGRpcmVjdGlvbjogbHRyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGlja3kgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jLWhlYWRlcixcbi5jLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jLWNvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBQcm9qZWN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5IHtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stZGVmYXVsdCk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIGxpbmtzICovXG5hLFxuYTp2aXNpdGVkLFxuYTpmb2N1cyxcbmE6aG92ZXIge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGluaztcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saW5rKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5wOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxudGV4dGFyZWEge1xuXHRyZXNpemU6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIGltZyAvIG1lZGlhIGRlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5lbWJlZCxcbm9iamVjdCxcbnZpZGVvLFxuaWZyYW1lLFxuaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLWltZy1tYXgtd2lkdGgsXG4uYy1jb250ZW50IC5jLWltZy1tYXgtd2lkdGgge1xuXHR3aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcgeyBcblx0dmVydGljYWwtYWxpZ246IGJvdHRvbTsgXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgTWFpbiBDb250YWluZXIgRGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlcixcbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIsXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBQYWRkaW5nIGJldHdlZW4gQ29tcG9uZW50cyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRhaW5lcixcbi5jLXNlcnZpY2VzIC5jLWNvbC00LFxuLmMtc2VwYXJhdG9yLWxlZnQsXG4uYy1zZXBhcmF0b3ItcmlnaHQsXG4uYy10ZWFzZXItbmV3cyAuYy1jb2wtNiB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy1zaG93cm9vbSxcbi5jLXRlYXNlci1iaWcge1xuXHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLW1haW4tdGl0bGUge1xuXHRtYXJnaW4tdG9wOiA4ZW07XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLWwpICsgdmFyKC0taGVhZGVyLWhlaWdodCkpO1xufVxuXG4uYy10ZWFzZXItYmlnIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtY29udGFpbmVyLW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtc2VjdGlvbi10aXRsZSB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy14cztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLXRleHQtb25seSArIC5jLXRleHQtb25seSxcbi5jLXRleHQtb25seSArIC5jLWxvZ293YWxsIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgKiAtMSk7XG4gICAgcGFkZGluZy10b3A6IDEuNWVtO1xufVxuXG4uYy10ZWFzZXItbmV3cyArIC5jLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLWwpICogLTEpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgR3JpZCBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtcm93LWp1c3RpZnktcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmMtcm93LWFsaWduLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXJvdy1hbGlnbi1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmMtY29sLTEsXG4uYy1jb2wtMixcbi5jLWNvbC0zLFxuLmMtY29sLTQsXG4uYy1jb2wtNSxcbi5jLWNvbC02LFxuLmMtY29sLTcsXG4uYy1jb2wtOCxcbi5jLWNvbC05LFxuLmMtY29sLTEwLFxuLmMtY29sLTExLFxuLmMtY29sLTEyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLWNvbC0xMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgIFxufVxuXG4uYy1jb2wtMTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5jLWNvbC0xMCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLmMtY29sLTkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jLWNvbC04IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG4uYy1jb2wtNyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmMtY29sLTYge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xufVxuXG4uYy1jb2wtNCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtY29sLTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jLWNvbC0yIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uYy1jb2wtMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlO1xufVxuXG4vKiBvZmZzZXQgY29scyAqL1xuLmMtY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmMtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY3JTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgVmFyaWFudGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLFxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MgPiAuYy1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcyAuYy1hc3ltLWNvbC1lZGdlbGVzcyAuYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTQ4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0yKTtcbn1cblxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIC5jLWFzeW0tY29sLWVkZ2VsZXNzIC5jLXJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC00OHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0yKTtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcyAuYy1hc3ltLXNlcGFyYXRvci1saW5lLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogLTEpO1xufVxuXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3MgLmMtYXN5bS1zZXBhcmF0b3ItbGluZS1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcblx0Zm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXJvb3QpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtd3JhcDpiYWxhbmNlO1xufVxuXG5oMSxcbi5jLWgxIHtcblx0cGFkZGluZy1ib3R0b206IC41ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjA1O1xuXHRmb250LXNpemU6IDRyZW07IC8qIDgwcHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDIsXG4uYy1oMiB7XG5cdHBhZGRpbmctYm90dG9tOiAuNmVtO1xuXHRsaW5lLWhlaWdodDogMS4yNTtcblx0Zm9udC1zaXplOiAycmVtOyAvKiA0MHB4ICovXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgzLFxuLmMtaDMge1xuXHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHRmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmgxIHNwYW4sXG5oMiBzcGFuLFxuaDMgc3BhbiB7XG4gICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTsgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBUZXh0IENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5zdHJvbmcsIGIge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtY29udGVudCxcbi5jLWZvb3RlciB7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jLXRleHQtYmxvY2sgcCB7XG5cdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtdGV4dC1ibG9jayBwICsgaDIsXG4uYy10ZXh0LWJsb2NrIHAgKyBoMyxcbi5jLXRleHQtYmxvY2sgcCArIGg0LFxuLmMtdGV4dC1ibG9jayB1bCArIHAsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDIsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDMsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDQsXG4uYy10ZXh0LWJsb2NrIHVsICsgb2wsXG4uYy10ZXh0LWJsb2NrIG9sICsgcCxcbi5jLXRleHQtYmxvY2sgb2wgKyBoMixcbi5jLXRleHQtYmxvY2sgb2wgKyBoMyxcbi5jLXRleHQtYmxvY2sgb2wgKyBoNCB7XG5cdHBhZGRpbmctdG9wOiAxLjVlbTtcbn1cblxuLmMtbGVhZCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblx0Zm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGVhZCk7XG4gICAgdGV4dC13cmFwOmJhbGFuY2U7XG59XG5cbi5jLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07IC8qIDE4cHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4uYy10ZXh0LXNtYWxsLFxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuXHRmb250LXNpemU6IDAuOHJlbTsgLyogMTZweCAqL1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkteHMpO1xufVxuXG4uYy1sZWdlbmQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDFlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXhzKTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLXRlYXNlci1uZXdzIC5jLWNhdGVnb3J5LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG59XG5cbi5jLXRlYXNlci1uZXdzIC5jLWNhdGVnb3J5LXRpdGxlLWRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkYm9yZGVyLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZGFyayk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgTGlzdHMgQ29udGVudCBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtYmxvY2sgdWwsXG4uYy10ZXh0LWJsb2NrIG9sLFxuLmMtYXRobGV0ZS1wcm9maWxlLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjVlbSAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIG9sIGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwLjVlbTtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41OGVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIHtcblx0Y291bnRlci1yZXNldDogY3VzdG9tLWNvdW50ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGkge1xuXHRjb3VudGVyLWluY3JlbWVudDogY3VzdG9tLWNvdW50ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IGNvdW50ZXIoY3VzdG9tLWNvdW50ZXIpIFwiLiBcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAyNnB4O1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jLXNvY2lhbC1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLXNvY2lhbC1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1hdGhsZXRlLXByb2ZpbGUtbGlzdCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uYy1zb2NpYWwtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMC4yNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVlbTtcblxufVxuXG4uYy10ZXh0LWJsb2NrIC5jLXNvY2lhbC1saXN0IGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwLjI1ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtYXRobGV0ZS1wcm9maWxlLWxpc3QgbGkgKyBsaSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtc29jaWFsLWxpc3QgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtYXRobGV0ZS1wcm9maWxlLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtYXRobGV0ZS1wcm9maWxlLWxpc3Qge1xuXHRib3JkZXItdG9wOiBzb2xpZCAxcHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLWF0aGxldGUtcHJvZmlsZS1saXN0IGxpIHtcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUXVvdGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbSkgMCAwIDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHRmb250LXNpemU6IDEuNnJlbTsgXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcXVvdGUpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXdyYXA6YmFsYW5jZTtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMS41ZW07XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy10ZXh0LWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtdGV4dC1saWdodCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNpemVzIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNDAwcHgpIHtcblx0OnJvb3Qge1xuXHRcdC0tZm9udC1zaXplLWgxOiAzLjJyZW07IFxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzYwcHgpIHtcblx0aDEsIC5jLWgxLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oM3tcblx0XHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHQtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRcdC1tb3otaHlwaGVuczogYXV0bztcblx0XHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdFx0aHlwaGVuczogYXV0bztcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTIwMHB4KSB7XG5cdDpyb290IHtcblx0XHQtLWZvbnQtc2l6ZS1oMTogMi44cmVtOyBcblx0XHQtLWZvbnQtc2l6ZS1oMjogMS44cmVtOyBcbiAgICAgICAgLS1mb250LXNpemUtaDM6IDEuNHJlbTtcbiAgICAgICAgLS1mb250LXNpemUtcXVvdGU6IDEuNHJlbTtcbiAgICAgICAgLS1mb250LXNpemUtbGVhZDogMS4ycmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XHQgICAgXG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvbnQtc2l6ZS1yb290OiAxOHB4O1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMTogMnJlbTsgXG4gICAgICAgIC0tZm9udC1zaXplLWgyOiAxLjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWgzOiAxLjI1cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1sZWFkOiAxLjEyNXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtcXVvdGU6IDEuMjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWJvZHk6IDFyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWJvZHktczogMXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtYm9keS14czogMC44NzVyZW07XG4gICAgfVxufVxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZWFkZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cdHotaW5kZXg6IDEwO1xufVxuXG4uYy1oZWFkZXItaW5uZXIge1xuXHRoZWlnaHQ6IDE1MHB4O1xuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cblxuLmMtaGVhZGVyLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcblx0d2lkdGg6IDM1MHB4O1xuXHRoZWlnaHQ6IDgwcHg7XG59XG5cbi5jLWhlYWRlci1sb2dvIGEge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtaGVhZGVyLXN0aWNreXtcblx0cG9zaXRpb246IGZpeGVkO1xufVxuXG4uYy1oZWFkZXItbG9nbyBzdmcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWhlYWRlci1sb2dvIC5zdDAge1xuXHRmaWxsOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGxhbmcgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXItbGFuZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICByaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLWhlYWRlci1sYW5nLWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1oZWFkZXItbGFuZy1saXN0IC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgYTo6YmVmb3JlIHtcblx0aGVpZ2h0OiAzcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBtYWluIG5hdiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW1haW4tbmF2IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAxNnB4IDAgMCAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDEuNWVtO1xufVxuXG5cbi5jLW1haW4tbmF2LWxpc3QgYSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGE6Zm9jdXM6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgYTpob3Zlcjo6YmVmb3JlLFxuLmMtbWFpbi1uYXYtbGlzdCAuY3VycmVudC1tZW51LWl0ZW0gYTo6YmVmb3JlIHtcblx0aGVpZ2h0OiAzcHg7XG59XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctdG9wOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWZvb3Rlci1sb2dvIHtcbiAgICB3aWR0aDogMzUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcblx0cGFkZGluZy10b3A6IDEuNWVtO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG5cbi5jLWZvb3Rlci1tYWluLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItbGVmdDogc29saWQgM3B4IHZhcigtLWJvcmRlci1saWdodCk7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1ib3gtbGVmdCk7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uYy1mb290ZXItZGVjbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMjU1cHg7XG4gICAgaGVpZ2h0OiAyNjJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvZm9vdGVyLWRlY28uc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIG9wYWNpdHk6IDAuMTU7XG59XG5cbi5jLWZvb3Rlci1tYWluIC5jLWNvbC00IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgdHJpZ2dlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDE2cHg7XG5cdHJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3BlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlcjo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiA1MCU7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmFmdGVyIHtcblx0d2lkdGg6IDMwcHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlIHtcblx0aGVpZ2h0OiAyMnB4O1xuXHRtYXJnaW4tdG9wOiAtMTFweDtcblx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG5cdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YWZ0ZXIge1xuXHRoZWlnaHQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHRtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOmZvY3VzOjphZnRlcixcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46aG92ZXI6OmFmdGVyIHtcblx0d2lkdGg6IDI2cHg7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBtYWluIGNvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLW5hdiB7XG5cdC8qZGlzcGxheTogbm9uZTsqL1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0ei1pbmRleDogMTA7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHRyYW5zaXRpb246IGhlaWdodCAuMnMgZWFzZS1vdXQgMHM7XG59XG4jb3Blbi1uYXZpZ2F0aW9uLm5hdmlnYXRpb24gLmMtb2ZmY2FudmFzLW5hdlxuI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtb2ZmY2FudmFzLW5hdiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy1vZmZjYW52YXMtaW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtb2ZmY2FudmFzLWNvbnRlbnQge1xuXHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLW9mZmNhbnZhcy1sYW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMnJlbSAwO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctdG9wOiAxZW07XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAwLjM1ZW07XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTpob3Zlcjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IC5jdXJyZW50LW1lbnUtaXRlbSBhOjpiZWZvcmV7XG5cdGhlaWdodDogM3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBvcGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI29wZW4tbmF2aWdhdGlvbi5vcGVuLFxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuI29wZW4tbmF2aWdhdGlvbi5vcGVuLFxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuXHQuYy1vZmZjYW52YXMtbmF2IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cblx0XG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJnLWxpZ2h0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbn1cblxuLmMtYmctZ3JhZGllbnQge1xuICAgIGJhY2tncm91bmQ6IHJnYigwLDEzMywxODgpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMDZkZWcsIHJnYmEoMCwxMzMsMTg4LDEpIDAlLCByZ2JhKDAsODIsMTE2LDEpIDEwMCUpOyBcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgU2hvd3Jvb21cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNob3dyb29tIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbn1cblxuLmMtc2hvd3Jvb20taW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbn1cblxuLmMtc2hvd3Jvb20tdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgc2VydmljZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNlcnZpY2VzLWljb24ge1xuICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBzZXBhcmF0b3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNlcGFyYXRvci1saW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE3NnB4IDU0cHg7XG59XG5cbi5jLXNlcGFyYXRvci1saW5lOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzZweCk7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zZXBhcmF0b3ItbGluZS5zdmcpO1x0XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4uYy1zZXBhcmF0b3ItbGVmdCAuYy1zZXBhcmF0b3ItbGluZTo6YmVmb3JlLFxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIC5jLXNlcGFyYXRvci1saW5lOjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG59XG5cbi5jLXNlcGFyYXRvci1yaWdodCAuYy1zZXBhcmF0b3ItbGluZSxcbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MgLmMtc2VwYXJhdG9yLWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zZXBhcmF0b3ItcmlnaHQuc3ZnKTtcdFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDtcbn1cblxuLmMtc2VwYXJhdG9yLWxlZnQgLmMtc2VwYXJhdG9yLWxpbmUsXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3MgLmMtc2VwYXJhdG9yLWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zZXBhcmF0b3ItbGVmdC5zdmcpO1x0XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICB0ZWFzZXIgTmV3c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uYy10ZWFzZXItaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy10ZWFzZXItaW1nIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5jLXRlYXNlci10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWJveC1sZWZ0KTtcbiAgICBib3JkZXItbGVmdDogc29saWQgNHB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG5cbi5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLXRlYXNlci1pbWcgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xufVxuXG4uYy1jdGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgVGVhc2VyIGJpZyBkZWNvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZWFzZXItYmlnIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy10ZWFzZXItYmlnLWRlY28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDQ4JTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3RlYXNlci1kZWNvLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcbiAgICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBMb2dvd2FsbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbG9nb3dhbGwtbGlzdCB7XG5cdGRpc3BsYXk6ZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1sb2dvd2FsbC1saXN0IGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cblxuLmMtbG9nb3dhbGwtbGlzdCBsaSB7XG5cdCAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogIDI1JTtcbn1cblxuLmMtbG9nb3dhbGwtbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjYlO1xufVxuXG4uYy1sb2dvd2FsbC1sb2dvIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEF0aGxldGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1hdGhsZXRlIC5jLWNvbC00IHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLmMtYXN5bS1zZXBhcmF0b3ItbGluZS1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNmVtO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIENvb2tpZSBub3RpY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvb2tpZS1ub3RpY2V7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgcGFkZGluZzogMS41cmVtIDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblx0Ym9yZGVyOiBzb2xpZCA0cHggJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwIDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgICBcblx0LmMtY29va2llLW5vdGljZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItdG9wOiBzb2xpZCA0cHggJGNvbG9yLWhpZ2hsaWdodDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmsgY29sb3JzIGFuZCBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFbaHJlZl49XCJ0ZWw6XCJdIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIGEge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCRjb2xvci1oaWdobGlnaHQgMCUsJGNvbG9yLWhpZ2hsaWdodCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHZhcigtLWNvbG9yLWhpZ2hsaWdodCkgMCUsdmFyKC0tY29sb3ItaGlnaGxpZ2h0KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogM3B4IDNweDtcbiAgXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcztcbn1cblxuLmMtdGV4dC1ibG9jayBhOmZvY3VzLFxuLmMtdGV4dC1ibG9jayBhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1zaXplOiA2cHggNnB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bixcbi5jLXRleHQtYmxvY2sgLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWFycm93LFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWRvd25sb2FkLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWV4dGVybixcbi5jLXRleHQtYmxvY2sgLmMtbGluay1iYWNrLFxuLmMtdGV4dC1ibG9jayAuYy1pY29uLXNvY2lhbCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCdXR0b24gXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwLjc1ZW0gMzBweDtcblx0Ym9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtYnRuIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtYnRuLFxuLmMtYnRuOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLWJ0bjpob3ZlciwgXG4uYy1idG46Zm9jdXMge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0LypiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjsqL1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0LypiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTsqL1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWJ0bjo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7ICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTsgIFxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy1idG46aG92ZXI6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7ICAgIFxufVxuXG5cbi5jLWJ0bi1zbWFsbCxcbi5jLWJ0bi1zbWFsbDp2aXNpdGVkLFxuLmMtYnRuLXNtYWxsOmhvdmVyLFxuLmMtYnRuLXNtYWxsOmZvY3VzIHtcbiAgICBwYWRkaW5nOiAwLjVlbSAyMHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkteHMpO1xufVxuXG4uYy1jb29raWUtbWVzc2FnZSAuYy1idG4tc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBsaW5rcyB3aXRoIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1pY29uLFxuLmMtaWNvbi1zb2NpYWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWljb246OmJlZm9yZSxcbi5jLWljb246OmFmdGVyLFxuLmMtaWNvbi1zb2NpYWw6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uYy1pY29uLXNvY2lhbDo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS1zb2NpYWwuc3ZnKTtcbn1cblxuLmMtbGluay1pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nLWxlZnQ6IDM0cHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtbGluay1pY29uLFxuLmMtbGluay1pY29uOnZpc2l0ZWQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtbGluay1hcnJvdzo6YmVmb3JlLFxuLmMtbGluay1iYWNrOjpiZWZvcmUge1xuXHR0b3A6IDAuMzVlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDIycHg7XG5cdGhlaWdodDogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuXHR0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1saW5rLWFycm93OmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWFycm93OmZvY3VzOjpiZWZvcmUge1xuXHRsZWZ0OiA0cHg7XG59XG5cbi5jLWxpbmstYmFjazo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIwcHg7XG59XG5cbi5jLWxpbmstYmFjazpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1iYWNrOmZvY3VzOjpiZWZvcmUge1xuXHRsZWZ0OiAtNHB4O1xufVxuXG4uYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuXHR0b3A6IDAuMWVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4O1xufVxuXG4uYy1saW5rLWRvd25sb2FkOmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtNDBweDtcbn1cblxuLmMtbGluay1leHRlcm46OmJlZm9yZSB7XG5cdHRvcDogMC4yOGVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjVweDtcblx0aGVpZ2h0OiAxOHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4O1xufVxuXG4uYy1saW5rLWV4dGVybjpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1leHRlcm46Zm9jdXM6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC04MHB4O1xufVxuXG4uYy1pY29uLXNvY2lhbCxcbi5jLXRleHQtYmxvY2sgLmMtaWNvbi1zb2NpYWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWljb24tc29jaWFsOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xufVxuXG4uYy1pY29uLXNvY2lhbDo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG59XG5cbi5jLWljb24tc29jaWFsLWZhY2Vib29rOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmMtaWNvbi1zb2NpYWwtaW5zdGFncmFtOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7XG59XG5cbi5jLWljb24tc29jaWFsLXlvdXR1YmU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIwcHg7XG59XG5cbi5jLWljb24tc29jaWFsLXR3aXR0ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTgwcHg7XG59XG5cbi5jLWljb24tc29jaWFsLWxpbmtlZGluOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI0MHB4O1xufVxuXG4uYy1pY29uLXNvY2lhbC12aW1lbzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMDBweDtcbn1cblxuLmMtaWNvbi1zb2NpYWwtdGlrdG9rOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM2MHB4O1xufVxuXG4uYy1pY29uLXNvY2lhbC13ZWJzaXRlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQyMHB4O1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWljb24tc29jaWFsLWZhY2Vib29rOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAwO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWljb24tc29jaWFsLWluc3RhZ3JhbTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTYwcHg7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtaWNvbi1zb2NpYWwteW91dHViZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTEyMHB4O1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWljb24tc29jaWFsLXR3aXR0ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xODBweDtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1pY29uLXNvY2lhbC1saW5rZWRpbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTI0MHB4O1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWljb24tc29jaWFsLXZpbWVvOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMzAwcHg7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtaWNvbi1zb2NpYWwtdGlrdG9rOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMzYwcHg7XG59XG5cbi5jLWljb24tcHJvZmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAwIDAuNzVlbSA2NHB4O1xufVxuXG4uYy1pY29uLXByb2ZpbGU6OmJlZm9yZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogOHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbn1cblxuLmMtaWNvbi1wcm9maWxlLWJpcnRoZGF5OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4O1xufVxuXG4uYy1pY29uLXByb2ZpbGUtcGxhY2U6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyMHB4O1xufVxuXG4uYy1pY29uLXByb2ZpbGUtc3BvcnQ6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI4MHB4O1xufVxuXG4uYy1pY29uLXByb2ZpbGUtZ29hbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNDBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgcmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgXG5cdC5jLWxpbmstYXJyb3c6OmJlZm9yZSB7XG5cdFx0dG9wOiAwLjI1ZW07XG5cdH1cblx0XG5cdC5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG5cdFx0dG9wOiAwLjAxZW07XG5cdH1cblx0XG5cdC5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHRcdHRvcDogMC4xNWVtO1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJhdGlvIEJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcmF0aW9ib3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nLFxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcdFxufVxuXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5jLXJhdGlvYm94LTE2Ynk5IHtcblx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmMtcmF0aW9ib3gtNGJ5Myxcbi5jLXJhdGlvYm94LWF0aGxldGUge1xuXHRwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4uYy1yYXRpb2JveC0xYnkxIHtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5jLXJhdGlvYm94LW5ld3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiA2Ni42NjYlO1xufVxuXG4uYy1yYXRpb2JveC1uZXdzIGltZyxcbi5jLXJhdGlvYm94LWF0aGxldGUgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZpZXdwb3J0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ALW1zLXZpZXdwb3J0IHtcblx0d2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1lZGlhcXVlcmllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEzMzBweCkge1xuXHQvKiBjb250YWluZXIgbWF4IHdpZHRoICovXG5cdC5jLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTMyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MsXG4gICAgLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYyg2NjBweCArIDUwJSk7XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3Mge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tbGVmdC1lZGdlbGVzcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1hdGhsZXRlIC5jLWFzeW0tY29sLWdyaWQge1xuICAgICAgICBmbGV4OiAwIDAgNDI0cHg7XG4gICAgICAgIG1heC13aWR0aDogNDI0cHg7IFxuICAgIH1cbiAgICBcbiAgICAuYy1hdGhsZXRlIC5jLWFzeW0tY29sLWVkZ2VsZXNzIHtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoMTAwJSAtIDQyNHB4KTsgXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDI0cHgpOyBcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzYwcHgpIHsgIFxuICAgIC5jLWhlYWRlci1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTEwMHB4KSB7ICBcblx0LmMtaGVhZGVyLWxvZ28ge1xuXHRcdHdpZHRoOiAyNDBweDtcbiAgICAgICAgaGVpZ2h0OiA1NHB4O1xuXHR9XG4gICAgXG4gICAgLmMtdGVhc2VyLWJpZyAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItYmlnLWRlY28ge1xuICAgICAgICB3aWR0aDogNTUlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjNweCkgeyAgXG5cdC5jLWZvb3Rlci1tYWluIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgIFxuXHR9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1haW4taXRlbSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAzcHggdmFyKC0tYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zKSAwIHZhcigtLXNwYWNpbmctbSkgMDtcbiAgICB9XG4gICAgXG4gICAgLmMtY29sLTQ6bGFzdC1jaGlsZCAuYy1mb290ZXItbWFpbi1pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgM3B4IHZhcigtLWJvcmRlci1saWdodCk7XG4gICAgfVxuICAgIFxuICAgIC8qb2ZmY2FudmFzICovXG4gICAgLmMtb2ZmY2FudmFzLXRyaWdnZXItb3BlbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbiAgICBcbiAgICAuYy1oZWFkZXItbG9nbyB7XG5cdFx0bWFyZ2luLXRvcDogMjRweDtcblx0fVxuXHRcblx0LmMtbWFpbi1uYXYsXG4gICAgLmMtaGVhZGVyLWxhbmcge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtdGV4dC1vbmx5IC5jLWNvbC04LFxuXHQuYy1tYWluLXRpdGxlIC5jLWNvbC04LFxuXHQuYy1zZWN0aW9uLXRpdGxlIC5jLWNvbC05LFxuICAgIC5jLXNob3dyb29tLXRleHQgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlOyBcdFxuXHR9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20taW1nOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjAwcHggdG9wO1xuICAgIH1cbiAgICBcbiAgICAuYy1zZXJ2aWNlcyAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1zZXJ2aWNlcy1pY29uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtYXRobGV0ZSAuYy1jb2wtNCxcbiAgICAuYy1hdGhsZXRlIC5jLWNvbC04IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuICAgIH1cbiAgICBcbiAgICAuYy1hdGhsZXRlIC5jLWNvbC00IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNWVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICBcblx0XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgXG5cdC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtbWFpbi10aXRsZSAuYy1jb2wtOSxcblx0LmMtc2VjdGlvbi10aXRsZSAuYy1jb2wtOCxcbiAgICAuYy1zaG93cm9vbS10ZXh0IC5jLWNvbC04IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuICAgIFxuICAgIC5jLWZvb3Rlci1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1xdW90ZSAuYy1jb2wtNyB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7ICBcdFxuXHR9XG4gICAgXG4gICAgLmMtdGVhc2VyLWJpZyAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci1iaWctZGVjbyB7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1kZWNvIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1sb2dvd2FsbCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS1pbWcge1xuICAgICAgICB3aWR0aDogMTYwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHsgIFxuICAgIC5jLXF1b3RlIC5jLWNvbC03LFxuICAgIC5jLXF1b3RlIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLXF1b3RlIGZpZ3VyZSAge1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItbmV3cyAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1hdGhsZXRlIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWF0aGxldGUgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTM5cHgpIHsgIFxuICAgIC5jLXNlcnZpY2VzIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLXNlcnZpY2VzLWljb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ1MHB4KSB7IFxuICAgIC5jLXRlYXNlci1iaWctZGVjbyB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgfVxuICAgIFxuICAgIC5jLWxvZ293YWxsIGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzcwcHgpIHsgIFxuICAgIC5jLWhlYWRlci1sb2dvIHtcblx0XHR3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcblx0fVxuICAgIFxuICAgIC5jLWZvb3Rlci1sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByaW50IENTU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBwcmludCB7XG4gICAgLyogYmFzZSBzdHlsZXMgKi9cbiAgICAqIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cdFxuXHRhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICBcbiAgICAuYy1pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgICBhW2hyZWZdOmFmdGVyIHtcblx0XHRjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG5cdCAgfVxuICAgIFxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyBcbiAgICB9XG4gICAgXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgICAgIFxuICAgIEBwYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwLjVjbTtcbiAgICB9XG4gICAgXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG4gICAgXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBicmVhay1hZnRlcjphdm9pZDtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIC8qIGZvbnQtc2l6ZXMgKi9cblx0XG5cdGh0bWwsXG5cdGJvZHkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHQvKm92ZXJmbG93OiBhdXRvOyovXG5cdH1cbiAgICBcbiAgICBib2R5IHtcbiAgICAgICAgZm9udC1zaXplOjEycHg7ICAgIFxuICAgIH1cblx0XG5cdGgxLCAuYy1oMSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cdFxuXHQuYy1sZWFkLFxuXHQuYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG5cdGgyLCAuYy1oMixcblx0aDMsIC5jLWgzLFxuXHQuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cdFxuXHQvKiBwcm9qZWN0IHN0eWxlcyAqL1xuXHQuYy1jb250YWluZXIge1xuXHRcdHBhZGRpbmctYm90dG9tOiAyZW07XG5cdH1cblx0XG5cdC5jLWZvb3RlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/