/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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
   ========================================================================== */
/* ==========================================================================
   Project Fonts
   ========================================================================== */
@font-face {
  font-family: "radikal";
  src: url(radikal-light_50a8.eot);
  src: url(radikal-light_50a8.eot?#iefix) format("embedded-opentype"), url(radikal-light_617d.woff2) format("woff2"), url(radikal-light_5423.woff) format("woff"), url(radikal-light_6f2a.ttf) format("truetype");
  font-weight: 300;
  font-style: normal;
  font-stretch: normal;
  font-display: fallback;
}
@font-face {
  font-family: "radikal";
  src: url(radikal-lightitalic_2be6.eot);
  src: url(radikal-lightitalic_2be6.eot?#iefix) format("embedded-opentype"), url(radikal-lightitalic_0c45.woff2) format("woff2"), url(radikal-lightitalic_4fea.woff) format("woff"), url(radikal-lightitalic_fd3e.ttf) format("truetype");
  font-weight: 300;
  font-style: italic;
  font-stretch: normal;
  font-display: fallback;
}
@font-face {
  font-family: "radikal";
  src: url(radikal-black_3a5e.eot);
  src: url(radikal-black_3a5e.eot?#iefix) format("embedded-opentype"), url(radikal-black_986f.woff2) format("woff2"), url(radikal-black_0043.woff) format("woff"), url(radikal-black_6507.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-stretch: normal;
  font-display: fallback;
}
/* Variables, Naming may vary from project to project */
/* ==========================================================================
   Fonts
   ========================================================================== */
/* ==========================================================================
   Colors
   ========================================================================== */
/* text */
/* grey */
/* blue */
/* green */
/* background */
/* grey */
/* grey */
/* line-colors */
/* ==========================================================================
   Padding
   ========================================================================== */
/* padding header */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  --form-field-bg: rgba(226,229,233,0.3);
}

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

.c-figure-padding {
  padding-bottom: 1.5em;
}

/* ==========================================================================
   Form Placeholder
   ========================================================================== */
/* ==========================================================================
   Fonts smoothing
   ========================================================================== */
/* ==========================================================================
   hide'n'show
   ========================================================================== */
/* ==========================================================================
  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;
}

/* ==========================================================================
   Saas Tools (imported from node_modules)
   ========================================================================== */
/*@import 'scut/dist/scut';*/
/*@import 'sass-mq/mq';*/
/* ==========================================================================
   Components
   ========================================================================== */
/* styles for every project */
/* ==========================================================================
   Base Project
   ========================================================================== */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  color: #2A2228;
  -webkit-tap-highlight-color: transparent;
}

/* links */
a {
  text-decoration: none;
}

a,
a:visited,
a:focus,
a:hover {
  color: #2A2228;
}

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

.is-invisible {
  opacity: 0;
  max-height: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #2A2228;
  font-family: inherit;
}

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

.c-content {
  overflow: hidden;
}

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-teaser-2col .c-teaser-item,
.c-teaser-team .c-teaser-item,
.c-teaser-big-text-inner,
.c-text-3col .c-col-4 {
  padding-bottom: 6em;
}

.c-showroom-text-inner {
  padding-bottom: 7em;
}

.c-color-change-top,
.c-showroom-text-inner,
.c-teaser-big-text-inner {
  padding-top: 6em;
}

.c-color-change-bottom {
  margin-bottom: 6em;
}

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

.c-col-img-var {
  padding-top: 6em;
  padding-bottom: 6em;
  align-self: center;
}

.c-img-var-align-top {
  align-self: flex-start;
  padding-top: 0;
}

.c-img-var-align-bottom {
  align-self: flex-end;
  padding-bottom: 0;
}

.c-title-main {
  padding-top: 10em;
}

.c-teaser-service-text {
  padding-top: 1.7em;
  padding-bottom: 1.7em;
}

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

.c-row {
  margin-right: -15px;
  margin-left: -15px;
  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 .c-cta:last-child {
  margin-bottom: 6em;
}

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

.c-row-center-content {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-row-center-content .c-btn {
  margin-bottom: 2em;
}

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

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

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

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

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

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

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

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

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

.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-img-tiles .c-row {
  margin-left: 0;
  margin-right: 0;
}

.c-img-tiles .c-col-4 {
  padding-left: 0;
  padding-right: 0;
}

/*
.c-teaser-service .c-row {
	margin-right: 0;
	margin-left: 0;
}

.c-teaser-service .c-teaser-service-img {
	padding-left: 0;
	padding-right: 0;
}

.c-teaser-service .c-teaser-service-text {
	padding-left: 30px;
	padding-right: 30px;
}



.c-teaser-service-video{
    position: relative;
    padding: 0px!important;
    border: 0px;
    margin-bottom: -10px;
}

.c-teaser-service-video-text{
    position: absolute;
    left: 50%;
    top: 30%;
}
*/
/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 20px;
  font-family: "radikal", "Arial", "Helvetica", sans-serif;
  font-weight: 300;
}

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

h1,
.c-h1,
.c-link-cta,
.c-keyfacts-nr {
  line-height: 1.2;
  font-size: 4rem; /* 80px */
}

h1,
.c-h1 {
  font-weight: 600;
  color: #2E1AA9;
}

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

h2,
.c-h2 {
  padding-bottom: 0.6em;
  line-height: 1.2;
  font-size: 3rem; /* 60px */
  font-weight: 600;
}

h3,
.c-h3 {
  line-height: 1.5;
  font-size: 1.8rem; /* 36px */
  font-weight: 600;
  padding-bottom: 0.6em;
}

h4,
.c-h4 {
  line-height: 1.5;
  font-size: 1rem;
  font-weight: 600;
  padding-bottom: 0.6em;
}

.c-header-navigation {
  font-size: 1.8rem; /* 36px */
}

.c-teaser-title {
  font-size: 2.2rem; /* 44px */
  line-height: 1.2;
}

.c-category-title,
.c-keyfacts-desc {
  display: block;
  font-size: 0.8rem; /* 16 px */
  text-transform: uppercase;
  font-weight: 300;
}

.c-category-title {
  display: block;
  padding-bottom: 1.5em;
}

.c-title-main .c-category-title {
  color: #2E1AA9;
}

h2.c-category-title {
  padding-bottom: 2rem;
}

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

.c-text-block p,
.c-text-block .c-list-social + p {
  padding-bottom: 1.7rem;
}

.c-text-block p + h3,
.c-text-block p + h4 {
  padding-top: 1.7em;
}

.c-footer,
.c-text-small,
.c-profile-list,
.c-footer-shop {
  font-size: 0.8rem; /* 16 px */
}

.c-lead,
.c-text-block .c-lead {
  font-size: 1.8rem; /* 36px */
  line-height: 1.5;
  font-weight: 600;
}

.c-line {
  position: relative;
  display: inline-block;
}

.c-line::before {
  content: "";
  position: absolute;
  width: 128px;
  height: 4px;
  left: 0;
  top: 0;
  background-color: #2E1AA9;
}

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

.c-footer .c-line::before {
  background-color: #d6d6d6;
}

.c-subline-number {
  display: block;
  font-weight: 600;
  color: #2E1AA9;
  margin-bottom: 2em;
}

.c-subline-number::before {
  top: 100%;
}

.c-legend {
  display: block;
  padding-top: 2.5em;
  font-style: italic;
  color: #605D6A;
}

.c-legend .c-line {
  padding-top: 2em;
}

.c-link-cta {
  font-weight: 300;
}

.c-title-footer {
  font-weight: 600;
  text-transform: uppercase;
}

.c-keyfacts-nr {
  display: block;
  font-weight: 600;
  padding-top: 2rem;
  padding-bottom: 0.25rem;
}

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

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

.c-text-block ul li:before {
  content: "•";
  position: absolute;
  left: 0;
  top: -0.1em;
  color: #2E1AA9;
  font-weight: 600;
}

.c-text-block li + li {
  margin-top: 0.725rem;
}

.c-text-block ol {
  margin: 0;
  padding: 0 0 1.5em 20px;
}

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

.c-list-social li,
.c-text-block .c-list-social li {
  display: inline-block;
  padding-left: 0;
  padding-right: 8px;
}

.c-text-block .c-list-social li::before {
  content: "";
}

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

.c-text-img-2col-symmetric .c-list-social {
  padding-bottom: 1.7rem;
}

/* ==========================================================================
   Features
   ========================================================================== */
.c-features-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: solid 2px #E2E5E9;
}

.c-features-list li {
  position: relative;
  padding: 0.8em 0 0.8em 30px;
  border-bottom: solid 2px #E2E5E9;
}

.c-features-nr {
  position: absolute;
  top: 1rem;
  left: 0;
  opacity: 0.3;
}

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

.c-text-block blockquote p {
  position: relative;
  padding: 0;
  line-height: 1.5;
  font-size: 1.8rem; /* 36px */
  font-weight: 600;
  color: #2E1AA9;
}

.c-text-block blockquote p::before {
  content: "“";
  display: block;
  position: absolute;
  left: -0.55em;
  top: -0.5em;
  font-size: 500%;
  color: #00D4B4;
}

.c-text-block blockquote cite {
  display: block;
  padding-top: 2.5em;
  font-style: normal;
  color: #605D6A;
}

/* testimonial */
.c-testimonial .c-text-block blockquote {
  padding-top: 4em;
}

.c-testimonial .c-text-block blockquote p {
  font-size: 1.3rem; /* 30px */
}

.c-testimonial .c-text-block blockquote p::before {
  left: 0;
  top: -0.9em;
}

.c-testimonial .c-text-block blockquote cite {
  padding-top: 2em;
}

.c-text-light .c-text-block blockquote p,
.c-text-light .c-text-block blockquote cite {
  color: #fff;
}

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

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

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

/* ==========================================================================
   Profile list
   ========================================================================== */
.c-profile-list {
  display: block;
  margin: 0.7em 0 0 0;
  padding: 0;
  list-style: none;
}

.c-profile-list li:first-child {
  padding-top: 2em;
}

.c-profile-list li {
  padding-bottom: 1.7em;
}

/* ==========================================================================
   Text sizes responsive
   ========================================================================== */
@media only screen and (min-width: 1500px) {
  h1, .c-h1,
.c-link-cta,
.c-keyfacts-nr {
    font-size: 5rem; /* 100px */
  }
  h2, .c-h2 {
    font-size: 4rem; /* 80px */
  }
  h3, .c-h3,
.c-lead,
.c-text-block .c-lead,
.c-text-block blockquote p,
.c-header-navigation {
    font-size: 2rem; /* 40 px */
  }
  .c-teaser-title {
    font-size: 3rem; /* 60 px */
  }
  .c-profile-list {
    font-size: 1rem;
  }
  .c-text-2col .c-col-5 {
    padding-top: 1em;
  }
}
@media only screen and (min-width: 1101px) and (max-width: 1499px) {
  .c-text-2col .c-col-5 {
    padding-top: 0.79em;
  }
}
@media only screen and (max-width: 1100px) {
  html {
    font-size: 18px;
  }
}
@media only screen and (min-width: 881px) and (max-width: 1100px) {
  .c-text-2col .c-col-5 {
    padding-top: 0.76em;
  }
}
@media only screen and (max-width: 850px) {
  .c-teaser-title {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
  h1, .c-h1,
.c-link-cta,
.c-keyfacts-nr {
    font-size: 2.5rem; /* 40px */
  }
  h2, .c-h2,
.c-teaser-title {
    font-size: 2rem; /* 32px */
  }
  h3, .c-h3,
.c-lead,
.c-text-block .c-lead,
.c-text-block blockquote p,
.c-teaser-title,
.c-header-navigation {
    font-size: 1.5rem; /*24px */
  }
  .c-footer,
.c-text-small,
.c-profile-list,
.c-category-title,
.c-keyfacts-desc,
.c-footer-shop {
    font-size: 0.875rem; /* 14 px */
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  padding-top: 3rem;
  padding-bottom: 12px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  z-index: 1000;
}
.c-header.fixed {
  position: fixed;
}

.c-header-logo {
  position: relative;
  width: 210px;
  z-index: 1;
  margin-left: 2px !important;
}

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

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

.c-text-light .c-header-logo .logo-color {
  fill: #fff;
}
.c-text-light .c-header-logo .logo-color.dark {
  fill: #2E1AA9;
}

#lottie {
  position: absolute;
  width: 100%;
}

/* css for ie 11, controls height of lottie */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  #lottie {
    height: 24px;
  }
}
.c-header-logo-fallback {
  margin-top: -0.5px;
  position: absolute;
  width: 100%;
}
.c-header-logo-fallback.dark .logo-color {
  fill: #2E1AA9 !important;
}

.c-text-light #__lottie_element_25 stop,
.c-text-light .c-header-logo .logo-color-gradient {
  stop-color: #fff;
}

.c-text-light .c-header-logo .dark .logo-color-gradient {
  stop-color: #2E1AA9 !important;
}

@media only screen and (max-width: 600px) {
  .c-header-logo-fallback {
    margin-top: -4px;
  }
}
/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 4em;
  padding-bottom: 4em;
  background-color: #333333;
  color: #d6d6d6;
}

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

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

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

.c-footer-disclaimer-list li {
  display: inline-block;
}

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

.c-footer-nav-list {
  text-transform: uppercase;
}

.c-footer-nav-list li + li {
  padding-top: 0.5em;
}

.c-footer-nav-list li.c-active a,
.c-footer-disclaimer-list li.c-active a {
  color: #00D4B4;
}

.c-footer a,
.c-footer a:visited {
  color: #d6d6d6;
}

.c-footer a:hover,
.c-footer a:focus {
  color: #00D4B4;
}

.c-footer-line {
  margin-top: 2.5em;
  padding-top: 2em;
}

.c-footer .c-list-social {
  margin-top: 2.5em;
}

.c-footer-logo {
  padding-bottom: 0.25em;
  width: 130px;
  opacity: 0.8;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer-partner .c-category-title {
  font-size: 0.8em;
}

.c-footer-partner-list {
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  align-items: center;
}

.c-footer-partner-list li {
  padding-right: 40px;
}

.c-footer-link-swissmade,
.c-footer-link-django,
.c-footer-link-wordpress,
.c-footer-link-gislerprotokoll {
  position: relative;
  width: 100px;
  height: 77px;
}

.c-footer-link-django,
.c-footer-link-wordpress {
  margin-top: 40px;
}

.c-footer-link-swissmade::before {
  content: "";
  position: absolute;
  background-image: url(logo-swissmade_04bb.svg);
  background-repeat: no-repeat;
  width: 100px;
  height: 77px;
  left: 0;
  top: 0;
  background-positon: 0 0;
}

.c-footer-link-swissmade:hover::before {
  background-position: 0 -100px;
}

.c-footer-link-django {
  height: 23px;
}

.c-footer-link-django::before {
  content: "";
  position: absolute;
  background-image: url(logo-partner-django_1715.svg);
  background-repeat: no-repeat;
  width: 100px;
  height: 23px;
  left: 0;
  top: 0;
  background-positon: 0 0;
}

.c-footer-link-django:hover::before {
  background-position: 0 -100px;
}

.c-footer-link-wordpress {
  width: 45px;
  height: 46px;
}

.c-footer-link-wordpress::before {
  content: "";
  position: absolute;
  background-image: url(logo-partner-wordpress_e435.svg);
  background-repeat: no-repeat;
  width: 45px;
  height: 46px;
  left: 0;
  top: 0;
  background-positon: 0 0;
}

.c-footer-link-wordpress:hover::before {
  background-position: 0 -100px;
}

.c-footer-link-gislerprotokoll {
  margin-top: 40px;
  width: 114px;
  height: 38px;
}

.c-footer-link-gislerprotokoll::before {
  content: "";
  position: absolute;
  background-image: url(logo-member-gisler_bf7e.svg);
  background-repeat: no-repeat;
  width: 114px;
  height: 38px;
  left: 0;
  top: 0;
  background-positon: 0 0;
}

.c-footer-link-gislerprotokoll:hover::before {
  background-position: 0 -100px;
}

/* ==========================================================================
   Footer Carbon
   ========================================================================== */
.c-footer-carbon-container {
  display: inline-block;
  margin: 0.4em auto 0 0;
}

.c-footer #wcb.carbonbadge {
  --b1: #2E1AA9;
  --b2: #00D4B4;
}

.c-footer #wcb #wcb_a,
.c-footer #wcb #wcb_g {
  font-family: "radikal", "Arial", "Helvetica", sans-serif;
}

/* optional styles */
.scrollbar-test {
  overscroll-behavior: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

#open-navigation {
  min-height: 100%;
}

/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-toggle {
  display: block;
  height: 40px;
  margin-top: -8px;
  position: absolute;
  right: 30px;
  top: 0;
  width: 40px;
  z-index: 1200;
}
@media only screen and (max-width: 600px) {
  .c-offcanvas-toggle {
    margin-top: -10px;
  }
}
.c-offcanvas-toggle:hover {
  cursor: pointer;
}
.c-offcanvas-toggle:hover.open:after {
  width: 30px;
}
.c-offcanvas-toggle:hover.open:before {
  width: 24px;
}
.c-offcanvas-toggle:hover.close:after {
  width: 40px;
  margin-right: -5px;
}
.c-offcanvas-toggle:hover.close:before {
  width: 40px;
  margin-right: -5px;
}
.c-offcanvas-toggle:after, .c-offcanvas-toggle:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  z-index: -1;
}
.c-offcanvas-toggle.open:after {
  background-color: #00D4B4;
  margin-top: -2px;
  height: 4px;
  width: 24px;
  transition: width 0.2s ease-in-out;
}
.c-offcanvas-toggle.open:before {
  border-bottom: 4px solid #00D4B4;
  border-top: 4px solid #00D4B4;
  height: 24px;
  margin-top: -12px;
  width: 30px;
  transition: width 0.2s ease-in-out;
}
.c-offcanvas-toggle.close {
  margin-top: calc(3rem - 8px);
}
@media only screen and (max-width: 600px) {
  .c-offcanvas-toggle.close {
    margin-top: calc(3rem - 10px);
  }
}
.c-offcanvas-toggle.close:after {
  background-color: #00D4B4;
  margin-top: -2px;
  height: 4px;
  width: 30px;
  transform: rotate(45deg);
  transition: all 0.5s;
}
.c-offcanvas-toggle.close:before {
  background-color: #00D4B4;
  margin-top: -2px;
  height: 4px;
  width: 30px;
  transform: rotate(-45deg);
  transition: all 0.5s;
}

/* ==========================================================================
   Language nav
   ========================================================================== */
.c-language-navigation {
  line-height: 1;
}
@media only screen and (min-width: 600px) {
  .c-language-navigation {
    margin-top: 3rem;
    position: absolute;
    right: 100px;
    top: 0;
    width: 30em;
  }
}

.c-language-navigation-title {
  font-weight: 300;
  margin: 0;
  padding: 0 0 0.5em 0;
  opacity: 0.5;
}
@media only screen and (min-width: 600px) {
  .c-language-navigation-title {
    display: inline-block;
  }
}

.c-lang-menu {
  position: relative;
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;
}
.c-lang-menu .menu-item {
  display: inline-block;
  padding-left: 1em;
}

/* ==========================================================================
   Offcanvas nav
   ========================================================================== */
.c-decoration {
  background-color: #fff;
  height: 100%;
  min-width: 300px;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(300%);
  transition: opacity 0.1s ease-out, transform 0.4s ease-out;
  width: 300px;
}
.c-decoration:after {
  background-color: #fff;
  position: absolute;
  content: "";
  bottom: 0;
  left: 100%;
  width: 400%;
  height: 100%;
  /*border-top: 300vw solid $bg-content;
  border-top-color: rgb(255, 255, 255);
  border-left: 82vw solid transparent;*/
  z-index: 1;
  /*-moz-transform: scale(.9999)*/
}
.c-decoration:before {
  position: absolute;
  content: "";
  bottom: 0;
  right: calc(100% - 1px);
  width: 0;
  height: 0;
  /*border-top: 300vw solid $bg-content;
  border-top-color: rgb(255, 255, 255);
  border-left: 82vw solid transparent;*/
  border-top: 220vh solid #fff;
  border-top-color: rgb(255, 255, 255);
  border-left: 56vh solid rgba(255, 255, 255, 0);
  z-index: 1;
  -moz-transform: scale(0.9999);
}

.c-off-canvas {
  overflow: hidden;
  position: absolute;
  right: 0;
  text-align: right;
  top: 0;
  width: 100%;
}

.c-offcanvas-nav {
  padding-top: 6em;
}
@media only screen and (max-width: 600px) {
  .c-offcanvas-nav {
    padding-top: 4em;
  }
}

.c-header-navigation {
  margin: 0;
  padding: 0;
  list-style: none;
  transition: max-height 1s ease-in-out;
  text-align: right;
  font-weight: 600;
  text-transform: uppercase;
}

.c-header-navigation,
.c-additional-content {
  opacity: 0;
  transform: translateX(100%);
  transition: transform 0.2s ease-in-out 0.2s, opacity 0.4s ease-in-out 0.2s;
}

.c-header-navigation .menu-item + .menu-item {
  padding-top: 0.35em;
}
@media only screen and (max-width: 600px) {
  .c-header-navigation .menu-item + .menu-item {
    padding-top: 0.7em;
  }
}

.c-header-navigation .menu-item-link {
  display: inline-block;
  position: relative;
  padding: 0.05em 0.1em 0.05em 1em;
  z-index: 1;
}

.c-header-navigation .menu-item-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #00D4B4;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#00d4b4+0,00d4b4+50,00d4b4+100&0+0,1+50,1+100 */
  background: -moz-linear-gradient(left, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#0000d4b4", endColorstr="#00d4b4",GradientType=1 ); /* IE6-9 */
  transition: width 0.2s ease-out;
  z-index: -1;
}

.c-header-navigation .menu-item-link:hover::before,
.c-header-navigation .c-active .menu-item-link::before {
  width: 100%;
}

.c-header-navigation a,
.c-header-navigation a:hover,
.c-header-navigation a:focus,
.c-text-light .c-header-navigation a,
.c-text-light .c-header-navigation a:hover,
.c-text-light .c-header-navigation a:focus,
.c-additional-content a,
.c-additional-content a:hover,
.c-additional-content a:focus,
.c-text-light .c-additional-content a,
.c-text-light .c-additional-content a:hover,
.c-text-light .c-additional-content a:focus {
  color: #2A2228;
}

.c-additional-content {
  position: relative;
  padding-top: 2em;
  margin-top: 5em;
  overflow: hidden;
}
.c-additional-content p + p {
  padding-top: 0.8em;
}

.c-additional-content::before,
.c-text-light .c-additional-content::before {
  background-color: #2E1AA9;
  left: auto;
  right: 0;
}

/* ==========================================================================
   Offcanvas nav close
   ========================================================================== */
#open-navigation.close-navigation,
#open-navigation:not(:target) {
  top: auto;
  height: auto;
  /*.c-inner-off-canvas{
  	@media only screen and (min-width: 1600px){
  		max-width: 1560px;
  	    margin-left: auto;
  	    margin-right: auto;
  		position: relative;
  	}
  }*/
}
#open-navigation.close-navigation .c-inner-off-canvas,
#open-navigation:not(:target) .c-inner-off-canvas {
  min-height: 0vh;
  height: 0px;
  transition: min-height 0s ease-out 0s, max-width 0.4s ease-out 0s;
}
#open-navigation.close-navigation .c-decoration,
#open-navigation:not(:target) .c-decoration {
  transition: opacity 0s ease-out 0s, transform 0.4s cubic-bezier(0, 0.4, 0.6, 1);
}
#open-navigation.close-navigation .c-offcanvas-toggle.close,
#open-navigation:not(:target) .c-offcanvas-toggle.close {
  display: none;
}
#open-navigation.close-navigation .c-offcanvas-toggle.open,
#open-navigation:not(:target) .c-offcanvas-toggle.open {
  display: block;
}
@media only screen and (max-width: 600px) {
  #open-navigation.close-navigation .c-language-navigation,
#open-navigation:not(:target) .c-language-navigation {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
  }
}
#open-navigation.close-navigation .c-additional-content,
#open-navigation.close-navigation .c-header-navigation,
#open-navigation:not(:target) .c-additional-content,
#open-navigation:not(:target) .c-header-navigation {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

/* ==========================================================================
   Offcanvas nav open
   ========================================================================== */
#open-navigation.open-navigation,
#open-navigation:target {
  top: auto;
  height: auto;
  overflow: auto;
  overflow-y: hidden;
  position: relative;
  width: 100%;
  z-index: 1000;
}
#open-navigation.open-navigation .layout-scrollbar-obtrusive,
#open-navigation:target .layout-scrollbar-obtrusive {
  padding-right: 18px;
}
@media only screen and (min-width: 1100px) {
  #open-navigation.open-navigation .layout-scrollbar-obtrusive,
#open-navigation:target .layout-scrollbar-obtrusive {
    padding-right: 16px;
  }
}
#open-navigation.open-navigation .layout-scrollbar-obtrusive .c-header,
#open-navigation:target .layout-scrollbar-obtrusive .c-header {
  padding-right: 18px;
}
@media only screen and (min-width: 1100px) {
  #open-navigation.open-navigation .layout-scrollbar-obtrusive .c-header,
#open-navigation:target .layout-scrollbar-obtrusive .c-header {
    padding-right: 16px;
  }
}
#open-navigation.open-navigation .c-header,
#open-navigation:target .c-header {
  min-height: 100vh;
}
#open-navigation.open-navigation .c-header-logo,
#open-navigation:target .c-header-logo {
  opacity: 0.6;
}
#open-navigation.open-navigation:before,
#open-navigation:target:before {
  background-color: #2E1AA9;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.6;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 900;
}
#open-navigation.open-navigation .c-scroll-canvas,
#open-navigation:target .c-scroll-canvas {
  overflow-y: scroll;
}
#open-navigation.open-navigation .c-off-canvas,
#open-navigation:target .c-off-canvas {
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  z-index: 1000;
}
#open-navigation.open-navigation .c-off-canvas .c-inner-off-canvas,
#open-navigation:target .c-off-canvas .c-inner-off-canvas {
  min-width: 300px;
  min-height: 100vh;
  height: auto;
  padding-top: 3rem;
  padding-bottom: 4rem;
}
#open-navigation.open-navigation .c-off-canvas .c-inner-off-canvas .c-decoration,
#open-navigation:target .c-off-canvas .c-inner-off-canvas .c-decoration {
  opacity: 1;
  transform: translateX(0);
}
#open-navigation.open-navigation .c-offcanvas-toggle.close,
#open-navigation:target .c-offcanvas-toggle.close {
  display: block;
}
#open-navigation.open-navigation .c-offcanvas-toggle.open,
#open-navigation:target .c-offcanvas-toggle.open {
  display: none;
}
@media only screen and (max-width: 600px) {
  #open-navigation.open-navigation .c-language-navigation,
#open-navigation:target .c-language-navigation {
    border: none;
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    padding: 0;
    position: static;
    width: auto;
    white-space: normal;
    padding-bottom: 3em;
  }
}
#open-navigation.open-navigation .c-additional-content,
#open-navigation.open-navigation .c-header-navigation,
#open-navigation:target .c-additional-content,
#open-navigation:target .c-header-navigation {
  border: none;
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  padding: 0;
  position: static;
  width: auto;
  white-space: normal;
  opacity: 1;
  transform: translateX(0);
}
#open-navigation.open-navigation .c-additional-content,
#open-navigation:target .c-additional-content {
  padding-top: 2em;
  margin-top: 5em;
}
#open-navigation.open-navigation .c-text-light .c-language-navigation,
#open-navigation.open-navigation .c-text-light .c-lang-menu a,
#open-navigation.open-navigation .c-text-light .c-lang-menu a:hover,
#open-navigation.open-navigation .c-text-light .c-lang-menu a:focus,
#open-navigation:target .c-text-light .c-language-navigation,
#open-navigation:target .c-text-light .c-lang-menu a,
#open-navigation:target .c-text-light .c-lang-menu a:hover,
#open-navigation:target .c-text-light .c-lang-menu a:focus {
  color: #2A2228;
}

