/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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 */
/* green */
/* light grey */
/* yellow */
/* line-colors */
/* spacing */
/* grid */
/* form */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "Figtree", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 900;
  /* text  */
  --text-color: #fff; /* black */
  --text-color-light: #fff;
  --text-color-link: #fff;
  --text-color-title: #f9b41f;
  --letter-spacing-title: 0.01em;
  /* font-sizes */
  --font-size-root: 20px;
  --font-size-h1: 3rem; /* 60px */
  --font-size-h2: 3rem; /* 60px */
  --font-size-h3: 2rem;
  --font-size-h4: 1.4rem;
  --font-size-body: 1rem;
  --font-size-body-s: 0.77rem;
  /* colors / background */
  --bg-content: #002a2d;
  --bg-dark: #027b75; /* green */
  --bg-light: #f9f9f9; /* light grey */
  --color-highlight: #f9b41f; /* yellow */
  /* lines */
  --border-basic: #fff;
  /* spacing between components based on rem */
  --spacing-l: 6rem;
  --spacing-m: 3rem;
  --spacing-s: 1.5rem;
  --spacing-xs: 0.75rem;
  --header-height: 60px;
  --footer-padding-logo: 2em;
  --height-logo: 200px;
  /* grid */
  --grid-container: 24px;
  --grid-row: -12px;
  --grid-col: 12px;
  /* 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-dark,
.c-review {
  --text-color: #000;
  --text-color-link: #000;
}

.c-teaser-service .c-btn {
  --bg-dark: #002a2d;
}

.c-teaser-service .c-link-list {
  --grid-container: 32px;
}

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 48px;
    --grid-row: -24px;
    --grid-col: 24px;
  }
  .c-teaser-service .c-link-list {
    --grid-container: 48px;
  }
}
@media only screen and (max-width: 1400px) {
  :root {
    --height-logo: 160px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --height-logo: 110px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-l: 3rem;
    --spacing-m: 1.5rem;
  }
}
/*@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
   ========================================================================== */
html {
  scroll-padding-top: var(--spacing-l);
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #002a2d;
  background-color: var(--bg-content);
  color: #fff;
  color: var(--text-color);
  font-family: "Figtree", "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: #fff;
  color: var(--text-color-link);
  text-decoration: none;
}

p:empty {
  display: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #fff;
  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 {
  padding-bottom: 6rem;
  padding-bottom: var(--spacing-l);
}

.c-main-title {
  margin-top: calc(200px + 6em);
  margin-top: calc(var(--height-logo) + var(--spacing-l));
}

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

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

.c-showroom-text-inner {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
  padding-bottom: 6rem;
  padding-bottom: var(--spacing-l);
}

.c-bikerental,
.c-showroom,
.c-img-big,
.c-teaser-service {
  margin-bottom: 6em;
  margin-bottom: var(--spacing-l);
}

.c-bikerental,
.c-review,
.c-teaser-service {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
}

.c-teaser-service + .c-img-big {
  margin-top: calc(var(--spacing-l) * -1);
}

.c-teaser-service .c-section-title {
  padding-bottom: 0;
}

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

.c-row {
  margin-right: -10px;
  margin-left: -10px;
  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: 10px;
  padding-left: 10px;
  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-teaser-service .c-section-title .c-row-justify-center {
  justify-content: flex-start;
}

.c-teaser-service-img .c-col-7 {
  -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-teaser-service-img .c-col-5 {
  -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%;
}

/**
 * Animations d'apparition au scroll
 * Système d'animations douces et performantes
 * Dernière mise à jour : animations des titres ajoutées
 */
:root {
  --animation-duration: 0.6s;
  --animation-duration-slow: 1.2s;
  --animation-easing: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --animation-distance: 20px;
  --animation-distance-large: 40px;
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(var(--animation-distance));
  transition: opacity var(--animation-duration) var(--animation-easing), transform var(--animation-duration) var(--animation-easing);
  transition-delay: var(--animation-delay, 0ms);
}

.animate-on-scroll.animate-in {
  opacity: 1;
  transform: translateY(0);
}

.animate-fade-up {
  transform: translateY(var(--animation-distance));
}

.animate-fade-up.animate-in {
  transform: translateY(0);
}

.animate-fade-left {
  transform: translateX(var(--animation-distance));
}

.animate-fade-left.animate-in {
  transform: translateX(0);
}

.animate-fade-right {
  transform: translateX(calc(-1 * var(--animation-distance)));
}

.animate-fade-right.animate-in {
  transform: translateX(0);
}

.animate-scale {
  transform: scale(0.95) translateY(var(--animation-distance));
}

.animate-scale.animate-in {
  transform: scale(1) translateY(0);
}

.c-main-title .c-box h1,
.c-showroom-text-inner h1 {
  --animation-distance: 40px;
  --animation-duration: 1.2s;
}

.c-main-title .c-box .c-category-title,
.c-main-title .c-box .c-lead,
.c-showroom-text-inner .c-category-title,
.c-showroom-text-inner .c-lead {
  --animation-distance: 25px;
}

.c-deco-title {
  --animation-duration: 1.2s;
  transform-origin: center;
}

.c-main-title .c-box[data-animate=fade-up] h1,
.c-showroom-text-inner[data-animate=fade-up] h1 {
  transform: translateY(40px);
  transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.c-main-title .c-box[data-animate=fade-up] .c-category-title,
.c-main-title .c-box[data-animate=fade-up] .c-lead,
.c-showroom-text-inner[data-animate=fade-up] .c-category-title,
.c-showroom-text-inner[data-animate=fade-up] .c-lead {
  transform: translateY(25px);
  transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 100ms;
}
.c-main-title .c-box[data-animate=fade-up].animate-in h1,
.c-showroom-text-inner[data-animate=fade-up].animate-in h1 {
  transform: translateY(0);
}
.c-main-title .c-box[data-animate=fade-up].animate-in .c-category-title,
.c-main-title .c-box[data-animate=fade-up].animate-in .c-lead,
.c-showroom-text-inner[data-animate=fade-up].animate-in .c-category-title,
.c-showroom-text-inner[data-animate=fade-up].animate-in .c-lead {
  transform: translateY(0);
}

.c-text-img .c-asym-col-edgeless:first-child {
  --animation-delay: 0ms;
}
.c-text-img .c-asym-col-edgeless:last-child {
  --animation-delay: 100ms;
}

.c-bikerental iframe {
  transition: opacity 0.6s ease-in-out 0.3s;
  opacity: 0;
}
.c-bikerental.animate-in iframe {
  opacity: 1;
}

.c-text-block h1, .c-text-block h2, .c-text-block h3, .c-text-block h4, .c-text-block h5, .c-text-block h6 {
  transition-delay: calc(var(--animation-delay, 0ms) + 50ms);
}
.c-text-block p {
  transition-delay: calc(var(--animation-delay, 0ms) + 100ms);
}
.c-text-block .c-btn {
  transition-delay: calc(var(--animation-delay, 0ms) + 150ms);
}

.animate-immediate {
  transition-delay: 0ms !important;
}

.animate-fast {
  --animation-duration: 0.4s;
}

.animate-children > * {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 0.5s var(--animation-easing), transform 0.5s var(--animation-easing);
}
.animate-children.animate-in > * {
  opacity: 1;
  transform: translateY(0);
}
.animate-children.animate-in > *:nth-child(1) {
  transition-delay: 50ms;
}
.animate-children.animate-in > *:nth-child(2) {
  transition-delay: 100ms;
}
.animate-children.animate-in > *:nth-child(3) {
  transition-delay: 150ms;
}
.animate-children.animate-in > *:nth-child(4) {
  transition-delay: 200ms;
}
.animate-children.animate-in > *:nth-child(5) {
  transition-delay: 250ms;
}

@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll,
.animate-on-scroll.animate-in,
.animate-on-scroll > *,
.animate-on-scroll.animate-in > * {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
.c-btn {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.c-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

img {
  transition: transform 0.3s ease, filter 0.3s ease;
}
.animate-in img:hover {
  transform: scale(1.02);
  filter: brightness(1.05);
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.animate-slide-up {
  animation: slideInUp var(--animation-duration) var(--animation-easing) forwards;
}

.animate-fade-left-keyframe {
  animation: fadeInLeft var(--animation-duration) var(--animation-easing) forwards;
}

.animate-fade-right-keyframe {
  animation: fadeInRight var(--animation-duration) var(--animation-easing) forwards;
}

/* ==========================================================================
   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,
h2,
.c-h2 {
  padding-bottom: 0.5em;
  line-height: 1.1;
  font-size: 3rem; /* 60px */
  font-size: var(--font-size-h1);
  text-transform: uppercase;
  color: var(--text-color-title);
  letter-spacing: var(--letter-spacing-title);
}

h2,
.c-h2 {
  font-size: var(--font-size-h2);
}

h3,
.c-h3 {
  padding-bottom: 0.5em;
  line-height: 1.6;
  font-size: 2rem;
  font-size: var(--font-size-h3);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-title);
}

h4,
.c-h4 {
  padding-bottom: 0;
  line-height: 1.6;
  font-size: 1.4rem;
  font-size: var(--font-size-h4);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-title);
}

h5,
.c-h5 {
  padding-bottom: 0;
  line-height: 1.6;
  font-size: 1rem;
  font-size: var(--font-size-body);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-title);
  font-weight: 700;
  color: var(--text-color);
}

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

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

.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.6em;
}

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

.c-text-small {
  font-size: 0.77rem; /* 14px */
  font-size: var(--font-size-body-s);
}

.c-category-title {
  display: block;
  padding-bottom: 0.25em;
  font-size: var(--font-size-body);
  text-transform: uppercase;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-title);
}

.c-lead {
  font-weight: var(--font-weight-bold);
}

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

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

.c-link-list li {
  padding-left: 0;
}

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

.c-text-block .c-link-list li + li,
.c-link-list li + li {
  margin-top: 1em;
}

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

.c-text-block .c-link-list li:before {
  background: none;
}

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

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

.c-text-block .c-adress-list li::before {
  background: none;
}

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

.c-text-block .c-adress-list li + li {
  margin-top: 1.6rem;
}

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

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

.c-teaser-service .c-section-title .c-text-center {
  text-align: left;
}

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

/* ==========================================================================
   Text sizes responsive
   ========================================================================== */
@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: 1400px) {
  :root {
    --font-size-root: 18px;
    --font-size-h2: 2.2rem;
  }
}
@media only screen and (max-width: 1200px) {
  :root {
    --font-size-h1: 2.6rem;
    --font-size-h2: 2rem;
    --font-size-h3: 1.6rem;
    --font-size-h4: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --font-size-root: 16px;
    --font-size-h1: 2.2rem;
    --font-size-h2: 1.8rem;
    --font-size-h3: 1.4rem;
    --font-size-h4: 1.25rem;
    --font-size-body: 1rem;
    --font-size-body-s: 0.875rem;
  }
}
@media only screen and (max-width: 380px) {
  :root {
    --font-size-h1: 1.8rem;
    --font-size-h2: 1.4rem;
    --font-size-h3: 1.125rem;
    --font-size-h4: 1rem;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.c-header-inner {
  min-height: var(--header-height);
  display: flex;
  flex-flow: row;
  justify-content: flex-end;
}

.c-header-logo {
  position: relative;
  width: 200px;
  height: 200px;
  margin-right: auto;
}

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

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

/* ==========================================================================
   lang / main nav
   ========================================================================== */
.wpml-ls-legacy-list-horizontal {
  padding: 0;
  border: none;
}

.c-header-lang-list,
.c-main-nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-title);
  font-weight: var(--font-weight-bold);
}

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

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