/*@import "components/_tables";*/
/* ==========================================================================
   Contentelements
   ========================================================================== */
/* small elements that don't need their own .scss */
/* ==========================================================================
   Colors
   ========================================================================== */
.c-bg-dark {
  background-color: #333333;
}

.c-bg-light {
  background-color: #E2E5E9;
}

.c-bg-primary {
  background-color: #2E1AA9;
}

.c-bg-service-primary {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#2e1aa9+0,000290+100 */
  background: rgb(46, 26, 169); /* Old browsers */
  background: -moz-linear-gradient(top, rgb(46, 26, 169) 0%, rgb(0, 2, 144) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgb(46, 26, 169) 0%, rgb(0, 2, 144) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(46, 26, 169) 0%, rgb(0, 2, 144) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#2e1aa9", endColorstr="#000290",GradientType=0 ); /* IE6-9 */
}

.c-bg-service-primary-horizon {
  background: #2d1aa8 url(background_horizon_blue_e607.jpg) repeat-x 0 0;
}

.c-bg-service-highlight {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#44f1cf+0,00bc9d+100 */
  background: rgb(68, 241, 207); /* Old browsers */
  background: -moz-linear-gradient(top, rgb(68, 241, 207) 0%, rgb(0, 188, 157) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgb(68, 241, 207) 0%, rgb(0, 188, 157) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(68, 241, 207) 0%, rgb(0, 188, 157) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#44f1cf", endColorstr="#00bc9d",GradientType=0 ); /* IE6-9 */
}

.c-bg-service-highlight-horizon {
  background: #00b799 url(background_horizon_green_c895.jpg) repeat-x 0 0;
}

.c-bg-service-light {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e8e8e8+0,b6b6b6+100 */
  background: rgb(232, 232, 232); /* Old browsers */
  background: -moz-linear-gradient(top, rgb(232, 232, 232) 0%, rgb(182, 182, 182) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgb(232, 232, 232) 0%, rgb(182, 182, 182) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(232, 232, 232) 0%, rgb(182, 182, 182) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#e8e8e8", endColorstr="#b6b6b6",GradientType=0 ); /* IE6-9 */
}

.c-bg-service-light-horizon {
  background: #e8e8e8 url(background_horizon_white_5d46.jpg) repeat-x 0 0;
}

.c-bg-service-dark {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1b1b1b+0,131313+100 */
  background: rgb(27, 27, 27); /* Old browsers */
  background: -moz-linear-gradient(top, rgb(27, 27, 27) 0%, rgb(19, 19, 19) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgb(27, 27, 27) 0%, rgb(19, 19, 19) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(27, 27, 27) 0%, rgb(19, 19, 19) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#1b1b1b", endColorstr="#131313",GradientType=0 ); /* IE6-9 */
}

.c-bg-service-dark-horizon {
  background: #1b1b1b url(background_horizon_black_cce9.jpg) repeat-x 0 0;
}

/* new service bg colors for videos */
.c-bg-service-blue {
  background: #1c2985;
}

.c-bg-service-black {
  background: #101010;
}

.c-bg-service-green {
  background: #178e70;
}

.c-bg-service-bronze {
  background: #ad8a6e;
}

.c-bg-service-grey {
  background: #b5bcc2;
}

/* ==========================================================================
  Showroom / Teaser big
   ========================================================================== */
.c-showroom,
.c-teaser-big {
  overflow: hidden;
}

.c-showroom,
.c-showroom-text .c-row,
.c-teaser-big,
.c-teaser-big-text .c-row {
  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,
.c-teaser-big-text .c-row:after {
    content: "";
    /*display: block;*/
    display: inline-block;
    min-height: inherit;
    font-size: 0;
  }
}
.c-showroom-img,
.c-showroom-video,
.c-teaser-big-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

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

/* ==========================================================================
  teaser
   ========================================================================== */
.c-teaser-2col .c-teaser-text,
.c-teaser-team .c-teaser-text {
  padding-top: 1.5em;
}

.c-teaser-img a {
  position: relative;
  display: block;
}

.c-teaser-img a::before,
.c-teaser-team-hover::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: inset 0 0 0 0 #fff;
  transition: all 0.2s ease-out;
}

.c-teaser-img a:hover::before,
.c-teaser-img a:hover .c-teaser-team-hover::before {
  box-shadow: inset 0 0 0 14px #fff;
}

.c-teaser-team-hover {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.2s ease-out;
}

.c-teaser-img a:hover .c-teaser-team-hover {
  opacity: 1;
}

/* ==========================================================================
  separator 
   ========================================================================== */
.c-separator-line {
  border: none;
  height: 4px;
  margin: 0;
  background-color: #E2E5E9;
}

.c-quote-line .c-separator-line:first-of-type {
  margin-bottom: 6em;
}

.c-quote-line .c-separator-line:last-of-type {
  margin-top: 6em;
}

/* ==========================================================================
  paging
   ========================================================================== */
.c-paging-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-flow: row wrap;
  text-align: center;
}

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

/* ==========================================================================
  logowall
   ========================================================================== */
.c-logowall-line {
  padding-top: 1.7rem;
}

.c-logowall-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 30px;
  width: calc(100% - 60px);
  height: 4px;
  background-color: #E2E5E9;
}

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

.c-logowall-line .c-logowall-list {
  border-bottom: solid 4px #E2E5E9;
}

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

.c-logowall-img {
  max-width: 250px;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
  cookie notice
   ========================================================================== */
.c-cookie-notice {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 400px;
  padding: 30px;
  line-height: 1.7;
  background-color: #333333;
  display: none;
  border: solid 1px #fff;
}

@media only screen and (max-width: 600px) {
  .c-cookie-notice {
    width: 100%;
    bottom: 0;
    right: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
  }
}
/* ==========================================================================
  Animation elements
   ========================================================================== */
.js-enabled .animation-element.fade-up .animation {
  opacity: 0;
  transition: all 300ms ease-out;
  transform: translate3d(0px, 30px, 0px);
  backface-visibility: hidden;
}
.js-enabled .animation-element.fade-up.in-view .animation {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
.js-enabled .animation-element.fade-right .animation {
  opacity: 0;
  transition: all 300ms ease-out;
  transform: translate3d(-500px, 0px, 0px);
  backface-visibility: hidden;
}
.js-enabled .animation-element.fade-right.in-view .animation {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
.js-enabled .c-header-navigation {
  overflow: hidden !important;
}
.js-enabled .animation-nav-item {
  opacity: 0;
  transition: all 200ms ease-out;
  transform: translate3d(200px, 0px, 0px);
}
.js-enabled .animation-nav-item.in-view {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}

.img-load-mask {
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  width: 0%;
  width: 100%;
  background-color: #00D4B4;
  transition: width 1000ms ease 0s;
}
.img-load-mask.in-view {
  width: 0px;
}

.c-video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  overflow: hidden;
}
.c-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* ==========================================================================
  Message
   ========================================================================== */
.c-message {
  /*position: fixed;*/
  position: sticky;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  background-color: #00D4B4;
  padding-top: 1rem;
  padding-bottom: 1rem;
  height: 120px;
  font-weight: 600;
  z-index: 1001;
  -webkit-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
}

.c-message-closed {
  display: none;
}

.c-message + .c-header {
  top: 120px;
}

.c-message-closed + .c-header {
  top: 0;
}

.c-message-inner {
  padding-right: 60px;
}

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

.c-text-block a,
.c-link-teaser h3 span,
.c-link-extern,
.c-link-download,
.c-profile-list a,
.c-link-back,
.c-link-back-small,
.c-link-next-small,
.c-additional-content a,
.c-lang-menu a,
.c-message a {
  background-image: linear-gradient(to bottom, #00D4B4 0%, #00D4B4 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 40% 40%;
  transition: background 0.1s ease-out;
}

.c-message a {
  background-image: linear-gradient(to bottom, #2E1AA9 0%, #2E1AA9 100%);
}

.c-link-teaser h3 span,
.c-profile-list a,
.c-additional-content a,
.c-lang-menu a {
  background-position: 0 80%;
  background-size: 0 0;
}

.c-link-extern-singleline,
.c-text-block .c-link-extern-singleline {
  background-position: 0 80%;
  background-size: 30% 30%;
}

.c-link-back,
.c-link-back-small,
.c-link-next-small {
  background-position: 0 100%;
  background-size: 0 0;
}

.c-text-block a:focus,
.c-text-block a:hover,
.c-link-teaser h3 span:focus,
.c-link-teaser h3 span:hover,
.c-link-extern:focus,
.c-link-extern:hover,
.c-link-download:focus,
.c-link-download:hover,
.c-message a:focus,
.c-message a:hover {
  background-position: 0 50%;
  background-size: 60% 60%;
}

.c-link-back:focus,
.c-link-back:hover,
.c-link-back-small:focus,
.c-link-back-small:hover,
.c-link-next-small:focus,
.c-link-next-small:hover {
  background-size: 100% 100%;
}

.c-profile-list a:focus,
.c-profile-list a:hover,
.c-additional-content a:focus,
.c-additional-content a:hover,
.c-lang-menu a:focus,
.c-lang-menu a:hover {
  background-size: 4px 4px;
}

.c-link-extern-singleline:focus,
.c-link-extern-singleline:hover,
.c-text-block .c-link-extern-singleline:focus,
.c-text-block .c-link-extern-singleline:hover {
  background-position: 0 46%;
  background-size: 46% 46%;
}

.c-text-block .c-btn,
.c-message .c-btn-close {
  background-image: none;
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn {
  display: inline-block;
  margin: 0;
  padding: 0.5em 15px;
  border: solid 4px #00D4B4;
  background-color: transparent;
  line-height: 1.2;
  text-align: center;
  font-weight: 600;
  text-transform: uppercase;
  transition: all 0.2s ease-out;
  text-decoration: none;
}

.c-btn,
.c-btn:visited {
  color: #00D4B4;
}

.c-btn:hover,
.c-btn:focus {
  color: #fff;
  background-color: #00D4B4;
  text-decoration: none;
}

.c-btn-close {
  display: block;
  position: absolute;
  top: 50%;
  right: 30px;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
}

.c-btn-close::before,
.c-btn-close:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  background-color: #00D4B4;
  margin-top: -2px;
  height: 4px;
  width: 30px;
  transition: all 0.5s;
}

.c-message .c-btn-close::before,
.c-message .c-btn-close::after {
  background-color: #2E1AA9;
}

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

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

.c-btn-close:focus::before,
.c-btn-close:focus::after,
.c-btn-close:hover::before,
.c-btn-close:hover::after {
  width: 40px;
  margin-right: -5px;
}

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

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

.c-btn-send {
  display: inline-block;
  position: absolute;
  top: 2px;
  right: 5px;
  font-weight: 600;
  margin: 0;
  font-size: 100%;
  line-height: 1;
  padding: 0.5em 50px 0.5em 0;
  background: none;
  border: none;
  transition: color 0.1s;
}

.c-btn-send:hover {
  color: #00D4B4;
}

.c-btn-send::before {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
  width: 32px;
  height: 17px;
  background-position: -150px -60px;
}

.c-link-extern,
.c-link-download,
.c-link-extern-singleline {
  font-weight: 600;
}

.c-link-download span {
  font-weight: 300;
}

.c-icon-extern,
.c-icon-download,
.c-icon-arrow-big {
  display: inline-block;
  width: 1.25em;
  height: 1em;
  margin-left: 0.5em;
  vertical-align: baseline;
}

.c-link-extern-singleline {
  display: inline-block;
  position: relative;
  padding-right: 1.75em;
}

.c-link-extern-singleline::before,
.c-icon-extern::before {
  position: absolute;
  top: -0.08em;
  left: 0;
  width: 21px;
  height: 21px;
  background-position: 0 -100px;
}

.c-link-extern-singleline::before {
  left: auto;
  right: 0;
  top: 50%;
  margin-top: -13px;
}

/*.c-link-extern:hover .c-icon-extern::before {
	background-position: -100px -100px;
}*/
.c-icon-download::before {
  position: absolute;
  top: -0.1em;
  left: 0;
  width: 18px;
  height: 22px;
  background-position: 0 -140px;
}

/*.c-link-download:hover .c-icon-download::before {
	background-position: -100px -140px;
}*/
.c-icon-arrow-big {
  width: 90px;
  height: 0.5em;
  margin-left: 0.25em;
}

.c-icon-arrow-big::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -22px;
  width: 85px;
  height: 45px;
  background-position: 0 0;
}

.c-btn-social,
.c-text-block .c-btn-social {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #00D4B4;
  transition: transform 0.1s ease-out;
}

.c-footer .c-btn-social {
  background-color: #d6d6d6;
}

.c-text-block .c-btn-social {
  background-image: none;
}

.c-btn-social:focus,
.c-btn-social:hover {
  background-color: #00D4B4;
  transform: scale(1.1);
}

.c-btn-social-insta::before {
  top: 50%;
  left: 50%;
  margin-left: -12px;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  background-position: -100px -180px;
}

.c-footer .c-btn-social-insta::before {
  background-position: 0 -180px;
}

.c-btn-social-fb::before {
  top: 50%;
  left: 50%;
  margin-left: -6px;
  margin-top: -12px;
  width: 12px;
  height: 24px;
  background-position: -100px -220px;
}

.c-footer .c-btn-social-fb::before {
  background-position: 0 -220px;
}

.c-btn-social-linkedin::before {
  top: 50%;
  left: 50%;
  margin-left: -9px;
  margin-top: -11px;
  width: 20px;
  height: 20px;
  background-position: -100px -260px;
}

.c-footer .c-btn-social-linkedin::before {
  background-position: 0 -260px;
}

.c-btn-social-twitter::before {
  top: 50%;
  left: 50%;
  margin-left: -11px;
  margin-top: -9px;
  width: 24px;
  height: 20px;
  background-position: -100px -300px;
}

.c-footer .c-btn-social-twitter::before {
  background-position: 0 -300px;
}

.c-link-back {
  width: 83px;
  height: 43px;
}

.c-link-back:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 83px;
  height: 43px;
  background-position: 0 -340px;
}

.c-link-back-small,
.c-link-next-small {
  width: 31px;
  height: 17px;
}

.c-link-back-small:before,
.c-link-next-small:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 31px;
  height: 17px;
  background-position: -100px -60px;
}

.c-link-next-small:before {
  background-position: 0 -60px;
}

@media only screen and (max-width: 767px) {
  .c-icon-arrow-big {
    width: 60px;
  }
  .c-icon-arrow-big::before {
    margin-top: -14px;
    width: 62px;
    height: 33px;
    background-position: -100px 0;
  }
  .c-link-back {
    width: 60px;
    height: 31px;
  }
  .c-link-back:before {
    width: 60px;
    height: 31px;
    background-position: -100px -340px;
  }
}
/* ==========================================================================
   Ratio Box
   ========================================================================== */
.c-ratiobox {
  position: relative;
  height: 0;
  display: block;
  overflow: hidden;
}

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

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

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

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

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

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

.c-ratiobox-3by4 {
  padding-bottom: 133.3333333333%;
}

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

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

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

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

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

.c-form-text {
  width: 100%;
  border: none;
  border-bottom: solid 2px #d6d6d6;
  color: #fff;
  padding: 0.5em 5px;
  background: rgba(255, 255, 255, 0.05);
}

.c-form-item-nl .c-form-text {
  padding-right: 130px;
}

.c-form-text:focus {
  border-color: #00D4B4;
  outline: none;
}

.c-form-standard label,
.c-form-footer label {
  display: block;
  padding-bottom: 2px;
}

.c-form-error,
.c-form-confirmation {
  display: block;
}
.c-form-error.hidden,
.c-form-confirmation.hidden {
  display: none;
}
.c-form-error.c-form-error,
.c-form-confirmation.c-form-error {
  color: #e40426;
}

/* ==========================================================================
  error
   ========================================================================== */
.c-form-error .c-form-text {
  border-bottom-color: #dd0000;
}

.c-form-error label,
.c-form-error span {
  color: #dd0000;
}

/* error */
.c-form-error .c-form-text,
.c-form-error .c-form-textarea,
.c-form-standard .c-form-error input[type=checkbox]:checked + label::before,
.c-form-standard .c-form-error input[type=checkbox]:not(:checked) + label::before {
  border-color: #dd0000;
}

.c-form-error label,
.c-form-error span {
  color: #dd0000;
}

.c-form-error span {
  display: block;
  padding-top: 0.25em;
}

/* ==========================================================================
   Shop Content, remove overflow hidden from c-content
   ========================================================================== */
.c-content-shop {
  overflow: visible;
}

/* ==========================================================================
   Shop Ratiobox
   ========================================================================== */
.c-ratiobox-shop {
  padding-bottom: 66.66%;
}

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

/* ==========================================================================
 header
   ========================================================================== */
.c-shop-basket-nav {
  position: absolute;
  top: 4em;
  right: 30px;
  padding-top: 2em;
  font-weight: bold;
  z-index: 1001;
}

.c-shop-basket-nav::before {
  left: auto;
  right: 0;
}

/* ==========================================================================
   Shop Footer
   ========================================================================== */
.c-shop-claim {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.c-shop-claim-text,
.c-icon-heart {
  display: block;
}

.c-icon-heart:hover,
.c-shop-claim:hover .c-icon-heart {
  animation: pulse 0.8s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(0.9);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(0.9);
  }
}
.c-footer-shop a,
.c-footer-shop a:visited {
  color: #2A2228;
}

.c-footer-shop a:hover,
.c-footer-shop a:focus {
  color: #00D4B4;
}

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

.c-shop-payment-list li {
  display: inline-block;
  padding-right: 6px;
  padding-bottom: 10px;
}

.c-shop-payment-icon {
  width: 60px;
}

/* ==========================================================================
 shop icons
   ========================================================================== */
.c-icon-heart,
.c-link-shop-basket-icon {
  position: relative;
}

.c-icon-heart {
  width: 16px;
  height: 16px;
  margin-left: 0.5em;
  margin-right: 0.5em;
  transform: perspective(1px) translateZ(0);
}

.c-icon-heart::before,
.c-link-shop-basket-icon::before {
  content: "";
  position: absolute;
  background-image: url(sprite-shop_7e47.svg);
  background-repeat: no-repeat;
}

.c-icon-heart::before {
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  background-position: 0 -60px;
}

.c-icon-heart:hover::before,
.c-shop-claim:hover .c-icon-heart::before {
  background-position: -100px -60px;
}

.c-link-shop-basket {
  position: relative;
  display: block;
}

.c-link-shop-basket-icon {
  display: inline-block;
  padding-right: 50px;
}

.c-link-shop-basket-icon::before {
  top: 50%;
  right: 0;
  width: 33px;
  height: 36px;
  margin-top: -18px;
  background-position: 0 0;
}

.c-link-shop-basket-items {
  display: block;
  position: absolute;
  top: -13px;
  right: -13px;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  border-radius: 50%;
  overflow: hidden;
  color: #fff;
  font-weight: bold;
  background-color: #00D4B4;
  font-size: 14px;
}

/* ==========================================================================
 shop detail
   ========================================================================== */
/*.c-shop-product .c-btn {
    display: block;
    width: 100%;
}*/
.c-shop-price {
  font-size: 1.8rem;
}

.c-shop-title {
  font-size: 2.2rem; /* 44px */
  line-height: 1.2;
  color: #2A2228;
  padding-bottom: 0.6em;
}

.c-shop-product-desc-inner {
  position: sticky;
  top: 9rem;
  z-index: 1;
  height: auto;
}

.c-shop-product-image-item {
  display: block;
  margin-bottom: 1em;
}

.c-shop-product-add {
  display: flex;
  flex-flow: row;
}

.c-shop-product-add-field {
  border: none;
  width: 80px;
  margin-right: 20px;
  color: #2A2228;
  border-bottom: solid 2px #d6d6d6;
  padding: 0.5em 10px;
  background-color: var(--form-field-bg);
}

.c-shop-product-add-field:focus {
  border-color: #00D4B4;
  outline: none;
}

.c-shop-product-add .c-btn {
  display: block;
  width: calc(100% - 160px);
}

.c-shop-product-number-field {
  position: relative;
  width: 140px;
  margin-right: 20px;
}

/* Firefox */
.c-shop-product-number-field input[type=number] {
  -moz-appearance: textfield;
}

.c-shop-product-number-field input[type=number] {
  width: 100%;
  text-align: center;
  margin-left: 40px;
  margin-right: 40px;
  width: calc(100% - 80px);
  border-radius: 0;
  border: solid 2px #949194;
  color: #222;
  padding: 0.6em 10px;
  background-color: transparent;
  font-family: inherit;
  font-weight: bold;
}

.c-shop-product-number-field input[type=number]:focus {
  border-color: #000;
  outline: none;
}

.c-shop-btn-number-minus,
.c-shop-btn-number-plus {
  position: absolute;
  display: block;
  top: 0;
  width: 40px;
  height: 100%;
  color: transparent;
  background-color: #fff;
  overflow: hidden;
  border: solid 2px #949194;
  text-indent: 100%;
}

.c-shop-btn-number-plus:hover,
.c-shop-btn-number-plus:focus,
.c-shop-btn-number-minus:hover,
.c-shop-btn-number-minus:focus {
  background-color: #fff;
}

.c-shop-btn-number-plus {
  right: 0;
  border-left: none;
  border-radius: 0;
}

.c-shop-btn-number-minus {
  left: 0;
  border-right: none;
  border-radius: 0;
}

.c-shop-btn-number-plus::before,
.c-shop-btn-number-minus::before,
.c-shop-btn-number-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -1px;
  width: 16px;
  height: 2px;
  background-color: #00D4B4;
}

.c-shop-btn-number-plus::after {
  margin-top: -8px;
  margin-left: -1px;
  width: 2px;
  height: 16px;
}

.c-shop-btn-number-plus:hover::before,
.c-shop-btn-number-plus:focus::before,
.c-shop-btn-number-minus:hover::before,
.c-shop-btn-number-minus:focus::before,
.c-shop-btn-number-plus:hover::after,
.c-shop-btn-number-plus:focus::after {
  background-color: #2A2228;
}

.c-shop-size {
  padding-bottom: 1.5em;
}

.c-shop-size label {
  display: block;
  padding-bottom: 0.25em;
  text-transform: uppercase;
}

/* ==========================================================================
   dropdown
   ========================================================================== */
.c-shop-size select {
  display: block;
  padding: 0.6em 30px 0.6em 10px !important;
  width: 140px;
  height: auto !important;
  border: 2px solid #949194;
  border-radius: 0;
  background: url(icon-form-arrow_97be.svg) right center no-repeat;
  background-color: #fff;
  color: #2A2228;
  font-size: 100%;
  line-height: 1rem !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-shop-size select:focus {
  border-color: #000;
  outline: none;
}

.c-shop-size select option {
  padding: 0;
  outline: none;
}

.c-shop-size select::-ms-expand {
  display: none;
}

/* ==========================================================================
 shop responsive
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  .c-shop-basket-nav {
    right: 60px;
  }
}
@media only screen and (min-width: 1500px) {
  .c-shop-title {
    font-size: 3rem; /* 60 px */
  }
}
@media only screen and (max-width: 980px) {
  .c-footer-shop-main .c-col-4 {
    -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-footer-shop-main .c-col-8 {
    -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%;
  }
}
@media only screen and (max-width: 850px) {
  .c-shop-title {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-shop-title {
    font-size: 2rem; /* 32px */
  }
}
@media only screen and (max-width: 650px) {
  .c-shop-product .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-shop-product .c-col-6:first-child {
    padding-bottom: 1em;
  }
}
@media only screen and (max-width: 600px) {
  .c-footer-shop-main .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-shop-main .c-col-4 + .c-col-4 {
    padding-top: 6em;
  }
  .c-shop-basket-nav {
    padding-top: 0;
    top: 0;
    right: 90px;
    margin-top: -10px;
  }
  .c-shop-basket-nav::before {
    background: none;
  }
  .c-link-shop-basket-icon {
    width: 40px;
    height: 40px;
    padding: 0;
    overflow: hidden;
    text-indent: -999em;
    text-align: left;
    direction: ltr;
  }
}
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  --bg-content: #fff;
  --text-color: #2A2228;
  --text-color-light: #fff;
  --color-highlight: #00D4B4;
  --font-size-body: 1em;
  --font-size-body-s: 0.8rem;
  /*--font-size-body-xs: 0.75rem; */
  --font-size-h2-small: 1.25rem;
  --font-weight-bold: 600;
  --font-weight-normal: 300;
  --bg-light: #E2E5E9;
  --form-disabled: #ccc;
  --spacing-l: 6em;
  --spacing-m: 3em;
  --woocommerce-font-size-body-xs: 0.75rem;
  --woocommerce-input-bg: #fff;
  --woocommerce-border-width: 2px;
  --woocommerce-border: #949194;
  --woocommerce-border-focus: #000;
  --woocommerce-input-padding: .75em .5em;
  --woocommerce-input-border-radius: 0;
  --woocommerce-btn-border-radius: 0;
  --woocommerce-btn-padding: 0.5em 15px;
  --woocommerce-link-underline-width: 6px;
  --woocommerce-table-border: #E2E5E9;
  --woocommerce-table-border-width: 2px;
  --woocommerce-active-border: #E2E5E9;
  --woocommerce-form-error: #cc1818;
  --woocommerce-message-border-width: 2px;
  --woocommerce-message-color: #2E1AA9; /* ok */
  --woocommerce-message-color-info: #333333;
  --woocommerce-message-color-error: var(--woocommerce-form-error);
  --woocommerce-text-payment-padding-left: 70px; /* padding for alignment with text checkbox (payment)*/
  --woocommerce-payment-border-width: 0;
}

@media only screen and (max-width: 767px) {
  :root {
    --font-size-body-s: 0.875rem;
  }
}
/* ==========================================================================
   Font-styles 
   ========================================================================== */
.c-woocommerce-container {
  font-weight: var(--font-weight-normal);
}

.c-woocommerce-container .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.c-woocommerce-container .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price,
.c-woocommerce-container .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.c-woocommerce-container .wc-block-components-totals-item__value,
.c-woocommerce-container table.wc-block-cart-items .wc-block-cart-items__header th,
.c-woocommerce-container .is-large.wc-block-cart .wc-block-cart__totals-title {
  font-weight: var(--font-weight-bold);
}

/* titles */
.c-woocommerce-container .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  font-weight: var(--font-weight-bold);
}