.c-main-nav-list {
  padding-right: 6em;
}

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

.wpml-ls-legacy-list-horizontal a {
  padding: 0;
}

.c-header-lang-list a,
.c-main-nav-list a {
  display: inline-block;
  position: relative;
  padding-top: 1em;
}

.c-header-lang-list a::before,
.c-main-nav-list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  background-color: #f9b41f;
  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: 6px;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 6rem;
  padding-bottom: 6rem;
  padding-top: var(--spacing-m);
  padding-bottom: var(--spacing-m);
}

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

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

.c-footer a:hover,
.c-footer a:focus {
  color: #fff;
  color: var(--text-color);
}

/* ==========================================================================
   main
   ========================================================================== */
.c-footer-main .c-col-9 {
  display: flex;
  flex-flow: row wrap;
}

.c-footer-logo {
  margin-right: 50px;
}

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

.c-footer-contact,
.c-footer-main .c-col-3 {
  padding-top: var(--footer-padding-logo);
}

/* ==========================================================================
   Disclaimer
   ========================================================================== */
.c-footer-disclaimer {
  display: flex;
  flex-flow: row wrap;
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.c-footer-disclaimer-copy {
  display: block;
  padding-right: 2em;
  opacity: 0.5;
}

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

.c-footer-disclaimer-list a {
  opacity: 0.5;
}

.c-footer-disclaimer-list a:hover,
.c-footer-disclaimer-list a:focus {
  opacity: 1;
}

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 10px;
  right: 20px;
  right: var(--grid-container);
  width: 50px;
  height: 50px;
  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: 24px;
  margin-top: -12px;
  border-top: 4px solid #f9b41f;
  border-bottom: 4px solid #f9b41f;
  border-color: var(--color-highlight);
}

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

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

.c-offcanvas-trigger-close::before,
.c-offcanvas-trigger-close::after {
  background-color: #f9b41f;
  background-color: var(--color-highlight);
  margin-top: -4px;
  height: 4px;
  width: 34px;
  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: #002a2d;
  background-color: var(--bg-content);
  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-top: 1em;
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-title);
  font-weight: var(--font-weight-bold);
}

.c-offcanvas-nav-list {
  margin: 1.6em 0 0 0;
  padding: 0;
  list-style: none;
  font-size: var(--font-size-h3);
}

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

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

.c-offcanvas-nav-list a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background-color: #f9b41f;
  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: 8px;
}*/
/* ==========================================================================
   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";*/
/* ==========================================================================
  Showroom / Img big
   ========================================================================== */
.c-showroom,
.c-img-big {
  overflow: hidden;
}

.c-showroom,
.c-showroom-text .c-row,
.c-img-big {
  min-height: 100vh;
}

/* min-height fix for ie11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-showroom-text .c-row:after {
    content: "";
    /*display: block;*/
    display: inline-block;
    min-height: inherit;
    font-size: 0;
  }
}
.c-showroom-img,
.c-showroom-overlay,
.c-img-big-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-showroom-overlay {
  display: block;
  background: rgba(0, 0, 0, 0.2);
}

.c-showroom-img img,
.c-img-big-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
  Bike rental / teaser-service
   ========================================================================== */
.c-bikerental,
.c-teaser-service {
  background-color: var(--bg-dark);
}

/* ==========================================================================
  Team
   ========================================================================== */
.c-team-list {
  margin: 0 -10px;
  margin: 0 var(--grid-row);
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
}

.c-team-list li {
  position: relative;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
  flex: 0 0 50%;
  max-width: 50%;
}

.c-team-item {
  padding-bottom: var(--spacing-m);
}

.c-team-img {
  margin-bottom: var(--spacing-xs);
}

/* ==========================================================================
  Contact
   ========================================================================== */
.c-contact {
  overflow: hidden;
}

.c-contact .c-row {
  margin-left: 0;
  margin-right: 0;
}

.c-contact .c-col-4 {
  padding-left: 0;
  padding-right: 0;
  background-color: var(--bg-dark);
}

.c-contact .c-col-8 {
  min-height: 66vh;
  padding-left: 0;
  padding-right: 0;
  background-color: #ccc;
}

.c-contact-map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.c-tour-map {
  height: 60vh;
  width: 100%;
  margin-bottom: var(--spacing-m);
}

.c-box {
  padding: 1.5em var(--grid-container);
}

/* ==========================================================================
  Review
   ========================================================================== */
.c-review {
  background-color: var(--bg-light);
}

.c-review .es-review-background-container,
.es-review-background-container {
  background-color: #fff !important;
  border-radius: 0;
}

.c-review .es-carousel-arrow-control,
.es-carousel-arrow-control {
  background-color: var(--color-highlight);
}

.c-review .es-bullets-control-item,
.es-bullets-control-item {
  background-color: rgba(249, 180, 31, 0.5);
}

.c-review .es-bullets-control-item-active,
.es-bullets-control-item-active {
  background-color: rgb(249, 180, 31);
}

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 0;
  bottom: 30px;
  width: 400px;
  padding: 1.5rem 30px;
  background-color: #0b2426;
  color: var(--text-color);
  line-height: 1.5;
  text-align: left;
  border: solid 4px #fff;
  border-color: var(--border-basic);
  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: block;
  padding: 0.5em 0.5em 0 0;
}

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

@media only screen and (max-width: 767px) {
  .c-cookie-notice {
    width: 100%;
    bottom: 0;
    border: none;
    border-top: solid 4px #fff;
    border-color: var(--border-basic);
  }
}
/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

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

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

.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 {
  background-image: none;
}

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

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

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 1.15em 40px 1.15em 40px;
  border: none;
  background-color: #f9b41f;
  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);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing);
  transition: all 0.2s ease-out;
  text-decoration: none;
  z-index: 1;
}

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

.c-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: all 0.2s ease-out;
  z-index: -1;
  background-color: var(--bg-dark);
}

.c-btn:hover::after,
.c-btn:focus::after {
  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-s);
}

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

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

.c-link-social {
  display: inline-block;
  overflow: hidden;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #f9b41f;
  background-color: var(--color-highlight);
  transition: 0.2s background ease-in-out;
}

.c-link-social:hover,
.c-link-social:focus {
  background-color: #027b75;
  background-color: var(--bg-dark);
}

.c-link-social-instagram::before {
  top: 50%;
  left: 50%;
  margin-left: -15px;
  margin-top: -15px;
  width: 30px;
  height: 30px;
  background-position: 0 0;
}

.c-link-social-fb::before {
  bottom: -1px;
  left: 50%;
  margin-left: -11px;
  width: 23px;
  height: 42px;
  background-position: 0 -40px;
}

.c-link-download,
.c-link-extern {
  display: inline-block;
  padding-left: 40px;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing);
}

.c-link-download::before {
  top: -0.25em;
  left: 0;
  width: 30px;
  height: 30px;
  background-position: 0 -100px;
}

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

.c-link-extern::before {
  top: 0.15em;
  left: 0;
  width: 30px;
  height: 30px;
  background-position: 0 -140px;
}

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

@media only screen and (max-width: 767px) {
  .c-link-download,
.c-link-extern {
    padding-top: 0.28em;
  }
}
/* ==========================================================================
   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-team-img {
  padding-bottom: 75%;
}

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

.c-ratiobox-showroom {
  padding-bottom: 38.6904761905%;
}

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

/*@import "components/_form";*/
/*@import "components/_accordion";*/
/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1450px) {
  /* container max width */
  .c-container {
    max-width: 1420px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless,
.c-asym-left-edgeless {
    max-width: none;
    width: calc(710px + 50%);
  }
  .c-asym-right-edgeless {
    margin-right: 0;
  }
  .c-asym-left-edgeless {
    margin-left: 0;
  }
  .c-text-img .c-asym-col-grid {
    flex: 0 0 686px;
    max-width: 686px; /* 1/2 content width - 1/2 padding (48px) */
  }
  .c-text-img .c-asym-col-edgeless {
    flex: 0 0 calc(100% - 686px);
    max-width: calc(100% - 686px); /* width - 1/2 padding (48px) */
  }
}
@media only screen and (max-width: 1400px) {
  .c-header-logo {
    width: 160px;
    height: 160px;
  }
}
@media only screen and (max-width: 1200px) {
  .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%;
  }
}
@media only screen and (min-width: 1200px) {
  .c-text-img {
    padding-bottom: 0;
  }
  .c-text-img .c-col-6 {
    padding-bottom: var(--spacing-l);
  }
  .c-text-img + .c-bikerental {
    margin-top: calc(var(--spacing-l) * -1.5);
    padding-top: calc(var(--spacing-l) + var(--spacing-m));
    z-index: -1;
  }
}
@media only screen and (min-width: 1100px) {
  .c-footer-contact {
    min-width: 500px;
  }
}
@media only screen and (max-width: 1100px) {
  .c-main-nav-list {
    padding-right: 4em;
  }
}
@media only screen and (max-width: 980px) {
  .c-contact .c-col-4,
.c-contact .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-offcanvas-trigger-open {
    display: block;
  }
  .c-main-nav,
.c-header-lang {
    display: none;
  }
  .c-header-logo {
    width: 110px;
    height: 110px;
  }
  .c-teaser-service-img .c-col-7,
.c-teaser-service-img .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-service-img .c-teaser-service-links {
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .c-teaser-service-img .c-teaser-service-links::before {
    content: "";
    position: absolute;
    top: 0;
    left: var(--grid-col);
    width: calc(100% - var(--grid-col) * 2);
    height: 4px;
    background-color: var(--color-highlight);
  }
  .c-teaser-service-img .c-teaser-service-links .c-link-list {
    padding-left: 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 980px) {
  .c-adress-list {
    display: flex;
    flex-flow: row wrap;
  }
  .c-text-block .c-adress-list li {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding-right: 10px;
  }
  .c-text-block .c-adress-list li + li {
    margin-top: 0;
  }
}
@media only screen and (min-width: 901px) {
  .c-footer-contact-list {
    margin-right: var(--grid-row);
    margin-left: var(--grid-row);
    display: flex;
    flex-flow: row wrap;
  }
  .c-footer-contact-list li {
    position: relative;
    min-height: 1px;
    padding-right: var(--grid-col);
    padding-left: var(--grid-col);
    flex: 0 0 50%;
    max-width: 50%;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 900px) {
  .c-footer-main .c-col-9 {
    -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-footer-main .c-col-3 {
    -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-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .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%;
  }
}
@media only screen and (min-width: 801px) {
  .c-teaser-service-links::before {
    content: "";
    position: absolute;
    top: -2px;
    left: var(--grid-col);
    width: 4px;
    height: calc(100% + 4px);
    background-color: var(--color-highlight);
  }
  .c-teaser-service .c-link-list {
    padding-left: var(--grid-container);
  }
  .c-teaser-service-links .c-btn {
    display: block;
  }
}
@media only screen and (max-width: 800px) {
  .c-text-img .c-col-6,
.c-team .c-col-5,
.c-team .c-col-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-img .c-col-6:first-child {
    padding-bottom: 1.6em;
    padding-bottom: var(--spacing-s);
  }
  .c-team .c-col-5 {
    padding-bottom: 1.6em;
    padding-bottom: var(--spacing-m);
  }
  .c-teaser-service .c-col-7,
.c-teaser-service .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-service-links {
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .c-teaser-service-links::before {
    content: "";
    position: absolute;
    top: 0;
    left: var(--grid-col);
    width: calc(100% - var(--grid-col) * 2);
    height: 4px;
    background-color: var(--color-highlight);
  }
}
@media only screen and (max-width: 767px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-text-img .c-col-6,
.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-text-img .c-col-6:first-child {
    padding-bottom: var(--spacing-s);
  }
  .c-footer-main .c-col-9,
.c-footer-main .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
  }
  .c-footer-logo {
    margin-left: auto;
    margin-right: auto;
  }
  .c-footer-social-list li {
    padding: 0.5em 8px 0.5em 8px;
  }
  .c-footer-main .c-col-9 {
    display: block;
  }
  .c-footer-disclaimer {
    display: block;
    text-align: center;
  }
  .c-footer-disclaimer li {
    padding: 0 1em 0.5em 1em;
  }
  .c-footer-disclaimer-copy {
    padding: 1em 0 0 0;
  }
}
@media only screen and (max-width: 560px) {
  .c-teaser-service-img .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-teaser-service-img .c-col-6 + .c-col-6 {
    padding-top: var(--spacing-m);
  }
}
@media only screen and (max-width: 500px) {
  .c-team-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-link-list .c-btn {
    display: block;
  }
}
/* ==========================================================================
   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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Qko7O0FNMXhCQTtFQUNJO0FONnhCSjs7QU0xeEJBO0VBQ0k7QU42eEJKOztBTXp4QkE7OytFQUFBO0FBSUE7RUFDSSxrQkxyQ2E7RUtzQ2IsbUJMdENhO0VLdUNiO0VBQ0E7QU4yeEJKOztBTXh4QkE7RUFDSSxtQkwzQ087RUs0Q1Asa0JMNUNPO0VLNkNQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNJO0VBQ0k7QU4yeEJaOztBTXh4QkE7RUFDSTtBTjJ4Qko7O0FNeHhCQTtFQUNJO0FOMnhCSjs7QU14eEJBO0VBQ0k7QU4yeEJKOztBTXh4QkE7RUFDSTtBTjJ4Qko7O0FNeHhCQTtFQUNJO0FOMnhCSjs7QU14eEJBO0VBQ0k7QU4yeEJKOztBTXh4QkE7RUFDSTtBTjJ4Qko7O0FNeHhCQTtFQUNJO0FOMnhCSjs7QU14eEJBO0VBQ0k7QU4yeEJKOztBTXh4QkE7Ozs7Ozs7Ozs7OztFQVlJO0VBQ0E7RUFDQSxtQkwzR087RUs0R1Asa0JMNUdPO0VLNkdQO0VBQ0E7QU4yeEJKOztBTXh4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOMnhCSjs7QU14eEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjJ4Qko7O0FNeHhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4yeEJKOztBTXh4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOMnhCSjs7QU14eEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjJ4Qko7O0FNeHhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4yeEJKOztBTXh4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOMnhCSjs7QU14eEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjJ4Qko7O0FNeHhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4yeEJKOztBTXh4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOMnhCSjs7QU14eEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjJ4Qko7O0FNeHhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4yeEJKOztBTXh4QkE7QUFDQTtFQUNFO0FOMnhCRjs7QU14eEJBO0VBQ0U7QU4yeEJGOztBTXh4QkE7RUFDRTtBTjJ4QkY7O0FNeHhCQTtFQUNFO0FOMnhCRjs7QU14eEJBO0VBQ0U7QU4yeEJGOztBTXh4QkE7RUFDRTtBTjJ4QkY7O0FNeHhCQTtFQUNFO0FOMnhCRjs7QU14eEJBO0VBQ0U7QU4yeEJGOztBTXh4QkE7RUFDRTtBTjJ4QkY7O0FNeHhCQTtFQUNFO0FOMnhCRjs7QU14eEJBO0VBQ0U7QU4yeEJGOztBTXh4QkE7OytFQUFBO0FBSUE7O0VBRUk7QU4weEJKOztBTXR4QkE7RUFDSTtBTnl4Qko7O0FNdHhCQTtFQUNLO0VBQ0Q7RUFDQTtFQUNBO0VBQ0E7QU55eEJKOztBTXR4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOeXhCSjs7QU94bENBOzs7O0VBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVB5bENGOztBT3JsQ0E7RUFDRTtFQUNBO0VBQ0Esa0lBQ0U7RUFFRjtBUHNsQ0Y7O0FPbGxDQTtFQUNFO0VBQ0E7QVBxbENGOztBTy9rQ0E7RUFDRTtBUGtsQ0Y7O0FPL2tDQTtFQUNFO0FQa2xDRjs7QU85a0NBO0VBQ0U7QVBpbENGOztBTzlrQ0E7RUFDRTtBUGlsQ0Y7O0FPN2tDQTtFQUNFO0FQZ2xDRjs7QU83a0NBO0VBQ0U7QVBnbENGOztBTzVrQ0E7RUFDRTtBUCtrQ0Y7O0FPNWtDQTtFQUNFO0FQK2tDRjs7QU96a0NBOztFQUdFO0VBQ0E7QVAya0NGOztBT3hrQ0E7Ozs7RUFLRTtBUDBrQ0Y7O0FPdGtDQTtFQUNFO0VBQ0E7QVB5a0NGOztBT25rQ0U7O0VBQ0U7RUFDQSxrSEFDRTtBUHNrQ047QU9sa0NFOzs7O0VBRUU7RUFDQSxrSEFDRTtFQUVGO0FQb2tDSjtBT2hrQ0k7O0VBQ0U7QVBta0NOO0FPaGtDSTs7OztFQUVFO0FQb2tDTjs7QU8zakNJO0VBQ0U7QVA4akNOO0FPM2pDSTtFQUNFO0FQNmpDTjs7QU90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LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9faGVscGVycy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9hbmltYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbi1saW5rcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yYXRpb2JveC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qQGltcG9ydCBcIi4uL2ZvbnRzL2lubGluZUZvbnRzLnNjc3NcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fdmFyaWFibGVzXCI7XG4vKkBpbXBvcnQgXCJjb21tb24vX2ZvbnRzXCI7Ki9cbkBpbXBvcnQgXCJjb21tb24vX25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImNvbW1vbi9fbWl4aW5zXCI7XG5AaW1wb3J0IFwiY29tbW9uL19oZWxwZXJzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19iYXNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYW5pbWF0aW9uc1wiOyAvLyBBVkFOVCBsYSB0eXBvZ3JhcGhpZSBwb3VyIMOpdml0ZXIgbGVzIGNvbmZsaXRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG4vKiBvcHRpb25hbCBzdHlsZXMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYmxlc1wiOyovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvcm1cIjsqL1xuLypAaW1wb3J0IFwiY29tcG9uZW50cy9fYWNjb3JkaW9uXCI7Ki9cblxuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcHJpbnRcIjsiLCIvKiBWYXJpYWJsZXMsIE5hbWluZyBtYXkgdmFyeSBmcm9tIHByb2plY3QgdG8gcHJvamVjdCAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgKHNlZSAnX2ZvbnRzLnNjc3MnIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGxpY2Vuc2UpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuLyogQGltcG9ydCB1cmwoJy8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvNDI2NTYzJyk7ICovXG5cbiRmb250LXN0YWNrLWRlZmF1bHQ6ICdGaWd0cmVlJywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGYWxsYmFja3Mgc2FzcyBWYXJpYWJsZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHRleHQgKi9cbiR0ZXh0LWNvbG9yOiAjZmZmOyAvKiBkYXJrIGdyZXkgKi9cbiR0ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuJHRleHQtY29sb3ItbGluazogI2ZmZjsgLyogZGFyayBncmV5ICovXG5cbi8qIGJhY2tncm91bmQgKi9cbiRiZy1jb250ZW50OiAjMDAyYTJkO1xuJGJnLWRhcms6ICMwMjdiNzU7IC8qIGdyZWVuICovXG4kYmctbGlnaHQ6ICNmOWY5Zjk7IC8qIGxpZ2h0IGdyZXkgKi9cbiRjb2xvci1oaWdobGlnaHQ6ICNmOWI0MWY7IC8qIHllbGxvdyAqL1xuXG4vKiBsaW5lLWNvbG9ycyAqL1xuJGJvcmRlci1iYXNpYzogI2ZmZjtcblxuLyogc3BhY2luZyAqL1xuJHNwYWNpbmctbDogNnJlbTtcbiRzcGFjaW5nLW06IDNyZW07XG4kc3BhY2luZy1zOiAxLjVyZW07XG4kc3BhY2luZy14czogMC43NXJlbTtcblxuLyogZ3JpZCAqL1xuJGdyaWQtY29udGFpbmVyOiAyMHB4O1xuJGdyaWQtcm93OiAtMTBweDtcbiRncmlkLWNvbDogMTBweDtcblxuXG4vKiBmb3JtICovXG4kYm9yZGVyLWZvcm06ICNBOEE4QTg7XG4kYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4kZm9ybS1kaXNhYmxlZDogI2NjYztcbiRmb3JtLWVycm9yOiAjZGQwMDAwO1xuJGZvcm0tb2s6ICMwMDgyOEM7XG4kZm9ybS1pbml0aWFsOiAjMUQxRDFCO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG46cm9vdCB7XG4gICAgLyogZm9udHMgKi9cbiAgICAtLWZvbnQtc3RhY2stZGVmYXVsdDogJ0ZpZ3RyZWUnLCAnQXJpYWwnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuICAgIC0tZm9udC13ZWlnaHQtYm9sZDogOTAwO1xuICAgIFxuICAgIC8qIHRleHQgICovXG4gICAgLS10ZXh0LWNvbG9yOiAjZmZmOyAvKiBibGFjayAqL1xuICAgIC0tdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItbGluazogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItdGl0bGU6ICNmOWI0MWY7XG4gICAgLS1sZXR0ZXItc3BhY2luZy10aXRsZTogMC4wMWVtO1xuICAgIFxuICAgIC8qIGZvbnQtc2l6ZXMgKi9cbiAgICAtLWZvbnQtc2l6ZS1yb290OiAyMHB4O1xuICAgIC0tZm9udC1zaXplLWgxOiAzcmVtOyAvKiA2MHB4ICovXG4gICAgLS1mb250LXNpemUtaDI6IDNyZW07IC8qIDYwcHggKi9cbiAgICAtLWZvbnQtc2l6ZS1oMzogMnJlbTtcbiAgICAtLWZvbnQtc2l6ZS1oNDogMS40cmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHk6IDFyZW07XG4gICAgLS1mb250LXNpemUtYm9keS1zOiAwLjc3cmVtO1xuICAgIFxuICAgIC8qIGNvbG9ycyAvIGJhY2tncm91bmQgKi9cbiAgICAtLWJnLWNvbnRlbnQ6ICMwMDJhMmQ7XG4gICAgLS1iZy1kYXJrOiAjMDI3Yjc1OyAvKiBncmVlbiAqL1xuICAgIC0tYmctbGlnaHQ6ICNmOWY5Zjk7IC8qIGxpZ2h0IGdyZXkgKi9cbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogI2Y5YjQxZjsgLyogeWVsbG93ICovXG4gICAgXG4gICAgLyogbGluZXMgKi9cbiAgICAtLWJvcmRlci1iYXNpYzogI2ZmZjtcbiAgICBcbiAgICAvKiBzcGFjaW5nIGJldHdlZW4gY29tcG9uZW50cyBiYXNlZCBvbiByZW0gKi9cbiAgICAtLXNwYWNpbmctbDogNnJlbTtcbiAgICAtLXNwYWNpbmctbTogM3JlbTsgXG4gICAgLS1zcGFjaW5nLXM6IDEuNXJlbTtcbiAgICAtLXNwYWNpbmcteHM6IDAuNzVyZW07ICBcbiAgICBcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDYwcHg7XG4gICAgLS1mb290ZXItcGFkZGluZy1sb2dvOiAyZW07XG4gICAgLS1oZWlnaHQtbG9nbzogMjAwcHg7XG4gICAgIFxuICAgIC8qIGdyaWQgKi9cbiAgICAtLWdyaWQtY29udGFpbmVyOiAyNHB4O1xuICAgIC0tZ3JpZC1yb3c6IC0xMnB4O1xuICAgIC0tZ3JpZC1jb2w6IDEycHg7XG4gICAgXG4gICAgLyogZm9ybSAqL1xuICAgIC0tYm9yZGVyLWZvcm06ICNBOEE4QTg7IFxuICAgIC0tYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4gICAgLS1mb3JtLWRpc2FibGVkOiAjY2NjO1xuICAgIC0tZm9ybS1lcnJvcjogI2RkMDAwMDtcbiAgICAtLWZvcm0tb2s6ICMwMDgyOEM7XG4gICAgLS1mb3JtLWluaXRpYWw6ICMxRDFEMUI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFeGVwdGlvbnMgZm9yIGRpZmZlcmVudCBiYWNrZ3JvdW5kc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1kYXJrLFxuLmMtcmV2aWV3IHtcbiAgICAtLXRleHQtY29sb3I6ICMwMDA7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6ICMwMDA7XG59XG5cbi5jLXRlYXNlci1zZXJ2aWNlIC5jLWJ0biB7XG4gICAgLS1iZy1kYXJrOiAjMDAyYTJkO1xufVxuXG4uYy10ZWFzZXItc2VydmljZSAuYy1saW5rLWxpc3Qge1xuICAgIC0tZ3JpZC1jb250YWluZXI6IDMycHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWdyaWQtY29udGFpbmVyOiA0OHB4O1xuICAgICAgICAtLWdyaWQtcm93OiAtMjRweDtcbiAgICAgICAgLS1ncmlkLWNvbDogMjRweDtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLXNlcnZpY2UgLmMtbGluay1saXN0IHtcbiAgICAgICAgLS1ncmlkLWNvbnRhaW5lcjogNDhweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWhlaWdodC1sb2dvOiAxNjBweDsgXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWhlaWdodC1sb2dvOiAxMTBweDsgXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tc3BhY2luZy1sOiAzcmVtO1xuICAgICAgICAtLXNwYWNpbmctbTogMS41cmVtOyBcbiAgICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLypcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRTYvNyB3aGVuIGJvZHkgZm9udC1zaXplIGlzIHNldCB1c2luZyBlbSB1bml0c1xuICogICAgaHR0cDovL2NsYWdudXQuY29tL2Jsb2cvMzQ4LyNjNzkwXG4gKiAyLiBLZWVwcyBwYWdlIGNlbnRyZWQgaW4gYWxsIGJyb3dzZXJzIHJlZ2FyZGxlc3Mgb2YgY29udGVudCBoZWlnaHRcbiAqIDMuIFByZXZlbnRzIGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tXG4gKiAgICB3d3cuNDU2YmVyZWFzdHJlZXQuY29tL2FyY2hpdmUvMjAxMDEyL2NvbnRyb2xsaW5nX3RleHRfc2l6ZV9pbl9zYWZhcmlfZm9yX2lvc193aXRob3V0X2Rpc2FibGluZ191c2VyX3pvb20vXG4gKiA0LiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDQgKi9cbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xufVxuXG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuXG5cbiAqL1xuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gKi9cblxuYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKlxuKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xuXG5xIHtcbiAgICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlcyBib3JkZXIgd2hlbiBpbnNpZGUgJ2EnIGVsZW1lbnQgaW4gSUU2LzcvOC85LCBGRjNcbiAqIDIuIEltcHJvdmVzIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUU3XG4gKiAgICBjb2RlLmZsaWNrci5jb20vYmxvZy8yMDA4LzExLzEyL29uLXVpLXF1YWxpdHktdGhlLWxpdHRsZS10aGluZ3MtY2xpZW50LXNpZGUtaW1hZ2UtcmVzaXppbmcvXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG59XG5cbi8qXG4gKiBDb3JyZWN0cyBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUU5XG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3RzIG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUU2LzdcbiAqL1xuXG5mb3JtIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmdcbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBtYXJnaW46MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIHBhZGRpbmc6MDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgYm9yZGVyOiAwO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cblxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiA0ICovXG59XG5cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcblxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLypcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRTcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRTYuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7IC8qIDQgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHNcbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG5cbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vKipcblxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRWxlbWVudHMgY3ViZWdyYWZpa1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYTphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cblxuZGl2LCBwIHtcbiAgICBwYWRkaW5nOjA7XG4gICAgbWFyZ2luOjA7XG59XG5cbmhyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50aCwgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xufVxuXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgICAvKiBSZW1vdmVkIGJlY2F1c2Ugb2YgdmlzaWJpbGl0eWNoYW5nZS1hZGRpdGlvbiB0byBmYW5jeS1mb3JtcyBwbHVnaW4uXG4gICAgICogMjAxNS8wMS8yMiAtIEZsb3JpYW4gTcOkZGVyXG4gICAgICogLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyovXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xufVxuXG5odG1sIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSAzLjAgLSA1LjAsIENocm9tZSAxIC0gOSwgQW5kcm9pZCAyLjEgLSAzLnggKi9cbiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEZpcmVmb3ggMSAtIDI4ICovXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgNS4xKywgQ2hyb21lIDEwKywgRmlyZWZveCAyOSssIE9wZXJhIDcrLCBJRSA4KywgQW5kcm9pZCA0LjArLCBpT1MgYW55ICovXG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTAgICovXG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMSsgKi9cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybSBQbGFjZWhvbGRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICAgIHtAY29udGVudH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9ICBcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnRzIHNtb290aGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogb24pIHtcbiAgICBAaWYgJHZhbHVlID09IG9uIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBIaWRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhpZGUtdmlzdWFsbHkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uYy1oaWRlLWNvbXBsZXRlbHkge1xuXHRkaXNwbGF5OiBub25lO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIGltYWdlIHJlcGxhY2VtZW50ICovXG4uYy1pciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXI6IDA7XG5cdHRleHQtaW5kZW50OiAtOTk5ZW07XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRkaXJlY3Rpb246IGx0cjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RpY2t5IEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uYy1oZWFkZXIsXG4uYy1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYy1jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UgUHJvamVjdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gIHNjcm9sbC1wYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuYm9keSB7XG5cdEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9uKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1kZWZhdWx0O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLWRlZmF1bHQpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBsaW5rcyAqL1xuYSxcbmE6dmlzaXRlZCxcbmE6Zm9jdXMsXG5hOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpbms7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGluayk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxucDplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyxcbmlmcmFtZSxcbmltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1pbWctbWF4LXdpZHRoLFxuLmMtY29udGVudCAuYy1pbWctbWF4LXdpZHRoIHtcblx0d2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nIHsgXG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIE1haW4gQ29udGFpbmVyIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXIsXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyLFxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLXdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgUGFkZGluZyBiZXR3ZWVuIENvbXBvbmVudHMgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIge1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtbWFpbi10aXRsZSB7XG5cdG1hcmdpbi10b3A6IGNhbGMoMjAwcHggKyA2ZW0pO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0taGVpZ2h0LWxvZ28pICsgdmFyKC0tc3BhY2luZy1sKSk7XG59XG5cbi5jLWNvbnRhaW5lci1uby1wYWRkaW5nIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXNlY3Rpb24tdGl0bGUge1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLmMtc2hvd3Jvb20tdGV4dC1pbm5lciB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLWJpa2VyZW50YWwsXG4uYy1zaG93cm9vbSxcbi5jLWltZy1iaWcsXG4uYy10ZWFzZXItc2VydmljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNmVtO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLWJpa2VyZW50YWwsXG4uYy1yZXZpZXcsXG4uYy10ZWFzZXItc2VydmljZSB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLXRlYXNlci1zZXJ2aWNlICsgLmMtaW1nLWJpZyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLWwpICogLTEpO1xufVxuXG4uYy10ZWFzZXItc2VydmljZSAuYy1zZWN0aW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgR3JpZCBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtcm93LWp1c3RpZnktcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmMtcm93LWFsaWduLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXJvdy1hbGlnbi1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmMtY29sLTEsXG4uYy1jb2wtMixcbi5jLWNvbC0zLFxuLmMtY29sLTQsXG4uYy1jb2wtNSxcbi5jLWNvbC02LFxuLmMtY29sLTcsXG4uYy1jb2wtOCxcbi5jLWNvbC05LFxuLmMtY29sLTEwLFxuLmMtY29sLTExLFxuLmMtY29sLTEyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLWNvbC0xMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgIFxufVxuXG4uYy1jb2wtMTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5jLWNvbC0xMCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLmMtY29sLTkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jLWNvbC04IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG4uYy1jb2wtNyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmMtY29sLTYge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xufVxuXG4uYy1jb2wtNCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtY29sLTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jLWNvbC0yIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uYy1jb2wtMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlO1xufVxuXG4vKiBvZmZzZXQgY29scyAqL1xuLmMtY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmMtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY3JTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgVmFyaWFudGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLFxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG59XG5cblxuLmMtdGVhc2VyLXNlcnZpY2UgLmMtc2VjdGlvbi10aXRsZSAuYy1yb3ctanVzdGlmeS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtdGVhc2VyLXNlcnZpY2UtaW1nIC5jLWNvbC03IHtcbiAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLmMtdGVhc2VyLXNlcnZpY2UtaW1nIC5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xufSIsIi8qKlxuICogQW5pbWF0aW9ucyBkJ2FwcGFyaXRpb24gYXUgc2Nyb2xsXG4gKiBTeXN0w6htZSBkJ2FuaW1hdGlvbnMgZG91Y2VzIGV0IHBlcmZvcm1hbnRlc1xuICogRGVybmnDqHJlIG1pc2Ugw6Agam91ciA6IGFuaW1hdGlvbnMgZGVzIHRpdHJlcyBham91dMOpZXNcbiAqL1xuXG4vLyBWYXJpYWJsZXMgcG91ciBsZXMgYW5pbWF0aW9uc1xuOnJvb3Qge1xuICAtLWFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgLS1hbmltYXRpb24tZHVyYXRpb24tc2xvdzogMS4ycztcbiAgLS1hbmltYXRpb24tZWFzaW5nOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIC0tYW5pbWF0aW9uLWRpc3RhbmNlOiAyMHB4O1xuICAtLWFuaW1hdGlvbi1kaXN0YW5jZS1sYXJnZTogNDBweDtcbn1cblxuLy8gw4l0YXQgaW5pdGlhbCBkZXMgw6lsw6ltZW50cyDDoCBhbmltZXJcbi5hbmltYXRlLW9uLXNjcm9sbCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1hbmltYXRpb24tZGlzdGFuY2UpKTtcbiAgdHJhbnNpdGlvbjogXG4gICAgb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRpb24tZGVsYXksIDBtcyk7XG59XG5cbi8vIMOJdGF0IGFuaW3DqSAodmlzaWJsZSlcbi5hbmltYXRlLW9uLXNjcm9sbC5hbmltYXRlLWluIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vLyBBbmltYXRpb25zIHNww6ljaWZpcXVlcyBwYXIgdHlwZSBkJ8OpbMOpbWVudFxuXG4vLyBBbmltYXRpb24gZmFkZS11cCAocGFyIGTDqWZhdXQpXG4uYW5pbWF0ZS1mYWRlLXVwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLWFuaW1hdGlvbi1kaXN0YW5jZSkpO1xufVxuXG4uYW5pbWF0ZS1mYWRlLXVwLmFuaW1hdGUtaW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8vIEFuaW1hdGlvbiBmYWRlLWxlZnQgKHBvdXIgbGVzIGltYWdlcyBkZSBkcm9pdGUpXG4uYW5pbWF0ZS1mYWRlLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tYW5pbWF0aW9uLWRpc3RhbmNlKSk7XG59XG5cbi5hbmltYXRlLWZhZGUtbGVmdC5hbmltYXRlLWluIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vLyBBbmltYXRpb24gZmFkZS1yaWdodCAocG91ciBsZXMgaW1hZ2VzIGRlIGdhdWNoZSlcbi5hbmltYXRlLWZhZGUtcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMSAqIHZhcigtLWFuaW1hdGlvbi1kaXN0YW5jZSkpKTtcbn1cblxuLmFuaW1hdGUtZmFkZS1yaWdodC5hbmltYXRlLWluIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vLyBBbmltYXRpb24gc2NhbGUgKHBvdXIgbGVzIMOpbMOpbWVudHMgY2VudHLDqXMpXG4uYW5pbWF0ZS1zY2FsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSkgdHJhbnNsYXRlWSh2YXIoLS1hbmltYXRpb24tZGlzdGFuY2UpKTtcbn1cblxuLmFuaW1hdGUtc2NhbGUuYW5pbWF0ZS1pbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbn1cblxuLy8gUGx1cyBkZSBzdHlsZXMgc3DDqWNpZmlxdWVzIC0gbGVzIGFuaW1hdGlvbnMgdXRpbGlzZW50IHVuaXF1ZW1lbnQgbGVzIGNsYXNzZXMgZ8OpbsOpcmlxdWVzXG5cbi8vIEFuaW1hdGlvbnMgc3DDqWNpYWxlcyBwb3VyIGxlcyB0aXRyZXMgLSBTQU5TIEFGRkVDVEVSIExBIFRZUE9HUkFQSElFXG4uYy1tYWluLXRpdGxlIC5jLWJveCBoMSxcbi5jLXNob3dyb29tLXRleHQtaW5uZXIgaDEge1xuICAvLyBWYXJpYWJsZXMgZCdhbmltYXRpb24gcGVyc29ubmFsaXPDqWVzIHBvdXIgbGVzIGdyb3MgdGl0cmVzXG4gIC0tYW5pbWF0aW9uLWRpc3RhbmNlOiA0MHB4O1xuICAtLWFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbn1cblxuLmMtbWFpbi10aXRsZSAuYy1ib3ggLmMtY2F0ZWdvcnktdGl0bGUsXG4uYy1tYWluLXRpdGxlIC5jLWJveCAuYy1sZWFkLFxuLmMtc2hvd3Jvb20tdGV4dC1pbm5lciAuYy1jYXRlZ29yeS10aXRsZSxcbi5jLXNob3dyb29tLXRleHQtaW5uZXIgLmMtbGVhZCB7XG4gIC8vIERpc3RhbmNlIHBsdXMgbW9kw6lyw6llIHBvdXIgbGVzIHNvdXMtdGl0cmVzXG4gIC0tYW5pbWF0aW9uLWRpc3RhbmNlOiAyNXB4O1xufVxuXG4vLyBUaXRyZSBkw6ljb3JhdGlmIGF2ZWMgYW5pbWF0aW9uIHNww6ljaWFsZVxuLmMtZGVjby10aXRsZSB7XG4gIC0tYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbi8vIEFuaW1hdGlvbiBzcMOpY2lmaXF1ZSBwb3VyIGxlcyBjb250YWluZXJzIGRlIHRpdHJlXG4uYy1tYWluLXRpdGxlIC5jLWJveFtkYXRhLWFuaW1hdGU9XCJmYWRlLXVwXCJdLFxuLmMtc2hvd3Jvb20tdGV4dC1pbm5lcltkYXRhLWFuaW1hdGU9XCJmYWRlLXVwXCJdIHtcbiAgaDEge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2l0aW9uOiBcbiAgICAgIG9wYWNpdHkgMS4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCksXG4gICAgICB0cmFuc2Zvcm0gMS4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIH1cbiAgXG4gIC5jLWNhdGVnb3J5LXRpdGxlLFxuICAuYy1sZWFkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjVweCk7XG4gICAgdHJhbnNpdGlvbjogXG4gICAgICBvcGFjaXR5IDEuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpLFxuICAgICAgdHJhbnNmb3JtIDEuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuICB9XG4gIFxuICAmLmFuaW1hdGUtaW4ge1xuICAgIGgxIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gICAgXG4gICAgLmMtY2F0ZWdvcnktdGl0bGUsXG4gICAgLmMtbGVhZCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFNlY3Rpb24gdGV4dCAmIGltYWdlIC0gRMOpbGFpcyByw6lkdWl0cyBwb3VyIMOpdml0ZXIgbGEgcGFnZSB2aWRlXG4uYy10ZXh0LWltZyB7XG4gIC5jLWFzeW0tY29sLWVkZ2VsZXNzIHtcbiAgICAvLyBBbmltYXRpb24gZGlmZsOpcmVudGUgc2Vsb24gbGEgcG9zaXRpb25cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC0tYW5pbWF0aW9uLWRlbGF5OiAwbXM7XG4gICAgfVxuICAgIFxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAtLWFuaW1hdGlvbi1kZWxheTogMTAwbXM7XG4gICAgfVxuICB9XG59XG5cbi8vIFNlY3Rpb24gcsOpc2VydmF0aW9uXG4uYy1iaWtlcmVudGFsIHtcbiAgaWZyYW1lIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZS1pbi1vdXQgMC4zcztcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIFxuICAmLmFuaW1hdGUtaW4gaWZyYW1lIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIEJsb2NzIGRlIHRleHRlIC0gRMOpbGFpcyByw6lkdWl0cyBwb3VyIHVuIHJlbmR1IHBsdXMgcmFwaWRlXG4uYy10ZXh0LWJsb2NrIHtcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRpb24tZGVsYXksIDBtcykgKyA1MG1zKTtcbiAgfVxuICBcbiAgcCB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRpb24tZGVsYXksIDBtcykgKyAxMDBtcyk7XG4gIH1cbiAgXG4gIC5jLWJ0biB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRpb24tZGVsYXksIDBtcykgKyAxNTBtcyk7XG4gIH1cbn1cblxuLy8gQ2xhc3NlcyBwb3VyIMOpdml0ZXIgbGEgcGFnZSB2aWRlXG4uYW5pbWF0ZS1pbW1lZGlhdGUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMgIWltcG9ydGFudDtcbn1cblxuLmFuaW1hdGUtZmFzdCB7XG4gIC0tYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjRzO1xufVxuXG4vLyBBbmltYXRpb25zIHBvdXIgbGVzIMOpbMOpbWVudHMgZW5mYW50cyAtIFZFUlNJT04gU0lNUExJRknDiUVcbi5hbmltYXRlLWNoaWxkcmVuIHtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNXB4KTtcbiAgICB0cmFuc2l0aW9uOiBcbiAgICAgIG9wYWNpdHkgMC41cyB2YXIoLS1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIHRyYW5zZm9ybSAwLjVzIHZhcigtLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG4gIFxuICAmLmFuaW1hdGUtaW4gPiAqIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBcbiAgICAvLyBEw6lsYWkgcHJvZ3Jlc3NpZiBwb3VyIGxlcyDDqWzDqW1lbnRzIGVuZmFudHMgKHLDqWR1aXRzKVxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogNTB9bXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE5lIHBhcyBpbnRlcmbDqXJlciBhdmVjIGxlcyBzdHlsZXMgZXhpc3RhbnRzXG4vLyBMZXMgY2xhc3NlcyBhbmltYXRlLSogbmUgcydhcHBsaXF1ZW50IHF1J2F1eCB0cmFuc2Zvcm1hdGlvbnMgZXQgb3BhY2l0w6lcblxuLy8gT3B0aW1pc2F0aW9ucyBwb3VyIGxlcyBwZXJmb3JtYW5jZXNcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hbmltYXRlLW9uLXNjcm9sbCxcbiAgLmFuaW1hdGUtb24tc2Nyb2xsLmFuaW1hdGUtaW4sXG4gIC5hbmltYXRlLW9uLXNjcm9sbCA+ICosXG4gIC5hbmltYXRlLW9uLXNjcm9sbC5hbmltYXRlLWluID4gKiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBBbmltYXRpb24gcG91ciBsZXMgYm91dG9uc1xuLmMtYnRuIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gIFxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uIHNww6ljaWFsZSBwb3VyIGxlcyBpbWFnZXNcbmltZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGZpbHRlciAwLjNzIGVhc2U7XG4gIFxuICAuYW5pbWF0ZS1pbiAmIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4wNSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEtleWZyYW1lcyBwb3VyIGRlcyBhbmltYXRpb25zIHBsdXMgY29tcGxleGVzXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLy8gQ2xhc3NlcyB1dGlsaXRhaXJlcyBwb3VyIGRlcyBhbmltYXRpb25zIHNww6ljaWZpcXVlc1xuLmFuaW1hdGUtc2xpZGUtdXAge1xuICBhbmltYXRpb246IHNsaWRlSW5VcCB2YXIoLS1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWFuaW1hdGlvbi1lYXNpbmcpIGZvcndhcmRzO1xufVxuXG4uYW5pbWF0ZS1mYWRlLWxlZnQta2V5ZnJhbWUge1xuICBhbmltYXRpb246IGZhZGVJbkxlZnQgdmFyKC0tYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1hbmltYXRpb24tZWFzaW5nKSBmb3J3YXJkcztcbn1cblxuLmFuaW1hdGUtZmFkZS1yaWdodC1rZXlmcmFtZSB7XG4gIGFuaW1hdGlvbjogZmFkZUluUmlnaHQgdmFyKC0tYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1hbmltYXRpb24tZWFzaW5nKSBmb3J3YXJkcztcbn0gIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcblx0Zm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXJvb3QpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtd3JhcDpiYWxhbmNlO1xufVxuXG5oMSxcbi5jLWgxLFxuaDIsXG4uYy1oMiB7XG5cdHBhZGRpbmctYm90dG9tOiAuNWVtO1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRmb250LXNpemU6IDNyZW07IC8qIDYwcHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci10aXRsZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXRpdGxlKTtcbn1cblxuaDIsXG4uYy1oMiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgyKTtcbn1cblxuaDMsXG4uYy1oMyB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNjtcblx0Zm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy10aXRsZSk7XG59XG5cbmg0LFxuLmMtaDQge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0bGluZS1oZWlnaHQ6IDEuNjtcblx0Zm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXRpdGxlKTtcbn1cblxuaDUsXG4uYy1oNSB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHRsaW5lLWhlaWdodDogMS42O1xuXHRmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctdGl0bGUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgVGV4dCBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyIHtcblx0bGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmMtdGV4dC1ibG9jayBwIHtcblx0cGFkZGluZy1ib3R0b206IDEuNmVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIHAgKyBoMixcbi5jLXRleHQtYmxvY2sgcCArIGgzLFxuLmMtdGV4dC1ibG9jayBwICsgaDQsXG4uYy10ZXh0LWJsb2NrIHVsICsgcCxcbi5jLXRleHQtYmxvY2sgdWwgKyBoMixcbi5jLXRleHQtYmxvY2sgdWwgKyBoMyxcbi5jLXRleHQtYmxvY2sgdWwgKyBoNCxcbi5jLXRleHQtYmxvY2sgdWwgKyBvbCxcbi5jLXRleHQtYmxvY2sgb2wgKyBwLFxuLmMtdGV4dC1ibG9jayBvbCArIGgyLFxuLmMtdGV4dC1ibG9jayBvbCArIGgzLFxuLmMtdGV4dC1ibG9jayBvbCArIGg0IHtcblx0cGFkZGluZy10b3A6IDEuNmVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIHA6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRleHQtc21hbGwge1xuXHRmb250LXNpemU6IDAuNzdyZW07IC8qIDE0cHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4uYy1jYXRlZ29yeS10aXRsZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXRpdGxlKTtcbn1cblxuLmMtbGVhZCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBMaXN0cyBDb250ZW50IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayB1bCxcbi5jLXRleHQtYmxvY2sgb2wsXG4uYy1saW5rLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjZlbSAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAzNHB4O1xufVxuXG4uYy1saW5rLWxpc3QgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGkgKyBsaSxcbi5jLXRleHQtYmxvY2sgb2wgbGkgKyBsaSB7XG5cdG1hcmdpbi10b3A6IDAuNWVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstbGlzdCBsaSArIGxpLFxuIC5jLWxpbmstbGlzdCBsaSArIGxpIHtcblx0bWFyZ2luLXRvcDogMWVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjU4ZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0IGxpOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCB7XG5cdGNvdW50ZXItcmVzZXQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpIHtcblx0Y291bnRlci1pbmNyZW1lbnQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OiBjb3VudGVyKGN1c3RvbS1jb3VudGVyKSBcIi4gXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMjZweDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1hZHJlc3MtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtYWRyZXNzLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1hZHJlc3MtbGlzdCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWFkcmVzcy1saXN0IGxpICsgbGkge1xuICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy10ZXh0LWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtdGVhc2VyLXNlcnZpY2UgLmMtc2VjdGlvbi10aXRsZSAuYy10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtdGV4dC1saWdodCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNpemVzIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzYwcHgpIHtcblx0aDEsIC5jLWgxLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oM3tcblx0XHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHQtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRcdC1tb3otaHlwaGVuczogYXV0bztcblx0XHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdFx0aHlwaGVuczogYXV0bztcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTQwMHB4KSB7XHQgICAgXG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvbnQtc2l6ZS1yb290OiAxOHB4O1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMjogMi4ycmVtOyBcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHtcdCAgICBcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZm9udC1zaXplLWgxOiAyLjZyZW07IFxuICAgICAgICAtLWZvbnQtc2l6ZS1oMjogMnJlbTsgXG4gICAgICAgIC0tZm9udC1zaXplLWgzOiAxLjZyZW07IFxuICAgICAgICAtLWZvbnQtc2l6ZS1oNDogMS4yNXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkge1x0ICAgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtcm9vdDogMTZweDtcbiAgICAgICAgLS1mb250LXNpemUtaDE6IDIuMnJlbTsgXG4gICAgICAgIC0tZm9udC1zaXplLWgyOiAxLjhyZW07IFxuICAgICAgICAtLWZvbnQtc2l6ZS1oMzogMS40cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1oNDogMS4yNXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtYm9keTogMXJlbTtcbiAgICAgICAgLS1mb250LXNpemUtYm9keS1zOiAwLjg3NXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDozODBweCkge1x0ICAgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtaDE6IDEuOHJlbTsgXG4gICAgICAgIC0tZm9udC1zaXplLWgyOiAxLjRyZW07IFxuICAgICAgICAtLWZvbnQtc2l6ZS1oMzogMS4xMjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWg0OiAxcmVtO1xuICAgIH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXHR6LWluZGV4OiAxMDtcbn1cblxuLmMtaGVhZGVyLWlubmVyIHtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3c7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cblxuLmMtaGVhZGVyLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAyMDBweDtcblx0aGVpZ2h0OiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jLWhlYWRlci1sb2dvIGEge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtaGVhZGVyLXN0aWNreXtcblx0cG9zaXRpb246IGZpeGVkO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbGFuZyAvIG1haW4gbmF2XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCxcbi5jLW1haW4tbmF2LWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctdGl0bGUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCBsaSxcbi5jLW1haW4tbmF2LWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLWhlYWRlci1sYW5nLWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMC43NWVtO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ZW07XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMS41ZW07XG59XG5cbi53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgYSB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGEsXG4uYy1tYWluLW5hdi1saXN0IGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy10b3A6IDFlbTtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1oZWFkZXItbGFuZy1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLWhlYWRlci1sYW5nLWxpc3QgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSBhOjpiZWZvcmVcbi8qLmMtbWFpbi1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtIGE6OmJlZm9yZSovIHtcblx0aGVpZ2h0OiA2cHg7XG59XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QsXG4uYy1mb290ZXItc29jaWFsLWxpc3QsXG4uYy1mb290ZXItY29udGFjdC1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cblxuLmMtZm9vdGVyIGEsXG4uYy1mb290ZXIgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuLmMtZm9vdGVyIGE6aG92ZXIsXG4uYy1mb290ZXIgYTpmb2N1cyB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBtYWluXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb290ZXItbWFpbiAuYy1jb2wtOSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy1mb290ZXItbG9nbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xufVxuXG4uYy1mb290ZXItc29jaWFsLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAxNnB4IDAuNWVtIDA7XG59XG5cbi5jLWZvb3Rlci1jb250YWN0LFxuLmMtZm9vdGVyLW1haW4gLmMtY29sLTMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1mb290ZXItcGFkZGluZy1sb2dvKTtcbiAgICBcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERpc2NsYWltZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWNvcHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGEge1xuXHRvcGFjaXR5OiAwLjU7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgYTpob3Zlcixcbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgYTpmb2N1cyB7XG5cdG9wYWNpdHk6IDE7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyB0cmlnZ2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtdHJpZ2dlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICByaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuXHR3aWR0aDogNTBweDtcblx0aGVpZ2h0OiA1MHB4O1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YWZ0ZXIge1xuXHR3aWR0aDogMzBweDtcblx0dHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDI0cHg7XG5cdG1hcmdpbi10b3A6IC0xMnB4O1xuXHRib3JkZXItdG9wOiA0cHggc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcblx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjphZnRlciB7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46Zm9jdXM6OmFmdGVyLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpob3Zlcjo6YWZ0ZXIge1xuXHR3aWR0aDogMjRweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YWZ0ZXIge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgbmF2IG1haW4gY29udGFpbmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtbmF2IHtcblx0LypkaXNwbGF5OiBub25lOyovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHR6LWluZGV4OiAxMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0dHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLW91dCAwcztcbn1cbiNvcGVuLW5hdmlnYXRpb24ubmF2aWdhdGlvbiAuYy1vZmZjYW52YXMtbmF2XG4jb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1vZmZjYW52YXMtbmF2IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLW9mZmNhbnZhcy1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1vZmZjYW52YXMtY29udGVudCB7XG5cdHBhZGRpbmctdG9wOiAxZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctdGl0bGUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHtcblx0bWFyZ2luOiAxLjZlbSAwIDAgMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy10b3A6IDAuNzVlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ib3R0b206IDAuMjVlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cbi8qXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCAuY3VycmVudC1tZW51LWl0ZW0gYTo6YmVmb3Jle1xuXHRoZWlnaHQ6IDhweDtcbn0qL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBvcGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI29wZW4tbmF2aWdhdGlvbi5vcGVuLFxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuI29wZW4tbmF2aWdhdGlvbi5vcGVuLFxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuXHQuYy1vZmZjYW52YXMtbmF2IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cblx0XG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNob3dyb29tIC8gSW1nIGJpZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2hvd3Jvb20sXG4uYy1pbWctYmlnIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1zaG93cm9vbSxcbi5jLXNob3dyb29tLXRleHQgLmMtcm93LFxuLmMtaW1nLWJpZyB7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoOyBcbn1cblxuLyogbWluLWhlaWdodCBmaXggZm9yIGllMTEgKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICBcdC5jLXNob3dyb29tLXRleHQgLmMtcm93OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHQvKmRpc3BsYXk6IGJsb2NrOyovXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAwO1xuXHR9XG59XG5cbi5jLXNob3dyb29tLWltZyxcbi5jLXNob3dyb29tLW92ZXJsYXksXG4uYy1pbWctYmlnLWltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1zaG93cm9vbS1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMik7XG59XG5cbi5jLXNob3dyb29tLWltZyBpbWcsXG4uYy1pbWctYmlnLWltZyBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQmlrZSByZW50YWwgLyB0ZWFzZXItc2VydmljZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWJpa2VyZW50YWwsXG4uYy10ZWFzZXItc2VydmljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgVGVhbVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXRlYW0tbGlzdCB7XG4gICAgbWFyZ2luOiAwICRncmlkLXJvdztcbiAgICBtYXJnaW46IDAgdmFyKC0tZ3JpZC1yb3cpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXRlYW0tbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLXRlYW0taXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi5jLXRlYW0taW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ29udGFjdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFjdCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBcbn1cblxuLmMtY29udGFjdCAuYy1yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmMtY29udGFjdCAuYy1jb2wtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi5jLWNvbnRhY3QgLmMtY29sLTgge1xuICAgIG1pbi1oZWlnaHQ6IDY2dmg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbn1cblxuLmMtY29udGFjdC1tYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vLyBNYXAgZm9yIGJpa2UgdG91cnNcbi5jLXRvdXItbWFwe1xuICAgIGhlaWdodDogNjB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy1ib3gge1xuICAgIHBhZGRpbmc6IDEuNWVtIHZhcigtLWdyaWQtY29udGFpbmVyKTtcbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFJldmlld1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXJldmlldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4uYy1yZXZpZXcgLmVzLXJldmlldy1iYWNrZ3JvdW5kLWNvbnRhaW5lcixcbi5lcy1yZXZpZXctYmFja2dyb3VuZC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYy1yZXZpZXcgLmVzLWNhcm91c2VsLWFycm93LWNvbnRyb2wsIFxuLmVzLWNhcm91c2VsLWFycm93LWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLXJldmlldyAuZXMtYnVsbGV0cy1jb250cm9sLWl0ZW0sXG4uZXMtYnVsbGV0cy1jb250cm9sLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ5LDE4MCwzMSwwLjUpO1xufVxuXG4uYy1yZXZpZXcgLmVzLWJ1bGxldHMtY29udHJvbC1pdGVtLWFjdGl2ZSxcbi5lcy1idWxsZXRzLWNvbnRyb2wtaXRlbS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ5LDE4MCwzMSwxKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ29va2llIG5vdGljZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29va2llLW5vdGljZXtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDA7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGIyNDI2O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlcjogc29saWQgNHB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuXHRib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwIDA7XG59XG5cbi5jLWNvb2tpZS1ub3RpY2UgLmMtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgIFxuXHQuYy1jb29raWUtbm90aWNlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3R0b206IDA7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IHNvbGlkIDRweCAkYm9yZGVyLWJhc2ljO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGluayBjb2xvcnMgYW5kIHN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYVtocmVmXj1cInRlbDpcIl0ge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgYSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sJGNvbG9yLWhpZ2hsaWdodCAwJSwkY29sb3ItaGlnaGxpZ2h0IDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdmFyKC0tY29sb3ItaGlnaGxpZ2h0KSAwJSx2YXIoLS1jb2xvci1oaWdobGlnaHQpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAycHggMnB4O1xuICBcdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzO1xufVxuXG4uYy10ZXh0LWJsb2NrIGE6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLXNpemU6IDRweCA0cHg7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtYnRuLFxuLmMtdGV4dC1ibG9jayAuYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstYXJyb3csXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZG93bmxvYWQsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZXh0ZXJuLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWJhY2sge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgc2tpcCBsaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1za2lwLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICAgIFxuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAgMCwgMCAwLCAwIDApO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAgMCwgMCAwLCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxcHg7ICBcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAgICBcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyBcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMC41ZW0gMjBweDtcbn1cblxuLmMtc2tpcC1saW5rOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY2xpcDogYXV0bztcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBhdXRvOyAgICBcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDEuMTVlbSA0MHB4IDEuMTVlbSA0MHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5jLWJ0bixcbi5jLWJ0bjp2aXNpdGVkLFxuLmMtYnRuOmhvdmVyLCBcbi5jLWJ0bjpmb2N1cyB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuLmMtYnRuOjphZnRlciB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHotaW5kZXg6LTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi5jLWJ0bjpob3Zlcjo6YWZ0ZXIsXG4uYy1idG46Zm9jdXM6OmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG4uYy1idG4tc21hbGwsXG4uYy1idG4tc21hbGw6dmlzaXRlZCxcbi5jLWJ0bi1zbWFsbDpob3Zlcixcbi5jLWJ0bi1zbWFsbDpmb2N1cyB7XG4gICBwYWRkaW5nOiAwLjVlbSAyMHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGxpbmtzIHdpdGggaWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWljb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWljb246OmJlZm9yZSxcbi5jLWljb246OmFmdGVyIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5jLWxpbmstc29jaWFsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1saW5rLXNvY2lhbDpob3Zlcixcbi5jLWxpbmstc29jaWFsOmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi5jLWxpbmstc29jaWFsLWluc3RhZ3JhbTo6YmVmb3JlIHtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG5cdHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgICAgXG59XG5cbi5jLWxpbmstc29jaWFsLWZiOjpiZWZvcmUge1xuXHRib3R0b206IC0xcHg7XG5cdGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTExcHg7XG5cdHdpZHRoOiAyM3B4O1xuXHRoZWlnaHQ6IDQycHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7ICAgIFxufVxuXG4uYy1saW5rLWRvd25sb2FkLFxuLmMtbGluay1leHRlcm4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nKTtcbn1cblxuLmMtbGluay1kb3dubG9hZDo6YmVmb3JlIHtcbiAgICB0b3A6IC0wLjI1ZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAzMHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDBweDsgIFxufVxuXG4uYy1saW5rLWRvd25sb2FkOmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0xMDBweDsgIFxufVxuXG4uYy1saW5rLWV4dGVybjo6YmVmb3JlIHtcbiAgICB0b3A6IDAuMTVlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4OyAgXG59XG5cbi5jLWxpbmstZXh0ZXJuOmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWV4dGVybjpmb2N1czo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtMTQwcHg7ICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XHQgICAgXG4gICAgLmMtbGluay1kb3dubG9hZCxcbiAgICAuYy1saW5rLWV4dGVybntcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMjhlbTsgXG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJhdGlvIEJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcmF0aW9ib3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nLFxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcdFxufVxuXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5jLXJhdGlvYm94LTE2Ynk5IHtcblx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmMtcmF0aW9ib3gtNGJ5Myxcbi5jLXRlYW0taW1nIHtcblx0cGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLmMtcmF0aW9ib3gtMWJ5MSB7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uYy1yYXRpb2JveC1zaG93cm9vbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM4LjY5MDQ3NjE5MDQ3NjE5JTtcbn1cblxuLmMtcmF0aW9ib3gtc2hvd3Jvb20gaW1nLFxuLmMtdGVhbS1pbWcgaW1ne1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmlld3BvcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkAtbXMtdmlld3BvcnQge1xuXHR3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWVkaWFxdWVyaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTQ1MHB4KSB7XG5cdC8qIGNvbnRhaW5lciBtYXggd2lkdGggKi9cblx0LmMtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyxcbiAgICAuYy1hc3ltLWxlZnQtZWRnZWxlc3Mge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDcxMHB4ICsgNTAlKTtcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWFzeW0tY29sLWdyaWQge1xuICAgICAgICBmbGV4OiAwIDAgNjg2cHg7XG4gICAgICAgIG1heC13aWR0aDogNjg2cHg7IC8qIDEvMiBjb250ZW50IHdpZHRoIC0gMS8yIHBhZGRpbmcgKDQ4cHgpICovXG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWFzeW0tY29sLWVkZ2VsZXNzIHtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoMTAwJSAtIDY4NnB4KTsgXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjg2cHgpOyAvKiB3aWR0aCAtIDEvMiBwYWRkaW5nICg0OHB4KSAqL1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjE0MDBweCkgeyAgXG5cdC5jLWhlYWRlci1sb2dvIHtcblx0XHR3aWR0aDogMTYwcHg7XG4gICAgICAgIGhlaWdodDogMTYwcHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEyMDBweCkge1xuICAgIC5jLXNob3dyb29tLXRleHQgLmMtY29sLTgge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcbiAgICAuYy10ZXh0LWltZyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWNvbC02IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nICsgLmMtYmlrZXJlbnRhbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZy1sKSAqIC0xLjUpO1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLWwpICsgdmFyKC0tc3BhY2luZy1tKSk7XG4gICAgICAgIHotaW5kZXg6LTE7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTEwMHB4KSB7XG4gICAgLmMtZm9vdGVyLWNvbnRhY3Qge1xuICAgICAgICBtaW4td2lkdGg6IDUwMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExMDBweCkgeyAgXG4gICAgLmMtbWFpbi1uYXYtbGlzdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHsgIFxuXHQuYy1jb250YWN0IC5jLWNvbC00LFxuICAgIC5jLWNvbnRhY3QgLmMtY29sLTh7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHRcblx0LmMtbWFpbi1uYXYsXG4gICAgLmMtaGVhZGVyLWxhbmcge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbiAgICBcbiAgICAuYy1oZWFkZXItbG9nbyB7XG5cdFx0d2lkdGg6IDExMHB4O1xuICAgICAgICBoZWlnaHQ6IDExMHB4O1xuXHR9XG4gICAgXG4gICAgLmMtdGVhc2VyLXNlcnZpY2UtaW1nIC5jLWNvbC03LFxuICAgIC5jLXRlYXNlci1zZXJ2aWNlLWltZyAuYy1jb2wtNSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItc2VydmljZS1pbWcgLmMtdGVhc2VyLXNlcnZpY2UtbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLXNlcnZpY2UtaW1nIC5jLXRlYXNlci1zZXJ2aWNlLWxpbmtzOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKHZhcigtLWdyaWQtY29sKSAqIDIpKTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci1zZXJ2aWNlLWltZyAuYy10ZWFzZXItc2VydmljZS1saW5rcyAuYy1saW5rLWxpc3Qge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjAwcHgpIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtYWRyZXNzLWxpc3Qge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdH1cbiAgICBcbiAgICAuYy10ZXh0LWJsb2NrIC5jLWFkcmVzcy1saXN0IGxpIHtcblx0XHRmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcblx0fVxuICAgIFxuICAgIC5jLXRleHQtYmxvY2sgLmMtYWRyZXNzLWxpc3QgbGkgKyBsaSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAxcHgpIHsgIFxuICAgIC5jLWZvb3Rlci1jb250YWN0LWxpc3Qge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9XG5cbiAgICAuYy1mb290ZXItY29udGFjdC1saXN0IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbn1cblxuLyogaGVhZGVyIHNob3cgb2ZmY2FudmFzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHsgIFxuXHRcbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtOSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtMyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LW9ubHkgLmMtY29sLTgsXG5cdC5jLW1haW4tdGl0bGUgLmMtY29sLTgsXG5cdC5jLXNlY3Rpb24tdGl0bGUgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo4MDFweCkge1xuICAgIC5jLXRlYXNlci1zZXJ2aWNlLWxpbmtzOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDRweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci1zZXJ2aWNlIC5jLWxpbmstbGlzdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItc2VydmljZS1saW5rcyAuYy1idG4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4MDBweCkgeyAgXG5cdC5jLXRleHQtaW1nIC5jLWNvbC02LFxuICAgIC5jLXRlYW0gLmMtY29sLTUsXG4gICAgLmMtdGVhbSAuYy1jb2wtNyB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDEuNmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcblx0fVxuICAgIFxuICAgIC5jLXRlYW0gLmMtY29sLTUge1xuXHRcdHBhZGRpbmctYm90dG9tOiAxLjZlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG5cdH1cbiAgICBcbiAgICAuYy10ZWFzZXItc2VydmljZSAuYy1jb2wtNyxcbiAgICAuYy10ZWFzZXItc2VydmljZSAuYy1jb2wtNSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItc2VydmljZS1saW5rcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItc2VydmljZS1saW5rczo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICh2YXIoLS1ncmlkLWNvbCkgKiAyKSk7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICBcblx0LmMtdGV4dC1vbmx5IC5jLWNvbC04LFxuXHQuYy1tYWluLXRpdGxlIC5jLWNvbC04LFxuXHQuYy1zZWN0aW9uLXRpdGxlIC5jLWNvbC04LFxuICAgIC5jLXRleHQtaW1nIC5jLWNvbC02LFxuICAgIC5jLXNob3dyb29tLXRleHQgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpOyAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtOSxcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtMyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWxvZ28ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItc29jaWFsLWxpc3QgbGkge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSA4cHggMC41ZW0gOHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtOSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lciBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMWVtIDAuNWVtIDFlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXItY29weSB7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwIDAgMDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NjBweCkgeyBcbiAgICAuYy10ZWFzZXItc2VydmljZS1pbWcgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLXNlcnZpY2UtaW1nIC5jLWNvbC02ICsgLmMtY29sLTYge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1MDBweCkgeyAgXG5cdC5jLXRlYW0tbGlzdCBsaSB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbiAgICBcbiAgICAuYy1saW5rLWxpc3QgLmMtYnRuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBDU1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAgIC8qIGJhc2Ugc3R5bGVzICovXG4gICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXHRcblx0YSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgXG4gICAgLmMtaXIgYTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgYVtocmVmXTphZnRlciB7XG5cdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHQgIH1cbiAgICBcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgXG4gICAgfVxuICAgIFxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICAgICBcbiAgICBAcGFnZSB7XG4gICAgICAgIG1hcmdpbjogMC41Y207XG4gICAgfVxuICAgIFxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuICAgIFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgYnJlYWstYWZ0ZXI6YXZvaWQ7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG5cdFxuXHRodG1sLFxuXHRib2R5IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0LypvdmVyZmxvdzogYXV0bzsqL1xuXHR9XG4gICAgXG4gICAgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZToxMnB4OyAgICBcbiAgICB9XG5cdFxuXHRoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0fVxuXHRcblx0LmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oMyxcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHRcblx0LyogcHJvamVjdCBzdHlsZXMgKi9cblx0LmMtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHR9XG5cdFxuXHQuYy1mb290ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/