.c-woocommerce-container .wc-block-components-express-payment--checkout .wc-block-components-title.wc-block-components-express-payment__title,
.c-woocommerce-container .wc-block-components-express-payment-continue-rule,
.c-woocommerce-container .wc-block-components-checkbox label {
  font-size: var(--font-size-body-s);
}

.c-woocommerce-container .wc-block-components-validation-error {
  font-size: var(--woocommerce-font-size-body-xs);
}

/* ==========================================================================
   messages
   ========================================================================== */
/* spacing between message and product on product detail page */
.c-shop-message {
  padding-bottom: 1.5em;
}

/* notices */
.c-woocommerce-container .wc-block-components-notice-banner {
  border-radius: var(--woocommerce-input-border-radius);
  border-width: var(--woocommerce-table-border-width);
  color: var(--text-color);
}

.c-woocommerce-container .wc-block-components-notice-banner.is-error {
  background-color: #fff0f0;
  border-color: var(--woocommerce-form-error);
}

.c-woocommerce-container .wc-block-components-notice-banner.is-error > svg {
  background-color: var(--woocommerce-form-error);
}

.c-woocommerce-container .woocommerce-error,
.c-woocommerce-container .woocommerce-info,
.c-woocommerce-container .woocommerce-message,
.c-shop-message .woocommerce-error,
.c-shop-message .woocommerce-info,
.c-shop-message .woocommerce-message {
  background-color: var(--bg-content);
  color: var(--text-color);
  border: solid var(--woocommerce-message-border-width) var(--woocommerce-message-color);
  border-radius: var(--woocommerce-input-border-radius);
}

.c-woocommerce-container .woocommerce-error,
.c-shop-message .woocommerce-error {
  border-color: var(--woocommerce-message-color-error);
}

.c-woocommerce-container .woocommerce-info,
.c-shop-message .woocommerce-info {
  border-color: var(--woocommerce-message-color-info);
}

.c-woocommerce-container .woocommerce-error::before,
.c-shop-message .woocommerce-error::before {
  color: var(--woocommerce-message-color-error);
}

.c-woocommerce-container .woocommerce-info::before,
.c-shop-message .woocommerce-info::before {
  color: var(--woocommerce-message-color-info);
}

.c-woocommerce-container .woocommerce-message::before,
.c-shop-message .woocommerce-message::before {
  color: var(--woocommerce-message-color);
}

/* ==========================================================================
   Formfields 
   ========================================================================== */
/* fancy label */
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input label,
.c-woocommerce-container .wc-block-components-text-input label {
  line-height: 1.25;
}

/*.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input label, 
.c-woocommerce-container .wc-block-components-text-input label {
    font-size: var(--font-size-body-s);
}*/
/*mein konto */
.c-woocommerce-container .woocommerce input[type=text],
.c-woocommerce-container .woocommerce input[type=email],
.c-woocommerce-container .woocommerce input[type=password],
.c-woocommerce-container .woocommerce input[type=url],
.c-woocommerce-container .woocommerce input[type=date],
.c-woocommerce-container .woocommerce input[type=tel],
.c-woocommerce-container .woocommerce textarea,
.c-woocommerce-container .woocommerce .woocommerce-Input,
.c-woocommerce-container .wc-block-components-textarea {
  width: 100%;
  border: solid var(--woocommerce-border-width) var(--woocommerce-border);
  border-radius: var(--woocommerce-input-border-radius);
  color: var(--text-color);
  background-color: var(--woocommerce-input-bg);
  font-family: inherit;
  font-size: var(--font-size-body);
  line-height: 1;
  padding: var(--woocommerce-input-padding);
}

/* cart / kasse */
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=email],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=number],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=password],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=tel],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=text],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=url],
.c-woocommerce-container .wc-block-components-text-input input[type=email],
.c-woocommerce-container .wc-block-components-text-input input[type=number],
.c-woocommerce-container .wc-block-components-text-input input[type=password],
.c-woocommerce-container .wc-block-components-text-input input[type=tel],
.c-woocommerce-container .wc-block-components-text-input input[type=text],
.c-woocommerce-container .wc-block-components-text-input input[type=url],
.c-woocommerce-container .woocommerce textarea,
.c-woocommerce-container .wc-blocks-components-select .wc-blocks-components-select__container {
  color: var(--text-color);
  background-color: var(--woocommerce-input-bg);
  border: solid var(--woocommerce-border-width) var(--woocommerce-border);
  border-width: var(--woocommerce-border-width);
  border-color: var(--woocommerce-border);
  border-radius: var(--woocommerce-input-border-radius);
  /*font-size: var(--font-size-body);*/
  line-height: 1;
  height: 54px;
  /*padding: 1em .5em;*/
}

.c-woocommerce-container .woocommerce input[type=text]:focus,
.c-woocommerce-container .woocommerce input[type=email]:focus,
.c-woocommerce-container .woocommerce input[type=password]:focus,
.c-woocommerce-container .woocommerce input[type=url]:focus,
.c-woocommerce-container .woocommerce input[type=date]:focus,
.c-woocommerce-container .woocommerce input[type=tel]:focus,
.c-woocommerce-container .wc-block-components-textarea:focus,
.c-woocommerce-container .woocommerce .woocommerce-Input:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=email]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=number]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=password]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=tel]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=text]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=url]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=email]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=number]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=password]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=tel]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=text]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=url]:focus,
.c-woocommerce-container .wc-blocks-components-select .wc-blocks-components-select__container:focus {
  border-color: var(--woocommerce-border-focus);
  outline: none;
  box-shadow: none;
  border-width: var(--woocommerce-border-width);
}

/* select inner */
.c-woocommerce-container .wc-blocks-components-select .wc-blocks-components-select__select {
  border-radius: var(--woocommerce-input-border-radius);
  color: var(--text-color);
  border: none;
}

/* dropdown arrow color / checkbox checkmar color */
.c-woocommerce-container .wc-blocks-components-select .wc-blocks-components-select__expand,
.c-woocommerce-container .wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: var(--color-highlight);
}

/* spacing around rows */
.c-woocommerce-container .woocommerce form .form-row {
  padding: 0 0 1.5em 0;
  margin: 0;
}

/* text small for descriptions */
.c-woocommerce-container .woocommerce .woocommerce-form-row span em {
  font-size: var(--font-size-body-s);
}

/* checkbox */
.c-woocommerce-container .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
  border: solid var(--woocommerce-border-width) var(--woocommerce-border);
  border-radius: var(--woocommerce-input-border-radius);
  border-color: var(--woocommerce-border);
}

.c-woocommerce-container .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus {
  border-color: var(--woocommerce-border-focus);
  outline: none;
}

/* radio */
.c-woocommerce-container .wc-block-components-radio-control .wc-block-components-radio-control__input,
.c-woocommerce-container .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
  border: solid var(--woocommerce-border-width) var(--woocommerce-border);
}

.c-woocommerce-container .wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
  border-color: var(--woocommerce-border-focus);
  outline: none;
}

.c-woocommerce-container .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
  background: var(--color-highlight);
}

/* error */
.c-woocommerce-container .wc-block-components-validation-error,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error label,
.c-woocommerce-container .wc-block-components-text-input.has-error label {
  color: var(--woocommerce-form-error);
}

.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error input,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error input:active,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error input:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error input:hover,
.c-woocommerce-container .wc-block-components-text-input.has-error input,
.c-woocommerce-container .wc-block-components-text-input.has-error input:active,
.c-woocommerce-container .wc-block-components-text-input.has-error input:focus,
.c-woocommerce-container .wc-block-components-text-input.has-error input:hover {
  border-color: var(--woocommerce-form-error);
}

/* ==========================================================================
   Button
   ========================================================================== */
.c-woocommerce-container .wc-block-components-button:not(.is-link) {
  background: none;
}

.c-woocommerce-container .button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button,
.c-woocommerce-container .wc-block-components-button,
.c-woocommerce-container .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
.c-shop-message .button {
  display: inline-block;
  margin: 0;
  padding: var(--woocommerce-btn-padding);
  border: solid 4px var(--color-highlight);
  background-color: transparent;
  line-height: 1.2;
  text-align: center;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  transition: all 0.2s ease-out;
  text-decoration: none;
  border-radius: var(----woocommerce-btn-border-radius);
  color: var(--color-highlight);
}

.c-woocommerce-container .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  height: auto;
  min-height: 54px !important;
}

.c-woocommerce-container .button:hover,
.c-woocommerce-container .button:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:hover,
.c-woocommerce-container .wc-block-components-button:hover,
.c-woocommerce-container .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover,
.c-shop-message .button:hover,
.c-shop-message .button:focus {
  color: var(--text-color-light);
  background-color: var(--color-highlight);
  text-decoration: none;
}

.c-woocommerce-container .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:disabled {
  color: var(--form-disabled);
  border-color: var(--form-disabled);
}

/* button styled as text-link */
/* edit address */
.c-woocommerce-container .wc-block-components-address-card__edit,
.c-woocommerce-container .wc-block-components-address-form__address_2-toggle {
  text-decoration-skip-ink: none;
  text-decoration: underline;
  text-decoration-color: var(--color-highlight);
  text-decoration-thickness: var(--woocommerce-link-underline-width);
}

.c-woocommerce-container .wc-block-components-address-card__edit:hover,
.c-woocommerce-container .wc-block-components-address-form__address_2-toggle:hover {
  text-decoration: none;
}

/* ==========================================================================
   Cart
   ========================================================================== */
/* quantity */
.c-woocommerce-container .wc-block-components-quantity-selector::after {
  border-width: var(--woocommerce-border-width);
  border-color: var(--woocommerce-border);
  border-radius: var(--woocommerce-input-border-radius);
  font-family: inherit;
  font-weight: var(--font-weight-bold);
}

.c-woocommerce-container .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  color: var(--color-highlight);
  opacity: 1;
}

.c-woocommerce-container .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
  box-shadow: inset 0 0 var(--woocommerce-border-width) var(--woocommerce-border-width) var(--woocommerce-border);
}

/* text link */
.c-woocommerce-container table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
.c-woocommerce-container .wc-block-components-totals-shipping .wc-block-components-totals-shipping__change-address__link {
  text-decoration-color: var(--color-highlight);
  text-decoration-thickness: var(--woocommerce-link-underline-width);
}

/* table / sidebar */
.c-woocommerce-container .is-large.wc-block-cart .wc-block-cart-items td,
.c-woocommerce-container .is-large.wc-block-cart .wc-block-cart-items,
.c-woocommerce-container .wp-block-woocommerce-cart-order-summary-totals-block {
  border-color: var(--woocommerce-table-border);
  border-width: var(--woocommerce-table-border-width);
}

.c-woocommerce-container .wc-block-components-totals-wrapper {
  border-top-color: var(--woocommerce-table-border);
  border-top-width: var(--woocommerce-table-border-width);
}

.c-woocommerce-container .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
  border-bottom-color: var(--woocommerce-table-border);
  border-bottom-width: var(--woocommerce-table-border-width);
}

.c-woocommerce-container .wc-block-cart-item__image a {
  background: none;
}

.c-woocommerce-container .wc-block-components-shipping-calculator-address__button {
  margin-top: 16px;
}

.c-woocommerce-container .wc-block-components-express-payment-continue-rule::after,
.c-woocommerce-container .wc-block-components-express-payment-continue-rule::before {
  border-bottom: 1px solid var(--woocommerce-table-border);
}

.c-woocommerce-container .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
  border: 1px solid var(--woocommerce-table-border);
  border-radius: 0 0 var(--woocommerce-input-border-radius) var(--woocommerce-input-border-radius);
  border-top: 0;
}

.c-woocommerce-container .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before {
  border-left: 1px solid var(--woocommerce-table-border);
  border-top: 1px solid var(--woocommerce-table-border);
  border-radius: var(--woocommerce-input-border-radius) 0 0 0;
}

.c-woocommerce-container .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after {
  border-radius: 0 var(--woocommerce-input-border-radius) 0 0;
  border-right: 1px solid var(--woocommerce-table-border);
  border-top: 1px solid var(--woocommerce-table-border);
}

/* ==========================================================================
   Kasse
   ========================================================================== */
/* font-sizes */
.c-woocommerce-container .wc-block-components-checkout-step__description,
.c-woocommerce-container .wc-block-components-totals-item__description {
  font-size: var(--font-size-body-s);
}

/* h2 small*/
.c-woocommerce-container .wc-block-components-title.wc-block-components-title {
  font-size: var(--font-size-h2-small);
  font-weight: var(--font-weight-bold);
}

/* table borders */
.c-woocommerce-container .is-large .wp-block-woocommerce-checkout-order-summary-block,
.c-woocommerce-container .wp-block-woocommerce-checkout-order-summary-totals-block {
  border-color: var(--woocommerce-table-border);
  border-width: var(--woocommerce-table-border-width);
}

.c-woocommerce-container .is-large .wp-block-woocommerce-checkout-order-summary-block {
  border-radius: var(--woocommerce-input-border-radius);
}

/* color arrows sidebar */
.c-woocommerce-container .wc-block-components-panel__button > .wc-block-components-panel__button-icon {
  fill: var(--color-highlight);
}

/* shipping /payment method active */
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked::after {
  border: none;
  border-radius: var(--woocommerce-input-border-radius);
}

.c-woocommerce-container .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  border-radius: var(--woocommerce-input-border-radius);
  box-shadow: inset 0 0 0 var(--woocommerce-table-border-width) var(--woocommerce-active-border);
  background-color: var(--bg-light);
}

/*.c-woocommerce-container .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, 
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
    border-radius: var(--woocommerce-input-border-radius);
    box-shadow: inset 0 0 0 1.5px currentColor;
}*/
.c-woocommerce-container .wc-block-components-address-card {
  border-color: var(--woocommerce-table-border);
  border-width: var(--woocommerce-table-border-width);
  border-radius: var(--woocommerce-input-border-radius);
}

/* payment highlight border-radius */
.c-woocommerce-container .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:last-child::after {
  border-bottom-left-radius: var(--woocommerce-input-border-radius);
  border-bottom-right-radius: var(--woocommerce-input-border-radius);
}

.c-woocommerce-container .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:first-child::after {
  border-top-left-radius: var(--woocommerce-input-border-radius);
  border-top-right-radius: var(--woocommerce-input-border-radius);
}

.c-woocomerce-container .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.c-woocomerce-container .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  border-radius: var(--woocommerce-input-border-radius);
}

.c-woocommerce-container .wc-block-components-radio-control-accordion-content {
  padding-left: var(--woocommerce-text-payment-padding-left);
  font-size: var(--font-size-body-s);
}

.c-woocommerce-container .wc-block-components-radio-control-accordion-content p {
  padding-bottom: 1em;
  text-align: left;
}

.c-woocommerce-container .wc-block-components-radio-control-accordion-content p:last-child {
  padding-bottom: 0;
}

.c-woocommerce-container .wc-block-components-radio-control-accordion-content p.ppcp-place-order-description {
  text-align: left !important;
}

.c-woocommerce-container .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option::after,
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option::after {
  height: var(--woocommerce-payment-border-width);
}

/* circle quantity */
.c-woocommerce-container .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  border: none;
  border-radius: 50%;
  background-color: var(--color-highlight);
  font-weight: var(--font-weight-bold);
  color: var(--text-color-light);
  width: 26px;
  height: 26px;
  line-height: 26px;
  font-size: 14px;
}

/* checkout bullet points express checkout*/
.c-woocommerce-container .c-text-block .wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li,
.c-woocommerce-container .c-text-block .wc-block-components-express-payment--cart .wc-block-components-express-payment__event-buttons > li {
  padding-left: 0;
}

.c-woocommerce-container .c-text-block .wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li::before,
.c-woocommerce-container .c-text-block .wc-block-components-express-payment--cart .wc-block-components-express-payment__event-buttons > li::before {
  content: "";
}

/*button on mobile full width */
@media only screen and (max-width: 450px) {
  .c-woocommerce-container .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
    width: 100%;
  }
}
/* ==========================================================================
   my account
   ========================================================================== */
/* navigation */
.c-woocommerce-container .woocommerce-MyAccount-navigation {
  padding-bottom: var(--spacing-l);
}

.c-woocommerce-container .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  text-transform: uppercase;
  font-weight: var(--font-weight-bold);
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation li {
  padding-left: 0;
  padding-right: 1.5em;
  padding-bottom: 1em;
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation li + li {
  margin-top: 0;
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation li::before {
  content: "";
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation-link a {
  position: relative;
  background: none;
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation-link a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: var(--color-highlight);
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#00d4b4+0,00d4b4+50,00d4b4+100&0+0,1+50,1+100 */
  background: -moz-linear-gradient(left, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#0000d4b4", endColorstr="#00d4b4",GradientType=1 ); /* IE6-9 */
  transition: width 0.2s ease-out;
  z-index: -1;
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation-link a:hover::before,
.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation-link.is-active a::before {
  width: 100%;
}

/* form width */
@media only screen and (min-width: 850px) {
  .c-woocommerce-container .woocommerce-EditAccountForm {
    width: 65%;
  }
}
.c-woocommerce-container .woocommerce-EditAccountForm legend {
  font-weight: var(--font-weight-bold);
}

.c-woocommerce-container .woocommerce-EditAccountForm fieldset {
  margin-top: var(--spacing-m);
}

/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  /* grid gap */
  .c-container,
.c-teaser-service .c-teaser-service-text {
    padding-left: 60px;
    padding-right: 60px;
  }
  .c-row {
    margin-right: -30px;
    margin-left: -30px;
  }
  .c-col-1,
.c-col-2,
.c-col-3,
.c-col-4,
.c-col-5,
.c-col-6,
.c-col-7,
.c-col-8,
.c-col-9,
.c-col-10,
.c-col-11,
.c-col-12 {
    padding-right: 30px;
    padding-left: 30px;
  }
  .c-offcanvas-toggle,
.c-btn-close {
    right: 60px;
  }
  .c-language-navigation {
    right: 150px;
  }
  .c-logowall-line::before {
    left: 60px;
    width: calc(100% - 120px);
  }
}
@media only screen and (min-width: 1600px) {
  /* container max width */
  .c-container {
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-teaser-service .c-teaser-service-text {
    max-width: 780px;
  }
}
@media only screen and (max-width: 1100px) {
  .c-title-main .c-col-10,
.c-title-section .c-col-10,
.c-teaser-cta .c-col-10,
.c-showroom-text .c-col-10,
.c-teaser-big-text .c-col-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-2col .c-col-5,
.c-text-img-2col-symmetric .c-col-5:nth-of-type(2) {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (min-width: 981px) and (max-width: 1200px) {
  .c-testimonial .c-text-block blockquote p {
    font-size: 1rem;
  }
  .c-testimonial .c-text-block blockquote cite {
    padding-top: 1em;
  }
}
@media only screen and (max-width: 980px) {
  .c-teaser-1col .c-col-7,
.c-teaser-1col .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-profile .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-img-2col-symmetric .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 0;
  }
  .c-footer-main .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-top: 6em;
  }
  .c-footer-main .c-col-4 {
    -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-footer-main .c-col-3 {
    -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-testimonial .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-testimonial .c-col-4 + .c-col-4 {
    padding-top: 3em;
  }
  .c-testimonial .c-text-block blockquote {
    padding-right: 20%;
  }
  .c-footer-partner .c-col-7,
.c-footer-partner .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-footer-partner .c-col-5 {
    padding-top: 3em;
  }
}
@media only screen and (min-width: 951px) {
  .c-img-right .c-row {
    flex-direction: row-reverse;
  }
  .c-img-right {
    text-align: right;
  }
  .c-img-right .c-line::before {
    left: auto;
    right: 0;
  }
}
@media only screen and (max-width: 950px) {
  .c-img .c-col-8,
.c-img .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 0;
  }
}
@media only screen and (max-width: 880px) {
  .c-text-2col .c-col-6,
.c-text-2col .c-col-5,
.c-text-img-2col-symmetric .c-col-5,
.c-text-img-2col-symmetric .c-col-5:nth-of-type(2) {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-img-2col-symmetric .c-col-5:first-child {
    padding-bottom: 1.5em;
  }
  .c-logowall-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
}
@media only screen and (max-width: 820px) {
  .c-text-only .c-col-8,
.c-profile .c-col-8,
.c-profile .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-profile .c-col-3 {
    padding-bottom: 6em;
  }
  .c-profile-list {
    margin-top: 0;
  }
  .c-testimonial .c-text-block blockquote {
    padding-right: 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 820px) {
  .c-profile-list {
    display: flex;
    flex-flow: row wrap;
  }
  .c-profile-list li {
    display: block;
    position: relative;
    padding-top: 2em;
    padding-right: 20px;
    -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-profile-list-portfolio li {
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-profile-list-portfolio li:nth-child(1),
.c-profile-list-portfolio li:nth-child(2) {
    margin-bottom: 1.7em;
  }
  .c-profile-list li::before {
    content: "";
    position: absolute;
    width: 128px;
    height: 4px;
    left: 0;
    top: 0;
    background-color: #2E1AA9;
  }
  .c-profile-list li:first-child::before {
    background: none;
  }
}
@media only screen and (min-width: 768px) {
  .c-teaser-service-inner {
    position: relative;
    height: 0;
    display: block;
    overflow: hidden;
    padding-bottom: 37.5%;
  }
  .c-teaser-service-visual,
.c-teaser-service-desc {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .c-teaser-service-desc {
    display: flex;
    align-items: center;
  }
  .c-teaser-service-img-mobile {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .c-text-only .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-teaser-team .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-text-img-2col .c-col-8,
.c-text-img-2col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-teaser-service .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 .c-teaser-service-text {
    padding-bottom: 6em;
  }
  .c-teaser-service-visual .c-video {
    display: none;
  }
  .c-features .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 700px) {
  .c-teaser-1col .c-col-7,
.c-teaser-1col .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-1col .c-teaser-text {
    padding-top: 1.5em;
  }
  .c-quote .c-row {
    justify-content: flex-end;
  }
  .c-quote .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%;
  }
  /* img var */
  .c-col-img-var {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .c-img-var-align-top {
    padding-top: 0;
  }
  .c-img-var-align-bottom {
    padding-bottom: 0;
  }
  .c-img-var .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-img-var .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-img-var .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-img-var .c-col-4:nth-of-type(3) {
    margin-left: auto;
    margin-right: auto;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
}
@media only screen and (max-width: 650px) {
  .c-teaser-2col .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-img-tiles .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-text-img-2col .c-col-8,
.c-text-img-2col .c-col-4,
.c-img-2col .c-col-6,
.c-text-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-img-2col .c-col-4 {
    padding-bottom: 1.5em;
  }
  .c-img-2col .c-col-6:first-child {
    padding-bottom: 6em;
  }
  .c-keyfacts .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-keyfacts .c-col-4 + .c-col-4 {
    padding-top: 6em;
  }
}
@media only screen and (max-width: 600px) {
  .c-teaser-expert .c-col-8,
.c-teaser-expert .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-expert .c-col-8 {
    padding-top: 1.5em;
  }
  .c-teaser-expert .c-teaser-img {
    width: 66.666%;
  }
  .c-line::before,
.c-profile-list li::before {
    width: 80px;
  }
  .c-footer-main .c-col-4,
.c-footer-main .c-col-3,
.c-footer-disclaimer .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-main .c-col-4 {
    padding-bottom: 6em;
  }
  .c-footer-disclaimer-list,
.c-footer-main {
    padding-bottom: 1.5em;
  }
  .c-footer-disclaimer .c-col-6 {
    text-align: left;
  }
  .c-footer-nav-list li + li {
    padding-top: 0.8em;
  }
  .c-header-logo {
    width: 145px;
  }
}
@media only screen and (max-width: 540px) {
  .c-features .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-features .c-col-4:nth-child(2) .c-features-list {
    border-top: none;
  }
  .c-form-footer .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-logowall-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 420px) {
  .c-teaser-team .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-team .c-teaser-img {
    width: 66.666%;
  }
  .c-quote .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-block blockquote {
    padding-top: 4em;
  }
  .c-text-block blockquote p::before {
    left: 0;
    top: -0.9em;
  }
  .c-img-var .c-col-4,
.c-img-var .c-col-4:nth-of-type(3) {
    margin-left: auto;
    margin-right: auto;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .c-img-var .c-col-4:nth-of-type(2) {
    padding-top: 0;
    padding-bottom: 0;
  }
  .c-form-footer .c-form-text {
    padding-right: 0;
  }
  .c-btn-send {
    position: relative;
    right: auto;
    margin-top: 2em;
  }
}
/* ==========================================================================
   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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YlAsc0JKa0JZO0VJakJaLGNKUVk7RUlQWjtBTm1xQkQ7O0FNaHFCQTtBQUNBO0VBQ0M7QU5tcUJEOztBTS9wQkE7Ozs7RUFJQyxjSk5ZO0FGd3FCYjs7QU0vcEJBOzs7O0VBSUMsV0paa0I7QUY4cUJuQjs7QU0vcEJBO0VBQ0M7RUFDQTtBTmtxQkQ7O0FNN3BCQTs7K0VBQUE7QUFLQTs7O0VBR0MsY0ovQlk7RUlnQ1o7QU44cEJEOztBTTNwQkE7RUFDQztBTjhwQkQ7O0FNMXBCQTs7K0VBQUE7QUFJQTs7Ozs7RUFLSTtBTjRwQko7O0FNenBCQTtFQUNJO0FONHBCSjs7QU16cEJBOztFQUVDO0VBQ0E7QU40cEJEOztBTXpwQkE7RUFDQztBTjRwQkQ7O0FPenVCQTs7K0VBQUE7QUFJQTs7Ozs7RUFLSTtFQUNBO0VBQ0E7QVAydUJKOztBT3h1QkE7RUFDQztBUDJ1QkQ7O0FPeHVCQTs7K0VBQUE7QUFJQTs7Ozs7RUFLQztBUDB1QkQ7O0FPdnVCQTtFQUNDO0FQMHVCRDs7QU92dUJBOzs7RUFHQztBUDB1QkQ7O0FPdnVCQTtFQUNDO0FQMHVCRDs7QU92dUJBO0VBQ0M7QVAwdUJEOztBT3Z1QkE7RUFDQztFQUNBO0VBQ0E7QVAwdUJEOztBT3Z1QkE7RUFDQztFQUNBO0FQMHVCRDs7QU92dUJBO0VBQ0M7RUFDQTtBUDB1QkQ7O0FPdnVCQTtFQUNDO0FQMHVCRDs7QU92dUJBO0VBQ0M7RUFDQTtBUDB1QkQ7O0FPdnVCQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7QVB5dUJKOztBT3B1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSTtFQUNJO0FQdXVCWjtBT3J1Qkk7RUFDSTtBUHV1QlI7O0FPbnVCQTtFQUNJO0FQc3VCSjs7QU9udUJBO0VBQ0k7RUFDQTtFQUNBO0FQc3VCSjtBT3B1Qkk7RUFDSTtBUHN1QlI7O0FPbHVCQTtFQUNJO0FQcXVCSjs7QU9sdUJBO0VBQ0k7QVBxdUJKOztBT2x1QkE7RUFDSTtBUHF1Qko7O0FPbHVCQTtFQUNJO0FQcXVCSjs7QU9sdUJBO0VBQ0k7QVBxdUJKOztBT2x1QkE7RUFDSTtBUHF1Qko7O0FPbHVCQTtFQUNJO0FQcXVCSjs7QU9sdUJBO0VBQ0k7QVBxdUJKOztBT2x1QkE7Ozs7Ozs7Ozs7OztFQVlJO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0FBQ0E7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtBUG91QkQ7O0FPanVCQTtFQUNDO0VBQ0E7QVBvdUJEOztBT2h1QkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDbFVBOzsrRUFBQTtBQUdBO0VBQ0M7RUFDQSx3RE5Db0I7RU1BcEI7QVJva0NEOztBUS9qQ0E7OytFQUFBO0FBSUE7Ozs7OztFQU1DO0VBQ0E7QVJpa0NEOztBUTdqQ0E7Ozs7RUFJQztFQUNBO0FSZ2tDRDs7QVE1akNBOztFQUVDO0VBQ0EsY05uQmU7QUZrbENoQjs7QVE1akNBOztFQUVDLFdONUJrQjtBRjJsQ25COztBUTNqQ0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QVI4akNEOztBUTFqQ0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QVI2akNEOztBUXpqQ0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QVI0akNEOztBUXhqQ0E7RUFDQztBUjJqQ0Q7O0FReGpDQTtFQUNDO0VBQ0E7QVIyakNEOztBUXhqQ0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QVIyakNEOztBUXhqQ0E7RUFDQztFQUNBO0FSMmpDRDs7QVF4akNBO0VBQ0MsY045RWU7QUZ5b0NoQjs7QVF4akNBO0VBQ0M7QVIyakNEOztBUXRqQ0E7OytFQUFBO0FBSUE7O0VBRUM7QVJ3akNEOztBUXJqQ0E7O0VBRUM7QVJ3akNEOztBUXJqQ0E7O0VBRUM7QVJ3akNEOztBUXJqQ0E7Ozs7RUFJQztBUndqQ0Q7O0FRcmpDQTs7RUFFQztFQUNBO0VBQ0E7QVJ3akNEOztBUXBqQ0E7RUFDQztFQUNBO0FSdWpDRDs7QVFwakNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJOckllO0FGNHJDaEI7O0FRcGpDQTtFQUNDLHNCTjdJa0I7QUZvc0NuQjs7QVFwakNBO0VBQ0MseUJOL0ltQjtBRnNzQ3BCOztBUW5qQ0E7RUFDQztFQUNBO0VBQ0EsY05wSmU7RU1xSmY7QVJzakNEOztBUWxqQ0E7RUFDQztBUnFqQ0Q7O0FRbGpDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGNOcEttQjtBRnl0Q3BCOztBUWxqQ0E7RUFDQztBUnFqQ0Q7O0FRampDQTtFQUNDO0FSb2pDRDs7QVFqakNBO0VBQ0M7RUFDQTtBUm9qQ0Q7O0FRampDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FSb2pDRDs7QVFoakNBOzsrRUFBQTtBQUdBO0VBQ0M7RUFDQTtFQUNBO0FSbWpDRDs7QVFoakNBO0VBQ0M7RUFDQTtBUm1qQ0Q7O0FRaGpDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY043TWU7RU04TWY7QVJtakNEOztBUWhqQ0E7RUFDQztBUm1qQ0Q7O0FRaGpDQTtFQUNDO0VBQ0E7QVJtakNEOztBUS9pQ0E7O0VBRUM7RUFDQTtFQUNBO0FSa2pDRDs7QVEvaUNBOztFQUVDO0VBQ0E7RUFDQTtBUmtqQ0Q7O0FRL2lDQTtFQUNDO0FSa2pDRDs7QVEvaUNBO0VBQ0M7QVJrakNEOztBUS9pQ0E7RUFDQztBUmtqQ0Q7O0FROWlDQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FSZ2pDRDs7QVE3aUNBO0VBQ0M7RUFDQTtFQUNBO0FSZ2pDRDs7QVE3aUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVJnakNEOztBUTdpQ0E7OytFQUFBO0FBSUE7RUFDQztFQUNBO0FSK2lDRDs7QVE1aUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNON1JlO0FGNDBDaEI7O0FRNWlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNOdFNpQjtBRnExQ2xCOztBUTVpQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQSxjTmpUbUI7QUZnMkNwQjs7QVE1aUNBO0FBQ0E7RUFDSTtBUitpQ0o7O0FRNWlDQTtFQUNJO0FSK2lDSjs7QVE1aUNBO0VBQ0M7RUFDRztBUitpQ0o7O0FRNWlDQTtFQUNDO0FSK2lDRDs7QVE1aUNBOztFQUVJLFdOelVlO0FGdzNDbkI7O0FRMWlDQTs7K0VBQUE7QUFJQTtFQUNDO0FSNGlDRDs7QVF6aUNBO0VBQ0M7QVI0aUNEOztBUXppQ0E7RUFDQyxXTjNWa0I7QUZ1NENuQjs7QVF6aUNBOzsrRUFBQTtBQUtBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVIwaUNEOztBUXZpQ0E7RUFDQztBUjBpQ0Q7O0FRdmlDQTtFQUNDO0FSMGlDRDs7QVF2aUNBOzsrRUFBQTtBQUtBO0VBQ0M7OztJQUdDO0VSd2lDQTtFUXJpQ0Q7SUFDQztFUnVpQ0E7RVFwaUNEOzs7OztJQUtDO0VSc2lDQTtFUW5pQ0Q7SUFDQztFUnFpQ0E7RVFsaUNEO0lBQ0M7RVJvaUNBO0VRamlDRDtJQUNDO0VSbWlDQTtBQUNGO0FRaGlDQTtFQUNDO0lBQ0M7RVJraUNBO0FBQ0Y7QVE3aENBO0VBQ0M7SUFDQztFUitoQ0E7QUFDRjtBUTVoQ0E7RUFDQztJQUNDO0VSOGhDQTtBQUNGO0FRemhDQTtFQUNDO0lBQ0M7RVIyaENBO0FBQ0Y7QVF2aENBO0VBQ0M7SUFDQztFUnloQ0E7RVFyaENEOzs7SUFHQztFUnVoQ0E7RVFwaENEOztJQUVDO0VSc2hDQTtFUW5oQ0Q7Ozs7OztJQU1DO0VScWhDQTtFUWxoQ0Q7Ozs7OztJQU1DO0VSb2hDQTtBQUNGO0FTeC9DQTs7K0VBQUE7QUFJQTtFQUNDLGlCUHVDYTtFT3RDYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR5L0NEO0FTdi9DQztFQUNDO0FUeS9DRjs7QVNwL0NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVR1L0NEOztBU3AvQ0E7RUFDQyxXUFprQjtFT2FsQjtBVHUvQ0Q7O0FTcC9DQTtFQUNDO0VBQ0E7QVR1L0NEOztBU3AvQ0E7RUFDQyxVUHRCa0I7QUY2Z0RuQjtBU3IvQ0M7RUFDQyxhUHJCYztBRjRnRGhCOztBU24vQ0E7RUFDQztFQUNBO0FUcy9DRDs7QVNuL0NBO0FBQ0E7RUFDSTtJQUNGO0VUcy9DQTtBQUNGO0FTbi9DQTtFQUNDO0VBQ0E7RUFDQTtBVHEvQ0Q7QVNuL0NDO0VBQ0M7QVRxL0NGOztBU2ovQ0E7O0VBRUMsZ0JQckRrQjtBRnlpRG5COztBU2wvQ0E7RUFDQztBVHEvQ0Q7O0FTbC9DQTtFQUNDO0lBQ0M7RVRxL0NBO0FBQ0Y7QVVsa0RBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBLHlCUmlCUztFUWhCVCxjUlNtQjtBRjBqRHBCOztBVWhrREE7RUFDQztBVm1rREQ7O0FV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O0VBQ0M7QWIrbUZEOztBYTVtRkE7OztFQUdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWIrbUZEOztBYTVtRkE7RUFDQztFQUNBO0VBQ0E7QWIrbUZEOztBYTFtRkE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiNm1GRDs7QWExbUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWI2bUZEOztBYTFtRkE7O0VBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYjRtRkQ7O0Fhem1GQTs7RUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0FiMm1GRDs7QWF4bUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWIybUZEOztBYXZtRkE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlgvUmlCO0VXZ1NqQjtBYjBtRkQ7O0Fhcm1GQTtFQUNDLHlCWHpTbUI7QUZpNUZwQjs7QWFybUZBO0VBQ0M7QWJ3bUZEOztBYXJtRkE7O0VBRUMseUJYL1NpQjtFV2dUakI7QWJ3bUZEOztBYXJtRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYndtRkQ7O0Fhcm1GQTtFQUNDO0Fid21GRDs7QWFybUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJ3bUZEOztBYXJtRkE7RUFDQztBYndtRkQ7O0FhcG1GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FidW1GRDs7QWFwbUZBO0VBQ0M7QWJ1bUZEOztBYW5tRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnNtRkQ7O0Fhbm1GQTtFQUNDO0Fic21GRDs7QWFubUZBO0VBQ0M7RUFDQTtBYnNtRkQ7O0Fhbm1GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnNtRkQ7O0Fhbm1GQTs7RUFFQztFQUNBO0Fic21GRDs7QWFubUZBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnNtRkQ7O0Fhbm1GQTtFQUNDO0Fic21GRDs7QWFu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QTtJQUNBO0VsQjZzSUE7RWtCMXNJRDtJQUNDO0VsQjRzSUE7RWtCenNJRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCMnNJTjtBQUNGO0FrQnhzSUE7RUFDQzs7O0lBR0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEIwc0lBO0VrQnZzSUQ7SUFDQztFbEJ5c0lBO0VrQnRzSUQ7SUFDQztFbEJ3c0lBO0VrQnJzSUU7SUFDSTtFbEJ1c0lOO0FBQ0Y7QWtCbnNJQTtFQUNDO0lBQ0M7SUFDQTtFbEJxc0lBO0VrQmxzSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCb3NJQTtFa0Jqc0lEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RWxCbXNJQTtFa0Joc0lEOztJQUVDO0VsQmtzSUE7RWtCL3JJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLHlCaEIxU2M7RUYyK0lkO0VrQjlySUQ7SUFDQztFbEJnc0lBO0FBQ0Y7QWtCMXJJQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEI0cklBO0VrQnhySUQ7O0lBRUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEIwcklBO0VrQnZySUQ7SUFDQztJQUNBO0VsQnlySUE7RWtCcnJJRDtJQUNDO0VsQnVySUE7QUFDRjtBa0JwcklBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQnNySUE7RWtCbHJJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCb3JJQTtFa0JqcklEOztJQUVDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCbXJJQTtFa0I5cUlEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJncklBO0VrQjdxSUQ7SUFDQztFbEIrcUlBO0VrQjVxSUQ7SUFDQztFbEI4cUlBO0VrQjFxSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjRxSUE7QUFDRjtBa0J4cUlBO0VBQ0M7O0lBRUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEIwcUlBO0VrQnZxSUQ7SUFDQztFbEJ5cUlBO0VrQnRxSUQ7SUFDQztFbEJ3cUlBO0VrQnJxSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQnVxSUE7RWtCbnFJRDtFQUNBO0lBQ0M7SUFDQTtFbEJxcUlBO0VrQmxxSUQ7SUFDQztFbEJvcUlBO0VrQmpxSUQ7SUFDQztFbEJtcUlBO0VrQmhxSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQmtxSUE7RWtCL3BJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCaXFJQTtFa0I5cElEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJncUlBO0VrQjdwSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEIrcElBO0FBQ0Y7QWtCNXBJQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEI4cElBO0VrQjNwSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjZwSUE7RWtCMXBJRDs7OztJQUlDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCNHBJQTtFa0J6cElEO0lBQ0M7RWxCMnBJQTtFa0J4cElEO0lBQ0M7RWxCMHBJQTtFa0J2cElEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJ5cElBO0VrQnRwSUQ7SUFDQztFbEJ3cElBO0FBQ0Y7QWtCbnBJQTtFQUNDOztJQUVDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCcXBJQTtFa0JscElEO0lBQ0M7RWxCb3BJQTtFa0JqcElEO0lBQ0M7RWxCbXBJQTtFa0JocElEOztJQUVDO0VsQmtwSUE7RWtCL29JRDs7O0lBR0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJpcElBO0VrQjlvSUQ7SUFDQztFbEJncElBO0VrQjdvSUQ7O0lBRUM7RWxCK29JQTtFa0Izb0lEO0lBQ0M7RWxCNm9JQTtFa0Ixb0lEO0lBQ0M7RWxCNG9JQTtFa0J6b0lEO0lBQ0M7RWxCMm9JQTtBQUNGO0FrQnhvSUE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCMG9JQTtFa0J2b0lEO0lBQ0M7RWxCeW9JQTtFa0J0b0lEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJ3b0lBO0VrQnJvSUU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQnVvSU47QUFDRjtBa0Jwb0lBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQnNvSUE7RWtCbm9JRDtJQUNDO0VsQnFvSUE7RWtCbG9JRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCb29JQTtFa0Jqb0lEO0lBQ0M7RWxCbW9JQTtFa0Job0lEO0lBQ0M7SUFDQTtFbEJrb0lBO0VrQi9uSUQ7O0lBRUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCaW9JQTtFa0I5bklEO0lBQ0M7SUFDQTtFbEJnb0lBO0VrQjVuSUQ7SUFDQztFbEI4bklBO0VrQjNuSUQ7SUFDQztJQUNBO0lBQ0E7RWxCNm5JQTtBQUNGO0FtQnZ5SkE7OytFQUFBO0FBR0E7RUFDSTtFQUNBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RW5CeXlKTjtFbUJ0eUpEOztJQUVPO0VuQnd5Sk47RW1CcnlKRTs7O0lBR0Y7RW5CdXlKQTtFbUJweUpFOztJQUVJO0lBQ0E7RW5Cc3lKTjtFbUJueUpFO0lBQ0k7RW5CcXlKTjtFbUJseUpFOztJQUVJO0VuQm95Sk47RW1CanlKRTtJQUNJO0VuQm15Sk47RW1CaHlKRTtJQUNJO0VuQmt5Sk47RW1CL3hKRTs7O0lBR0k7SUFDQTtFbkJpeUpOO0VtQjl4SkU7O0lBRUk7SUFDQTtFbkJneUpOO0VtQjd4SkU7RUFFSDs7SUFFQztJQUNBO0lBQ0E7RW5COHhKQTtFbUIzeEpFO0lBQ0k7RW5CNnhKTjtFbUIxeEpEO0lBQ0M7RW5CNHhKQTtFbUJ6eEpEOzs7OztJQUtDO0VuQjJ4SkE7RW1CeHhKRDtFQUNBO0lBQ0M7RW5CMHhKQTtFbUJ0eEpEO0lBQ0M7RW5Cd3hKQTtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvbWFpbi5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9faGVscGVycy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX29mZmNhbnZhcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19jb250ZW50ZWxlbWVudHMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3JhdGlvYm94LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fc2hvcC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL193b29jb21tZXJjZS1sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19wcmludC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0IFwiY29tbW9uL19mb250c1wiO1xuQGltcG9ydCBcImNvbW1vbi9fdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiY29tbW9uL19ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJjb21tb24vX21peGluc1wiO1xuQGltcG9ydCBcImNvbW1vbi9faGVscGVyc1wiO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTYWFzIFRvb2xzIChpbXBvcnRlZCBmcm9tIG5vZGVfbW9kdWxlcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIFNjdXQ6IFNhc3MtQ1NTIFV0aXRpbGllcyAoaHR0cHM6Ly9kYXZpZHRoZWNsYXJrLmdpdGh1Yi5pby9zY3V0Lylcbi8qQGltcG9ydCAnc2N1dC9kaXN0L3NjdXQnOyovXG5cbi8vIE1lZGlhIFF1ZXJpZXMgd2l0aCBzdXBlcnBvd2VycyAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSlcbi8qQGltcG9ydCAnc2Fzcy1tcS9tcSc7Ki9cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG4vKiBvcHRpb25hbCBzdHlsZXMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjsgXG4vKkBpbXBvcnQgXCJjb21wb25lbnRzL190YWJsZXNcIjsqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnRlbGVtZW50c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2J1dHRvbi1saW5rc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3JhdGlvYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Nob3BcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL193b29jb21tZXJjZS1sYXlvdXRcIjtcblxuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcHJpbnRcIjsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvamVjdCBGb250c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdyYWRpa2FsJztcbiAgICBzcmM6ICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHQuZW90Jyk7XG4gICAgc3JjOiAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcblx0Zm9udC13ZWlnaHQ6ICAzMDA7XG5cdGZvbnQtc3R5bGU6ICAgbm9ybWFsO1xuXHRmb250LXN0cmV0Y2g6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBmYWxsYmFjaztcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3JhZGlrYWwnO1xuICAgIHNyYzogIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodGl0YWxpYy5lb3QnKTtcbiAgICBzcmM6ICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHRpdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHRpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0aXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHRpdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuXHRmb250LXdlaWdodDogIDMwMDtcblx0Zm9udC1zdHlsZTogICBpdGFsaWM7XG5cdGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuXHRmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuXG59XG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdyYWRpa2FsJztcbiAgICBzcmM6ICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtYmxhY2suZW90Jyk7XG4gICAgc3JjOiAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWJsYWNrLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWJsYWNrLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1ibGFjay53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWJsYWNrLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcblx0Zm9udC13ZWlnaHQ6ICA2MDA7XG5cdGZvbnQtc3R5bGU6ICAgbm9ybWFsO1xuXHRmb250LXN0cmV0Y2g6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbn1cblxuIiwiLyogVmFyaWFibGVzLCBOYW1pbmcgbWF5IHZhcnkgZnJvbSBwcm9qZWN0IHRvIHByb2plY3QgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kZm9udC1zdGFjay1kZWZhdWx0OiAncmFkaWthbCcsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHRleHQgKi9cbiR0ZXh0LWNvbG9yOiAjMkEyMjI4OyAvKiBncmV5ICovXG4kdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiR0ZXh0LWNvbG9yLW1lZGl1bTogIzYwNUQ2QTtcbiR0ZXh0LWNvbG9yLWZvb3RlcjogI2Q2ZDZkNjtcblxuJGNvbG9yLXByaW1hcnk6ICMyRTFBQTk7IC8qIGJsdWUgKi9cbiRjb2xvci1oaWdobGlnaHQ6ICMwMEQ0QjQ7IC8qIGdyZWVuICovXG5cbi8qIGJhY2tncm91bmQgKi9cbiRiZy1jb250ZW50OiAjZmZmO1xuJGJnLWRhcms6ICMzMzMzMzM7IC8qIGdyZXkgKi9cbiRiZy1saWdodDogI0UyRTVFOTsgLyogZ3JleSAqL1xuXG5cbi8qIGxpbmUtY29sb3JzICovXG4kYm9yZGVyLWJhc2ljOiAjRTJFNUU5O1xuJGJvcmRlci1saWdodDogI2ZmZjtcbiRib3JkZXItZGFyazogIzU5NTg1YztcblxuJGJvcmRlci1mb3JtOiAjOTQ5MTk0O1xuJGJvcmRlci1mb3JtLWZvY3VzOiAjMDAwO1xuXG5cbiRjdWJpYy10cmFuc2l0aW9uOiBlYXNlLW91dDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFkZGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHBhZGRpbmctdG9wOiAzcmVtOyAvKiBwYWRkaW5nIGhlYWRlciAqL1xuJGhlaWdodC1tZXNzYWdlOiAxMjBweDtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG4gICAgLS1mb3JtLWZpZWxkLWJnOiByZ2JhKDIyNiwyMjksMjMzLDAuMyk7XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4qIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiA0ICovXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLypcbiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcblxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlICdhJyBlbGVtZW50IGluIElFNi83LzgvOSwgRkYzXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFN1xuICogICAgY29kZS5mbGlja3IuY29tL2Jsb2cvMjAwOC8xMS8xMi9vbi11aS1xdWFsaXR5LXRoZS1saXR0bGUtdGhpbmdzLWNsaWVudC1zaWRlLWltYWdlLXJlc2l6aW5nL1xuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgbWFyZ2luOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBwYWRkaW5nOjA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gIGJvcmRlcjogMDtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogNCAqL1xufVxuXG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG5cbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cblxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLyoqXG5cbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxsc1xuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnRzIGN1YmVncmFmaWtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5cbmRpdiwgcCB7XG4gICAgcGFkZGluZzowO1xuICAgIG1hcmdpbjowO1xufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGgsIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gICAgLyogUmVtb3ZlZCBiZWNhdXNlIG9mIHZpc2liaWxpdHljaGFuZ2UtYWRkaXRpb24gdG8gZmFuY3ktZm9ybXMgcGx1Z2luLlxuICAgICAqIDIwMTUvMDEvMjIgLSBGbG9yaWFuIE3DpGRlclxuICAgICAqIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsqL1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBGaXJlZm94IDEgLSAyOCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqL1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5sYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDEwICAqL1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTErICovXG59XG5cbi5jLWZpZ3VyZS1wYWRkaW5ne1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTsgXG59XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIFBsYWNlaG9sZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgICAge0Bjb250ZW50fVxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnRzIHNtb290aGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogb24pIHtcbiAgICBAaWYgJHZhbHVlID09IG9uIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgaGlkZSduJ3Nob3dcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiB2aXN1YWxseWhpZGRlbigpe1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1peGluIHZpc3VhbGx5dW5oaWRkZW4oKXtcblx0Ym9yZGVyOiBub25lO1xuXHRjbGlwOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1hcmdpbjogMDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG5cdHdpZHRoOiBhdXRvO1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgSGlkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oaWRlLXZpc3VhbGx5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmMtaGlkZS1jb21wbGV0ZWx5IHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBpbWFnZSByZXBsYWNlbWVudCAqL1xuLmMtaXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0ZGlyZWN0aW9uOiBsdHI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0aWNreSBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtaGVhZGVyLFxuLmMtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmMtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIFByb2plY3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5IHtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBsaW5rcyAqL1xuYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG5hLFxuYTp2aXNpdGVkLFxuYTpmb2N1cyxcbmE6aG92ZXIge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbi5jLXRleHQtbGlnaHQgYSxcbi5jLXRleHQtbGlnaHQgYTp2aXNpdGVkLFxuLmMtdGV4dC1saWdodCBhOmZvY3VzLFxuLmMtdGV4dC1saWdodCBhOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuXG4uaXMtaW52aXNpYmxlIHtcblx0b3BhY2l0eTogMDtcblx0bWF4LWhlaWdodDogMDtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxudGV4dGFyZWEge1xuXHRyZXNpemU6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIGltZyAvIG1lZGlhIGRlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5lbWJlZCxcbm9iamVjdCxcbnZpZGVvLFxuaWZyYW1lLFxuaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLWltZy1tYXgtd2lkdGgsXG4uYy1jb250ZW50IC5jLWltZy1tYXgtd2lkdGgge1xuXHR3aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcgeyBcblx0dmVydGljYWwtYWxpZ246IGJvdHRvbTsgXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIE1haW4gQ29udGFpbmVyIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXIsXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyLFxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLXdpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiBhdXRvO1xufVxuXG4uYy1jb250ZW50IHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIFBhZGRpbmcgYmV0d2VlbiBDb21wb25lbnRzIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyLFxuLmMtdGVhc2VyLTJjb2wgLmMtdGVhc2VyLWl0ZW0sXG4uYy10ZWFzZXItdGVhbSAuYy10ZWFzZXItaXRlbSxcbi5jLXRlYXNlci1iaWctdGV4dC1pbm5lcixcbi5jLXRleHQtM2NvbCAuYy1jb2wtNCB7XG5cdHBhZGRpbmctYm90dG9tOiA2ZW07XG59XG5cbi5jLXNob3dyb29tLXRleHQtaW5uZXIge1xuXHRwYWRkaW5nLWJvdHRvbTogN2VtO1xufVxuXG4uYy1jb2xvci1jaGFuZ2UtdG9wLFxuLmMtc2hvd3Jvb20tdGV4dC1pbm5lcixcbi5jLXRlYXNlci1iaWctdGV4dC1pbm5lciB7XG5cdHBhZGRpbmctdG9wOiA2ZW07XG59XG5cbi5jLWNvbG9yLWNoYW5nZS1ib3R0b20ge1xuXHRtYXJnaW4tYm90dG9tOiA2ZW07XG59XG5cbi5jLWNvbnRhaW5lci1uby1wYWRkaW5nIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLWNvbC1pbWctdmFyIHtcblx0cGFkZGluZy10b3A6IDZlbTtcblx0cGFkZGluZy1ib3R0b206IDZlbTtcblx0YWxpZ24tc2VsZjogY2VudGVyXG59XG5cbi5jLWltZy12YXItYWxpZ24tdG9wIHtcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi5jLWltZy12YXItYWxpZ24tYm90dG9tIHtcblx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy10aXRsZS1tYWluIHtcblx0cGFkZGluZy10b3A6IDEwZW07XG59XG5cbi5jLXRlYXNlci1zZXJ2aWNlLXRleHQge1xuXHRwYWRkaW5nLXRvcDogMS43ZW07XG5cdHBhZGRpbmctYm90dG9tOiAxLjdlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIEdyaWQgRGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG5cblxuXG4uYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgIC5jLWN0YTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNmVtO1xuICAgIH1cbn1cblxuLmMtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmMtcm93LWNlbnRlci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuYy1idG4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxufVxuXG4uYy1yb3ctanVzdGlmeS1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYy1yb3ctanVzdGlmeS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYy1yb3ctanVzdGlmeS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jLXJvdy1hbGlnbi10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1yb3ctYWxpZ24tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1yb3ctYWxpZ24tYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jLWNvbC0xLFxuLmMtY29sLTIsXG4uYy1jb2wtMyxcbi5jLWNvbC00LFxuLmMtY29sLTUsXG4uYy1jb2wtNixcbi5jLWNvbC03LFxuLmMtY29sLTgsXG4uYy1jb2wtOSxcbi5jLWNvbC0xMCxcbi5jLWNvbC0xMSxcbi5jLWNvbC0xMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbn1cblxuLmMtY29sLTEyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgICAgXG59XG5cbi5jLWNvbC0xMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTtcbn1cblxuLmMtY29sLTEwIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlO1xufVxuXG4uYy1jb2wtOSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA3NSU7XG4gICAgLW1zLWZsZXg6IDAgMCA3NSU7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbn1cblxuLmMtY29sLTgge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG59XG5cbi5jLWNvbC03IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xufVxuXG4uYy1jb2wtNiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmMtY29sLTUge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG59XG5cbi5jLWNvbC00IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uYy1jb2wtMyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7XG4gICAgLW1zLWZsZXg6IDAgMCAyNSU7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLmMtY29sLTIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG59XG5cbi5jLWNvbC0xIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7XG59XG5cbi8qIG9mZnNldCBjb2xzICovXG4uYy1jb2wtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLmMtY29sLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjclO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JpZCBWYXJpYW50ZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWltZy10aWxlcyAuYy1yb3cge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYy1pbWctdGlsZXMgLmMtY29sLTQge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cblxuLypcbi5jLXRlYXNlci1zZXJ2aWNlIC5jLXJvdyB7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLXRlYXNlci1zZXJ2aWNlIC5jLXRlYXNlci1zZXJ2aWNlLWltZyB7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cGFkZGluZy1yaWdodDogMDtcbn1cblxuLmMtdGVhc2VyLXNlcnZpY2UgLmMtdGVhc2VyLXNlcnZpY2UtdGV4dCB7XG5cdHBhZGRpbmctbGVmdDogMzBweDtcblx0cGFkZGluZy1yaWdodDogMzBweDtcbn1cblxuXG5cbi5jLXRlYXNlci1zZXJ2aWNlLXZpZGVve1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwcHghaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xufVxuXG4uYy10ZWFzZXItc2VydmljZS12aWRlby10ZXh0e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAzMCU7XG59XG4qL1xuXG5cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1kZWZhdWx0O1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cblxuaDEsXG4uYy1oMSxcbi5jLWxpbmstY3RhLFxuLmMta2V5ZmFjdHMtbnIge1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRmb250LXNpemU6IDRyZW07IC8qIDgwcHggKi9cblx0XG59XG5cbmgxLFxuLmMtaDEge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5jLXRleHQtbGlnaHQgaDEsXG4uYy10ZXh0LWxpZ2h0IC5jLWgxIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuXG5cbmgyLFxuLmMtaDIge1xuXHRwYWRkaW5nLWJvdHRvbTogLjZlbTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0Zm9udC1zaXplOiAzcmVtOyAvKiA2MHB4ICovXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cblxuaDMsXG4uYy1oMyB7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGZvbnQtc2l6ZTogMS44cmVtOyAvKiAzNnB4ICovXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHBhZGRpbmctYm90dG9tOiAwLjZlbTtcbn1cblxuXG5oNCxcbi5jLWg0IHtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0Zm9udC1zaXplOiAxcmVtOyBcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZy1ib3R0b206IDAuNmVtO1xufVxuXG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9uIHtcblx0Zm9udC1zaXplOiAxLjhyZW07IC8qIDM2cHggKi9cbn1cblxuLmMtdGVhc2VyLXRpdGxlIHtcblx0Zm9udC1zaXplOiAyLjJyZW07IC8qIDQ0cHggKi9cblx0bGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmMtY2F0ZWdvcnktdGl0bGUsXG4uYy1rZXlmYWN0cy1kZXNjIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogMC44cmVtOyAvKiAxNiBweCAqL1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogMzAwO1xufVxuXG4uYy1jYXRlZ29yeS10aXRsZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLXRpdGxlLW1haW4gLmMtY2F0ZWdvcnktdGl0bGUge1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbmgyLmMtY2F0ZWdvcnktdGl0bGUge1xuXHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBUZXh0IENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIge1xuXHRsaW5lLWhlaWdodDogMS43O1xufVxuXG4uYy10ZXh0LWJsb2NrIHAsXG4uYy10ZXh0LWJsb2NrIC5jLWxpc3Qtc29jaWFsICsgcCB7XG5cdHBhZGRpbmctYm90dG9tOiAxLjdyZW07XG59XG5cbi5jLXRleHQtYmxvY2sgcCArIGgzLFxuLmMtdGV4dC1ibG9jayBwICsgaDQge1xuXHRwYWRkaW5nLXRvcDogMS43ZW07XG59XG5cbi5jLWZvb3Rlcixcbi5jLXRleHQtc21hbGwsXG4uYy1wcm9maWxlLWxpc3QsXG4uYy1mb290ZXItc2hvcCB7XG5cdGZvbnQtc2l6ZTogMC44cmVtOyAvKiAxNiBweCAqL1xufVxuXG4uYy1sZWFkLFxuLmMtdGV4dC1ibG9jayAuYy1sZWFkIHtcblx0Zm9udC1zaXplOiAxLjhyZW07IC8qIDM2cHggKi9cblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuXG4uYy1saW5lIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLWxpbmU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMjhweDtcblx0aGVpZ2h0OiA0cHg7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluZTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG5cbi5jLWZvb3RlciAuYy1saW5lOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvci1mb290ZXI7XG59XG5cblxuLmMtc3VibGluZS1udW1iZXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRtYXJnaW4tYm90dG9tOiAyZW07XG5cdFxufVxuXG4uYy1zdWJsaW5lLW51bWJlcjo6YmVmb3JlIHtcblx0dG9wOiAxMDAlO1xufVxuXG4uYy1sZWdlbmQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDIuNWVtO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1tZWRpdW07XG59XG5cbi5jLWxlZ2VuZCAuYy1saW5lIHtcblx0cGFkZGluZy10b3A6IDJlbTtcbn1cblxuXG4uYy1saW5rLWN0YSB7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5jLXRpdGxlLWZvb3RlciB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLWtleWZhY3RzLW5yIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHBhZGRpbmctdG9wOiAycmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgTGlzdHMgQ29udGVudCBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10ZXh0LWJsb2NrIHVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMS43cmVtIDA7IFxuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGk6YmVmb3JlIHtcblx0Y29udGVudDogJ1xcMjAyMic7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAtMC4xZW07XG5cdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmMtdGV4dC1ibG9jayBsaSArIGxpIHtcblx0bWFyZ2luLXRvcDogMC43MjVyZW07XG59XG5cbi5jLXRleHQtYmxvY2sgb2wge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjVlbSAyMHB4OyBcbn1cblxuXG4uYy1saXN0LXNvY2lhbCxcbi5jLXRleHQtYmxvY2sgLmMtbGlzdC1zb2NpYWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5jLWxpc3Qtc29jaWFsIGxpLFxuLmMtdGV4dC1ibG9jayAuYy1saXN0LXNvY2lhbCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGlzdC1zb2NpYWwgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGlzdC1zb2NpYWwgbGkgKyBsaSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLXRleHQtaW1nLTJjb2wtc3ltbWV0cmljIC5jLWxpc3Qtc29jaWFsIHtcblx0cGFkZGluZy1ib3R0b206IDEuN3JlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmVhdHVyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZlYXR1cmVzLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xufVxuXG4uYy1mZWF0dXJlcy1saXN0IGxpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwLjhlbSAwIDAuOGVtIDMwcHg7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xufVxuXG4uYy1mZWF0dXJlcy1uciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxcmVtO1xuXHRsZWZ0OiAwO1xuXHRvcGFjaXR5OiAwLjM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBRdW90ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHtcblx0bWFyZ2luOiAwOyBcblx0cGFkZGluZzogMDtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGZvbnQtc2l6ZTogMS44cmVtOyAvKiAzNnB4ICovXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHA6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICdcXDIwMUMnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtMC41NWVtO1xuXHR0b3A6IC0wLjVlbTtcblx0Zm9udC1zaXplOiA1MDAlO1xuXHRjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDIuNWVtO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1tZWRpdW07XG59XG5cbi8qIHRlc3RpbW9uaWFsICovXG4uYy10ZXN0aW1vbmlhbCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmctdG9wOiA0ZW07XG59XG5cbi5jLXRlc3RpbW9uaWFsIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgLyogMzBweCAqL1xufVxuXG4uYy10ZXN0aW1vbmlhbCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcDo6YmVmb3JlIHtcblx0bGVmdDogMDtcbiAgICB0b3A6IC0uOWVtO1xufVxuXG4uYy10ZXN0aW1vbmlhbCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSB7XG5cdHBhZGRpbmctdG9wOiAyZW07XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAsXG4uYy10ZXh0LWxpZ2h0IC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBoZWxwZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHRcbn1cblxuLmMtdGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHRcbn1cblxuLmMtdGV4dC1saWdodCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb2ZpbGUgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uYy1wcm9maWxlLWxpc3Qge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwLjdlbSAwIDAgMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtcHJvZmlsZS1saXN0IGxpOmZpcnN0LWNoaWxkIHtcblx0cGFkZGluZy10b3A6IDJlbTtcbn1cblxuLmMtcHJvZmlsZS1saXN0IGxpIHtcblx0cGFkZGluZy1ib3R0b206IDEuN2VtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBzaXplcyByZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNTAwcHgpIHsgICAgXG5cdGgxLCAuYy1oMSxcblx0LmMtbGluay1jdGEsXG5cdC5jLWtleWZhY3RzLW5yIHtcblx0XHRmb250LXNpemU6IDVyZW07IC8qIDEwMHB4ICovXG5cdH1cblx0XG5cdGgyLCAuYy1oMiB7XG5cdFx0Zm9udC1zaXplOiA0cmVtOyAvKiA4MHB4ICovXG5cdH1cblx0XG5cdGgzLCAuYy1oMyxcblx0LmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHQuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCxcblx0LmMtaGVhZGVyLW5hdmlnYXRpb24ge1x0XHRcblx0XHRmb250LXNpemU6IDJyZW07IC8qIDQwIHB4ICovXG5cdH1cblx0XG5cdC5jLXRlYXNlci10aXRsZSB7XHRcdFxuXHRcdGZvbnQtc2l6ZTogM3JlbTsgLyogNjAgcHggKi9cblx0fVxuXHRcblx0LmMtcHJvZmlsZS1saXN0IHtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdH1cblx0XG5cdC5jLXRleHQtMmNvbCAuYy1jb2wtNSB7XG5cdFx0cGFkZGluZy10b3A6IDFlbTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTEwMXB4KSBhbmQgKG1heC13aWR0aDoxNDk5cHgpIHsgIFxuXHQuYy10ZXh0LTJjb2wgLmMtY29sLTUge1xuXHRcdHBhZGRpbmctdG9wOiAwLjc5ZW07XG5cdH1cblx0XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExMDBweCkgeyAgXG5cdGh0bWwge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ODgxcHgpIGFuZCAobWF4LXdpZHRoOjExMDBweCkgeyAgXG5cdC5jLXRleHQtMmNvbCAuYy1jb2wtNSB7XG5cdFx0cGFkZGluZy10b3A6IDAuNzZlbTtcblx0fVxuXHRcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODUwcHgpIHsgIFxuXHQuYy10ZWFzZXItdGl0bGUge1x0XHRcblx0XHRmb250LXNpemU6IDEuOHJlbTsgXG5cdH1cblx0XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgICBcblx0aHRtbCB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cdFxuXHRcblx0aDEsIC5jLWgxLFxuXHQuYy1saW5rLWN0YSxcblx0LmMta2V5ZmFjdHMtbnIge1xuXHRcdGZvbnQtc2l6ZTogMi41cmVtOyAvKiA0MHB4ICovXG5cdH1cblx0XG5cdGgyLCAuYy1oMixcblx0LmMtdGVhc2VyLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDJyZW07IC8qIDMycHggKi9cblx0fVxuXHRcblx0aDMsIC5jLWgzLFxuXHQuYy1sZWFkLCBcblx0LmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHQuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCxcblx0LmMtdGVhc2VyLXRpdGxlLFxuXHQuYy1oZWFkZXItbmF2aWdhdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07IC8qMjRweCAqL1xuXHR9XG5cdFx0XG5cdC5jLWZvb3Rlcixcblx0LmMtdGV4dC1zbWFsbCxcblx0LmMtcHJvZmlsZS1saXN0LFxuXHQuYy1jYXRlZ29yeS10aXRsZSxcblx0LmMta2V5ZmFjdHMtZGVzYyxcbiAgICAuYy1mb290ZXItc2hvcCB7XG5cdFx0Zm9udC1zaXplOiAwLjg3NXJlbTsgLyogMTQgcHggKi9cblx0fVxufVxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlciB7XG5cdHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XG5cdHBhZGRpbmctYm90dG9tOiAxMnB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHotaW5kZXg6IDEwMDA7XG5cblx0Ji5maXhlZHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdH1cbn1cblxuXG4uYy1oZWFkZXItbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDIxMHB4O1xuXHR6LWluZGV4OiAxO1xuXHRtYXJnaW4tbGVmdDogMnB4IWltcG9ydGFudDtcbn1cblxuLmMtaGVhZGVyLWxvZ28gYSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWhlYWRlci1sb2dvIHN2ZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHQvKmhlaWdodDogYXV0bzsqL1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWhlYWRlci1sb2dvIC5sb2dvLWNvbG9yIHtcblx0ZmlsbDogJHRleHQtY29sb3ItbGlnaHQ7XG5cblx0Ji5kYXJre1xuXHRcdGZpbGw6ICRjb2xvci1wcmltYXJ5O1xuXHR9XG59XG5cbiNsb3R0aWV7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIGNzcyBmb3IgaWUgMTEsIGNvbnRyb2xzIGhlaWdodCBvZiBsb3R0aWUgKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgI2xvdHRpZSB7XG5cdFx0aGVpZ2h0OiAyNHB4O1xuXHR9XG59XG5cbi5jLWhlYWRlci1sb2dvLWZhbGxiYWNre1xuXHRtYXJnaW4tdG9wOiAtMC41cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ji5kYXJrIC5sb2dvLWNvbG9ye1xuXHRcdGZpbGw6ICMyRTFBQTkhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5jLXRleHQtbGlnaHQgI19fbG90dGllX2VsZW1lbnRfMjUgc3RvcCxcbi5jLXRleHQtbGlnaHQgLmMtaGVhZGVyLWxvZ28gLmxvZ28tY29sb3ItZ3JhZGllbnR7XG5cdHN0b3AtY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuLmMtdGV4dC1saWdodCAuYy1oZWFkZXItbG9nbyAuZGFyayAubG9nby1jb2xvci1ncmFkaWVudHtcblx0c3RvcC1jb2xvcjogJGNvbG9yLXByaW1hcnkgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7IFxuXHQuYy1oZWFkZXItbG9nby1mYWxsYmFja3tcblx0XHRtYXJnaW4tdG9wOiAtNHB4O1xuXHR9XG59XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3RlciB7XG5cdHBhZGRpbmctdG9wOiA0ZW07XG5cdHBhZGRpbmctYm90dG9tOiA0ZW07XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuXHRjb2xvcjogJHRleHQtY29sb3ItZm9vdGVyO1xufVxuXG4uYy1mb290ZXIgcCB7XG5cdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXIge1xuXHRwYWRkaW5nLXRvcDogMmVtO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0LFxuLmMtZm9vdGVyLW5hdi1saXN0LFxuLmMtZm9vdGVyLW5hdi1saXN0IHVsLFxuLmMtZm9vdGVyLXBhcnRuZXItbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiA0ZW07XG59XG5cblxuXG4uYy1mb290ZXItbmF2LWxpc3Qge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1mb290ZXItbmF2LWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctdG9wOiAwLjVlbTtcbn1cblxuLmMtZm9vdGVyLW5hdi1saXN0IGxpLmMtYWN0aXZlIGEsXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpLmMtYWN0aXZlIGEge1xuXHRjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbn1cblxuXG4uYy1mb290ZXIgYSxcbi5jLWZvb3RlciBhOnZpc2l0ZWQge1xuXHRjb2xvcjogJHRleHQtY29sb3ItZm9vdGVyO1xufVxuXG4uYy1mb290ZXIgYTpob3Zlcixcbi5jLWZvb3RlciBhOmZvY3VzIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG59XG5cbi5jLWZvb3Rlci1saW5lIHtcblx0bWFyZ2luLXRvcDogMi41ZW07XG5cdHBhZGRpbmctdG9wOiAyZW07XG59XG5cbi5jLWZvb3RlciAuYy1saXN0LXNvY2lhbCB7XG5cdG1hcmdpbi10b3A6IDIuNWVtO1xufVxuXG4uYy1mb290ZXItbG9nbyB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XG5cdHdpZHRoOiAxMzBweDtcblx0b3BhY2l0eTogMC44O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb290ZXItcGFydG5lciAuYy1jYXRlZ29yeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuLmMtZm9vdGVyLXBhcnRuZXItbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1mb290ZXItcGFydG5lci1saXN0IGxpIHtcbiAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG5cblxuXG4uYy1mb290ZXItbGluay1zd2lzc21hZGUsXG4uYy1mb290ZXItbGluay1kamFuZ28sXG4uYy1mb290ZXItbGluay13b3JkcHJlc3MsXG4uYy1mb290ZXItbGluay1naXNsZXJwcm90b2tvbGwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDBweDtcblx0aGVpZ2h0OiA3N3B4O1xufVxuXG4uYy1mb290ZXItbGluay1kamFuZ28sXG4uYy1mb290ZXItbGluay13b3JkcHJlc3Mge1xuXHRtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uYy1mb290ZXItbGluay1zd2lzc21hZGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL2xvZ28tc3dpc3NtYWRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHdpZHRoOiAxMDBweDtcblx0aGVpZ2h0OiA3N3B4O1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtcG9zaXRvbjogIDAgMDtcbn1cblxuLmMtZm9vdGVyLWxpbmstc3dpc3NtYWRlOmhvdmVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAgMCAtMTAwcHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLWRqYW5nbyB7XG5cdGhlaWdodDogMjNweDtcbn1cblxuLmMtZm9vdGVyLWxpbmstZGphbmdvOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9sb2dvLXBhcnRuZXItZGphbmdvLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHdpZHRoOiAxMDBweDtcblx0aGVpZ2h0OiAyM3B4O1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtcG9zaXRvbjogIDAgMDtcbn1cblxuLmMtZm9vdGVyLWxpbmstZGphbmdvOmhvdmVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAgMCAtMTAwcHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLXdvcmRwcmVzcyB7ICAgIFxuICAgIHdpZHRoOiA0NXB4O1xuXHRoZWlnaHQ6IDQ2cHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLXdvcmRwcmVzczo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvbG9nby1wYXJ0bmVyLXdvcmRwcmVzcy5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR3aWR0aDogNDVweDtcblx0aGVpZ2h0OiA0NnB4O1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtcG9zaXRvbjogIDAgMDtcbn1cblxuLmMtZm9vdGVyLWxpbmstd29yZHByZXNzOmhvdmVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAgMCAtMTAwcHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLWdpc2xlcnByb3Rva29sbCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB3aWR0aDogMTE0cHg7XG5cdGhlaWdodDogMzhweDtcbn1cblxuLmMtZm9vdGVyLWxpbmstZ2lzbGVycHJvdG9rb2xsOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9sb2dvLW1lbWJlci1naXNsZXIuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0d2lkdGg6IDExNHB4O1xuXHRoZWlnaHQ6IDM4cHg7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1wb3NpdG9uOiAgMCAwO1xufVxuXG4uYy1mb290ZXItbGluay1naXNsZXJwcm90b2tvbGw6aG92ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246ICAwIC0xMDBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlciBDYXJib25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1mb290ZXItY2FyYm9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMC40ZW0gYXV0byAwIDA7XG59XG5cblxuLmMtZm9vdGVyICN3Y2IuY2FyYm9uYmFkZ2Uge1xuICAtLWIxOiAjMkUxQUE5O1xuICAtLWIyOiAjMDBENEI0O1xufVxuXG4uYy1mb290ZXIgI3djYiAjd2NiX2EsIFxuLmMtZm9vdGVyICN3Y2IgI3djYl9nIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG59XG4iLCIuc2Nyb2xsYmFyLXRlc3R7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbiNvcGVuLW5hdmlnYXRpb257XG5cdG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyB0cmlnZ2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtdG9nZ2xle1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW4tdG9wOiAtOHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBcdHJpZ2h0OiAzMHB4O1xuICAgXHR0b3A6IDA7XG4gICBcdHdpZHRoOiA0MHB4O1xuXHR6LWluZGV4OiAxMjAwO1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcblx0XHRtYXJnaW4tdG9wOiAtMTBweDtcblx0fVxuXHQmOmhvdmVye1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQmLm9wZW46YWZ0ZXJ7XG5cdFx0XHR3aWR0aDogMzBweDtcblx0XHR9XG5cdFx0Ji5vcGVuOmJlZm9yZXtcblx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdH1cbiAgICAgICAgJi5jbG9zZTphZnRlcntcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICB9XG4gICAgICAgICYuY2xvc2U6YmVmb3Jle1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgIH0gXG5cdH1cbiAgIFx0JjphZnRlcixcbiAgIFx0JjpiZWZvcmV7XG5cdFx0Y29udGVudDogJyc7XG5cdCAgIFx0ZGlzcGxheTogYmxvY2s7XG5cdCAgIFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogNTAlO1xuXHRcdHotaW5kZXg6IC0xXG4gICBcdH1cblx0Ji5vcGVue1xuXHRcdCY6YWZ0ZXJ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHRcdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRcdH1cblx0XHQmOmJlZm9yZXtcblx0XHRcdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuXHRcdFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG5cdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMTJweDtcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLWluLW91dDtcblx0XHR9XG5cdH1cblx0Ji5jbG9zZXtcblx0XHRtYXJnaW4tdG9wOiBjYWxjKCN7JHBhZGRpbmctdG9wfSAtIDhweCk7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG5cdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCN7JHBhZGRpbmctdG9wfSAtIDEwcHgpO1xuXHRcdH1cblx0XHQmOmFmdGVye1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0XHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0XHRoZWlnaHQ6IDRweDtcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cdFx0fVxuXHRcdCY6YmVmb3Jle1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0XHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0XHRoZWlnaHQ6IDRweDtcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXHRcdH1cblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGFuZ3VhZ2UgbmF2XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1sYW5ndWFnZS1uYXZpZ2F0aW9ue1xuXHRsaW5lLWhlaWdodDogMTtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG5cdFx0bWFyZ2luLXRvcDogJHBhZGRpbmctdG9wO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTAwcHg7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAzMGVtO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlLW5hdmlnYXRpb24tdGl0bGUge1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAwLjVlbSAwO1xuXHRvcGFjaXR5OiAwLjU7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2MDBweCkge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxufVxuXG4uYy1sYW5nLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdC5tZW51LWl0ZW17XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmctbGVmdDogMWVtO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgbmF2XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1kZWNvcmF0aW9ue1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzAwJSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAuNHMgZWFzZS1vdXQ7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNDAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvKmJvcmRlci10b3A6IDMwMHZ3IHNvbGlkICRiZy1jb250ZW50O1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA4MnZ3IHNvbGlkIHRyYW5zcGFyZW50OyovXG4gICAgICAgIHotaW5kZXg6IDE7XG5cdFx0LyotbW96LXRyYW5zZm9ybTogc2NhbGUoLjk5OTkpKi9cbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxcHgpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAvKmJvcmRlci10b3A6IDMwMHZ3IHNvbGlkICRiZy1jb250ZW50O1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA4MnZ3IHNvbGlkIHRyYW5zcGFyZW50OyovXG5cdFx0Ym9yZGVyLXRvcDogMjIwdmggc29saWQgJGJnLWNvbnRlbnQ7XG5cdFx0Ym9yZGVyLXRvcC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuXHRcdGJvcmRlci1sZWZ0OiA1NnZoIHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMCk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHNjYWxlKC45OTk5KVxuICAgIH1cbn1cblxuLmMtb2ZmLWNhbnZhc3tcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdiB7XG5cdHBhZGRpbmctdG9wOiA2ZW07XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiA0ZW07XG5cdH1cbn1cblxuLmMtaGVhZGVyLW5hdmlnYXRpb257XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAxcyBlYXNlLWluLW91dDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9uLFxuLmMtYWRkaXRpb25hbC1jb250ZW50e1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQgLjJzLCBvcGFjaXR5IC40cyBlYXNlLWluLW91dCAuMnM7XG59XG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0gKyAubWVudS1pdGVtIHtcblx0cGFkZGluZy10b3A6IDAuMzVlbTtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDAuN2VtO1xuXHR9XG59XG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0tbGluayB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwLjA1ZW0gMC4xZW0gMC4wNWVtIDFlbTtcblx0ei1pbmRleDogMTtcbn1cblxuLmMtaGVhZGVyLW5hdmlnYXRpb24gLm1lbnUtaXRlbS1saW5rOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMGQ0YjQrMCwwMGQ0YjQrNTAsMDBkNGI0KzEwMCYwKzAsMSs1MCwxKzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgwLDIxMiwxODAsMCkgMCUsIHJnYmEoMCwyMTIsMTgwLDEpIDUwJSwgcmdiYSgwLDIxMiwxODAsMSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDAsMjEyLDE4MCwwKSAwJSxyZ2JhKDAsMjEyLDE4MCwxKSA1MCUscmdiYSgwLDIxMiwxODAsMSkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIHJnYmEoMCwyMTIsMTgwLDApIDAlLHJnYmEoMCwyMTIsMTgwLDEpIDUwJSxyZ2JhKDAsMjEyLDE4MCwxKSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAwMGQ0YjQnLCBlbmRDb2xvcnN0cj0nIzAwZDRiNCcsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cblx0dHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLW91dDtcblx0ei1pbmRleDogLTE7XG59XG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0tbGluazpob3Zlcjo6YmVmb3JlLFxuLmMtaGVhZGVyLW5hdmlnYXRpb24gLmMtYWN0aXZlIC5tZW51LWl0ZW0tbGluazo6YmVmb3JlIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9uIGEsXG4uYy1oZWFkZXItbmF2aWdhdGlvbiBhOmhvdmVyLFxuLmMtaGVhZGVyLW5hdmlnYXRpb24gYTpmb2N1cyxcbi5jLXRleHQtbGlnaHQgLmMtaGVhZGVyLW5hdmlnYXRpb24gYSxcbi5jLXRleHQtbGlnaHQgLmMtaGVhZGVyLW5hdmlnYXRpb24gYTpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtaGVhZGVyLW5hdmlnYXRpb24gYTpmb2N1cyxcbi5jLWFkZGl0aW9uYWwtY29udGVudCBhLFxuLmMtYWRkaXRpb25hbC1jb250ZW50IGE6aG92ZXIsXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnQgYTpmb2N1cyxcbi5jLXRleHQtbGlnaHQgLmMtYWRkaXRpb25hbC1jb250ZW50IGEsXG4uYy10ZXh0LWxpZ2h0IC5jLWFkZGl0aW9uYWwtY29udGVudCBhOmhvdmVyLFxuLmMtdGV4dC1saWdodCAuYy1hZGRpdGlvbmFsLWNvbnRlbnQgYTpmb2N1cyB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbn1cblxuLmMtYWRkaXRpb25hbC1jb250ZW50e1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctdG9wOiAyZW07XG5cdG1hcmdpbi10b3A6IDVlbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cCArIHAge1xuXHRcdHBhZGRpbmctdG9wOiAuOGVtO1xuXHR9XG59XG5cbi5jLWFkZGl0aW9uYWwtY29udGVudDo6YmVmb3JlLFxuLmMtdGV4dC1saWdodCAuYy1hZGRpdGlvbmFsLWNvbnRlbnQ6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBjbG9zZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI29wZW4tbmF2aWdhdGlvbi5jbG9zZS1uYXZpZ2F0aW9uLFxuI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCl7XG5cbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgLmMtaW5uZXItb2ZmLWNhbnZhc3tcbiAgICAgICAgbWluLWhlaWdodDogMHZoO1xuICAgICAgICBoZWlnaHQ6IDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWluLWhlaWdodCAwcyBlYXNlLW91dCAwcywgbWF4LXdpZHRoIC40cyBlYXNlLW91dCAwcztcbiAgICB9XG4gICAgLmMtZGVjb3JhdGlvbntcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyBlYXNlLW91dCAwcywgdHJhbnNmb3JtIC40cyBjdWJpYy1iZXppZXIoMCwgMC40LCAwLjYsIDEpO1xuICAgIH1cblx0LyouYy1pbm5lci1vZmYtY2FudmFze1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KXtcblx0XHRcdG1heC13aWR0aDogMTU2MHB4O1xuXHRcdCAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHQgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0fSovXG5cdC5jLW9mZmNhbnZhcy10b2dnbGV7XG5cdFx0Ji5jbG9zZXtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCYub3Blbntcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdC5jLWxhbmd1YWdlLW5hdmlnYXRpb24ge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuXHRcdFx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW47XG5cdFx0fVxuXHR9XG5cbiAgICAuYy1hZGRpdGlvbmFsLWNvbnRlbnQsXG5cdC5jLWhlYWRlci1uYXZpZ2F0aW9ue1xuXHRcdEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuO1xuXHR9XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBvcGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI29wZW4tbmF2aWdhdGlvbi5vcGVuLW5hdmlnYXRpb24sXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldHtcblxuICAgIHRvcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vIG92ZXJmbG93OiBoaWRkZW47XG5cdC8vIHRvcDogMDtcbiAvLyAgICBoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxMDAwO1xuXHQubGF5b3V0LXNjcm9sbGJhci1vYnRydXNpdmV7XG5cdFx0cGFkZGluZy1yaWdodDogMThweDtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTEwMHB4KSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuXHRcdH1cblx0XHQuYy1oZWFkZXJ7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjExMDBweCkge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYy1oZWFkZXJ7XG5cdFx0bWluLWhlaWdodDogMTAwdmg7XG5cdH1cblx0LmMtaGVhZGVyLWxvZ297XG5cdFx0b3BhY2l0eTogLjY7XG5cdH1cblx0JjpiZWZvcmV7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0b3BhY2l0eTogLjY7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiA5MDA7XG5cdH1cblx0LmMtc2Nyb2xsLWNhbnZhc3tcblx0XHRvdmVyZmxvdy15OiBzY3JvbGw7XG5cdH1cblx0LmMtb2ZmLWNhbnZhc3tcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHR6LWluZGV4OiAxMDAwO1xuXHRcdC5jLWlubmVyLW9mZi1jYW52YXN7XG4gICAgICAgICAgICAuYy1kZWNvcmF0aW9ue1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgfVxuXHRcdFx0bWluLXdpZHRoOiAzMDBweDtcblx0XHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0cGFkZGluZy10b3A6ICRwYWRkaW5nLXRvcDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXHRcdH1cblx0fVxuXHQuYy1vZmZjYW52YXMtdG9nZ2xle1xuIFx0XHQmLmNsb3Nle1xuIFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuIFx0XHR9XG4gXHRcdCYub3BlbntcbiBcdFx0XHRkaXNwbGF5OiBub25lO1xuIFx0XHR9XG4gXHR9XG5cblxuXHQuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uIHtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcblx0XHRcdEBpbmNsdWRlIHZpc3VhbGx5dW5oaWRkZW47XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogM2VtO1xuXHRcdH1cblx0fVxuXG4gICAgLmMtYWRkaXRpb25hbC1jb250ZW50LFxuXHQuYy1oZWFkZXItbmF2aWdhdGlvbntcblx0XHRAaW5jbHVkZSB2aXN1YWxseXVuaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblxuICAgIC5jLWFkZGl0aW9uYWwtY29udGVudHtcbiAgICBcdC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFx0cGFkZGluZy10b3A6IDJlbTtcbiAgICBcdG1hcmdpbi10b3A6IDVlbTtcbiAgICB9XG5cblx0LmMtdGV4dC1saWdodCAuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uLFxuXHQuYy10ZXh0LWxpZ2h0IC5jLWxhbmctbWVudSBhLFxuXHQuYy10ZXh0LWxpZ2h0IC5jLWxhbmctbWVudSBhOmhvdmVyLFxuXHQuYy10ZXh0LWxpZ2h0IC5jLWxhbmctbWVudSBhOmZvY3VzIHtcblx0XHRjb2xvcjogJHRleHQtY29sb3I7XG5cdH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnRlbnRlbGVtZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogc21hbGwgZWxlbWVudHMgdGhhdCBkb24ndCBuZWVkIHRoZWlyIG93biAuc2NzcyAqL1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJnLWRhcmsge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbn1cblxuLmMtYmctbGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG59XG5cbi5jLWJnLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmMtYmctc2VydmljZS1wcmltYXJ5IHtcblx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMyZTFhYTkrMCwwMDAyOTArMTAwICovXG5cdGJhY2tncm91bmQ6IHJnYig0NiwyNiwxNjkpOyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSg0NiwyNiwxNjksMSkgMCUsIHJnYmEoMCwyLDE0NCwxKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSg0NiwyNiwxNjksMSkgMCUscmdiYSgwLDIsMTQ0LDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSg0NiwyNiwxNjksMSkgMCUscmdiYSgwLDIsMTQ0LDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMyZTFhYTknLCBlbmRDb2xvcnN0cj0nIzAwMDI5MCcsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbn1cblxuLmMtYmctc2VydmljZS1wcmltYXJ5LWhvcml6b24ge1xuXHRiYWNrZ3JvdW5kOiAjMmQxYWE4IHVybCguLi8uLi9pbWFnZXMvYmFja2dyb3VuZF9ob3Jpem9uX2JsdWUuanBnKSByZXBlYXQteCAwIDA7XG59XG5cbi5jLWJnLXNlcnZpY2UtaGlnaGxpZ2h0IHtcblx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM0NGYxY2YrMCwwMGJjOWQrMTAwICovXG5cdGJhY2tncm91bmQ6IHJnYig2OCwyNDEsMjA3KTsgLyogT2xkIGJyb3dzZXJzICovXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoNjgsMjQxLDIwNywxKSAwJSwgcmdiYSgwLDE4OCwxNTcsMSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoNjgsMjQxLDIwNywxKSAwJSxyZ2JhKDAsMTg4LDE1NywxKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIHJnYmEoNjgsMjQxLDIwNywxKSAwJSxyZ2JhKDAsMTg4LDE1NywxKSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNDRmMWNmJywgZW5kQ29sb3JzdHI9JyMwMGJjOWQnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG59XG5cbi5jLWJnLXNlcnZpY2UtaGlnaGxpZ2h0LWhvcml6b24ge1xuXHRiYWNrZ3JvdW5kOiAjMDBiNzk5IHVybCguLi8uLi9pbWFnZXMvYmFja2dyb3VuZF9ob3Jpem9uX2dyZWVuLmpwZykgcmVwZWF0LXggMCAwO1xufVxuXG4uYy1iZy1zZXJ2aWNlLWxpZ2h0IHtcblx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNlOGU4ZTgrMCxiNmI2YjYrMTAwICovXG5cdGJhY2tncm91bmQ6IHJnYigyMzIsMjMyLDIzMik7IC8qIE9sZCBicm93c2VycyAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDIzMiwyMzIsMjMyLDEpIDAlLCByZ2JhKDE4MiwxODIsMTgyLDEpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDIzMiwyMzIsMjMyLDEpIDAlLHJnYmEoMTgyLDE4MiwxODIsMSkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICByZ2JhKDIzMiwyMzIsMjMyLDEpIDAlLHJnYmEoMTgyLDE4MiwxODIsMSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2U4ZThlOCcsIGVuZENvbG9yc3RyPScjYjZiNmI2JyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOSAqL1xufVxuXG4uYy1iZy1zZXJ2aWNlLWxpZ2h0LWhvcml6b24ge1xuXHRiYWNrZ3JvdW5kOiAjZThlOGU4IHVybCguLi8uLi9pbWFnZXMvYmFja2dyb3VuZF9ob3Jpem9uX3doaXRlLmpwZykgcmVwZWF0LXggMCAwO1xufVxuXG4uYy1iZy1zZXJ2aWNlLWRhcmsge1xuXHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cHM6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzFiMWIxYiswLDEzMTMxMysxMDAgKi9cblx0YmFja2dyb3VuZDogcmdiKDI3LDI3LDI3KTsgLyogT2xkIGJyb3dzZXJzICovXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjcsMjcsMjcsMSkgMCUsIHJnYmEoMTksMTksMTksMSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjcsMjcsMjcsMSkgMCUscmdiYSgxOSwxOSwxOSwxKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIHJnYmEoMjcsMjcsMjcsMSkgMCUscmdiYSgxOSwxOSwxOSwxKSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMWIxYjFiJywgZW5kQ29sb3JzdHI9JyMxMzEzMTMnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG59XG5cbi5jLWJnLXNlcnZpY2UtZGFyay1ob3Jpem9uIHtcblx0YmFja2dyb3VuZDogIzFiMWIxYiB1cmwoLi4vLi4vaW1hZ2VzL2JhY2tncm91bmRfaG9yaXpvbl9ibGFjay5qcGcpIHJlcGVhdC14IDAgMDtcbn1cblxuLyogbmV3IHNlcnZpY2UgYmcgY29sb3JzIGZvciB2aWRlb3MgKi9cbi5jLWJnLXNlcnZpY2UtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzFjMjk4NTtcbn1cblxuLmMtYmctc2VydmljZS1ibGFjayB7XG4gICAgYmFja2dyb3VuZDogIzEwMTAxMDtcbn1cblxuLmMtYmctc2VydmljZS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzE3OGU3MDtcbn1cblxuLmMtYmctc2VydmljZS1icm9uemUge1xuICAgIGJhY2tncm91bmQ6ICNhZDhhNmU7XG59XG5cbi5jLWJnLXNlcnZpY2UtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2I1YmNjMjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgU2hvd3Jvb20gLyBUZWFzZXIgYmlnXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zaG93cm9vbSxcbi5jLXRlYXNlci1iaWcge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1zaG93cm9vbSxcbi5jLXNob3dyb29tLXRleHQgLmMtcm93LFxuLmMtdGVhc2VyLWJpZyxcbi5jLXRlYXNlci1iaWctdGV4dCAuYy1yb3cge1xuXHRtaW4taGVpZ2h0OiAxMDB2aDsgXG59XG5cblxuLyogbWluLWhlaWdodCBmaXggZm9yIGllMTEgKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICBcdC5jLXNob3dyb29tLXRleHQgLmMtcm93OmFmdGVyLFxuXHQuYy10ZWFzZXItYmlnLXRleHQgLmMtcm93OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHQvKmRpc3BsYXk6IGJsb2NrOyovXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAwO1xuXHR9XG59XG5cblxuLmMtc2hvd3Jvb20taW1nLFxuLmMtc2hvd3Jvb20tdmlkZW8sXG4uYy10ZWFzZXItYmlnLWltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXNob3dyb29tLWltZyBpbWcsXG4uYy1zaG93cm9vbS12aWRlbyB2aWRlbyxcbi5jLXRlYXNlci1iaWctaW1nIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHRlYXNlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXRlYXNlci0yY29sIC5jLXRlYXNlci10ZXh0LFxuLmMtdGVhc2VyLXRlYW0gLmMtdGVhc2VyLXRleHQge1xuXHRwYWRkaW5nLXRvcDogMS41ZW07XG59XG5cblxuLmMtdGVhc2VyLWltZyBhIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuXG4uYy10ZWFzZXItaW1nIGE6OmJlZm9yZSxcbi5jLXRlYXNlci10ZWFtLWhvdmVyOjpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGNvbnRlbnQ6ICcnO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgJGJnLWNvbnRlbnQ7XHRcblx0dHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDtcblx0XG59XG5cbi5jLXRlYXNlci1pbWcgYTpob3Zlcjo6YmVmb3JlLFxuLmMtdGVhc2VyLWltZyBhOmhvdmVyIC5jLXRlYXNlci10ZWFtLWhvdmVyOjpiZWZvcmV7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDE0cHggJGJnLWNvbnRlbnQ7XHRcbn1cblxuLmMtdGVhc2VyLXRlYW0taG92ZXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG59XG5cblxuXG4uYy10ZWFzZXItaW1nIGE6aG92ZXIgLmMtdGVhc2VyLXRlYW0taG92ZXIge1xuXHRvcGFjaXR5OiAxO1x0XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHNlcGFyYXRvciBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNlcGFyYXRvci1saW5lIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItYmFzaWM7XG59XG5cbi5jLXF1b3RlLWxpbmUgLmMtc2VwYXJhdG9yLWxpbmU6Zmlyc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi1ib3R0b206IDZlbTtcbn1cblxuLmMtcXVvdGUtbGluZSAuYy1zZXBhcmF0b3ItbGluZTpsYXN0LW9mLXR5cGUge1xuXHRtYXJnaW4tdG9wOiA2ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHBhZ2luZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcGFnaW5nLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtcGFnaW5nLWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBsb2dvd2FsbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbG9nb3dhbGwtbGluZSB7XG4gICAgcGFkZGluZy10b3A6IDEuN3JlbTtcbn1cblxuLmMtbG9nb3dhbGwtbGluZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3JkZXItYmFzaWM7XG59XG5cbi5jLWxvZ293YWxsLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy1sb2dvd2FsbC1saW5lIC5jLWxvZ293YWxsLWxpc3Qge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDRweCAkYm9yZGVyLWJhc2ljO1xufVxuXG4uYy1sb2dvd2FsbC1saXN0IGxpIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xufVxuXG4uYy1sb2dvd2FsbC1pbWcge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBjb29raWUgbm90aWNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb29raWUtbm90aWNle1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogMzBweDtcblx0cmlnaHQ6IDMwcHg7XG5cdHdpZHRoOiA0MDBweDtcbiAgXHRwYWRkaW5nOiAzMHB4O1xuXHRsaW5lLWhlaWdodDogMS43O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcblx0ZGlzcGxheTogbm9uZTtcblx0Ym9yZGVyOiBzb2xpZCAxcHggJGJnLWNvbnRlbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkgeyAgICBcblx0LmMtY29va2llLW5vdGljZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHR9XG5cdFxuXHRcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBBbmltYXRpb24gZWxlbWVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5qcy1lbmFibGVke1xuICAgIFxuXG4gICAgLmFuaW1hdGlvbi1lbGVtZW50LmZhZGUtdXAgLmFuaW1hdGlvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zICRjdWJpYy10cmFuc2l0aW9uO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDMwcHgsIDBweCk7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmFuaW1hdGlvbi1lbGVtZW50LmZhZGUtdXAuaW4tdmlldyAuYW5pbWF0aW9uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgIH1cblxuICAgIC5hbmltYXRpb24tZWxlbWVudC5mYWRlLXJpZ2h0IC5hbmltYXRpb24ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyAkY3ViaWMtdHJhbnNpdGlvbjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwMHB4LCAwcHgsIDBweCk7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmFuaW1hdGlvbi1lbGVtZW50LmZhZGUtcmlnaHQuaW4tdmlldyAuYW5pbWF0aW9uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgIH1cblxuXG4gICAgLmMtaGVhZGVyLW5hdmlnYXRpb257XG4gICAgXHRvdmVyZmxvdzogaGlkZGVuIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYW5pbWF0aW9uLW5hdi1pdGVte1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyAkY3ViaWMtdHJhbnNpdGlvbjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwcHgsIDBweCwgMHB4KTtcbiAgICB9XG5cbiAgICAuYW5pbWF0aW9uLW5hdi1pdGVtLmluLXZpZXcge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gICAgfVxuXG59XG5cbi5pbWctbG9hZC1tYXNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICBib3R0b206IDBweDtcbiAgICB3aWR0aDogMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDEwMDBtcyBlYXNlIDBzO1xuXG4gICAgJi5pbi12aWV3e1xuICAgIFx0d2lkdGg6IDBweDtcbiAgICB9XG59XG5cblxuLmMtdmlkZW8tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaWZyYW1le1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgXG4gICAgICAgIGJvcmRlcjogbm9uZTsgICAgICAgXG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBNZXNzYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbWVzc2FnZSB7XG4gICAgLypwb3NpdGlvbjogZml4ZWQ7Ki9cbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGhlaWdodDogJGhlaWdodC1tZXNzYWdlOyAgXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDVweCByZ2JhKDAsMCwwLDAuMik7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDEwcHggNXB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggNXB4IHJnYmEoMCwwLDAsMC4yKTtcbn1cblxuLmMtbWVzc2FnZS1jbG9zZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLW1lc3NhZ2UgKyAuYy1oZWFkZXIge1xuICAgIHRvcDogMTIwcHg7XG59XG5cbi5jLW1lc3NhZ2UtY2xvc2VkICsgLmMtaGVhZGVyIHtcbiAgICB0b3A6IDA7XG59XG5cbi5jLW1lc3NhZ2UtaW5uZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGluayBjb2xvcnMgYW5kIHN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYVtocmVmXj1cInRlbDpcIl0ge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgYSxcbi5jLWxpbmstdGVhc2VyIGgzIHNwYW4sXG4uYy1saW5rLWV4dGVybixcbi5jLWxpbmstZG93bmxvYWQsXG4uYy1wcm9maWxlLWxpc3QgYSxcbi5jLWxpbmstYmFjayxcbi5jLWxpbmstYmFjay1zbWFsbCxcbi5jLWxpbmstbmV4dC1zbWFsbCxcbi5jLWFkZGl0aW9uYWwtY29udGVudCBhLFxuLmMtbGFuZy1tZW51IGEsXG4uYy1tZXNzYWdlIGEge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCRjb2xvci1oaWdobGlnaHQgMCUsJGNvbG9yLWhpZ2hsaWdodCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDAlIDQwJTtcbiAgXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcyBlYXNlLW91dDtcbn1cblxuLmMtbWVzc2FnZSBhIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwkY29sb3ItcHJpbWFyeSAwJSwkY29sb3ItcHJpbWFyeSAxMDAlKTtcbn1cblxuLmMtbGluay10ZWFzZXIgaDMgc3Bhbixcbi5jLXByb2ZpbGUtbGlzdCBhLFxuLmMtYWRkaXRpb25hbC1jb250ZW50IGEsXG4uYy1sYW5nLW1lbnUgYSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgODAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDAgMDtcbn1cblxuLmMtbGluay1leHRlcm4tc2luZ2xlbGluZSxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1leHRlcm4tc2luZ2xlbGluZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgODAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDMwJSAzMCU7XG59XG5cbi5jLWxpbmstYmFjayxcbi5jLWxpbmstYmFjay1zbWFsbCxcbi5jLWxpbmstbmV4dC1zbWFsbCB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcblx0YmFja2dyb3VuZC1zaXplOiAwIDA7XG59XG5cbi5jLXRleHQtYmxvY2sgYTpmb2N1cyxcbi5jLXRleHQtYmxvY2sgYTpob3Zlcixcbi5jLWxpbmstdGVhc2VyIGgzIHNwYW46Zm9jdXMsXG4uYy1saW5rLXRlYXNlciBoMyBzcGFuOmhvdmVyLFxuLmMtbGluay1leHRlcm46Zm9jdXMsXG4uYy1saW5rLWV4dGVybjpob3Zlcixcbi5jLWxpbmstZG93bmxvYWQ6Zm9jdXMsXG4uYy1saW5rLWRvd25sb2FkOmhvdmVyLFxuLmMtbWVzc2FnZSBhOmZvY3VzLFxuLmMtbWVzc2FnZSBhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogNjAlIDYwJTtcbn1cblxuLmMtbGluay1iYWNrOmZvY3VzLFxuLmMtbGluay1iYWNrOmhvdmVyLFxuLmMtbGluay1iYWNrLXNtYWxsOmZvY3VzLFxuLmMtbGluay1iYWNrLXNtYWxsOmhvdmVyLFxuLmMtbGluay1uZXh0LXNtYWxsOmZvY3VzLFxuLmMtbGluay1uZXh0LXNtYWxsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi5jLXByb2ZpbGUtbGlzdCBhOmZvY3VzLFxuLmMtcHJvZmlsZS1saXN0ICBhOmhvdmVyLFxuLmMtYWRkaXRpb25hbC1jb250ZW50IGE6Zm9jdXMsXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnQgYTpob3Zlcixcbi5jLWxhbmctbWVudSBhOmZvY3VzLFxuLmMtbGFuZy1tZW51IGE6aG92ZXJ7XG5cdGJhY2tncm91bmQtc2l6ZTogNHB4IDRweDtcbn1cblxuLmMtbGluay1leHRlcm4tc2luZ2xlbGluZTpmb2N1cyxcbi5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmU6aG92ZXIsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmU6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmU6aG92ZXJ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgNDYlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDQ2JSA0NiU7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtYnRuLFxuLmMtbWVzc2FnZSAuYy1idG4tY2xvc2Uge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCdXR0b24gXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAuNWVtIDE1cHg7XG5cdGJvcmRlcjogc29saWQgNHB4ICRjb2xvci1oaWdobGlnaHQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbn1cblxuLmMtYnRuLFxuLmMtYnRuOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xufVxuXG4uYy1idG46aG92ZXIsIFxuLmMtYnRuOmZvY3VzIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtYnRuLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmMtYnRuLWNsb3NlOjpiZWZvcmUsXG4uYy1idG4tY2xvc2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuLmMtbWVzc2FnZSAuYy1idG4tY2xvc2U6OmJlZm9yZSxcbi5jLW1lc3NhZ2UgLmMtYnRuLWNsb3NlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5jLWJ0bi1jbG9zZTo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uYy1idG4tY2xvc2U6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5jLWJ0bi1jbG9zZTpmb2N1czo6YmVmb3JlLFxuLmMtYnRuLWNsb3NlOmZvY3VzOjphZnRlcixcbi5jLWJ0bi1jbG9zZTpob3Zlcjo6YmVmb3JlLFxuLmMtYnRuLWNsb3NlOmhvdmVyOjphZnRlcntcbiAgICB3aWR0aDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsaW5rcyB3aXRoIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1pY29uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1pY29uOjpiZWZvcmUsXG4uYy1pY29uOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uYy1idG4tc2VuZCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDJweDtcblx0cmlnaHQ6IDVweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRwYWRkaW5nOiAwLjVlbSA1MHB4IDAuNWVtIDA7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgLjFzO1xufVxuXG4uYy1idG4tc2VuZDpob3ZlciB7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xufVxuXG4uYy1idG4tc2VuZDo6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0cmlnaHQ6IDA7XG5cdG1hcmdpbi10b3A6IC04cHg7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDE3cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xNTBweCAtNjBweDtcblx0XG59XG5cbi5jLWxpbmstZXh0ZXJuLFxuLmMtbGluay1kb3dubG9hZCxcbi5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmUge1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uYy1saW5rLWRvd25sb2FkIHNwYW4ge1xuXHRmb250LXdlaWdodDogMzAwO1xufVxuXG4uYy1pY29uLWV4dGVybixcbi5jLWljb24tZG93bmxvYWQsXG4uYy1pY29uLWFycm93LWJpZyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEuMjVlbTtcblx0aGVpZ2h0OiAxZW07XG5cdG1hcmdpbi1sZWZ0OiAwLjVlbTtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4uYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctcmlnaHQ6IDEuNzVlbTtcbn1cblxuXG5cbi5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmU6OmJlZm9yZSxcbi5jLWljb24tZXh0ZXJuOjpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTAuMDhlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDIxcHg7XG5cdGhlaWdodDogMjFweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTAwcHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmU6OmJlZm9yZSB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLTEzcHg7XG59XG5cbi8qLmMtbGluay1leHRlcm46aG92ZXIgLmMtaWNvbi1leHRlcm46OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTAwcHg7XG59Ki9cblxuLmMtaWNvbi1kb3dubG9hZDo6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0wLjFlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMjJweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7XG59XG5cbi8qLmMtbGluay1kb3dubG9hZDpob3ZlciAuYy1pY29uLWRvd25sb2FkOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTE0MHB4O1xufSovXG5cbi5jLWljb24tYXJyb3ctYmlnIHtcblx0d2lkdGg6IDkwcHg7XG5cdGhlaWdodDogMC41ZW07XG5cdG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG59XG5cbi5jLWljb24tYXJyb3ctYmlnOjpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiAwO1xuXHRtYXJnaW4tdG9wOiAtMjJweDtcblx0d2lkdGg6IDg1cHg7XG5cdGhlaWdodDogNDVweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG5cbi5jLWJ0bi1zb2NpYWwsXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bi1zb2NpYWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGVhc2Utb3V0O1xufVxuXG5cblxuLmMtZm9vdGVyIC5jLWJ0bi1zb2NpYWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvci1mb290ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtYnRuLXNvY2lhbCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5jLWJ0bi1zb2NpYWw6Zm9jdXMsXG4uYy1idG4tc29jaWFsOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uYy1idG4tc29jaWFsLWluc3RhOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTEycHg7XG5cdG1hcmdpbi10b3A6IC0xMnB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTE4MHB4O1xufVxuXG4uYy1mb290ZXIgLmMtYnRuLXNvY2lhbC1pbnN0YTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTgwcHg7XG59XG5cbi5jLWJ0bi1zb2NpYWwtZmI6OmJlZm9yZSB7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtNnB4O1xuXHRtYXJnaW4tdG9wOiAtMTJweDtcblx0d2lkdGg6IDEycHg7XG5cdGhlaWdodDogMjRweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0yMjBweDtcbn1cblxuLmMtZm9vdGVyIC5jLWJ0bi1zb2NpYWwtZmI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyMHB4O1xufVxuXG5cbi5jLWJ0bi1zb2NpYWwtbGlua2VkaW46OmJlZm9yZSB7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtOXB4O1xuXHRtYXJnaW4tdG9wOiAtMTFweDtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0yNjBweDtcbn1cblxuLmMtZm9vdGVyIC5jLWJ0bi1zb2NpYWwtbGlua2VkaW46OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI2MHB4O1xufVxuXG5cbi5jLWJ0bi1zb2NpYWwtdHdpdHRlcjo6YmVmb3JlIHtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC0xMXB4O1xuXHRtYXJnaW4tdG9wOiAtOXB4O1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTMwMHB4O1xufVxuXG4uYy1mb290ZXIgLmMtYnRuLXNvY2lhbC10d2l0dGVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMDBweDtcbn1cblxuLmMtbGluay1iYWNrIHtcblx0d2lkdGg6IDgzcHg7XG5cdGhlaWdodDogNDNweDtcbn1cblxuLmMtbGluay1iYWNrOmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogODNweDtcblx0aGVpZ2h0OiA0M3B4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNDBweDtcbn1cblxuLmMtbGluay1iYWNrLXNtYWxsLFxuLmMtbGluay1uZXh0LXNtYWxsIHtcblx0d2lkdGg6IDMxcHg7XG5cdGhlaWdodDogMTdweDtcbn1cblxuLmMtbGluay1iYWNrLXNtYWxsOmJlZm9yZSxcbi5jLWxpbmstbmV4dC1zbWFsbDpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDMxcHg7XG5cdGhlaWdodDogMTdweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC02MHB4O1xufVxuXG4uYy1saW5rLW5leHQtc21hbGw6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgIFxuXHQuYy1pY29uLWFycm93LWJpZyB7XG5cdFx0d2lkdGg6IDYwcHg7XG5cdH1cblxuXHQuYy1pY29uLWFycm93LWJpZzo6YmVmb3JlIHtcblx0XHRtYXJnaW4tdG9wOiAtMTRweDtcblx0XHR3aWR0aDogNjJweDtcblx0XHRoZWlnaHQ6IDMzcHg7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IDA7XG5cdH1cblx0XG5cdC5jLWxpbmstYmFjayB7XG5cdFx0d2lkdGg6IDYwcHg7XG5cdFx0aGVpZ2h0OiAzMXB4O1xuXHR9XG5cblx0LmMtbGluay1iYWNrOmJlZm9yZSB7XG5cdFx0d2lkdGg6IDYwcHg7XG5cdFx0aGVpZ2h0OiAzMXB4O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMzQwcHg7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmF0aW8gQm94XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1yYXRpb2JveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcsXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1x0XG59XG5cbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmMtcmF0aW9ib3gtMTZieTkge1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy1yYXRpb2JveC00YnkzIHtcblx0cGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLmMtcmF0aW9ib3gtMWJ5MSB7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uYy1yYXRpb2JveC0zYnk0IHtcblx0cGFkZGluZy1ib3R0b206IDEzMy4zMzMzMzMzMzMzMzMzMzMlO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogc2FmYXJpIGZvcm0gZml4ICovXG5pbnB1dCxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbnRleHRhcmVhIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIHJlbW92ZSBjaHJvbWUgYXV0b2ZpbGwgeWVsbG93IGNvbG9yICovXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMjAwMHM7XG59XG5cbi8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBGaXJlZm94ICovXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLmMtZm9ybS1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy1mb3JtLXRleHQge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAycHggJHRleHQtY29sb3ItZm9vdGVyO1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG5cdHBhZGRpbmc6IDAuNWVtIDVweDtcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbn1cblxuLmMtZm9ybS1pdGVtLW5sIC5jLWZvcm0tdGV4dCB7XG5cdHBhZGRpbmctcmlnaHQ6IDEzMHB4O1xufVxuXG4uYy1mb3JtLXRleHQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cblxuLmMtZm9ybS1zdGFuZGFyZCBsYWJlbCxcbi5jLWZvcm0tZm9vdGVyIGxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAycHg7XG59XG5cbi5jLWZvcm0tZXJyb3IsXG4uYy1mb3JtLWNvbmZpcm1hdGlvbntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBcbiAgICAmLmhpZGRlbntcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmMtZm9ybS1lcnJvcntcbiAgICAgICAgY29sb3I6ICNlNDA0MjY7XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGVycm9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLWVycm9yIC5jLWZvcm0tdGV4dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RkMDAwMDtcbn1cblxuLmMtZm9ybS1lcnJvciBsYWJlbCxcbi5jLWZvcm0tZXJyb3Igc3BhbiB7XG4gICAgY29sb3I6ICNkZDAwMDA7XG59XG5cbi8qIGVycm9yICovXG4uYy1mb3JtLWVycm9yIC5jLWZvcm0tdGV4dCxcbi5jLWZvcm0tZXJyb3IgLmMtZm9ybS10ZXh0YXJlYSxcbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS1lcnJvciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLWVycm9yIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmV7XG5cdGJvcmRlci1jb2xvcjogI2RkMDAwMDtcbn1cblxuLmMtZm9ybS1lcnJvciBsYWJlbCxcbi5jLWZvcm0tZXJyb3Igc3BhbiB7XG5cdGNvbG9yOiAjZGQwMDAwO1xufVxuXG4uYy1mb3JtLWVycm9yIHNwYW4ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDAuMjVlbTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2hvcCBDb250ZW50LCByZW1vdmUgb3ZlcmZsb3cgaGlkZGVuIGZyb20gYy1jb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250ZW50LXNob3Age1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2hvcCBSYXRpb2JveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcmF0aW9ib3gtc2hvcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDY2LjY2JTtcbn1cblxuLmMtcmF0aW9ib3gtc2hvcCBpbWd7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2hvcC1iYXNrZXQtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0ZW07XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB6LWluZGV4OiAxMDAxO1xufVxuXG4uYy1zaG9wLWJhc2tldC1uYXY6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNob3AgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zaG9wLWNsYWltIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtc2hvcC1jbGFpbS10ZXh0LFxuLmMtaWNvbi1oZWFydCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWljb24taGVhcnQ6aG92ZXIsXG4uYy1zaG9wLWNsYWltOmhvdmVyIC5jLWljb24taGVhcnQge1xuICAgIGFuaW1hdGlvbjogcHVsc2UgLjhzIGluZmluaXRlO1xufVxuXG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOSk7XG4gICAgfVxuICAgIFxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG4gICAgXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpO1xuICAgIH1cbn1cblxuLmMtZm9vdGVyLXNob3AgYSxcbi5jLWZvb3Rlci1zaG9wIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbn1cblxuLmMtZm9vdGVyLXNob3AgYTpob3Zlcixcbi5jLWZvb3Rlci1zaG9wIGE6Zm9jdXMge1xuXHRjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbn1cblxuLmMtc2hvcC1wYXltZW50LWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLXNob3AtcGF5bWVudC1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uYy1zaG9wLXBheW1lbnQtaWNvbntcbiAgICB3aWR0aDogNjBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBzaG9wIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1pY29uLWhlYXJ0LFxuLmMtbGluay1zaG9wLWJhc2tldC1pY29uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1pY29uLWhlYXJ0IHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG59XG5cbi5jLWljb24taGVhcnQ6OmJlZm9yZSxcbi5jLWxpbmstc2hvcC1iYXNrZXQtaWNvbjo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLXNob3Auc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmMtaWNvbi1oZWFydDo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjBweDtcbn1cblxuLmMtaWNvbi1oZWFydDpob3Zlcjo6YmVmb3JlLFxuLmMtc2hvcC1jbGFpbTpob3ZlciAuYy1pY29uLWhlYXJ0OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNjBweDtcbn1cblxuLmMtbGluay1zaG9wLWJhc2tldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1saW5rLXNob3AtYmFza2V0LWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xufVxuXG4uYy1saW5rLXNob3AtYmFza2V0LWljb246OmJlZm9yZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIG1hcmdpbi10b3A6IC0xOHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmMtbGluay1zaG9wLWJhc2tldC1pdGVtcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEzcHg7XG4gIHJpZ2h0OiAtMTNweDtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBzaG9wIGRldGFpbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyouYy1zaG9wLXByb2R1Y3QgLmMtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn0qL1xuXG4uYy1zaG9wLXByaWNlIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbn1cblxuLmMtc2hvcC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMi4ycmVtOyAvKiA0NHB4ICovXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNmVtO1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtZGVzYy1pbm5lciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDlyZW07XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLXNob3AtcHJvZHVjdC1pbWFnZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5jLXNob3AtcHJvZHVjdC1hZGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3c7XG59XG5cbi5jLXNob3AtcHJvZHVjdC1hZGQtZmllbGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogODBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAjZDZkNmQ2O1xuICAgICAgcGFkZGluZzogLjVlbSAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tZmllbGQtYmcpO1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtYWRkLWZpZWxkOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtYWRkIC5jLWJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KTtcbn1cblxuLmMtc2hvcC1wcm9kdWN0LW51bWJlci1maWVsZCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4vKiBGaXJlZm94ICovXG4uYy1zaG9wLXByb2R1Y3QtbnVtYmVyLWZpZWxkIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtbnVtYmVyLWZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggJGJvcmRlci1mb3JtO1xuICAgIGNvbG9yOiAjMjIyO1xuICAgIHBhZGRpbmc6IC42ZW0gMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtc2hvcC1wcm9kdWN0LW51bWJlci1maWVsZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmMtc2hvcC1idG4tbnVtYmVyLW1pbnVzLCBcbi5jLXNob3AtYnRuLW51bWJlci1wbHVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogc29saWQgMnB4ICRib3JkZXItZm9ybTtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbn1cblxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6aG92ZXIsXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czpmb2N1cyxcbi5jLXNob3AtYnRuLW51bWJlci1taW51czpob3Zlcixcbi5jLXNob3AtYnRuLW51bWJlci1taW51czpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xufVxuXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1cyB7XG5cdHJpZ2h0OiAwO1xuXHRib3JkZXItbGVmdDogbm9uZTtcdFxuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYy1zaG9wLWJ0bi1udW1iZXItbWludXMge1xuXHRsZWZ0OiAwO1x0XG5cdGJvcmRlci1yaWdodDogbm9uZTtcdFxuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czo6YmVmb3JlLFxuLmMtc2hvcC1idG4tbnVtYmVyLW1pbnVzOjpiZWZvcmUsXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czo6YWZ0ZXJ7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC04cHg7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbn1cblxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6OmFmdGVyIHtcblx0bWFyZ2luLXRvcDogLThweDtcblx0bWFyZ2luLWxlZnQ6IC0xcHg7XG5cdHdpZHRoOiAycHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6aG92ZXI6OmJlZm9yZSxcbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOmZvY3VzOjpiZWZvcmUsXG4uYy1zaG9wLWJ0bi1udW1iZXItbWludXM6aG92ZXI6OmJlZm9yZSxcbi5jLXNob3AtYnRuLW51bWJlci1taW51czpmb2N1czo6YmVmb3JlLFxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6aG92ZXI6OmFmdGVyLFxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6Zm9jdXM6OmFmdGVye1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjtcbn1cblxuLmMtc2hvcC1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLXNob3Atc2l6ZSBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGRyb3Bkb3duXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zaG9wLXNpemUgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMC42ZW0gMzBweCAwLjZlbSAxMHB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxNDBweDsgIFxuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0Ym9yZGVyOiAycHggc29saWQgJGJvcmRlci1mb3JtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cdGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2ljb24tZm9ybS1hcnJvdy5zdmcnKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lO1x0XG59XG5cbi5jLXNob3Atc2l6ZSBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1zaG9wLXNpemUgc2VsZWN0IG9wdGlvbiB7XG5cdHBhZGRpbmc6IDA7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLXNob3Atc2l6ZSBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBzaG9wIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHsgIFxuICAgIC5jLXNob3AtYmFza2V0LW5hdiB7XG4gICAgICAgIHJpZ2h0OiA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE1MDBweCkgeyAgICBcblx0LmMtc2hvcC10aXRsZSB7XHRcdFxuXHRcdGZvbnQtc2l6ZTogM3JlbTsgLyogNjAgcHggKi9cblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHsgIFxuXHQuYy1mb290ZXItc2hvcC1tYWluIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcblx0XHQtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcblx0XHRmbGV4OiAwIDAgNTguMzMzMzMlO1xuXHRcdG1heC13aWR0aDogNTguMzMzMzMlO1xuXHR9XG5cdFxuXHQuYy1mb290ZXItc2hvcC1tYWluIC5jLWNvbC04IHtcblx0XHQgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG5cdFx0LW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG5cdFx0ZmxleDogMCAwIDQxLjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDQxLjY2NjY3JTtcblx0fVxuXHRcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjg1MHB4KSB7ICBcblx0LmMtc2hvcC10aXRsZSB7XHRcdFxuXHRcdGZvbnQtc2l6ZTogMS44cmVtOyBcblx0fVxuXHRcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgIFxuXHQuYy1zaG9wLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDJyZW07IC8qIDMycHggKi9cblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjUwcHgpIHsgIFxuICAgIC5jLXNob3AtcHJvZHVjdCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG9wLXByb2R1Y3QgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7ICBcblx0LmMtZm9vdGVyLXNob3AtbWFpbiAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFxuXHR9XG4gICAgXG4gICAgLmMtZm9vdGVyLXNob3AtbWFpbiAuYy1jb2wtNCArIC5jLWNvbC00IHtcblx0XHRwYWRkaW5nLXRvcDogNmVtO1xuXHR9XG5cdFxuICAgIC5jLXNob3AtYmFza2V0LW5hdiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyAgXG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDkwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG9wLWJhc2tldC1uYXY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5jLWxpbmstc2hvcC1iYXNrZXQtaWNvbiB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuICAgIC0tYmctY29udGVudDogI2ZmZjtcbiAgICAtLXRleHQtY29sb3I6ICMyQTIyMjg7XG4gICAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjMDBENEI0O1xuICAgIC0tZm9udC1zaXplLWJvZHk6IDFlbTtcbiAgICAtLWZvbnQtc2l6ZS1ib2R5LXM6IDAuOHJlbTsgXG4gICAgLyotLWZvbnQtc2l6ZS1ib2R5LXhzOiAwLjc1cmVtOyAqL1xuICAgIC0tZm9udC1zaXplLWgyLXNtYWxsOiAxLjI1cmVtO1xuICAgIC0tZm9udC13ZWlnaHQtYm9sZDogNjAwO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiAzMDA7XG4gICAgLS1iZy1saWdodDogI0UyRTVFOTtcbiAgICAtLWZvcm0tZGlzYWJsZWQ6ICNjY2M7XG4gICAgXG4gICAgLS1zcGFjaW5nLWw6IDZlbTtcbiAgICAtLXNwYWNpbmctbTogM2VtO1xuICAgIFxuICAgIC0td29vY29tbWVyY2UtZm9udC1zaXplLWJvZHkteHM6IDAuNzVyZW07XG4gICAgXG4gICAgLS13b29jb21tZXJjZS1pbnB1dC1iZzogI2ZmZjtcbiAgICAtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aDogMnB4O1xuICAgIC0td29vY29tbWVyY2UtYm9yZGVyOiAjOTQ5MTk0O1xuICAgIC0td29vY29tbWVyY2UtYm9yZGVyLWZvY3VzOiAjMDAwO1xuICAgIC0td29vY29tbWVyY2UtaW5wdXQtcGFkZGluZzogLjc1ZW0gLjVlbTtcbiAgICAtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLS13b29jb21tZXJjZS1idG4tYm9yZGVyLXJhZGl1czogMDtcbiAgICAtLXdvb2NvbW1lcmNlLWJ0bi1wYWRkaW5nOiAwLjVlbSAxNXB4O1xuICAgIC0td29vY29tbWVyY2UtbGluay11bmRlcmxpbmUtd2lkdGg6IDZweDtcbiAgICAtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcjogI0UyRTVFOTtcbiAgICAtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlci13aWR0aDogMnB4O1xuICAgIC0td29vY29tbWVyY2UtYWN0aXZlLWJvcmRlcjogI0UyRTVFOTtcbiAgICBcbiAgICAtLXdvb2NvbW1lcmNlLWZvcm0tZXJyb3I6ICNjYzE4MTg7XG4gICAgXG4gICAgLS13b29jb21tZXJjZS1tZXNzYWdlLWJvcmRlci13aWR0aDogMnB4O1xuICAgIC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvcjogIzJFMUFBOTsgLyogb2sgKi9cbiAgICAtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3ItaW5mbzogIzMzMzMzMztcbiAgICAtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3ItZXJyb3I6IHZhcigtLXdvb2NvbW1lcmNlLWZvcm0tZXJyb3IpO1xuICAgIFxuICAgIC0td29vY29tbWVyY2UtdGV4dC1wYXltZW50LXBhZGRpbmctbGVmdDogNzBweDsgLyogcGFkZGluZyBmb3IgYWxpZ25tZW50IHdpdGggdGV4dCBjaGVja2JveCAocGF5bWVudCkqL1xuICAgIC0td29vY29tbWVyY2UtcGF5bWVudC1ib3JkZXItd2lkdGg6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgICBcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZm9udC1zaXplLWJvZHktczogMC44NzVyZW07IFxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvbnQtc3R5bGVzIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3RvciBpbnB1dC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yX19pbnB1dCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1vcmRlci1zdW1tYXJ5IC53Yy1ibG9jay1jb21wb25lbnRzLW9yZGVyLXN1bW1hcnktaXRlbV9fdG90YWwtcHJpY2UsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWZvb3Rlci1pdGVtIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1pdGVtX19sYWJlbCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtaXRlbV9fdmFsdWUsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyAud2MtYmxvY2stY2FydC1pdGVtc19faGVhZGVyIHRoLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5pcy1sYXJnZS53Yy1ibG9jay1jYXJ0IC53Yy1ibG9jay1jYXJ0X190b3RhbHMtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLyogdGl0bGVzICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0LW9yZGVyLXN1bW1hcnktYmxvY2sgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtb3JkZXItc3VtbWFyeV9fdGl0bGUgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtb3JkZXItc3VtbWFyeV9fdGl0bGUtdGV4dCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LS1jaGVja291dCAud2MtYmxvY2stY29tcG9uZW50cy10aXRsZS53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudF9fdGl0bGUsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LWNvbnRpbnVlLXJ1bGUsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tib3ggbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy12YWxpZGF0aW9uLWVycm9yIHtcbiAgICBmb250LXNpemU6IHZhcigtLXdvb2NvbW1lcmNlLWZvbnQtc2l6ZS1ib2R5LXhzKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIG1lc3NhZ2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBzcGFjaW5nIGJldHdlZW4gbWVzc2FnZSBhbmQgcHJvZHVjdCBvbiBwcm9kdWN0IGRldGFpbCBwYWdlICovXG5cbi5jLXNob3AtbWVzc2FnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4vKiBub3RpY2VzICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtbm90aWNlLWJhbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXItd2lkdGgpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1ub3RpY2UtYmFubmVyLmlzLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMGYwO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtZm9ybS1lcnJvcik7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1ub3RpY2UtYmFubmVyLmlzLWVycm9yID4gc3ZnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1mb3JtLWVycm9yKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1lcnJvciwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLWluZm8sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1tZXNzYWdlLFxuLmMtc2hvcC1tZXNzYWdlIC53b29jb21tZXJjZS1lcnJvciwgXG4uYy1zaG9wLW1lc3NhZ2UgLndvb2NvbW1lcmNlLWluZm8sIFxuLmMtc2hvcC1tZXNzYWdlIC53b29jb21tZXJjZS1tZXNzYWdle1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBib3JkZXI6IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtYm9yZGVyLXdpZHRoKSB2YXIoLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1lcnJvciwgXG4uYy1zaG9wLW1lc3NhZ2UgLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3ItZXJyb3IpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLWluZm8sIFxuLmMtc2hvcC1tZXNzYWdlIC53b29jb21tZXJjZS1pbmZvIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3ItaW5mbyk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtZXJyb3I6OmJlZm9yZSxcbi5jLXNob3AtbWVzc2FnZSAud29vY29tbWVyY2UtZXJyb3I6OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3ItZXJyb3IpO1xufSBcblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUsXG4uYy1zaG9wLW1lc3NhZ2UgLndvb2NvbW1lcmNlLWluZm86OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3ItaW5mbyk7XG59IFxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLW1lc3NhZ2U6OmJlZm9yZSxcbi5jLXNob3AtbWVzc2FnZSAud29vY29tbWVyY2UtbWVzc2FnZTo6YmVmb3Jle1xuICAgIGNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yKTtcbn0gXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1maWVsZHMgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBmYW5jeSBsYWJlbCAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBsYWJlbCwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBsYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6MS4yNTtcbn1cblxuLyouYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGxhYmVsLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufSovXG5cblxuXG4vKm1laW4ga29udG8gKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgdGV4dGFyZWEsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1JbnB1dCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCkgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJnKTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1wYWRkaW5nKTtcbiAgICBcbn1cblxuLyogY2FydCAvIGthc3NlICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidGVsXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInRleHRcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidXJsXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidGVsXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIHRleHRhcmVhLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyICAud2MtYmxvY2tzLWNvbXBvbmVudHMtc2VsZWN0IC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3RfX2NvbnRhaW5lciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJnKTtcbiAgICBib3JkZXI6IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCkgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIC8qZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7Ki9cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgLypwYWRkaW5nOiAxZW0gLjVlbTsqL1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dGFyZWE6Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1JbnB1dDpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2tzLWNvbXBvbmVudHMtc2VsZWN0IC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3RfX2NvbnRhaW5lcjpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKTtcbn1cblxuXG5cbi8qIHNlbGVjdCBpbm5lciAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3QgLndjLWJsb2Nrcy1jb21wb25lbnRzLXNlbGVjdF9fc2VsZWN0IHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4vKiBkcm9wZG93biBhcnJvdyBjb2xvciAvIGNoZWNrYm94IGNoZWNrbWFyIGNvbG9yICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2Nrcy1jb21wb25lbnRzLXNlbGVjdCAud2MtYmxvY2tzLWNvbXBvbmVudHMtc2VsZWN0X19leHBhbmQsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tib3ggLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tib3hfX21hcmsge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cblxuLyogc3BhY2luZyBhcm91bmQgcm93cyAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB7XG4gICAgcGFkZGluZzogMCAwIDEuNWVtIDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiB0ZXh0IHNtYWxsIGZvciBkZXNjcmlwdGlvbnMgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWZvcm0tcm93IHNwYW4gZW0ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi8qIGNoZWNrYm94ICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tib3ggLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tib3hfX2lucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgYm9yZGVyOiBzb2xpZCB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXIpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tib3ggLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tib3hfX2lucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiByYWRpbyAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbF9faW5wdXQsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sX19pbnB1dDpjaGVja2VkIHtcbiAgICBib3JkZXI6IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCkgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbF9faW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbF9faW5wdXQ6Y2hlY2tlZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG5cblxuLyogZXJyb3IgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy12YWxpZGF0aW9uLWVycm9yLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgbGFiZWwsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0td29vY29tbWVyY2UtZm9ybS1lcnJvcik7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGlucHV0LCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGlucHV0OmFjdGl2ZSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBpbnB1dDpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBpbnB1dDpob3ZlciwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgaW5wdXQsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGlucHV0OmFjdGl2ZSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgaW5wdXQ6Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGlucHV0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWZvcm0tZXJyb3IpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCdXR0b25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtYnV0dG9uOm5vdCguaXMtbGluaykge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYnV0dG9uLFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpICNyZXNwb25kIGlucHV0I3N1Ym1pdCwgXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgYS5idXR0b24sIFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIGJ1dHRvbi5idXR0b24sIFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIGlucHV0LmJ1dHRvbiwgXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdCwgXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgLndvb2NvbW1lcmNlIGEuYnV0dG9uLCBcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbiwgXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbixcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1idXR0b24sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19idXR0b24sXG4uYy1zaG9wLW1lc3NhZ2UgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcblx0cGFkZGluZzogdmFyKC0td29vY29tbWVyY2UtYnRuLXBhZGRpbmcpO1xuXHRib3JkZXI6IHNvbGlkIDRweCB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tLS13b29jb21tZXJjZS1idG4tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2J1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDU0cHggIWltcG9ydGFudDtcbn1cblxuXG5cblxuXG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYnV0dG9uOmhvdmVyLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYnV0dG9uOmZvY3VzLFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpICNyZXNwb25kIGlucHV0I3N1Ym1pdDpob3ZlciwgXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgYS5idXR0b246aG92ZXIsIFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIGJ1dHRvbi5idXR0b246aG92ZXIsIFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIGlucHV0LmJ1dHRvbjpob3ZlciwgXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdDpob3ZlciwgXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmhvdmVyLCBcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpob3ZlciwgXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbjpob3Zlcixcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1idXR0b246aG92ZXIsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19idXR0b246aG92ZXIsXG4uYy1zaG9wLW1lc3NhZ2UgLmJ1dHRvbjpob3Zlcixcbi5jLXNob3AtbWVzc2FnZSAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19idXR0b246ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4vKiBidXR0b24gc3R5bGVkIGFzIHRleHQtbGluayAqL1xuLyogZWRpdCBhZGRyZXNzICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtYWRkcmVzcy1jYXJkX19lZGl0LFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtZm9ybV9fYWRkcmVzc18yLXRvZ2dsZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB2YXIoLS13b29jb21tZXJjZS1saW5rLXVuZGVybGluZS13aWR0aCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWNhcmRfX2VkaXQ6aG92ZXIsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtYWRkcmVzcy1mb3JtX19hZGRyZXNzXzItdG9nZ2xlOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHF1YW50aXR5ICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3I6OmFmdGVyIHtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yIC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yX19idXR0b24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3RvciAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3Rvcl9fYnV0dG9uOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKSB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlcik7XG59XG5cbi8qIHRleHQgbGluayAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgLndjLWJsb2NrLWNhcnQtaXRlbXNfX3JvdyAud2MtYmxvY2stY2FydC1pdGVtX19xdWFudGl0eSAud2MtYmxvY2stY2FydC1pdGVtX19yZW1vdmUtbGluayxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtc2hpcHBpbmcgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLXNoaXBwaW5nX19jaGFuZ2UtYWRkcmVzc19fbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IHZhcigtLXdvb2NvbW1lcmNlLWxpbmstdW5kZXJsaW5lLXdpZHRoKTtcbn1cblxuLyogdGFibGUgLyBzaWRlYmFyICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmlzLWxhcmdlLndjLWJsb2NrLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbXMgdGQsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmlzLWxhcmdlLndjLWJsb2NrLWNhcnQgLndjLWJsb2NrLWNhcnQtaXRlbXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQtb3JkZXItc3VtbWFyeS10b3RhbHMtYmxvY2sge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlci13aWR0aCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtd3JhcHBlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXItd2lkdGgpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNhcnQgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNhcnQtb3JkZXItc3VtbWFyeS1ibG9jayB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXItd2lkdGgpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNhcnQtaXRlbV9faW1hZ2UgYSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXNoaXBwaW5nLWNhbGN1bGF0b3ItYWRkcmVzc19fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LWNvbnRpbnVlLXJ1bGU6OmFmdGVyLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtY29udGludWUtcnVsZTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTsgICAgXG59XG5cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC0tY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50X19jb250ZW50IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKSB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wOiAwO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LS1jaGVja291dCAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnRfX3RpdGxlLWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwIDA7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtLWNoZWNrb3V0IC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudF9fdGl0bGUtY29udGFpbmVyOjphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKSAwIDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBLYXNzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogZm9udC1zaXplcyAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrb3V0LXN0ZXBfX2Rlc2NyaXB0aW9uLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLyogaDIgc21hbGwqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRpdGxlLndjLWJsb2NrLWNvbXBvbmVudHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgyLXNtYWxsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8qIHRhYmxlIGJvcmRlcnMgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuaXMtbGFyZ2UgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0LW9yZGVyLXN1bW1hcnktYmxvY2ssXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0LW9yZGVyLXN1bW1hcnktdG90YWxzLWJsb2NrIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXItd2lkdGgpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmlzLWxhcmdlIC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dC1vcmRlci1zdW1tYXJ5LWJsb2NrIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogY29sb3IgYXJyb3dzIHNpZGViYXIgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1wYW5lbF9fYnV0dG9uID4gLndjLWJsb2NrLWNvbXBvbmVudHMtcGFuZWxfX2J1dHRvbi1pY29uIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4vKiBzaGlwcGluZyAvcGF5bWVudCBtZXRob2QgYWN0aXZlICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQ6OmFmdGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCBsYWJlbC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2xfX29wdGlvbi0tY2hlY2tlZC1vcHRpb24taGlnaGxpZ2h0ZWQsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tb3B0aW9uLS1jaGVja2VkLW9wdGlvbi1oaWdobGlnaHRlZCwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgbGFiZWwud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sX19vcHRpb24tLWNoZWNrZWQtb3B0aW9uLWhpZ2hsaWdodGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXItd2lkdGgpIHZhcigtLXdvb2NvbW1lcmNlLWFjdGl2ZS1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbn1cblxuLyouYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tb3B0aW9uLS1jaGVja2VkLW9wdGlvbi1oaWdobGlnaHRlZCwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgbGFiZWwud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sX19vcHRpb24tLWNoZWNrZWQtb3B0aW9uLWhpZ2hsaWdodGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCBjdXJyZW50Q29sb3I7XG59Ki9cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtY2FyZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogcGF5bWVudCBoaWdobGlnaHQgYm9yZGVyLXJhZGl1cyAqL1xuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNoZWNrb3V0X19wYXltZW50LW1ldGhvZCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1vcHRpb246bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNoZWNrb3V0X19wYXltZW50LW1ldGhvZCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1vcHRpb246Zmlyc3QtY2hpbGQ6OmFmdGVye1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG5cbi5jLXdvb2NvbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLW9wdGlvbi0tY2hlY2tlZC1vcHRpb24taGlnaGxpZ2h0ZWQsIFxuLmMtd29vY29tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgbGFiZWwud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sX19vcHRpb24tLWNoZWNrZWQtb3B0aW9uLWhpZ2hsaWdodGVkIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0td29vY29tbWVyY2UtdGV4dC1wYXltZW50LXBhZGRpbmctbGVmdCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLWNvbnRlbnQgcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tY29udGVudCBwLnBwY3AtcGxhY2Utb3JkZXItZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgZGl2LndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tb3B0aW9uOjphZnRlcixcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCBkaXYud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1vcHRpb246OmFmdGVyIHtcbiAgICBoZWlnaHQ6IHZhcigtLXdvb2NvbW1lcmNlLXBheW1lbnQtYm9yZGVyLXdpZHRoKTtcbn1cblxuXG4vKiBjaXJjbGUgcXVhbnRpdHkgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1vcmRlci1zdW1tYXJ5IC53Yy1ibG9jay1jb21wb25lbnRzLW9yZGVyLXN1bW1hcnktaXRlbV9fcXVhbnRpdHkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi8qIGNoZWNrb3V0IGJ1bGxldCBwb2ludHMgZXhwcmVzcyBjaGVja291dCovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50X19ldmVudC1idXR0b25zID4gbGksXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50X19ldmVudC1idXR0b25zID4gbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudCAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnRfX2V2ZW50LWJ1dHRvbnMgPiBsaTo6YmVmb3JlLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudF9fZXZlbnQtYnV0dG9ucyA+IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG59XG5cbi8qYnV0dG9uIG9uIG1vYmlsZSBmdWxsIHdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDUwcHgpIHsgIFxuICAuYy13b29jb21tZXJjZS1jb250YWluZXIgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0LWFjdGlvbnMtYmxvY2sgLndjLWJsb2NrLWNoZWNrb3V0X19hY3Rpb25zX3JvdyAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja291dC1wbGFjZS1vcmRlci1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBteSBhY2NvdW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbmF2aWdhdGlvbiAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gbGkgKyBsaSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbi1saW5rIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24tbGluayBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMGQ0YjQrMCwwMGQ0YjQrNTAsMDBkNGI0KzEwMCYwKzAsMSs1MCwxKzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgwLDIxMiwxODAsMCkgMCUsIHJnYmEoMCwyMTIsMTgwLDEpIDUwJSwgcmdiYSgwLDIxMiwxODAsMSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDAsMjEyLDE4MCwwKSAwJSxyZ2JhKDAsMjEyLDE4MCwxKSA1MCUscmdiYSgwLDIxMiwxODAsMSkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIHJnYmEoMCwyMTIsMTgwLDApIDAlLHJnYmEoMCwyMTIsMTgwLDEpIDUwJSxyZ2JhKDAsMjEyLDE4MCwxKSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAwMGQ0YjQnLCBlbmRDb2xvcnN0cj0nIzAwZDRiNCcsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cblx0dHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLW91dDtcblx0ei1pbmRleDogLTE7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbi1saW5rIGE6aG92ZXI6OmJlZm9yZSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbi1saW5rLmlzLWFjdGl2ZSBhOjpiZWZvcmV7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBmb3JtIHdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ODUwcHgpIHsgIFxuICAgIC5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtRWRpdEFjY291bnRGb3JtIHtcbiAgICAgICAgd2lkdGg6IDY1JTtcbiAgICB9XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtRWRpdEFjY291bnRGb3JtIGxlZ2VuZCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLUVkaXRBY2NvdW50Rm9ybSBmaWVsZHNldCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWaWV3cG9ydFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQC1tcy12aWV3cG9ydCB7XG5cdHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1lZGlhcXVlcmllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHsgICAgXG5cdC8qIGdyaWQgZ2FwICovXHRcblx0LmMtY29udGFpbmVyLFxuXHQuYy10ZWFzZXItc2VydmljZSAuYy10ZWFzZXItc2VydmljZS10ZXh0IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDYwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogNjBweDtcblx0fVxuXHQuYy1yb3cge1xuXHRcdG1hcmdpbi1yaWdodDogLTMwcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IC0zMHB4O1xuXHR9XG5cdFxuXHQuYy1jb2wtMSxcblx0LmMtY29sLTIsXG5cdC5jLWNvbC0zLFxuXHQuYy1jb2wtNCxcblx0LmMtY29sLTUsXG5cdC5jLWNvbC02LFxuXHQuYy1jb2wtNyxcblx0LmMtY29sLTgsXG5cdC5jLWNvbC05LFxuXHQuYy1jb2wtMTAsXG5cdC5jLWNvbC0xMSxcblx0LmMtY29sLTEyIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHRcdHBhZGRpbmctbGVmdDogMzBweDtcblx0fVxuXHRcblx0LmMtb2ZmY2FudmFzLXRvZ2dsZSxcbiAgICAuYy1idG4tY2xvc2Uge1xuXHRcdHJpZ2h0OiA2MHB4O1xuXHR9XG5cdFxuXHQuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uIHtcblx0XHRyaWdodDogMTUwcHg7XG5cdH1cbiAgICBcbiAgICAuYy1sb2dvd2FsbC1saW5lOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KSB7ICAgIFxuXHQvKiBjb250YWluZXIgbWF4IHdpZHRoICovXG5cdC5jLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTU2MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXHRcblx0LmMtdGVhc2VyLXNlcnZpY2UgLmMtdGVhc2VyLXNlcnZpY2UtdGV4dCB7XG5cdFx0bWF4LXdpZHRoOiA3ODBweDtcblx0fVx0XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMTAwcHgpIHsgIFxuXHQuYy10aXRsZS1tYWluIC5jLWNvbC0xMCxcblx0LmMtdGl0bGUtc2VjdGlvbiAuYy1jb2wtMTAsXG5cdC5jLXRlYXNlci1jdGEgLmMtY29sLTEwLFxuXHQuYy1zaG93cm9vbS10ZXh0IC5jLWNvbC0xMCxcblx0LmMtdGVhc2VyLWJpZy10ZXh0IC5jLWNvbC0xMCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdFxuXHQuYy10ZXh0LTJjb2wgLmMtY29sLTUsXG5cdC5jLXRleHQtaW1nLTJjb2wtc3ltbWV0cmljIC5jLWNvbC01Om50aC1vZi10eXBlKDIpe1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7ICBcblx0fVxuICAgIFxuICAgIFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTgxcHgpIGFuZCAobWF4LXdpZHRoOjEyMDBweCkgeyAgXG4gICAgLmMtdGVzdGltb25pYWwgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IFxuICAgIH1cbiAgICBcbiAgICAuYy10ZXN0aW1vbmlhbCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgfVxuICAgIFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHsgIFxuXHQuYy10ZWFzZXItMWNvbCAuYy1jb2wtNyxcblx0LmMtdGVhc2VyLTFjb2wgLmMtY29sLTUge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7ICAgIFx0XG5cdH1cblx0XG5cdC5jLXByb2ZpbGUgLmMtY29sLTMge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuXHRcdGZsZXg6IDAgMCAzMy4zMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiAzMy4zMzMzMyU7XG5cdH1cblx0XG5cdC5jLXRleHQtaW1nLTJjb2wtc3ltbWV0cmljIC5jLWNvbC01e1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7ICBcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXHRcblx0XG5cdC5jLWZvb3Rlci1tYWluIC5jLWNvbC01IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG5cdFx0cGFkZGluZy10b3A6IDZlbTtcblx0fVxuXHRcblx0LmMtZm9vdGVyLW1haW4gLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xuXHRcdGZsZXg6IDAgMCA1OC4zMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiA1OC4zMzMzMyU7XG5cdH1cblx0XG5cdC5jLWZvb3Rlci1tYWluIC5jLWNvbC0zIHtcblx0XHQgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG5cdFx0LW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG5cdFx0ZmxleDogMCAwIDQxLjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDQxLjY2NjY3JTtcblx0fVxuXHRcbiAgICAuYy10ZXN0aW1vbmlhbCAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcbiAgICB9XG4gICAgXG4gICAgLmMtdGVzdGltb25pYWwgLmMtY29sLTQgKyAuYy1jb2wtNCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzZW07XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAuYy10ZXN0aW1vbmlhbCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1wYXJ0bmVyIC5jLWNvbC03LFxuICAgIC5jLWZvb3Rlci1wYXJ0bmVyIC5jLWNvbC01IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItcGFydG5lciAuYy1jb2wtNSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzZW07XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5NTFweCkgeyAgXG5cdC5jLWltZy1yaWdodCAuYy1yb3cge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0fVxuXG5cdC5jLWltZy1yaWdodCB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuXHQuYy1pbWctcmlnaHQgLmMtbGluZTo6YmVmb3JlIHtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5NTBweCkgeyAgXG5cdC5jLWltZyAuYy1jb2wtOCxcblx0LmMtaW1nIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0LmMtdGV4dC0zY29sIC5jLWNvbC00ICB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTsgIFxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjg4MHB4KSB7ICBcblx0LmMtdGV4dC0yY29sIC5jLWNvbC02LFxuXHQuYy10ZXh0LTJjb2wgLmMtY29sLTUsXG5cdC5jLXRleHQtaW1nLTJjb2wtc3ltbWV0cmljIC5jLWNvbC01LFxuXHQuYy10ZXh0LWltZy0yY29sLXN5bW1ldHJpYyAuYy1jb2wtNTpudGgtb2YtdHlwZSgyKXtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0LmMtdGV4dC1pbWctMmNvbC1zeW1tZXRyaWMgLmMtY29sLTU6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiAxLjVlbTsgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjgyMHB4KSB7ICBcblx0LmMtdGV4dC1vbmx5IC5jLWNvbC04LFxuXHQuYy1wcm9maWxlIC5jLWNvbC04LFxuXHQuYy1wcm9maWxlIC5jLWNvbC0zIHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0LmMtcHJvZmlsZSAuYy1jb2wtMyB7XG5cdFx0cGFkZGluZy1ib3R0b206IDZlbTtcblx0fVxuXHRcblx0LmMtcHJvZmlsZS1saXN0IHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG4gICAgXG4gICAgLmMtdGVzdGltb25pYWwgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjYwMHB4KSBhbmQgKG1heC13aWR0aDo4MjBweCkgIHsgIFxuXHQuYy1wcm9maWxlLWxpc3Qge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0fVxuXHRcblx0LmMtcHJvZmlsZS1saXN0IGxpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy10b3A6IDJlbTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuXHRcdGZsZXg6IDAgMCAzMy4zMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiAzMy4zMzMzMyU7XG5cdH1cblx0XG5cdC5jLXByb2ZpbGUtbGlzdC1wb3J0Zm9saW8gbGkge1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cdFxuXHQuYy1wcm9maWxlLWxpc3QtcG9ydGZvbGlvIGxpOm50aC1jaGlsZCgxKSxcblx0LmMtcHJvZmlsZS1saXN0LXBvcnRmb2xpbyBsaTpudGgtY2hpbGQoMikse1xuXHRcdG1hcmdpbi1ib3R0b206IDEuN2VtO1xuXHR9XG5cdFxuXHQuYy1wcm9maWxlLWxpc3QgbGk6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMjhweDtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0fVxuXHRcblx0LmMtcHJvZmlsZS1saXN0IGxpOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdH1cblx0XG5cdFxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCkge1xuXHQuYy10ZWFzZXItc2VydmljZS1pbm5lciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBhZGRpbmctYm90dG9tOiAzNy41JTtcblx0fVxuXG5cblx0LmMtdGVhc2VyLXNlcnZpY2UtdmlzdWFsLFxuXHQuYy10ZWFzZXItc2VydmljZS1kZXNjIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0LmMtdGVhc2VyLXNlcnZpY2UtZGVzYyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdH1cblx0XG5cdC5jLXRlYXNlci1zZXJ2aWNlLWltZy1tb2JpbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICBcblx0LmMtdGV4dC1vbmx5IC5jLWNvbC04IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0XG5cdC5jLXRlYXNlci10ZWFtIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cdFxuXHQuYy10ZXh0LWltZy0yY29sIC5jLWNvbC04LFxuXHQuYy10ZXh0LWltZy0yY29sIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cdFxuXHRcblx0XG5cdC5jLXRlYXNlci1zZXJ2aWNlIC5jLWNvbC02IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG5cdH1cblx0XG5cdC5jLXRlYXNlci1zZXJ2aWNlIC5jLXRlYXNlci1zZXJ2aWNlLXRleHQge1xuXHRcdHBhZGRpbmctYm90dG9tOiA2ZW07XG5cdH1cblx0XG5cdC5jLXRlYXNlci1zZXJ2aWNlLXZpc3VhbCAuYy12aWRlbyB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0XG5cdC5jLWZlYXR1cmVzIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjcwMHB4KSB7ICBcblx0LmMtdGVhc2VyLTFjb2wgLmMtY29sLTcsXG5cdC5jLXRlYXNlci0xY29sIC5jLWNvbC01IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0LmMtdGVhc2VyLTFjb2wgLmMtdGVhc2VyLXRleHQge1xuXHRcdHBhZGRpbmctdG9wOiAxLjVlbTtcblx0fVxuXHRcblx0LmMtcXVvdGUgLmMtcm93IHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG5cdFxuXHQuYy1xdW90ZSAuYy1jb2wtOCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG5cdFx0LW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG5cdFx0ZmxleDogMCAwIDgzLjMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDgzLjMzMzMzJTtcblx0fVxuXHRcblx0XG5cdC8qIGltZyB2YXIgKi9cblx0LmMtY29sLWltZy12YXIge1xuXHRcdHBhZGRpbmctdG9wOiAzZW07XG5cdFx0cGFkZGluZy1ib3R0b206IDNlbTtcblx0fVxuXHRcblx0LmMtaW1nLXZhci1hbGlnbi10b3Age1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG5cblx0LmMtaW1nLXZhci1hbGlnbi1ib3R0b20ge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cdFxuXHQuYy1pbWctdmFyIC5jLWNvbC02IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXHRcblx0LmMtaW1nLXZhciAuYy1jb2wtMyB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXHRcblx0LmMtaW1nLXZhciAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXHRcblx0LmMtaW1nLXZhciAuYy1jb2wtNDpudGgtb2YtdHlwZSgzKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNzUlO1xuXHRcdGZsZXg6IDAgMCA3NSU7XG5cdFx0bWF4LXdpZHRoOiA3NSU7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY1MHB4KSB7ICBcblx0LmMtdGVhc2VyLTJjb2wgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHQuYy1pbWctdGlsZXMgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblx0XG5cdC5jLXRleHQtaW1nLTJjb2wgLmMtY29sLTgsXG5cdC5jLXRleHQtaW1nLTJjb2wgLmMtY29sLTQsXG5cdC5jLWltZy0yY29sIC5jLWNvbC02LFxuXHQuYy10ZXh0LTNjb2wgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cdFxuXHQuYy10ZXh0LWltZy0yY29sIC5jLWNvbC00IHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG5cdH1cblx0XG5cdC5jLWltZy0yY29sIC5jLWNvbC02OmZpcnN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNmVtO1xuXHR9XG5cdFxuXHQuYy1rZXlmYWN0cyAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblx0XG5cdC5jLWtleWZhY3RzIC5jLWNvbC00ICsgLmMtY29sLTQge1xuXHRcdHBhZGRpbmctdG9wOiA2ZW07XG5cdH1cblx0XG5cdFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHsgIFxuXHQuYy10ZWFzZXItZXhwZXJ0IC5jLWNvbC04LFxuXHQuYy10ZWFzZXItZXhwZXJ0IC5jLWNvbC00e1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHQuYy10ZWFzZXItZXhwZXJ0IC5jLWNvbC04IHtcblx0XHRwYWRkaW5nLXRvcDogMS41ZW07XG5cdH1cblx0XG5cdC5jLXRlYXNlci1leHBlcnQgLmMtdGVhc2VyLWltZyB7XG5cdFx0d2lkdGg6IDY2LjY2NiU7XG5cdH1cblx0XG5cdC5jLWxpbmU6OmJlZm9yZSxcblx0LmMtcHJvZmlsZS1saXN0IGxpOjpiZWZvcmUge1xuXHRcdHdpZHRoOiA4MHB4O1xuXHR9XG5cdFxuXHQuYy1mb290ZXItbWFpbiAuYy1jb2wtNCxcblx0LmMtZm9vdGVyLW1haW4gLmMtY29sLTMsXG5cdC5jLWZvb3Rlci1kaXNjbGFpbWVyIC5jLWNvbC02IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXG5cdH1cblx0XG5cdC5jLWZvb3Rlci1tYWluIC5jLWNvbC00IHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNmVtO1xuXHR9XG5cdFxuXHQuYy1mb290ZXItZGlzY2xhaW1lci1saXN0LFxuXHQuYy1mb290ZXItbWFpbntcblx0XHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG5cdH1cblx0XG5cdFxuXHQuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtNiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDsgIFxuXHR9XG5cdFxuXHQuYy1mb290ZXItbmF2LWxpc3QgbGkgKyBsaSB7XG5cdFx0cGFkZGluZy10b3A6IDAuOGVtO1xuXHR9XG5cdFxuXHQuYy1oZWFkZXItbG9nbyB7XG5cdFx0d2lkdGg6IDE0NXB4O1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NDBweCkgeyAgXG5cdC5jLWZlYXR1cmVzIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG5cdH1cblx0XG5cdC5jLWZlYXR1cmVzIC5jLWNvbC00Om50aC1jaGlsZCgyKSAuYy1mZWF0dXJlcy1saXN0IHtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHR9XG5cdFxuXHQuYy1mb3JtLWZvb3RlciAuYy1jb2wtNiB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuXHR9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQyMHB4KSB7ICBcblx0LmMtdGVhc2VyLXRlYW0gLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHQuYy10ZWFzZXItdGVhbSAuYy10ZWFzZXItaW1nIHtcblx0XHR3aWR0aDogNjYuNjY2JTtcblx0fVxuXHRcblx0LmMtcXVvdGUgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcblx0fVxuXHRcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHtcblx0XHRwYWRkaW5nLXRvcDogNGVtO1xuXHR9XG5cdFxuXHQuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcDo6YmVmb3JlIHtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogLS45ZW07XG5cdH1cblx0XG5cdC5jLWltZy12YXIgLmMtY29sLTQsXG5cdC5jLWltZy12YXIgLmMtY29sLTQ6bnRoLW9mLXR5cGUoMyl7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNzUlO1xuXHRcdGZsZXg6IDAgMCA3NSU7XG5cdFx0bWF4LXdpZHRoOiA3NSU7XG5cdH1cblx0XG5cdC5jLWltZy12YXIgLmMtY29sLTQ6bnRoLW9mLXR5cGUoMil7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblx0XG5cdFxuXHQuYy1mb3JtLWZvb3RlciAuYy1mb3JtLXRleHQge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblx0XG5cdC5jLWJ0bi1zZW5kIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cmlnaHQ6IGF1dG87XG5cdFx0bWFyZ2luLXRvcDogMmVtO1xuXHR9XG5cdFxufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgQ1NTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgICAvKiBiYXNlIHN0eWxlcyAqL1xuICAgICoge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyBcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblx0XG5cdGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgIFxuICAgIC5jLWlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgIGFbaHJlZl06YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcblx0ICB9XG4gICAgXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IFxuICAgIH1cbiAgICBcbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAgICAgXG4gICAgQHBhZ2Uge1xuICAgICAgICBtYXJnaW46IDAuNWNtO1xuICAgIH1cbiAgICBcbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cbiAgICBcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIGJyZWFrLWFmdGVyOmF2b2lkO1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgLyogZm9udC1zaXplcyAqL1xuXHRcblx0aHRtbCxcblx0Ym9keSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdC8qb3ZlcmZsb3c6IGF1dG87Ki9cblx0fVxuICAgIFxuICAgIGJvZHkge1xuICAgICAgICBmb250LXNpemU6MTJweDsgICAgXG4gICAgfVxuXHRcblx0aDEsIC5jLWgxIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdH1cblx0XG5cdC5jLWxlYWQsXG5cdC5jLXRleHQtYmxvY2sgLmMtbGVhZCxcblx0aDIsIC5jLWgyLFxuXHRoMywgLmMtaDMsXG5cdC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0XG5cdC8qIHByb2plY3Qgc3R5bGVzICovXG5cdC5jLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1ib3R0b206IDJlbTtcblx0fVxuXHRcblxuXHQuYy1mb290ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0XG5cdFxufVxuXG5cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/