/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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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WTtFSWpCWixjSlFZO0VJUFo7QU5tcUJEOztBTWhxQkE7QUFDQTtFQUNDO0FObXFCRDs7QU0vcEJBOzs7O0VBSUMsY0pOWTtBRndxQmI7O0FNL3BCQTs7OztFQUlDLFdKWmtCO0FGOHFCbkI7O0FNL3BCQTtFQUNDO0VBQ0E7QU5rcUJEOztBTTdwQkE7OytFQUFBO0FBS0E7OztFQUdDLGNKL0JZO0VJZ0NaO0FOOHBCRDs7QU0zcEJBO0VBQ0M7QU44cEJEOztBTTFwQkE7OytFQUFBO0FBSUE7Ozs7O0VBS0k7QU40cEJKOztBTXpwQkE7RUFDSTtBTjRwQko7O0FNenBCQTs7RUFFQztFQUNBO0FONHBCRDs7QU16cEJBO0VBQ0M7QU40cEJEOztBT3p1QkE7OytFQUFBO0FBSUE7Ozs7O0VBS0k7RUFDQTtFQUNBO0FQMnVCSjs7QU94dUJBO0VBQ0M7QVAydUJEOztBT3h1QkE7OytFQUFBO0FBSUE7Ozs7O0VBS0M7QVAwdUJEOztBT3Z1QkE7RUFDQztBUDB1QkQ7O0FPdnVCQTs7O0VBR0M7QVAwdUJEOztBT3Z1QkE7RUFDQztBUDB1QkQ7O0FPdnVCQTtFQUNDO0FQMHVCRDs7QU92dUJBO0VBQ0M7RUFDQTtFQUNBO0FQMHVCRDs7QU92dUJBO0VBQ0M7RUFDQTtBUDB1QkQ7O0FPdnVCQTtFQUNDO0VBQ0E7QVAwdUJEOztBT3Z1QkE7RUFDQztBUDB1QkQ7O0FPdnVCQTtFQUNDO0VBQ0E7QVAwdUJEOztBT3Z1QkE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0FQeXVCSjs7QU9wdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0k7RUFDSTtBUHV1Qlo7QU9ydUJJO0VBQ0k7QVB1dUJSOztBT251QkE7RUFDSTtBUHN1Qko7O0FPbnVCQTtFQUNJO0VBQ0E7RUFDQTtBUHN1Qko7QU9wdUJJO0VBQ0k7QVBzdUJSOztBT2x1QkE7RUFDSTtBUHF1Qko7O0FPbHVCQTtFQUNJO0FQcXVCSjs7QU9sdUJBO0VBQ0k7QVBxdUJKOztBT2x1QkE7RUFDSTtBUHF1Qko7O0FPbHVCQTtFQUNJO0FQcXVCSjs7QU9sdUJBO0VBQ0k7QVBxdUJKOztBT2x1QkE7RUFDSTtBUHF1Qko7O0FPbHVCQTtFQUNJO0FQcXVCSjs7QU9sdUJBOzs7Ozs7Ozs7Ozs7RUFZSTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtBQUNBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7QVBvdUJEOztBT2p1QkE7RUFDQztFQUNBO0FQb3VCRDs7QU9odUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ2xVQTs7K0VBQUE7QUFHQTtFQUNDO0VBQ0Esd0ROQ29CO0VNQXBCO0FSb2tDRDs7QVEvakNBOzsrRUFBQTtBQUlBOzs7Ozs7RUFNQztFQUNBO0FSaWtDRDs7QVE3akNBOzs7O0VBSUM7RUFDQTtBUmdrQ0Q7O0FRNWpDQTs7RUFFQztFQUNBLGNObkJlO0FGa2xDaEI7O0FRNWpDQTs7RUFFQyxXTjVCa0I7QUYybENuQjs7QVEzakNBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0FSOGpDRDs7QVExakNBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0FSNmpDRDs7QVF6akNBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0FSNGpDRDs7QVF4akNBO0VBQ0M7QVIyakNEOztBUXhqQ0E7RUFDQztFQUNBO0FSMmpDRDs7QVF4akNBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0FSMmpDRDs7QVF4akNBO0VBQ0M7RUFDQTtBUjJqQ0Q7O0FReGpDQTtFQUNDLGNOOUVlO0FGeW9DaEI7O0FReGpDQTtFQUNDO0FSMmpDRDs7QVF0akNBOzsrRUFBQTtBQUlBOztFQUVDO0FSd2pDRDs7QVFyakNBOztFQUVDO0FSd2pDRDs7QVFyakNBOztFQUVDO0FSd2pDRDs7QVFyakNBOzs7O0VBSUM7QVJ3akNEOztBUXJqQ0E7O0VBRUM7RUFDQTtFQUNBO0FSd2pDRDs7QVFwakNBO0VBQ0M7RUFDQTtBUnVqQ0Q7O0FRcGpDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCTnJJZTtBRjRyQ2hCOztBUXBqQ0E7RUFDQyxzQk43SWtCO0FGb3NDbkI7O0FRcGpDQTtFQUNDLHlCTi9JbUI7QUZzc0NwQjs7QVFuakNBO0VBQ0M7RUFDQTtFQUNBLGNOcEplO0VNcUpmO0FSc2pDRDs7QVFsakNBO0VBQ0M7QVJxakNEOztBUWxqQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQSxjTnBLbUI7QUZ5dENwQjs7QVFsakNBO0VBQ0M7QVJxakNEOztBUWpqQ0E7RUFDQztBUm9qQ0Q7O0FRampDQTtFQUNDO0VBQ0E7QVJvakNEOztBUWpqQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBUm9qQ0Q7O0FRaGpDQTs7K0VBQUE7QUFHQTtFQUNDO0VBQ0E7RUFDQTtBUm1qQ0Q7O0FRaGpDQTtFQUNDO0VBQ0E7QVJtakNEOztBUWhqQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLGNON01lO0VNOE1mO0FSbWpDRDs7QVFoakNBO0VBQ0M7QVJtakNEOztBUWhqQ0E7RUFDQztFQUNBO0FSbWpDRDs7QVEvaUNBOztFQUVDO0VBQ0E7RUFDQTtBUmtqQ0Q7O0FRL2lDQTs7RUFFQztFQUNBO0VBQ0E7QVJrakNEOztBUS9pQ0E7RUFDQztBUmtqQ0Q7O0FRL2lDQTtFQUNDO0FSa2pDRDs7QVEvaUNBO0VBQ0M7QVJrakNEOztBUTlpQ0E7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBUmdqQ0Q7O0FRN2lDQTtFQUNDO0VBQ0E7RUFDQTtBUmdqQ0Q7O0FRN2lDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FSZ2pDRDs7QVE3aUNBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtBUitpQ0Q7O0FRNWlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjTjdSZTtBRjQwQ2hCOztBUTVpQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjTnRTaUI7QUZxMUNsQjs7QVE1aUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsY05qVG1CO0FGZzJDcEI7O0FRNWlDQTtBQUNBO0VBQ0k7QVIraUNKOztBUTVpQ0E7RUFDSTtBUitpQ0o7O0FRNWlDQTtFQUNDO0VBQ0c7QVIraUNKOztBUTVpQ0E7RUFDQztBUitpQ0Q7O0FRNWlDQTs7RUFFSSxXTnpVZTtBRnczQ25COztBUTFpQ0E7OytFQUFBO0FBSUE7RUFDQztBUjRpQ0Q7O0FRemlDQTtFQUNDO0FSNGlDRDs7QVF6aUNBO0VBQ0MsV04zVmtCO0FGdTRDbkI7O0FRemlDQTs7K0VBQUE7QUFLQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FSMGlDRDs7QVF2aUNBO0VBQ0M7QVIwaUNEOztBUXZpQ0E7RUFDQztBUjBpQ0Q7O0FRdmlDQTs7K0VBQUE7QUFLQTtFQUNDOzs7SUFHQztFUndpQ0E7RVFyaUNEO0lBQ0M7RVJ1aUNBO0VRcGlDRDs7Ozs7SUFLQztFUnNpQ0E7RVFuaUNEO0lBQ0M7RVJxaUNBO0VRbGlDRDtJQUNDO0VSb2lDQTtFUWppQ0Q7SUFDQztFUm1pQ0E7QUFDRjtBUWhpQ0E7RUFDQztJQUNDO0VSa2lDQTtBQUNGO0FRN2hDQTtFQUNDO0lBQ0M7RVIraENBO0FBQ0Y7QVE1aENBO0VBQ0M7SUFDQztFUjhoQ0E7QUFDRjtBUXpoQ0E7RUFDQztJQUNDO0VSMmhDQTtBQUNGO0FRdmhDQTtFQUNDO0lBQ0M7RVJ5aENBO0VRcmhDRDs7O0lBR0M7RVJ1aENBO0VRcGhDRDs7SUFFQztFUnNoQ0E7RVFuaENEOzs7Ozs7SUFNQztFUnFoQ0E7RVFsaENEOzs7Ozs7SUFNQztFUm9oQ0E7QUFDRjtBU3gvQ0E7OytFQUFBO0FBSUE7RUFDQyxpQlB1Q2E7RU90Q2I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUeS9DRDtBU3YvQ0M7RUFDQztBVHkvQ0Y7O0FTcC9DQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FUdS9DRDs7QVNwL0NBO0VBQ0MsV1Baa0I7RU9hbEI7QVR1L0NEOztBU3AvQ0E7RUFDQztFQUNBO0FUdS9DRDs7QVNwL0NBO0VBQ0MsVVB0QmtCO0FGNmdEbkI7QVNyL0NDO0VBQ0MsYVByQmM7QUY0Z0RoQjs7QVNuL0NBO0VBQ0M7RUFDQTtBVHMvQ0Q7O0FTbi9DQTtBQUNBO0VBQ0k7SUFDRjtFVHMvQ0E7QUFDRjtBU24vQ0E7RUFDQztFQUNBO0VBQ0E7QVRxL0NEO0FTbi9DQztFQUNDO0FUcS9DRjs7QVNqL0NBOztFQUVDLGdCUHJEa0I7QUZ5aURuQjs7QVNsL0NBO0VBQ0M7QVRxL0NEOztBU2wvQ0E7RUFDQztJQUNDO0VUcS9DQTtBQUNGO0FVbGtEQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQSx5QlJpQlM7RVFoQlQsY1JTbUI7QUYwakRwQjs7QVVoa0RBO0VBQ0M7QVZta0REOztBVWhrREE7RUFDQztBVm1rREQ7O0FVaGtEQTs7OztFQUlDO0VBQ0E7RUFDQTtBVm1rREQ7O0FVaGtEQTtFQUNDO0FWbWtERDs7QVVoa0RBO0VBQ0M7QVZta0REOztBVTlqREE7RUFDQztBVmlrREQ7O0FVOWpEQTtFQUNDO0FWaWtERDs7QVU5akRBOztFQUVDLGNSNUJpQjtBRjZsRGxCOztBVTdqREE7O0VBRUMsY1JyQ21CO0FGcW1EcEI7O0FVN2pEQTs7RUFFQyxjUnZDaUI7QUZ1bURsQjs7QVU3akRBO0VBQ0M7RUFDQTtBVmdrREQ7O0FVN2pEQTtFQUNDO0FWZ2tERDs7QVU3akRBO0VBQ0M7RUFDQTtFQUNBO0FWZ2tERDs7QVU3akRBOzsrRUFBQTtBQUlBO0VBQ0k7QVYrakRKOztBVTVqREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBVitqREo7O0FVNWpEQTtFQUNHO0FWK2pESDs7QVUxakRBOzs7O0VBSUM7RUFDQTtFQUNBO0FWNmpERDs7QVUxakRBOztFQUVDO0FWNmpERDs7QVUxakRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWNmpERDs7QVUxakRBO0VBQ0M7QVY2akREOztBVTFqREE7RUFDQztBVjZqREQ7O0FVMWpEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjZqREQ7O0FVMWpEQTtFQUNDO0FWNmpERDs7QVUxakRBO0VBQ0k7RUFDSDtBVjZqREQ7O0FVMWpEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjZqREQ7O0FVMWpEQTtFQUNDO0FWNmpERDs7QVUxakRBO0VBQ0k7RUFDQTtFQUNIO0FWNmpERDs7QVUxakRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWNmpERDs7QVUxakRBO0VBQ0M7QVY2akREOztBVTFqREE7OytFQUFBO0FBR0E7RUFDSTtFQUNBO0FWNmpESjs7QVV6akRBO0VBQ0U7RUFDQTtBVjRqREY7O0FVempEQTs7RUFFRSx3RFJ6TW1CO0FGcXdEckI7O0FBdnVEQTtBV3BDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FYK3dERjs7QVc1d0RBO0VBQ0M7QVgrd0REOztBVzN3REE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNIO0FYNndERDtBVzV3REM7RUFURDtJQVVFO0VYK3dEQTtBQUNGO0FXOXdEQztFQUNDO0FYZ3hERjtBVy93REU7RUFDQztBWGl4REg7QVcvd0RFO0VBQ0M7QVhpeERIO0FXL3dEUTtFQUNJO0VBQ0E7QVhpeERaO0FXL3dEUTtFQUNJO0VBQ0E7QVhpeERaO0FXOXdESTtFQUVGO0VBQ0c7RUFDQTtFQUNIO0VBQ0E7RUFDQTtBWCt3REY7QVc1d0RFO0VBQ0MseUJUcENlO0VTcUNmO0VBQ0E7RUFDQTtFQUNBO0FYOHdESDtBVzV3REU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVg4d0RIO0FXM3dEQztFQUNDO0FYNndERjtBVzV3REU7RUFGRDtJQUdFO0VYK3dERDtBQUNGO0FXOXdERTtFQUNDLHlCVHpEZTtFUzBEZjtFQUNBO0VBQ0E7RUFDQTtFQUNTO0FYZ3hEWjtBVzl3REU7RUFDQyx5QlRqRWU7RVNrRWY7RUFDQTtFQUNBO0VBQ0E7RUFDUztBWGd4RFo7O0FXM3dEQTs7K0VBQUE7QUFJQTtFQUNDO0FYNndERDtBVzV3REM7RUFGRDtJQUdFLGdCVDFEWTtJUzJEWjtJQUNBO0lBQ0E7SUFDQTtFWCt3REE7QUFDRjs7QVc1d0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVgrd0REO0FXOXdEQztFQUxEO0lBTUU7RVhpeERBO0FBQ0Y7O0FXOXdEQTtFQUNJO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7QVhpeEREO0FXaHhEQztFQUNDO0VBQ0E7QVhreERGOztBVzl3REE7OytFQUFBO0FBSUE7RUFDSSxzQlRsSFM7RVNtSFQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYZ3hESjtBVy93REk7RUFDSSxzQlQ3SEs7RVM4SEw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O3VDQUFBO0VBR0E7RUFDTjtBWGl4REY7QVcvd0RJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O3VDQUFBO0VBR047RUFDQTtFQUNBO0VBQ007RUFDTjtBWGl4REY7O0FXN3dEQTtFQUNJO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWGd4REQ7O0FXN3dEQTtFQUNDO0FYZ3hERDtBVy93REM7RUFGRDtJQUdFO0VYa3hEQTtBQUNGOztBVy93REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWGt4REQ7O0FXL3dEQTs7RUFFSTtFQUNBO0VBQ0E7QVhreERKOztBVy93REE7RUFDQztBWGt4REQ7QVdqeERDO0VBRkQ7SUFHRTtFWG94REE7QUFDRjs7QVdqeERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVhveEREOztBV2p4REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlRyTmlCO0VTc05qQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWG94REQ7O0FXanhEQTs7RUFFQztBWG94REQ7O0FXanhEQTs7Ozs7Ozs7Ozs7O0VBWUMsY1R0UFk7QUYwZ0ViOztBV2p4REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBWG94REQ7QVdueERDO0VBQ0M7QVhxeERGOztBV2p4REE7O0VBRUMseUJUaFFlO0VTaVFmO0VBQ0E7QVhveEREOztBV2h4REE7OytFQUFBO0FBSUE7O0VBR0k7RUFDQTtFQVVIOzs7Ozs7O0lBQUE7QVgrd0REO0FXdnhESTs7RUFDSTtFQUNBO0VBQ0E7QVgweERSO0FXeHhESTs7RUFDSTtBWDJ4RFI7QVdoeERFOztFQUNDO0FYbXhESDtBV2p4REU7O0VBQ0M7QVhveERIO0FXL3dERTtFQUREOztJUDVSQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUppakVDO0FBQ0Y7QVd4eERJOzs7O0VQbFNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSmdrRUQ7O0FXOXhEQTs7K0VBQUE7QUFHQTs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUg7RUFDQTtBWDJ4REQ7QVcxeERDOztFQUNDO0FYNnhERjtBVzV4REU7RUFGRDs7SUFHRTtFWGd5REQ7QUFDRjtBVy94REU7O0VBQ0M7QVhreURIO0FXanlERztFQUZEOztJQUdFO0VYcXlERjtBQUNGO0FXbHlEQzs7RUFDQztBWHF5REY7QVdueURDOztFQUNDO0FYc3lERjtBV3B5REM7O0VBQ0MseUJUNVZjO0VTNlZkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHV5REY7QVdyeURDOztFQUNDO0FYd3lERjtBV3R5REM7O0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVh5eURGO0FXeHlERTs7RUFLQztFQUNBO0VBQ0E7RUFDQSxpQlQ5Vlc7RVMrVlg7QVh1eURIO0FXL3lEWTs7RUFDSTtFQUNBO0FYa3pEaEI7QVd4eURHOztFQUNDO0FYMnlESjtBV3p5REc7O0VBQ0M7QVg0eURKO0FXdHlERTtFQUREOztJUDVXQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SU91V0U7RVhrekREO0FBQ0Y7QVcveURJOzs7O0VQblhIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFTzhXTztFQUNBO0FYMnpEUjtBV3h6REk7O0VBRUM7RUFDQTtBWDB6REw7QVd2ekRDOzs7Ozs7OztFQUlDLGNUbGFXO0FGK3RFYjs7QUF2c0VBO0FZdENBOzsrRUFBQTtBQUlBO0FBR0E7OytFQUFBO0FBSUE7RUFDQyx5QlZZUztBRml1RVY7O0FZMXVFQTtFQUNDLHlCVlNVO0FGb3VFWDs7QVkxdUVBO0VBQ0MseUJWRGU7QUY4dUVoQjs7QVkxdUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNnVFRDs7QVkxdUVBO0VBQ0M7QVo2dUVEOztBWTF1RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo2dUVEOztBWTF1RUE7RUFDQztBWjZ1RUQ7O0FZMXVFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjZ1RUQ7O0FZMXVFQTtFQUNDO0FaNnVFRDs7QVkxdUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNnVFRDs7QVkxdUVBO0VBQ0M7QVo2dUVEOztBWTF1RUE7QUFDQTtFQUNJO0FaNnVFSjs7QVkxdUVBO0VBQ0k7QVo2dUVKOztBWTF1RUE7RUFDSTtBWjZ1RUo7O0FZMXVFQTtFQUNJO0FaNnVFSjs7QVkxdUVBO0VBQ0k7QVo2dUVKOztBWTF1RUE7OytFQUFBO0FBSUE7O0VBRUM7QVo0dUVEOztBWXp1RUE7Ozs7RUFJQztBWjR1RUQ7O0FZeHVFQTtBQUNBO0VBQ0k7O0lBRUY7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWjJ1RUE7QUFDRjtBWXZ1RUE7OztFQUdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVp5dUVEOztBWXJ1RUE7OztFQUdDO0VBQ0E7RUFDQTtBWnd1RUQ7O0FZcHVFQTs7K0VBQUE7QUFHQTs7RUFFQztBWnV1RUQ7O0FZbnVFQTtFQUNDO0VBQ0E7QVpzdUVEOztBWWx1RUE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWnF1RUQ7O0FZanVFQTs7RUFFQztBWm91RUQ7O0FZanVFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVpvdUVEOztBWS90RUE7RUFDQztBWmt1RUQ7O0FZL3RFQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHlCVi9LVztBRmc1RWY7O0FZOXRFQTtFQUNDO0FaaXVFRDs7QVk5dEVBO0VBQ0M7QVppdUVEOztBWTl0RUE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaZ3VFRDs7QVk3dEVBO0VBQ0M7QVpndUVEOztBWTd0RUE7OytFQUFBO0FBSUE7RUFDSTtBWit0RUo7O0FZNXRFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCVjVOVztBRjI3RWY7O0FZNXRFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVordEVKOztBWTV0RUE7RUFDSTtBWit0RUo7O0FZNXRFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWit0RUo7O0FZNXRFQTtFQUNJO0VBQ0E7RUFDQTtBWit0RUo7O0FZNXRFQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0U7RUFDRjtFQUNBLHlCVjFRUztFVTJRVDtFQUNBO0FaOHRFRDs7QVkzdEVBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVo4dEVBO0FBQ0Y7QVl4dEVBOzsrRUFBQTtBQU9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVpzdEVOO0FZbnRFSTtFQUNFO0VBQ0E7QVpxdEVOO0FZbHRFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0Fab3RFTjtBWWp0RUk7RUFDRTtFQUNBO0FabXRFTjtBWS9zRUk7RUFDQztBWml0RUw7QVk5c0VJO0VBQ0U7RUFDQTtFQUNBO0FaZ3RFTjtBWTdzRUk7RUFDRTtFQUNBO0FaK3NFTjs7QVkxc0VBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEseUJWMVZjO0VVMlZkO0FaNHNFSjtBWTFzRUk7RUFDQztBWjRzRUw7O0FZdnNFQTtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QVp5c0VKO0FZdnNFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWnlzRVI7O0FZcnNFQTs7K0VBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCVi9YYztFVWdZZDtFQUNBO0VBQ0EsYVZ6V2E7RVUwV2I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWndzRUo7O0FZcnNFQTtFQUNJO0Fad3NFSjs7QVlyc0VBO0VBQ0k7QVp3c0VKOztBWXJzRUE7RUFDSTtBWndzRUo7O0FZcnNFQTtFQUNJO0Fad3NFSjs7QWFubkZBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0FicW5GRDs7QWFsbkZBOzs7Ozs7Ozs7OztFQVdDO0VBQ0c7RUFDQTtFQUNBO0VBQ0Q7QWJxbkZIOztBYWxuRkE7RUFDQztBYnFuRkQ7O0FhbG5GQTs7OztFQUlDO0VBQ0E7QWJxbkZEOztBYWxuRkE7O0VBRUM7RUFDQTtBYnFuRkQ7O0FhbG5GQTs7O0VBR0M7RUFDQTtBYnFuRkQ7O0FhbG5GQTs7Ozs7Ozs7OztFQVVDO0VBQ0E7QWJxbkZEOztBYWxuRkE7Ozs7OztFQU1DO0FicW5GRDs7QWFsbkZBOzs7Ozs7RUFNQztBYnFuRkQ7O0FhbG5GQTs7OztFQUlDO0VBQ0E7QWJxbkZEOztBYWxuRkE7O0VBRUM7QWJxbkZEOztBYWpuRkE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0g7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0FibW5GRDs7QWEvbUZBOztFQUVJLGNYcEdjO0FGc3RGbEI7O0FhL21GQTs7RUFFSSxXWDlHZTtFVytHbEIseUJYMUdpQjtFVzJHakI7QWJrbkZEOztBYS9tRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmtuRko7O0FhL21GQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJYL0hjO0VXZ0lkO0VBQ0E7RUFDQTtFQUNBO0Fia25GSjs7QWEvbUZBOztFQUVJLHlCWHpJWTtBRjJ2RmhCOztBYS9tRkE7RUFDSTtBYmtuRko7O0FhL21GQTtFQUNJO0Fia25GSjs7QWEvbUZBOzs7O0VBSUk7RUFDQTtBYmtuRko7O0FhOW1GQTs7K0VBQUE7QUFJQTtFQUNDO0FiZ25GRDs7QWE3bUZBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0FiZ25GRDs7QWE3bUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiZ25GRDs7QWE3bUZBO0VBQ0MsY1g1TGlCO0FGNHlGbEI7O0FhN21GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiZ25GRDs7QWE1bUZBOzs7RUFHQztBYittRkQ7O0FhNW1GQTtFQUNDO0FiK21GRDs7QWE1bUZBOzs7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiK21GRDs7QWE1bUZBO0VBQ0M7RUFDQTtFQUNBO0FiK21GRDs7QWExbUZBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYjZtRkQ7O0FhMW1GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FiNm1GRDs7QWExbUZBOztFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWI0bUZEOztBYXptRkE7O0VBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtBYjJtRkQ7O0FheG1GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiMm1GRDs7QWF2bUZBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJYL1JpQjtFV2dTakI7QWIwbUZEOztBYXJtRkE7RUFDQyx5Qlh6U21CO0FGaTVGcEI7O0Fhcm1GQTtFQUNDO0Fid21GRDs7QWFybUZBOztFQUVDLHlCWC9TaUI7RVdnVGpCO0Fid21GRDs7QWFybUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJ3bUZEOztBYXJtRkE7RUFDQztBYndtRkQ7O0Fhcm1GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fid21GRDs7QWFybUZBO0VBQ0M7QWJ3bUZEOztBYXBtRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnVtRkQ7O0FhcG1GQTtFQUNDO0FidW1GRDs7QWFubUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJzbUZEOztBYW5tRkE7RUFDQztBYnNtRkQ7O0Fhbm1GQTtFQUNDO0VBQ0E7QWJzbUZEOztBYW5tRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJzbUZEOztBYW5tRkE7O0VBRUM7RUFDQTtBYnNtRkQ7O0Fhbm1GQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJzbUZEOztBYW5tRkE7RUFDQztBYnNtRkQ7O0Fhbm1GQTtFQUND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bEI2c0lBO0VrQjFzSUQ7SUFDQztFbEI0c0lBO0VrQnpzSUU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjJzSU47QUFDRjtBa0J4c0lBO0VBQ0M7OztJQUdDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCMHNJQTtFa0J2c0lEO0lBQ0M7RWxCeXNJQTtFa0J0c0lEO0lBQ0M7RWxCd3NJQTtFa0Jyc0lFO0lBQ0k7RWxCdXNJTjtBQUNGO0FrQm5zSUE7RUFDQztJQUNDO0lBQ0E7RWxCcXNJQTtFa0Jsc0lEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQm9zSUE7RWtCanNJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0VsQm1zSUE7RWtCaHNJRDs7SUFFQztFbEJrc0lBO0VrQi9ySUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSx5QmhCMVNjO0VGMitJZDtFa0I5cklEO0lBQ0M7RWxCZ3NJQTtBQUNGO0FrQjFySUE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCNHJJQTtFa0J4cklEOztJQUVDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCMHJJQTtFa0J2cklEO0lBQ0M7SUFDQTtFbEJ5cklBO0VrQnJySUQ7SUFDQztFbEJ1cklBO0FBQ0Y7QWtCcHJJQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJzcklBO0VrQmxySUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQm9ySUE7RWtCanJJRDs7SUFFQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQm1ySUE7RWtCOXFJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCZ3JJQTtFa0I3cUlEO0lBQ0M7RWxCK3FJQTtFa0I1cUlEO0lBQ0M7RWxCOHFJQTtFa0IxcUlEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEI0cUlBO0FBQ0Y7QWtCeHFJQTtFQUNDOztJQUVDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCMHFJQTtFa0J2cUlEO0lBQ0M7RWxCeXFJQTtFa0J0cUlEO0lBQ0M7RWxCd3FJQTtFa0JycUlEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJ1cUlBO0VrQm5xSUQ7RUFDQTtJQUNDO0lBQ0E7RWxCcXFJQTtFa0JscUlEO0lBQ0M7RWxCb3FJQTtFa0JqcUlEO0lBQ0M7RWxCbXFJQTtFa0JocUlEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJrcUlBO0VrQi9wSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQmlxSUE7RWtCOXBJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCZ3FJQTtFa0I3cElEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCK3BJQTtBQUNGO0FrQjVwSUE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCOHBJQTtFa0IzcElEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEI2cElBO0VrQjFwSUQ7Ozs7SUFJQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjRwSUE7RWtCenBJRDtJQUNDO0VsQjJwSUE7RWtCeHBJRDtJQUNDO0VsQjBwSUE7RWtCdnBJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCeXBJQTtFa0J0cElEO0lBQ0M7RWxCd3BJQTtBQUNGO0FrQm5wSUE7RUFDQzs7SUFFQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQnFwSUE7RWtCbHBJRDtJQUNDO0VsQm9wSUE7RWtCanBJRDtJQUNDO0VsQm1wSUE7RWtCaHBJRDs7SUFFQztFbEJrcElBO0VrQi9vSUQ7OztJQUdDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCaXBJQTtFa0I5b0lEO0lBQ0M7RWxCZ3BJQTtFa0I3b0lEOztJQUVDO0VsQitvSUE7RWtCM29JRDtJQUNDO0VsQjZvSUE7RWtCMW9JRDtJQUNDO0VsQjRvSUE7RWtCem9JRDtJQUNDO0VsQjJvSUE7QUFDRjtBa0J4b0lBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjBvSUE7RWtCdm9JRDtJQUNDO0VsQnlvSUE7RWtCdG9JRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCd29JQTtFa0Jyb0lFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJ1b0lOO0FBQ0Y7QWtCcG9JQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJzb0lBO0VrQm5vSUQ7SUFDQztFbEJxb0lBO0VrQmxvSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQm9vSUE7RWtCam9JRDtJQUNDO0VsQm1vSUE7RWtCaG9JRDtJQUNDO0lBQ0E7RWxCa29JQTtFa0IvbklEOztJQUVDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQmlvSUE7RWtCOW5JRDtJQUNDO0lBQ0E7RWxCZ29JQTtFa0I1bklEO0lBQ0M7RWxCOG5JQTtFa0IzbklEO0lBQ0M7SUFDQTtJQUNBO0VsQjZuSUE7QUFDRjtBbUJ2eUpBOzsrRUFBQTtBQUdBO0VBQ0k7RUFDQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VuQnl5Sk47RW1CdHlKRDs7SUFFTztFbkJ3eUpOO0VtQnJ5SkU7OztJQUdGO0VuQnV5SkE7RW1CcHlKRTs7SUFFSTtJQUNBO0VuQnN5Sk47RW1CbnlKRTtJQUNJO0VuQnF5Sk47RW1CbHlKRTs7SUFFSTtFbkJveUpOO0VtQmp5SkU7SUFDSTtFbkJteUpOO0VtQmh5SkU7SUFDSTtFbkJreUpOO0VtQi94SkU7OztJQUdJO0lBQ0E7RW5CaXlKTjtFbUI5eEpFOztJQUVJO0lBQ0E7RW5CZ3lKTjtFbUI3eEpFO0VBRUg7O0lBRUM7SUFDQTtJQUNBO0VuQjh4SkE7RW1CM3hKRTtJQUNJO0VuQjZ4Sk47RW1CMXhKRDtJQUNDO0VuQjR4SkE7RW1CenhKRDs7Ozs7SUFLQztFbkIyeEpBO0VtQnh4SkQ7RUFDQTtJQUNDO0VuQjB4SkE7RW1CdHhKRDtJQUNDO0VuQnd4SkE7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19mb250cy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX21peGlucy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYmFzZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbi1saW5rcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yYXRpb2JveC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3Nob3Auc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fd29vY29tbWVyY2UtbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCBcImNvbW1vbi9fZm9udHNcIjtcbkBpbXBvcnQgXCJjb21tb24vX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImNvbW1vbi9fbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiY29tbW9uL19taXhpbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vX2hlbHBlcnNcIjtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2FhcyBUb29scyAoaW1wb3J0ZWQgZnJvbSBub2RlX21vZHVsZXMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBTY3V0OiBTYXNzLUNTUyBVdGl0aWxpZXMgKGh0dHBzOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dC8pXG4vKkBpbXBvcnQgJ3NjdXQvZGlzdC9zY3V0JzsqL1xuXG4vLyBNZWRpYSBRdWVyaWVzIHdpdGggc3VwZXJwb3dlcnMgKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEpXG4vKkBpbXBvcnQgJ3Nhc3MtbXEvbXEnOyovXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19iYXNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb290ZXJcIjtcblxuLyogb3B0aW9uYWwgc3R5bGVzICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fb2ZmY2FudmFzXCI7IFxuLypAaW1wb3J0IFwiY29tcG9uZW50cy9fdGFibGVzXCI7Ki9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19jb250ZW50ZWxlbWVudHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19idXR0b24tbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19yYXRpb2JveFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19zaG9wXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fd29vY29tbWVyY2UtbGF5b3V0XCI7XG5cblxuLyogc3R5bGVzIGZvciBldmVyeSBwcm9qZWN0ICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmVzcG9uc2l2ZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3ByaW50XCI7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb2plY3QgRm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncmFkaWthbCc7XG4gICAgc3JjOiAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0LmVvdCcpO1xuICAgIHNyYzogIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG5cdGZvbnQtd2VpZ2h0OiAgMzAwO1xuXHRmb250LXN0eWxlOiAgIG5vcm1hbDtcblx0Zm9udC1zdHJldGNoOiBub3JtYWw7XG5cdGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdyYWRpa2FsJztcbiAgICBzcmM6ICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHRpdGFsaWMuZW90Jyk7XG4gICAgc3JjOiAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0aXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0aXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0aXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcblx0Zm9udC13ZWlnaHQ6ICAzMDA7XG5cdGZvbnQtc3R5bGU6ICAgaXRhbGljO1xuXHRmb250LXN0cmV0Y2g6IG5vcm1hbDtcblx0Zm9udC1kaXNwbGF5OiBmYWxsYmFjaztcblxufVxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncmFkaWthbCc7XG4gICAgc3JjOiAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWJsYWNrLmVvdCcpO1xuICAgIHNyYzogIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1ibGFjay5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1ibGFjay53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtYmxhY2sud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1ibGFjay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG5cdGZvbnQtd2VpZ2h0OiAgNjAwO1xuXHRmb250LXN0eWxlOiAgIG5vcm1hbDtcblx0Zm9udC1zdHJldGNoOiBub3JtYWw7XG5cdGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG59XG5cbiIsIi8qIFZhcmlhYmxlcywgTmFtaW5nIG1heSB2YXJ5IGZyb20gcHJvamVjdCB0byBwcm9qZWN0ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGZvbnQtc3RhY2stZGVmYXVsdDogJ3JhZGlrYWwnLCAnQXJpYWwnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiB0ZXh0ICovXG4kdGV4dC1jb2xvcjogIzJBMjIyODsgLyogZ3JleSAqL1xuJHRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG4kdGV4dC1jb2xvci1tZWRpdW06ICM2MDVENkE7XG4kdGV4dC1jb2xvci1mb290ZXI6ICNkNmQ2ZDY7XG5cbiRjb2xvci1wcmltYXJ5OiAjMkUxQUE5OyAvKiBibHVlICovXG4kY29sb3ItaGlnaGxpZ2h0OiAjMDBENEI0OyAvKiBncmVlbiAqL1xuXG4vKiBiYWNrZ3JvdW5kICovXG4kYmctY29udGVudDogI2ZmZjtcbiRiZy1kYXJrOiAjMzMzMzMzOyAvKiBncmV5ICovXG4kYmctbGlnaHQ6ICNFMkU1RTk7IC8qIGdyZXkgKi9cblxuXG4vKiBsaW5lLWNvbG9ycyAqL1xuJGJvcmRlci1iYXNpYzogI0UyRTVFOTtcbiRib3JkZXItbGlnaHQ6ICNmZmY7XG4kYm9yZGVyLWRhcms6ICM1OTU4NWM7XG5cbiRib3JkZXItZm9ybTogIzk0OTE5NDtcbiRib3JkZXItZm9ybS1mb2N1czogIzAwMDtcblxuXG4kY3ViaWMtdHJhbnNpdGlvbjogZWFzZS1vdXQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhZGRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRwYWRkaW5nLXRvcDogM3JlbTsgLyogcGFkZGluZyBoZWFkZXIgKi9cbiRoZWlnaHQtbWVzc2FnZTogMTIwcHg7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuICAgIC0tZm9ybS1maWVsZC1iZzogcmdiYSgyMjYsMjI5LDIzMywwLjMpO1xufSIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFNi83IHdoZW4gYm9keSBmb250LXNpemUgaXMgc2V0IHVzaW5nIGVtIHVuaXRzXG4gKiAgICBodHRwOi8vY2xhZ251dC5jb20vYmxvZy8zNDgvI2M3OTBcbiAqIDIuIEtlZXBzIHBhZ2UgY2VudHJlZCBpbiBhbGwgYnJvd3NlcnMgcmVnYXJkbGVzcyBvZiBjb250ZW50IGhlaWdodFxuICogMy4gUHJldmVudHMgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb21cbiAqICAgIHd3dy40NTZiZXJlYXN0cmVldC5jb20vYXJjaGl2ZS8yMDEwMTIvY29udHJvbGxpbmdfdGV4dF9zaXplX2luX3NhZmFyaV9mb3JfaW9zX3dpdGhvdXRfZGlzYWJsaW5nX3VzZXJfem9vbS9cbiAqIDQuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogNCAqL1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG5cblxuICovXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qXG4qIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnNcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5cbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cblxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSAnYScgZWxlbWVudCBpbiBJRTYvNy84LzksIEZGM1xuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRTdcbiAqICAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUtbGl0dGxlLXRoaW5ncy1jbGllbnQtc2lkZS1pbWFnZS1yZXNpemluZy9cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLypcbiAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdHMgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRTYvN1xuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZ1xuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIG1hcmdpbjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgcGFkZGluZzowOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICBib3JkZXI6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDQgKi9cbn1cblxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFNi5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgLyogNCAqL1xufVxuXG4vKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50c1xuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcblxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8qKlxuXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbGVtZW50cyBjdWJlZ3JhZmlrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuXG5kaXYsIHAge1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MDtcbn1cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIC8qIFJlbW92ZWQgYmVjYXVzZSBvZiB2aXNpYmlsaXR5Y2hhbmdlLWFkZGl0aW9uIHRvIGZhbmN5LWZvcm1zIHBsdWdpbi5cbiAgICAgKiAyMDE1LzAxLzIyIC0gRmxvcmlhbiBNw6RkZXJcbiAgICAgKiAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7Ki9cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmh0bWwge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDMuMCAtIDUuMCwgQ2hyb21lIDEgLSA5LCBBbmRyb2lkIDIuMSAtIDMueCAqL1xuICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogRmlyZWZveCAxIC0gMjggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArLCBGaXJlZm94IDI5KywgT3BlcmEgNyssIElFIDgrLCBBbmRyb2lkIDQuMCssIGlPUyBhbnkgKi9cbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxubGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMCAgKi9cbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDExKyAqL1xufVxuXG4uYy1maWd1cmUtcGFkZGluZ3tcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07IFxufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybSBQbGFjZWhvbGRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICAgIHtAY29udGVudH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyBzbW9vdGhpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PSBvbiB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGhpZGUnbidzaG93XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gdmlzdWFsbHloaWRkZW4oKXtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDAgMCAwIDApO1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxcHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtaXhpbiB2aXN1YWxseXVuaGlkZGVuKCl7XG5cdGJvcmRlcjogbm9uZTtcblx0Y2xpcDogYXV0bztcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXJnaW46IDA7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogc3RhdGljO1xuXHR3aWR0aDogYXV0bztcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEhpZGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGlkZS12aXN1YWxseSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5jLWhpZGUtY29tcGxldGVseSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogaW1hZ2UgcmVwbGFjZW1lbnQgKi9cbi5jLWlyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogMDtcblx0dGV4dC1pbmRlbnQ6IC05OTllbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGRpcmVjdGlvbjogbHRyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGlja3kgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jLWhlYWRlcixcbi5jLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jLWNvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBQcm9qZWN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keSB7XG5cdEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9uKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogbGlua3MgKi9cbmEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuYSxcbmE6dmlzaXRlZCxcbmE6Zm9jdXMsXG5hOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4uYy10ZXh0LWxpZ2h0IGEsXG4uYy10ZXh0LWxpZ2h0IGE6dmlzaXRlZCxcbi5jLXRleHQtbGlnaHQgYTpmb2N1cyxcbi5jLXRleHQtbGlnaHQgYTpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuLmlzLWludmlzaWJsZSB7XG5cdG9wYWNpdHk6IDA7XG5cdG1heC1oZWlnaHQ6IDA7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyxcbmlmcmFtZSxcbmltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1pbWctbWF4LXdpZHRoLFxuLmMtY29udGVudCAuYy1pbWctbWF4LXdpZHRoIHtcblx0d2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nIHsgXG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBNYWluIENvbnRhaW5lciBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLFxuLmMtY29udGVudCxcbi5jLWZvb3Rlcixcbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci13aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogYXV0bztcbn1cblxuLmMtY29udGVudCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBQYWRkaW5nIGJldHdlZW4gQ29tcG9uZW50cyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRhaW5lcixcbi5jLXRlYXNlci0yY29sIC5jLXRlYXNlci1pdGVtLFxuLmMtdGVhc2VyLXRlYW0gLmMtdGVhc2VyLWl0ZW0sXG4uYy10ZWFzZXItYmlnLXRleHQtaW5uZXIsXG4uYy10ZXh0LTNjb2wgLmMtY29sLTQge1xuXHRwYWRkaW5nLWJvdHRvbTogNmVtO1xufVxuXG4uYy1zaG93cm9vbS10ZXh0LWlubmVyIHtcblx0cGFkZGluZy1ib3R0b206IDdlbTtcbn1cblxuLmMtY29sb3ItY2hhbmdlLXRvcCxcbi5jLXNob3dyb29tLXRleHQtaW5uZXIsXG4uYy10ZWFzZXItYmlnLXRleHQtaW5uZXIge1xuXHRwYWRkaW5nLXRvcDogNmVtO1xufVxuXG4uYy1jb2xvci1jaGFuZ2UtYm90dG9tIHtcblx0bWFyZ2luLWJvdHRvbTogNmVtO1xufVxuXG4uYy1jb250YWluZXItbm8tcGFkZGluZyB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1jb2wtaW1nLXZhciB7XG5cdHBhZGRpbmctdG9wOiA2ZW07XG5cdHBhZGRpbmctYm90dG9tOiA2ZW07XG5cdGFsaWduLXNlbGY6IGNlbnRlclxufVxuXG4uYy1pbWctdmFyLWFsaWduLXRvcCB7XG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYy1pbWctdmFyLWFsaWduLWJvdHRvbSB7XG5cdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGl0bGUtbWFpbiB7XG5cdHBhZGRpbmctdG9wOiAxMGVtO1xufVxuXG4uYy10ZWFzZXItc2VydmljZS10ZXh0IHtcblx0cGFkZGluZy10b3A6IDEuN2VtO1xuXHRwYWRkaW5nLWJvdHRvbTogMS43ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBHcmlkIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG5cblxuLmMtcm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAuYy1jdGE6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZlbTtcbiAgICB9XG59XG5cbi5jLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5jLXJvdy1jZW50ZXItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmMtYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbn1cblxuLmMtcm93LWp1c3RpZnktbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1yb3ctanVzdGlmeS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1yb3ctanVzdGlmeS1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmMtcm93LWp1c3RpZnktYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmMtcm93LWp1c3RpZnktYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYy1yb3ctYWxpZ24tdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWFsaWduLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtcm93LWFsaWduLWJvdHRvbSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYy1jb2wtMSxcbi5jLWNvbC0yLFxuLmMtY29sLTMsXG4uYy1jb2wtNCxcbi5jLWNvbC01LFxuLmMtY29sLTYsXG4uYy1jb2wtNyxcbi5jLWNvbC04LFxuLmMtY29sLTksXG4uYy1jb2wtMTAsXG4uYy1jb2wtMTEsXG4uYy1jb2wtMTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5jLWNvbC0xMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgIFxufVxuXG4uYy1jb2wtMTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5jLWNvbC0xMCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLmMtY29sLTkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jLWNvbC04IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG4uYy1jb2wtNyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmMtY29sLTYge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xufVxuXG4uYy1jb2wtNCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtY29sLTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jLWNvbC0yIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uYy1jb2wtMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlO1xufVxuXG4vKiBvZmZzZXQgY29scyAqL1xuLmMtY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmMtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY3JTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgVmFyaWFudGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1pbWctdGlsZXMgLmMtcm93IHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmMtaW1nLXRpbGVzIC5jLWNvbC00IHtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5cbi8qXG4uYy10ZWFzZXItc2VydmljZSAuYy1yb3cge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYy10ZWFzZXItc2VydmljZSAuYy10ZWFzZXItc2VydmljZS1pbWcge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5jLXRlYXNlci1zZXJ2aWNlIC5jLXRlYXNlci1zZXJ2aWNlLXRleHQge1xuXHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG5cblxuXG4uYy10ZWFzZXItc2VydmljZS12aWRlb3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMHB4IWltcG9ydGFudDtcbiAgICBib3JkZXI6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbn1cblxuLmMtdGVhc2VyLXNlcnZpY2UtdmlkZW8tdGV4dHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMzAlO1xufVxuKi9cblxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stZGVmYXVsdDtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRpdGxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5cbmgxLFxuLmMtaDEsXG4uYy1saW5rLWN0YSxcbi5jLWtleWZhY3RzLW5yIHtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0Zm9udC1zaXplOiA0cmVtOyAvKiA4MHB4ICovXG5cdFxufVxuXG5oMSxcbi5jLWgxIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uYy10ZXh0LWxpZ2h0IGgxLFxuLmMtdGV4dC1saWdodCAuYy1oMSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuXG5oMixcbi5jLWgyIHtcblx0cGFkZGluZy1ib3R0b206IC42ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGZvbnQtc2l6ZTogM3JlbTsgLyogNjBweCAqL1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG5cbmgzLFxuLmMtaDMge1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRmb250LXNpemU6IDEuOHJlbTsgLyogMzZweCAqL1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nLWJvdHRvbTogMC42ZW07XG59XG5cblxuaDQsXG4uYy1oNCB7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGZvbnQtc2l6ZTogMXJlbTsgXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHBhZGRpbmctYm90dG9tOiAwLjZlbTtcbn1cblxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbiB7XG5cdGZvbnQtc2l6ZTogMS44cmVtOyAvKiAzNnB4ICovXG59XG5cbi5jLXRlYXNlci10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMi4ycmVtOyAvKiA0NHB4ICovXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jLWNhdGVnb3J5LXRpdGxlLFxuLmMta2V5ZmFjdHMtZGVzYyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDAuOHJlbTsgLyogMTYgcHggKi9cblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmMtY2F0ZWdvcnktdGl0bGUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy10aXRsZS1tYWluIC5jLWNhdGVnb3J5LXRpdGxlIHtcblx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG5oMi5jLWNhdGVnb3J5LXRpdGxlIHtcblx0cGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgVGV4dCBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyIHtcblx0bGluZS1oZWlnaHQ6IDEuNztcbn1cblxuLmMtdGV4dC1ibG9jayBwLFxuLmMtdGV4dC1ibG9jayAuYy1saXN0LXNvY2lhbCArIHAge1xuXHRwYWRkaW5nLWJvdHRvbTogMS43cmVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIHAgKyBoMyxcbi5jLXRleHQtYmxvY2sgcCArIGg0IHtcblx0cGFkZGluZy10b3A6IDEuN2VtO1xufVxuXG4uYy1mb290ZXIsXG4uYy10ZXh0LXNtYWxsLFxuLmMtcHJvZmlsZS1saXN0LFxuLmMtZm9vdGVyLXNob3Age1xuXHRmb250LXNpemU6IDAuOHJlbTsgLyogMTYgcHggKi9cbn1cblxuLmMtbGVhZCxcbi5jLXRleHQtYmxvY2sgLmMtbGVhZCB7XG5cdGZvbnQtc2l6ZTogMS44cmVtOyAvKiAzNnB4ICovXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cblxuLmMtbGluZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1saW5lOjpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTI4cHg7XG5cdGhlaWdodDogNHB4O1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWxpbmU6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuXG4uYy1mb290ZXIgLmMtbGluZTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3ItZm9vdGVyO1xufVxuXG5cbi5jLXN1YmxpbmUtbnVtYmVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0bWFyZ2luLWJvdHRvbTogMmVtO1xuXHRcbn1cblxuLmMtc3VibGluZS1udW1iZXI6OmJlZm9yZSB7XG5cdHRvcDogMTAwJTtcbn1cblxuLmMtbGVnZW5kIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctdG9wOiAyLjVlbTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogJHRleHQtY29sb3ItbWVkaXVtO1xufVxuXG4uYy1sZWdlbmQgLmMtbGluZSB7XG5cdHBhZGRpbmctdG9wOiAyZW07XG59XG5cblxuLmMtbGluay1jdGEge1xuXHRmb250LXdlaWdodDogMzAwO1xufVxuXG4uYy10aXRsZS1mb290ZXIge1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1rZXlmYWN0cy1uciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nLXRvcDogMnJlbTtcblx0cGFkZGluZy1ib3R0b206IDAuMjVyZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2ljIExpc3RzIENvbnRlbnQgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtdGV4dC1ibG9jayB1bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAwIDEuN3JlbSAwOyBcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICdcXDIwMjInO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogLTAuMWVtO1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jLXRleHQtYmxvY2sgbGkgKyBsaSB7XG5cdG1hcmdpbi10b3A6IDAuNzI1cmVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMS41ZW0gMjBweDsgXG59XG5cblxuLmMtbGlzdC1zb2NpYWwsXG4uYy10ZXh0LWJsb2NrIC5jLWxpc3Qtc29jaWFsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uYy1saXN0LXNvY2lhbCBsaSxcbi5jLXRleHQtYmxvY2sgLmMtbGlzdC1zb2NpYWwgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cGFkZGluZy1yaWdodDogOHB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpc3Qtc29jaWFsIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpc3Qtc29jaWFsIGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy10ZXh0LWltZy0yY29sLXN5bW1ldHJpYyAuYy1saXN0LXNvY2lhbCB7XG5cdHBhZGRpbmctYm90dG9tOiAxLjdyZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZlYXR1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mZWF0dXJlcy1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRib3JkZXItdG9wOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbn1cblxuLmMtZmVhdHVyZXMtbGlzdCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMC44ZW0gMCAwLjhlbSAzMHB4O1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGJvcmRlci1iYXNpYztcbn1cblxuLmMtZmVhdHVyZXMtbnIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMXJlbTtcblx0bGVmdDogMDtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUXVvdGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSB7XG5cdG1hcmdpbjogMDsgXG5cdHBhZGRpbmc6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRmb250LXNpemU6IDEuOHJlbTsgLyogMzZweCAqL1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwOjpiZWZvcmUge1xuXHRjb250ZW50OiAnXFwyMDFDJztcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTAuNTVlbTtcblx0dG9wOiAtMC41ZW07XG5cdGZvbnQtc2l6ZTogNTAwJTtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG59XG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctdG9wOiAyLjVlbTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRjb2xvcjogJHRleHQtY29sb3ItbWVkaXVtO1xufVxuXG4vKiB0ZXN0aW1vbmlhbCAqL1xuLmMtdGVzdGltb25pYWwgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nLXRvcDogNGVtO1xufVxuXG4uYy10ZXN0aW1vbmlhbCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IC8qIDMwcHggKi9cbn1cblxuLmMtdGVzdGltb25pYWwgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHA6OmJlZm9yZSB7XG5cdGxlZnQ6IDA7XG4gICAgdG9wOiAtLjllbTtcbn1cblxuLmMtdGVzdGltb25pYWwgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuXHRwYWRkaW5nLXRvcDogMmVtO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwLFxuLmMtdGV4dC1saWdodCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1x0XG59XG5cbi5jLXRleHQtY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1x0XG59XG5cbi5jLXRleHQtbGlnaHQge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9maWxlIGxpc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmMtcHJvZmlsZS1saXN0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMC43ZW0gMCAwIDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLXByb2ZpbGUtbGlzdCBsaTpmaXJzdC1jaGlsZCB7XG5cdHBhZGRpbmctdG9wOiAyZW07XG59XG5cbi5jLXByb2ZpbGUtbGlzdCBsaSB7XG5cdHBhZGRpbmctYm90dG9tOiAxLjdlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgc2l6ZXMgcmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTUwMHB4KSB7ICAgIFxuXHRoMSwgLmMtaDEsXG5cdC5jLWxpbmstY3RhLFxuXHQuYy1rZXlmYWN0cy1uciB7XG5cdFx0Zm9udC1zaXplOiA1cmVtOyAvKiAxMDBweCAqL1xuXHR9XG5cdFxuXHRoMiwgLmMtaDIge1xuXHRcdGZvbnQtc2l6ZTogNHJlbTsgLyogODBweCAqL1xuXHR9XG5cdFxuXHRoMywgLmMtaDMsXG5cdC5jLWxlYWQsXG5cdC5jLXRleHQtYmxvY2sgLmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAsXG5cdC5jLWhlYWRlci1uYXZpZ2F0aW9uIHtcdFx0XG5cdFx0Zm9udC1zaXplOiAycmVtOyAvKiA0MCBweCAqL1xuXHR9XG5cdFxuXHQuYy10ZWFzZXItdGl0bGUge1x0XHRcblx0XHRmb250LXNpemU6IDNyZW07IC8qIDYwIHB4ICovXG5cdH1cblx0XG5cdC5jLXByb2ZpbGUtbGlzdCB7XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXHR9XG5cdFxuXHQuYy10ZXh0LTJjb2wgLmMtY29sLTUge1xuXHRcdHBhZGRpbmctdG9wOiAxZW07XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjExMDFweCkgYW5kIChtYXgtd2lkdGg6MTQ5OXB4KSB7ICBcblx0LmMtdGV4dC0yY29sIC5jLWNvbC01IHtcblx0XHRwYWRkaW5nLXRvcDogMC43OWVtO1xuXHR9XG5cdFxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMTAwcHgpIHsgIFxuXHRodG1sIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjg4MXB4KSBhbmQgKG1heC13aWR0aDoxMTAwcHgpIHsgIFxuXHQuYy10ZXh0LTJjb2wgLmMtY29sLTUge1xuXHRcdHBhZGRpbmctdG9wOiAwLjc2ZW07XG5cdH1cblx0XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjg1MHB4KSB7ICBcblx0LmMtdGVhc2VyLXRpdGxlIHtcdFx0XG5cdFx0Zm9udC1zaXplOiAxLjhyZW07IFxuXHR9XG5cdFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICAgXG5cdGh0bWwge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHRcblx0XG5cdGgxLCAuYy1oMSxcblx0LmMtbGluay1jdGEsXG5cdC5jLWtleWZhY3RzLW5yIHtcblx0XHRmb250LXNpemU6IDIuNXJlbTsgLyogNDBweCAqL1xuXHR9XG5cdFxuXHRoMiwgLmMtaDIsXG5cdC5jLXRlYXNlci10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAycmVtOyAvKiAzMnB4ICovXG5cdH1cblx0XG5cdGgzLCAuYy1oMyxcblx0LmMtbGVhZCwgXG5cdC5jLXRleHQtYmxvY2sgLmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAsXG5cdC5jLXRlYXNlci10aXRsZSxcblx0LmMtaGVhZGVyLW5hdmlnYXRpb24ge1xuXHRcdGZvbnQtc2l6ZTogMS41cmVtOyAvKjI0cHggKi9cblx0fVxuXHRcdFxuXHQuYy1mb290ZXIsXG5cdC5jLXRleHQtc21hbGwsXG5cdC5jLXByb2ZpbGUtbGlzdCxcblx0LmMtY2F0ZWdvcnktdGl0bGUsXG5cdC5jLWtleWZhY3RzLWRlc2MsXG4gICAgLmMtZm9vdGVyLXNob3Age1xuXHRcdGZvbnQtc2l6ZTogMC44NzVyZW07IC8qIDE0IHB4ICovXG5cdH1cbn1cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXIge1xuXHRwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wO1xuXHRwYWRkaW5nLWJvdHRvbTogMTJweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR6LWluZGV4OiAxMDAwO1xuXG5cdCYuZml4ZWR7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHR9XG59XG5cblxuLmMtaGVhZGVyLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAyMTBweDtcblx0ei1pbmRleDogMTtcblx0bWFyZ2luLWxlZnQ6IDJweCFpbXBvcnRhbnQ7XG59XG5cbi5jLWhlYWRlci1sb2dvIGEge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1oZWFkZXItbG9nbyBzdmcge1xuXHR3aWR0aDogMTAwJTtcblx0LypoZWlnaHQ6IGF1dG87Ki9cbn1cblxuLmMtdGV4dC1saWdodCAuYy1oZWFkZXItbG9nbyAubG9nby1jb2xvciB7XG5cdGZpbGw6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXG5cdCYuZGFya3tcblx0XHRmaWxsOiAkY29sb3ItcHJpbWFyeTtcblx0fVxufVxuXG4jbG90dGlle1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBjc3MgZm9yIGllIDExLCBjb250cm9scyBoZWlnaHQgb2YgbG90dGllICovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgICNsb3R0aWUge1xuXHRcdGhlaWdodDogMjRweDtcblx0fVxufVxuXG4uYy1oZWFkZXItbG9nby1mYWxsYmFja3tcblx0bWFyZ2luLXRvcDogLTAuNXB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCYuZGFyayAubG9nby1jb2xvcntcblx0XHRmaWxsOiAjMkUxQUE5IWltcG9ydGFudDtcblx0fVxufVxuXG4uYy10ZXh0LWxpZ2h0ICNfX2xvdHRpZV9lbGVtZW50XzI1IHN0b3AsXG4uYy10ZXh0LWxpZ2h0IC5jLWhlYWRlci1sb2dvIC5sb2dvLWNvbG9yLWdyYWRpZW50e1xuXHRzdG9wLWNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cbi5jLXRleHQtbGlnaHQgLmMtaGVhZGVyLWxvZ28gLmRhcmsgLmxvZ28tY29sb3ItZ3JhZGllbnR7XG5cdHN0b3AtY29sb3I6ICRjb2xvci1wcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkgeyBcblx0LmMtaGVhZGVyLWxvZ28tZmFsbGJhY2t7XG5cdFx0bWFyZ2luLXRvcDogLTRweDtcblx0fVxufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb290ZXIge1xuXHRwYWRkaW5nLXRvcDogNGVtO1xuXHRwYWRkaW5nLWJvdHRvbTogNGVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWZvb3Rlcjtcbn1cblxuLmMtZm9vdGVyIHAge1xuXHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcblx0cGFkZGluZy10b3A6IDJlbTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCxcbi5jLWZvb3Rlci1uYXYtbGlzdCxcbi5jLWZvb3Rlci1uYXYtbGlzdCB1bCxcbi5jLWZvb3Rlci1wYXJ0bmVyLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogNGVtO1xufVxuXG5cblxuLmMtZm9vdGVyLW5hdi1saXN0IHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtZm9vdGVyLW5hdi1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLXRvcDogMC41ZW07XG59XG5cbi5jLWZvb3Rlci1uYXYtbGlzdCBsaS5jLWFjdGl2ZSBhLFxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaS5jLWFjdGl2ZSBhIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG59XG5cblxuLmMtZm9vdGVyIGEsXG4uYy1mb290ZXIgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWZvb3Rlcjtcbn1cblxuLmMtZm9vdGVyIGE6aG92ZXIsXG4uYy1mb290ZXIgYTpmb2N1cyB7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xufVxuXG4uYy1mb290ZXItbGluZSB7XG5cdG1hcmdpbi10b3A6IDIuNWVtO1xuXHRwYWRkaW5nLXRvcDogMmVtO1xufVxuXG4uYy1mb290ZXIgLmMtbGlzdC1zb2NpYWwge1xuXHRtYXJnaW4tdG9wOiAyLjVlbTtcbn1cblxuLmMtZm9vdGVyLWxvZ28ge1xuXHRwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xuXHR3aWR0aDogMTMwcHg7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyLXBhcnRuZXIgLmMtY2F0ZWdvcnktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5jLWZvb3Rlci1wYXJ0bmVyLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtZm9vdGVyLXBhcnRuZXItbGlzdCBsaSB7XG4gICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuXG5cblxuLmMtZm9vdGVyLWxpbmstc3dpc3NtYWRlLFxuLmMtZm9vdGVyLWxpbmstZGphbmdvLFxuLmMtZm9vdGVyLWxpbmstd29yZHByZXNzLFxuLmMtZm9vdGVyLWxpbmstZ2lzbGVycHJvdG9rb2xsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwcHg7XG5cdGhlaWdodDogNzdweDtcbn1cblxuLmMtZm9vdGVyLWxpbmstZGphbmdvLFxuLmMtZm9vdGVyLWxpbmstd29yZHByZXNzIHtcblx0bWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmMtZm9vdGVyLWxpbmstc3dpc3NtYWRlOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9sb2dvLXN3aXNzbWFkZS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR3aWR0aDogMTAwcHg7XG5cdGhlaWdodDogNzdweDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLXBvc2l0b246ICAwIDA7XG59XG5cbi5jLWZvb3Rlci1saW5rLXN3aXNzbWFkZTpob3Zlcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogIDAgLTEwMHB4O1xufVxuXG4uYy1mb290ZXItbGluay1kamFuZ28ge1xuXHRoZWlnaHQ6IDIzcHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLWRqYW5nbzo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvbG9nby1wYXJ0bmVyLWRqYW5nby5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR3aWR0aDogMTAwcHg7XG5cdGhlaWdodDogMjNweDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLXBvc2l0b246ICAwIDA7XG59XG5cbi5jLWZvb3Rlci1saW5rLWRqYW5nbzpob3Zlcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogIDAgLTEwMHB4O1xufVxuXG4uYy1mb290ZXItbGluay13b3JkcHJlc3MgeyAgICBcbiAgICB3aWR0aDogNDVweDtcblx0aGVpZ2h0OiA0NnB4O1xufVxuXG4uYy1mb290ZXItbGluay13b3JkcHJlc3M6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL2xvZ28tcGFydG5lci13b3JkcHJlc3Muc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0d2lkdGg6IDQ1cHg7XG5cdGhlaWdodDogNDZweDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLXBvc2l0b246ICAwIDA7XG59XG5cbi5jLWZvb3Rlci1saW5rLXdvcmRwcmVzczpob3Zlcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogIDAgLTEwMHB4O1xufVxuXG4uYy1mb290ZXItbGluay1naXNsZXJwcm90b2tvbGwge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgd2lkdGg6IDExNHB4O1xuXHRoZWlnaHQ6IDM4cHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLWdpc2xlcnByb3Rva29sbDo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvbG9nby1tZW1iZXItZ2lzbGVyLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHdpZHRoOiAxMTRweDtcblx0aGVpZ2h0OiAzOHB4O1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdGJhY2tncm91bmQtcG9zaXRvbjogIDAgMDtcbn1cblxuLmMtZm9vdGVyLWxpbmstZ2lzbGVycHJvdG9rb2xsOmhvdmVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAgMCAtMTAwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgQ2FyYm9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZm9vdGVyLWNhcmJvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAuNGVtIGF1dG8gMCAwO1xufVxuXG5cbi5jLWZvb3RlciAjd2NiLmNhcmJvbmJhZGdlIHtcbiAgLS1iMTogIzJFMUFBOTtcbiAgLS1iMjogIzAwRDRCNDtcbn1cblxuLmMtZm9vdGVyICN3Y2IgI3djYl9hLCBcbi5jLWZvb3RlciAjd2NiICN3Y2JfZyB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1kZWZhdWx0O1xufVxuIiwiLnNjcm9sbGJhci10ZXN0e1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4jb3Blbi1uYXZpZ2F0aW9ue1xuXHRtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgdHJpZ2dlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLXRvZ2dsZXtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogNDBweDtcblx0bWFyZ2luLXRvcDogLThweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgXHRyaWdodDogMzBweDtcbiAgIFx0dG9wOiAwO1xuICAgXHR3aWR0aDogNDBweDtcblx0ei1pbmRleDogMTIwMDtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG5cdFx0bWFyZ2luLXRvcDogLTEwcHg7XG5cdH1cblx0Jjpob3Zlcntcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ji5vcGVuOmFmdGVye1xuXHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0fVxuXHRcdCYub3BlbjpiZWZvcmV7XG5cdFx0XHR3aWR0aDogMjRweDtcblx0XHR9XG4gICAgICAgICYuY2xvc2U6YWZ0ZXJ7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgfVxuICAgICAgICAmLmNsb3NlOmJlZm9yZXtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICB9IFxuXHR9XG4gICBcdCY6YWZ0ZXIsXG4gICBcdCY6YmVmb3Jle1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHQgICBcdGRpc3BsYXk6IGJsb2NrO1xuXHQgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IDUwJTtcblx0XHR6LWluZGV4OiAtMVxuICAgXHR9XG5cdCYub3Blbntcblx0XHQmOmFmdGVye1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0XHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0XHRoZWlnaHQ6IDRweDtcblx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLWluLW91dDtcblx0XHR9XG5cdFx0JjpiZWZvcmV7XG5cdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcblx0XHRcdGJvcmRlci10b3A6IDRweCBzb2xpZCAkY29sb3ItaGlnaGxpZ2h0O1xuXHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogLTEycHg7XG5cdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXHR9XG5cdCYuY2xvc2V7XG5cdFx0bWFyZ2luLXRvcDogY2FsYygjeyRwYWRkaW5nLXRvcH0gLSA4cHgpO1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuXHRcdFx0bWFyZ2luLXRvcDogY2FsYygjeyRwYWRkaW5nLXRvcH0gLSAxMHB4KTtcblx0XHR9XG5cdFx0JjphZnRlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXHRcdH1cblx0XHQmOmJlZm9yZXtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcblx0XHR9XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExhbmd1YWdlIG5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbntcblx0bGluZS1oZWlnaHQ6IDE7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2MDBweCkge1xuXHRcdG1hcmdpbi10b3A6ICRwYWRkaW5nLXRvcDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDEwMHB4O1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMzBlbTtcblx0fVxufVxuXG4uYy1sYW5ndWFnZS1uYXZpZ2F0aW9uLXRpdGxlIHtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMC41ZW0gMDtcblx0b3BhY2l0eTogMC41O1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjAwcHgpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuLmMtbGFuZy1tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHQubWVudS1pdGVte1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nLWxlZnQ6IDFlbTtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZGVjb3JhdGlvbntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwMCUpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gLjRzIGVhc2Utb3V0O1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDQwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLypib3JkZXItdG9wOiAzMDB2dyBzb2xpZCAkYmctY29udGVudDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgICAgICBib3JkZXItbGVmdDogODJ2dyBzb2xpZCB0cmFuc3BhcmVudDsqL1xuICAgICAgICB6LWluZGV4OiAxO1xuXHRcdC8qLW1vei10cmFuc2Zvcm06IHNjYWxlKC45OTk5KSovXG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC0gMXB4KTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgLypib3JkZXItdG9wOiAzMDB2dyBzb2xpZCAkYmctY29udGVudDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgICAgICBib3JkZXItbGVmdDogODJ2dyBzb2xpZCB0cmFuc3BhcmVudDsqL1xuXHRcdGJvcmRlci10b3A6IDIyMHZoIHNvbGlkICRiZy1jb250ZW50O1xuXHRcdGJvcmRlci10b3AtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcblx0XHRib3JkZXItbGVmdDogNTZ2aCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDApO1xuICAgICAgICB6LWluZGV4OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiBzY2FsZSguOTk5OSlcbiAgICB9XG59XG5cbi5jLW9mZi1jYW52YXN7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYge1xuXHRwYWRkaW5nLXRvcDogNmVtO1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogNGVtO1xuXHR9XG59XG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9ue1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMXMgZWFzZS1pbi1vdXQ7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbixcbi5jLWFkZGl0aW9uYWwtY29udGVudHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0IC4ycywgb3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQgLjJzO1xufVxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbiAubWVudS1pdGVtICsgLm1lbnUtaXRlbSB7XG5cdHBhZGRpbmctdG9wOiAwLjM1ZW07XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuXHRcdHBhZGRpbmctdG9wOiAwLjdlbTtcblx0fVxufVxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbiAubWVudS1pdGVtLWxpbmsge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMC4wNWVtIDAuMWVtIDAuMDVlbSAxZW07XG5cdHotaW5kZXg6IDE7XG59XG5cbi5jLWhlYWRlci1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0tbGluazo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwczovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDBkNGI0KzAsMDBkNGI0KzUwLDAwZDRiNCsxMDAmMCswLDErNTAsMSsxMDAgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMCwyMTIsMTgwLDApIDAlLCByZ2JhKDAsMjEyLDE4MCwxKSA1MCUsIHJnYmEoMCwyMTIsMTgwLDEpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgwLDIxMiwxODAsMCkgMCUscmdiYSgwLDIxMiwxODAsMSkgNTAlLHJnYmEoMCwyMTIsMTgwLDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICByZ2JhKDAsMjEyLDE4MCwwKSAwJSxyZ2JhKDAsMjEyLDE4MCwxKSA1MCUscmdiYSgwLDIxMiwxODAsMSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDBkNGI0JywgZW5kQ29sb3JzdHI9JyMwMGQ0YjQnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG5cdHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1vdXQ7XG5cdHotaW5kZXg6IC0xO1xufVxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbiAubWVudS1pdGVtLWxpbms6aG92ZXI6OmJlZm9yZSxcbi5jLWhlYWRlci1uYXZpZ2F0aW9uIC5jLWFjdGl2ZSAubWVudS1pdGVtLWxpbms6OmJlZm9yZSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbiBhLFxuLmMtaGVhZGVyLW5hdmlnYXRpb24gYTpob3Zlcixcbi5jLWhlYWRlci1uYXZpZ2F0aW9uIGE6Zm9jdXMsXG4uYy10ZXh0LWxpZ2h0IC5jLWhlYWRlci1uYXZpZ2F0aW9uIGEsXG4uYy10ZXh0LWxpZ2h0IC5jLWhlYWRlci1uYXZpZ2F0aW9uIGE6aG92ZXIsXG4uYy10ZXh0LWxpZ2h0IC5jLWhlYWRlci1uYXZpZ2F0aW9uIGE6Zm9jdXMsXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnQgYSxcbi5jLWFkZGl0aW9uYWwtY29udGVudCBhOmhvdmVyLFxuLmMtYWRkaXRpb25hbC1jb250ZW50IGE6Zm9jdXMsXG4uYy10ZXh0LWxpZ2h0IC5jLWFkZGl0aW9uYWwtY29udGVudCBhLFxuLmMtdGV4dC1saWdodCAuYy1hZGRpdGlvbmFsLWNvbnRlbnQgYTpob3Zlcixcbi5jLXRleHQtbGlnaHQgLmMtYWRkaXRpb25hbC1jb250ZW50IGE6Zm9jdXMge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbi5jLWFkZGl0aW9uYWwtY29udGVudHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLXRvcDogMmVtO1xuXHRtYXJnaW4tdG9wOiA1ZW07XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHAgKyBwIHtcblx0XHRwYWRkaW5nLXRvcDogLjhlbTtcblx0fVxufVxuXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnQ6OmJlZm9yZSxcbi5jLXRleHQtbGlnaHQgLmMtYWRkaXRpb25hbC1jb250ZW50OjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0bGVmdDogYXV0bztcblx0cmlnaHQ6IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgY2xvc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNvcGVuLW5hdmlnYXRpb24uY2xvc2UtbmF2aWdhdGlvbixcbiNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpe1xuXG4gICAgdG9wOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIC5jLWlubmVyLW9mZi1jYW52YXN7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDB2aDtcbiAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IG1pbi1oZWlnaHQgMHMgZWFzZS1vdXQgMHMsIG1heC13aWR0aCAuNHMgZWFzZS1vdXQgMHM7XG4gICAgfVxuICAgIC5jLWRlY29yYXRpb257XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgZWFzZS1vdXQgMHMsIHRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKDAsIDAuNCwgMC42LCAxKTtcbiAgICB9XG5cdC8qLmMtaW5uZXItb2ZmLWNhbnZhc3tcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCl7XG5cdFx0XHRtYXgtd2lkdGg6IDE1NjBweDtcblx0XHQgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0ICAgIG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cdH0qL1xuXHQuYy1vZmZjYW52YXMtdG9nZ2xle1xuXHRcdCYuY2xvc2V7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQmLm9wZW57XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQuYy1sYW5ndWFnZS1uYXZpZ2F0aW9uIHtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcblx0XHRcdEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuO1xuXHRcdH1cblx0fVxuXG4gICAgLmMtYWRkaXRpb25hbC1jb250ZW50LFxuXHQuYy1oZWFkZXItbmF2aWdhdGlvbntcblx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0fVxufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgb3BlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNvcGVuLW5hdmlnYXRpb24ub3Blbi1uYXZpZ2F0aW9uLFxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXR7XG5cbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Ly8gcG9zaXRpb246IHJlbGF0aXZlO1xuXHQvLyBvdmVyZmxvdzogaGlkZGVuO1xuXHQvLyB0b3A6IDA7XG4gLy8gICAgaGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTAwMDtcblx0LmxheW91dC1zY3JvbGxiYXItb2J0cnVzaXZle1xuXHRcdHBhZGRpbmctcmlnaHQ6IDE4cHg7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjExMDBweCkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMTZweDtcblx0XHR9XG5cdFx0LmMtaGVhZGVye1xuXHRcdFx0cGFkZGluZy1yaWdodDogMThweDtcblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMTAwcHgpIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTZweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmMtaGVhZGVye1xuXHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHR9XG5cdC5jLWhlYWRlci1sb2dve1xuXHRcdG9wYWNpdHk6IC42O1xuXHR9XG5cdCY6YmVmb3Jle1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdG9wYWNpdHk6IC42O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ei1pbmRleDogOTAwO1xuXHR9XG5cdC5jLXNjcm9sbC1jYW52YXN7XG5cdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXHR9XG5cdC5jLW9mZi1jYW52YXN7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0XHQtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cdFx0ei1pbmRleDogMTAwMDtcblx0XHQuYy1pbm5lci1vZmYtY2FudmFze1xuICAgICAgICAgICAgLmMtZGVjb3JhdGlvbntcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIH1cblx0XHRcdG1pbi13aWR0aDogMzAwcHg7XG5cdFx0XHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcblx0XHR9XG5cdH1cblx0LmMtb2ZmY2FudmFzLXRvZ2dsZXtcbiBcdFx0Ji5jbG9zZXtcbiBcdFx0XHRkaXNwbGF5OiBibG9jaztcbiBcdFx0fVxuIFx0XHQmLm9wZW57XG4gXHRcdFx0ZGlzcGxheTogbm9uZTtcbiBcdFx0fVxuIFx0fVxuXG5cblx0LmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiB7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseXVuaGlkZGVuO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDNlbTtcblx0XHR9XG5cdH1cblxuICAgIC5jLWFkZGl0aW9uYWwtY29udGVudCxcblx0LmMtaGVhZGVyLW5hdmlnYXRpb257XG5cdFx0QGluY2x1ZGUgdmlzdWFsbHl1bmhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cbiAgICAuYy1hZGRpdGlvbmFsLWNvbnRlbnR7XG4gICAgXHQvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcdHBhZGRpbmctdG9wOiAyZW07XG4gICAgXHRtYXJnaW4tdG9wOiA1ZW07XG4gICAgfVxuXG5cdC5jLXRleHQtbGlnaHQgLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbixcblx0LmMtdGV4dC1saWdodCAuYy1sYW5nLW1lbnUgYSxcblx0LmMtdGV4dC1saWdodCAuYy1sYW5nLW1lbnUgYTpob3Zlcixcblx0LmMtdGV4dC1saWdodCAuYy1sYW5nLW1lbnUgYTpmb2N1cyB7XG5cdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHR9XG5cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250ZW50ZWxlbWVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHNtYWxsIGVsZW1lbnRzIHRoYXQgZG9uJ3QgbmVlZCB0aGVpciBvd24gLnNjc3MgKi9cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1iZy1kYXJrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG59XG5cbi5jLWJnLWxpZ2h0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xufVxuXG4uYy1iZy1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5jLWJnLXNlcnZpY2UtcHJpbWFyeSB7XG5cdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwczovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMmUxYWE5KzAsMDAwMjkwKzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiByZ2IoNDYsMjYsMTY5KTsgLyogT2xkIGJyb3dzZXJzICovXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoNDYsMjYsMTY5LDEpIDAlLCByZ2JhKDAsMiwxNDQsMSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoNDYsMjYsMTY5LDEpIDAlLHJnYmEoMCwyLDE0NCwxKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIHJnYmEoNDYsMjYsMTY5LDEpIDAlLHJnYmEoMCwyLDE0NCwxKSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMmUxYWE5JywgZW5kQ29sb3JzdHI9JyMwMDAyOTAnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG59XG5cbi5jLWJnLXNlcnZpY2UtcHJpbWFyeS1ob3Jpem9uIHtcblx0YmFja2dyb3VuZDogIzJkMWFhOCB1cmwoLi4vLi4vaW1hZ2VzL2JhY2tncm91bmRfaG9yaXpvbl9ibHVlLmpwZykgcmVwZWF0LXggMCAwO1xufVxuXG4uYy1iZy1zZXJ2aWNlLWhpZ2hsaWdodCB7XG5cdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwczovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jNDRmMWNmKzAsMDBiYzlkKzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiByZ2IoNjgsMjQxLDIwNyk7IC8qIE9sZCBicm93c2VycyAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDY4LDI0MSwyMDcsMSkgMCUsIHJnYmEoMCwxODgsMTU3LDEpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDY4LDI0MSwyMDcsMSkgMCUscmdiYSgwLDE4OCwxNTcsMSkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICByZ2JhKDY4LDI0MSwyMDcsMSkgMCUscmdiYSgwLDE4OCwxNTcsMSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzQ0ZjFjZicsIGVuZENvbG9yc3RyPScjMDBiYzlkJyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOSAqL1xufVxuXG4uYy1iZy1zZXJ2aWNlLWhpZ2hsaWdodC1ob3Jpem9uIHtcblx0YmFja2dyb3VuZDogIzAwYjc5OSB1cmwoLi4vLi4vaW1hZ2VzL2JhY2tncm91bmRfaG9yaXpvbl9ncmVlbi5qcGcpIHJlcGVhdC14IDAgMDtcbn1cblxuLmMtYmctc2VydmljZS1saWdodCB7XG5cdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwczovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZThlOGU4KzAsYjZiNmI2KzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiByZ2IoMjMyLDIzMiwyMzIpOyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgyMzIsMjMyLDIzMiwxKSAwJSwgcmdiYSgxODIsMTgyLDE4MiwxKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgyMzIsMjMyLDIzMiwxKSAwJSxyZ2JhKDE4MiwxODIsMTgyLDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSgyMzIsMjMyLDIzMiwxKSAwJSxyZ2JhKDE4MiwxODIsMTgyLDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNlOGU4ZTgnLCBlbmRDb2xvcnN0cj0nI2I2YjZiNicsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbn1cblxuLmMtYmctc2VydmljZS1saWdodC1ob3Jpem9uIHtcblx0YmFja2dyb3VuZDogI2U4ZThlOCB1cmwoLi4vLi4vaW1hZ2VzL2JhY2tncm91bmRfaG9yaXpvbl93aGl0ZS5qcGcpIHJlcGVhdC14IDAgMDtcbn1cblxuLmMtYmctc2VydmljZS1kYXJrIHtcblx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMxYjFiMWIrMCwxMzEzMTMrMTAwICovXG5cdGJhY2tncm91bmQ6IHJnYigyNywyNywyNyk7IC8qIE9sZCBicm93c2VycyAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDI3LDI3LDI3LDEpIDAlLCByZ2JhKDE5LDE5LDE5LDEpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDI3LDI3LDI3LDEpIDAlLHJnYmEoMTksMTksMTksMSkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICByZ2JhKDI3LDI3LDI3LDEpIDAlLHJnYmEoMTksMTksMTksMSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzFiMWIxYicsIGVuZENvbG9yc3RyPScjMTMxMzEzJyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOSAqL1xufVxuXG4uYy1iZy1zZXJ2aWNlLWRhcmstaG9yaXpvbiB7XG5cdGJhY2tncm91bmQ6ICMxYjFiMWIgdXJsKC4uLy4uL2ltYWdlcy9iYWNrZ3JvdW5kX2hvcml6b25fYmxhY2suanBnKSByZXBlYXQteCAwIDA7XG59XG5cbi8qIG5ldyBzZXJ2aWNlIGJnIGNvbG9ycyBmb3IgdmlkZW9zICovXG4uYy1iZy1zZXJ2aWNlLWJsdWUge1xuICAgIGJhY2tncm91bmQ6ICMxYzI5ODU7XG59XG5cbi5jLWJnLXNlcnZpY2UtYmxhY2sge1xuICAgIGJhY2tncm91bmQ6ICMxMDEwMTA7XG59XG5cbi5jLWJnLXNlcnZpY2UtZ3JlZW4ge1xuICAgIGJhY2tncm91bmQ6ICMxNzhlNzA7XG59XG5cbi5jLWJnLXNlcnZpY2UtYnJvbnplIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWQ4YTZlO1xufVxuXG4uYy1iZy1zZXJ2aWNlLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNiNWJjYzI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNob3dyb29tIC8gVGVhc2VyIGJpZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2hvd3Jvb20sXG4uYy10ZWFzZXItYmlnIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtc2hvd3Jvb20sXG4uYy1zaG93cm9vbS10ZXh0IC5jLXJvdyxcbi5jLXRlYXNlci1iaWcsXG4uYy10ZWFzZXItYmlnLXRleHQgLmMtcm93IHtcblx0bWluLWhlaWdodDogMTAwdmg7IFxufVxuXG5cbi8qIG1pbi1oZWlnaHQgZml4IGZvciBpZTExICovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgXHQuYy1zaG93cm9vbS10ZXh0IC5jLXJvdzphZnRlcixcblx0LmMtdGVhc2VyLWJpZy10ZXh0IC5jLXJvdzphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0LypkaXNwbGF5OiBibG9jazsqL1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtaW4taGVpZ2h0OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogMDtcblx0fVxufVxuXG5cbi5jLXNob3dyb29tLWltZyxcbi5jLXNob3dyb29tLXZpZGVvLFxuLmMtdGVhc2VyLWJpZy1pbWcge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1zaG93cm9vbS1pbWcgaW1nLFxuLmMtc2hvd3Jvb20tdmlkZW8gdmlkZW8sXG4uYy10ZWFzZXItYmlnLWltZyBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICB0ZWFzZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10ZWFzZXItMmNvbCAuYy10ZWFzZXItdGV4dCxcbi5jLXRlYXNlci10ZWFtIC5jLXRlYXNlci10ZXh0IHtcblx0cGFkZGluZy10b3A6IDEuNWVtO1xufVxuXG5cbi5jLXRlYXNlci1pbWcgYSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cblxuLmMtdGVhc2VyLWltZyBhOjpiZWZvcmUsXG4uYy10ZWFzZXItdGVhbS1ob3Zlcjo6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRjb250ZW50OiAnJztcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwICRiZy1jb250ZW50O1x0XG5cdHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG5cdFxufVxuXG4uYy10ZWFzZXItaW1nIGE6aG92ZXI6OmJlZm9yZSxcbi5jLXRlYXNlci1pbWcgYTpob3ZlciAuYy10ZWFzZXItdGVhbS1ob3Zlcjo6YmVmb3Jle1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxNHB4ICRiZy1jb250ZW50O1x0XG59XG5cbi5jLXRlYXNlci10ZWFtLWhvdmVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xufVxuXG5cblxuLmMtdGVhc2VyLWltZyBhOmhvdmVyIC5jLXRlYXNlci10ZWFtLWhvdmVyIHtcblx0b3BhY2l0eTogMTtcdFxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBzZXBhcmF0b3IgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zZXBhcmF0b3ItbGluZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGhlaWdodDogNHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xufVxuXG4uYy1xdW90ZS1saW5lIC5jLXNlcGFyYXRvci1saW5lOmZpcnN0LW9mLXR5cGUge1xuXHRtYXJnaW4tYm90dG9tOiA2ZW07XG59XG5cbi5jLXF1b3RlLWxpbmUgLmMtc2VwYXJhdG9yLWxpbmU6bGFzdC1vZi10eXBlIHtcblx0bWFyZ2luLXRvcDogNmVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBwYWdpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXBhZ2luZy1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLXBhZ2luZy1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbG9nb3dhbGxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWxvZ293YWxsLWxpbmUge1xuICAgIHBhZGRpbmctdG9wOiAxLjdyZW07XG59XG5cbi5jLWxvZ293YWxsLWxpbmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAzMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWJhc2ljO1xufVxuXG4uYy1sb2dvd2FsbC1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmMtbG9nb3dhbGwtbGluZSAuYy1sb2dvd2FsbC1saXN0IHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCA0cHggJGJvcmRlci1iYXNpYztcbn1cblxuLmMtbG9nb3dhbGwtbGlzdCBsaSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7XG4gICAgLW1zLWZsZXg6IDAgMCAyNSU7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMDtcbn1cblxuLmMtbG9nb3dhbGwtaW1nIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgY29va2llIG5vdGljZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29va2llLW5vdGljZXtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDMwcHg7XG5cdHJpZ2h0OiAzMHB4O1xuXHR3aWR0aDogNDAwcHg7XG4gIFx0cGFkZGluZzogMzBweDtcblx0bGluZS1oZWlnaHQ6IDEuNztcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGJvcmRlcjogc29saWQgMXB4ICRiZy1jb250ZW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHsgICAgXG5cdC5jLWNvb2tpZS1ub3RpY2Uge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0fVxuXHRcblx0XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQW5pbWF0aW9uIGVsZW1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uanMtZW5hYmxlZHtcbiAgICBcblxuICAgIC5hbmltYXRpb24tZWxlbWVudC5mYWRlLXVwIC5hbmltYXRpb24ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyAkY3ViaWMtdHJhbnNpdGlvbjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAzMHB4LCAwcHgpO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5hbmltYXRpb24tZWxlbWVudC5mYWRlLXVwLmluLXZpZXcgLmFuaW1hdGlvbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICB9XG5cbiAgICAuYW5pbWF0aW9uLWVsZW1lbnQuZmFkZS1yaWdodCAuYW5pbWF0aW9uIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgJGN1YmljLXRyYW5zaXRpb247XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MDBweCwgMHB4LCAwcHgpO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5hbmltYXRpb24tZWxlbWVudC5mYWRlLXJpZ2h0LmluLXZpZXcgLmFuaW1hdGlvbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICB9XG5cblxuICAgIC5jLWhlYWRlci1uYXZpZ2F0aW9ue1xuICAgIFx0b3ZlcmZsb3c6IGhpZGRlbiFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmFuaW1hdGlvbi1uYXYtaXRlbXtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgJGN1YmljLXRyYW5zaXRpb247XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMHB4LCAwcHgsIDBweCk7XG4gICAgfVxuXG4gICAgLmFuaW1hdGlvbi1uYXYtaXRlbS5pbi12aWV3IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgIH1cblxufVxuXG4uaW1nLWxvYWQtbWFzayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgd2lkdGg6IDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAxMDAwbXMgZWFzZSAwcztcblxuICAgICYuaW4tdmlld3tcbiAgICBcdHdpZHRoOiAwcHg7XG4gICAgfVxufVxuXG5cbi5jLXZpZGVvLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgLy8gcGFkZGluZy1ib3R0b206IDc1JTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGlmcmFtZXtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IFxuICAgICAgICBib3JkZXI6IG5vbmU7ICAgICAgIFxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgTWVzc2FnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW1lc3NhZ2Uge1xuICAgIC8qcG9zaXRpb246IGZpeGVkOyovXG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBoZWlnaHQ6ICRoZWlnaHQtbWVzc2FnZTsgIFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgei1pbmRleDogMTAwMTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCA1cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDVweCByZ2JhKDAsMCwwLDAuMik7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDVweCByZ2JhKDAsMCwwLDAuMik7XG59XG5cbi5jLW1lc3NhZ2UtY2xvc2VkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1tZXNzYWdlICsgLmMtaGVhZGVyIHtcbiAgICB0b3A6IDEyMHB4O1xufVxuXG4uYy1tZXNzYWdlLWNsb3NlZCArIC5jLWhlYWRlciB7XG4gICAgdG9wOiAwO1xufVxuXG4uYy1tZXNzYWdlLWlubmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmsgY29sb3JzIGFuZCBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFbaHJlZl49XCJ0ZWw6XCJdIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIGEsXG4uYy1saW5rLXRlYXNlciBoMyBzcGFuLFxuLmMtbGluay1leHRlcm4sXG4uYy1saW5rLWRvd25sb2FkLFxuLmMtcHJvZmlsZS1saXN0IGEsXG4uYy1saW5rLWJhY2ssXG4uYy1saW5rLWJhY2stc21hbGwsXG4uYy1saW5rLW5leHQtc21hbGwsXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnQgYSxcbi5jLWxhbmctbWVudSBhLFxuLmMtbWVzc2FnZSBhIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwkY29sb3ItaGlnaGxpZ2h0IDAlLCRjb2xvci1oaWdobGlnaHQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQwJSA0MCU7XG4gIFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMXMgZWFzZS1vdXQ7XG59XG5cbi5jLW1lc3NhZ2UgYSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sJGNvbG9yLXByaW1hcnkgMCUsJGNvbG9yLXByaW1hcnkgMTAwJSk7XG59XG5cbi5jLWxpbmstdGVhc2VyIGgzIHNwYW4sXG4uYy1wcm9maWxlLWxpc3QgYSxcbi5jLWFkZGl0aW9uYWwtY29udGVudCBhLFxuLmMtbGFuZy1tZW51IGEge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDgwJTtcblx0YmFja2dyb3VuZC1zaXplOiAwIDA7XG59XG5cbi5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmUsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDgwJTtcblx0YmFja2dyb3VuZC1zaXplOiAzMCUgMzAlO1xufVxuXG4uYy1saW5rLWJhY2ssXG4uYy1saW5rLWJhY2stc21hbGwsXG4uYy1saW5rLW5leHQtc21hbGwge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG5cdGJhY2tncm91bmQtc2l6ZTogMCAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIGE6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIGE6aG92ZXIsXG4uYy1saW5rLXRlYXNlciBoMyBzcGFuOmZvY3VzLFxuLmMtbGluay10ZWFzZXIgaDMgc3Bhbjpob3Zlcixcbi5jLWxpbmstZXh0ZXJuOmZvY3VzLFxuLmMtbGluay1leHRlcm46aG92ZXIsXG4uYy1saW5rLWRvd25sb2FkOmZvY3VzLFxuLmMtbGluay1kb3dubG9hZDpob3Zlcixcbi5jLW1lc3NhZ2UgYTpmb2N1cyxcbi5jLW1lc3NhZ2UgYTpob3ZlciB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDYwJSA2MCU7XG59XG5cbi5jLWxpbmstYmFjazpmb2N1cyxcbi5jLWxpbmstYmFjazpob3Zlcixcbi5jLWxpbmstYmFjay1zbWFsbDpmb2N1cyxcbi5jLWxpbmstYmFjay1zbWFsbDpob3Zlcixcbi5jLWxpbmstbmV4dC1zbWFsbDpmb2N1cyxcbi5jLWxpbmstbmV4dC1zbWFsbDpob3ZlciB7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4uYy1wcm9maWxlLWxpc3QgYTpmb2N1cyxcbi5jLXByb2ZpbGUtbGlzdCAgYTpob3Zlcixcbi5jLWFkZGl0aW9uYWwtY29udGVudCBhOmZvY3VzLFxuLmMtYWRkaXRpb25hbC1jb250ZW50IGE6aG92ZXIsXG4uYy1sYW5nLW1lbnUgYTpmb2N1cyxcbi5jLWxhbmctbWVudSBhOmhvdmVye1xuXHRiYWNrZ3JvdW5kLXNpemU6IDRweCA0cHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmU6Zm9jdXMsXG4uYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lOmhvdmVyLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lOmZvY3VzLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lOmhvdmVye1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDQ2JTtcblx0YmFja2dyb3VuZC1zaXplOiA0NiUgNDYlO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bixcbi5jLW1lc3NhZ2UgLmMtYnRuLWNsb3NlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwLjVlbSAxNXB4O1xuXHRib3JkZXI6IHNvbGlkIDRweCAkY29sb3ItaGlnaGxpZ2h0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgIFxuXHRmb250LXdlaWdodDogNjAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG59XG5cbi5jLWJ0bixcbi5jLWJ0bjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbn1cblxuLmMtYnRuOmhvdmVyLCBcbi5jLWJ0bjpmb2N1cyB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWJ0bi1jbG9zZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5jLWJ0bi1jbG9zZTo6YmVmb3JlLFxuLmMtYnRuLWNsb3NlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG59XG5cbi5jLW1lc3NhZ2UgLmMtYnRuLWNsb3NlOjpiZWZvcmUsXG4uYy1tZXNzYWdlIC5jLWJ0bi1jbG9zZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uYy1idG4tY2xvc2U6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmMtYnRuLWNsb3NlOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uYy1idG4tY2xvc2U6Zm9jdXM6OmJlZm9yZSxcbi5jLWJ0bi1jbG9zZTpmb2N1czo6YWZ0ZXIsXG4uYy1idG4tY2xvc2U6aG92ZXI6OmJlZm9yZSxcbi5jLWJ0bi1jbG9zZTpob3Zlcjo6YWZ0ZXJ7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbGlua3Mgd2l0aCBpY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaWNvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtaWNvbjo6YmVmb3JlLFxuLmMtaWNvbjo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmMtYnRuLXNlbmQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAycHg7XG5cdHJpZ2h0OiA1cHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRsaW5lLWhlaWdodDogMTtcblx0cGFkZGluZzogMC41ZW0gNTBweCAwLjVlbSAwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIC4xcztcbn1cblxuLmMtYnRuLXNlbmQ6aG92ZXIge1xuXHRjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbn1cblxuLmMtYnRuLXNlbmQ6OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiAtOHB4O1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAxN3B4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggLTYwcHg7XG5cdFxufVxuXG4uYy1saW5rLWV4dGVybixcbi5jLWxpbmstZG93bmxvYWQsXG4uYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmMtbGluay1kb3dubG9hZCBzcGFuIHtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmMtaWNvbi1leHRlcm4sXG4uYy1pY29uLWRvd25sb2FkLFxuLmMtaWNvbi1hcnJvdy1iaWcge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxLjI1ZW07XG5cdGhlaWdodDogMWVtO1xuXHRtYXJnaW4tbGVmdDogMC41ZW07XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLmMtbGluay1leHRlcm4tc2luZ2xlbGluZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLXJpZ2h0OiAxLjc1ZW07XG59XG5cblxuXG4uYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lOjpiZWZvcmUsXG4uYy1pY29uLWV4dGVybjo6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0wLjA4ZW07XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAyMXB4O1xuXHRoZWlnaHQ6IDIxcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEwMHB4O1xufVxuXG4uYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lOjpiZWZvcmUge1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogMDtcblx0dG9wOiA1MCU7XG5cdG1hcmdpbi10b3A6IC0xM3B4O1xufVxuXG4vKi5jLWxpbmstZXh0ZXJuOmhvdmVyIC5jLWljb24tZXh0ZXJuOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTEwMHB4O1xufSovXG5cbi5jLWljb24tZG93bmxvYWQ6OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMC4xZW07XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDIycHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0MHB4O1xufVxuXG4vKi5jLWxpbmstZG93bmxvYWQ6aG92ZXIgLmMtaWNvbi1kb3dubG9hZDo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xNDBweDtcbn0qL1xuXG4uYy1pY29uLWFycm93LWJpZyB7XG5cdHdpZHRoOiA5MHB4O1xuXHRoZWlnaHQ6IDAuNWVtO1xuXHRtYXJnaW4tbGVmdDogMC4yNWVtO1xufVxuXG4uYy1pY29uLWFycm93LWJpZzo6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogMDtcblx0bWFyZ2luLXRvcDogLTIycHg7XG5cdHdpZHRoOiA4NXB4O1xuXHRoZWlnaHQ6IDQ1cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuXG4uYy1idG4tc29jaWFsLFxuLmMtdGV4dC1ibG9jayAuYy1idG4tc29jaWFsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBlYXNlLW91dDtcbn1cblxuXG5cbi5jLWZvb3RlciAuYy1idG4tc29jaWFsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3ItZm9vdGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bi1zb2NpYWwge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4uYy1idG4tc29jaWFsOmZvY3VzLFxuLmMtYnRuLXNvY2lhbDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLmMtYnRuLXNvY2lhbC1pbnN0YTo6YmVmb3JlIHtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC0xMnB4O1xuXHRtYXJnaW4tdG9wOiAtMTJweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xODBweDtcbn1cblxuLmMtZm9vdGVyIC5jLWJ0bi1zb2NpYWwtaW5zdGE6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE4MHB4O1xufVxuXG4uYy1idG4tc29jaWFsLWZiOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTZweDtcblx0bWFyZ2luLXRvcDogLTEycHg7XG5cdHdpZHRoOiAxMnB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMjIwcHg7XG59XG5cbi5jLWZvb3RlciAuYy1idG4tc29jaWFsLWZiOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjBweDtcbn1cblxuXG4uYy1idG4tc29jaWFsLWxpbmtlZGluOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTlweDtcblx0bWFyZ2luLXRvcDogLTExcHg7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMjYwcHg7XG59XG5cbi5jLWZvb3RlciAuYy1idG4tc29jaWFsLWxpbmtlZGluOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNjBweDtcbn1cblxuXG4uYy1idG4tc29jaWFsLXR3aXR0ZXI6OmJlZm9yZSB7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtMTFweDtcblx0bWFyZ2luLXRvcDogLTlweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjBweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0zMDBweDtcbn1cblxuLmMtZm9vdGVyIC5jLWJ0bi1zb2NpYWwtdHdpdHRlcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzAwcHg7XG59XG5cbi5jLWxpbmstYmFjayB7XG5cdHdpZHRoOiA4M3B4O1xuXHRoZWlnaHQ6IDQzcHg7XG59XG5cbi5jLWxpbmstYmFjazpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDgzcHg7XG5cdGhlaWdodDogNDNweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzQwcHg7XG59XG5cbi5jLWxpbmstYmFjay1zbWFsbCxcbi5jLWxpbmstbmV4dC1zbWFsbCB7XG5cdHdpZHRoOiAzMXB4O1xuXHRoZWlnaHQ6IDE3cHg7XG59XG5cbi5jLWxpbmstYmFjay1zbWFsbDpiZWZvcmUsXG4uYy1saW5rLW5leHQtc21hbGw6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAzMXB4O1xuXHRoZWlnaHQ6IDE3cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNjBweDtcbn1cblxuLmMtbGluay1uZXh0LXNtYWxsOmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgICBcblx0LmMtaWNvbi1hcnJvdy1iaWcge1xuXHRcdHdpZHRoOiA2MHB4O1xuXHR9XG5cblx0LmMtaWNvbi1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdFx0bWFyZ2luLXRvcDogLTE0cHg7XG5cdFx0d2lkdGg6IDYycHg7XG5cdFx0aGVpZ2h0OiAzM3B4O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAwO1xuXHR9XG5cdFxuXHQuYy1saW5rLWJhY2sge1xuXHRcdHdpZHRoOiA2MHB4O1xuXHRcdGhlaWdodDogMzFweDtcblx0fVxuXG5cdC5jLWxpbmstYmFjazpiZWZvcmUge1xuXHRcdHdpZHRoOiA2MHB4O1xuXHRcdGhlaWdodDogMzFweDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTM0MHB4O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJhdGlvIEJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcmF0aW9ib3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nLFxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcdFxufVxuXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5jLXJhdGlvYm94LTE2Ynk5IHtcblx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmMtcmF0aW9ib3gtNGJ5MyB7XG5cdHBhZGRpbmctYm90dG9tOiA3NSU7XG59XG5cbi5jLXJhdGlvYm94LTFieTEge1xuXHRwYWRkaW5nLWJvdHRvbTogMTAwJTtcbn1cblxuLmMtcmF0aW9ib3gtM2J5NCB7XG5cdHBhZGRpbmctYm90dG9tOiAxMzMuMzMzMzMzMzMzMzMzMzMzJTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIHNhZmFyaSBmb3JtIGZpeCAqL1xuaW5wdXQsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG50ZXh0YXJlYSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiByZW1vdmUgY2hyb21lIGF1dG9maWxsIHllbGxvdyBjb2xvciAqL1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xuXHQtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDIwMDBzO1xufVxuXG4vKiBDaHJvbWUsIFNhZmFyaSwgRWRnZSwgT3BlcmEgKi9cbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogRmlyZWZveCAqL1xuaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi5jLWZvcm0taXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtZm9ybS10ZXh0IHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMnB4ICR0ZXh0LWNvbG9yLWZvb3Rlcjtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXHRwYWRkaW5nOiAwLjVlbSA1cHg7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG59XG5cbi5jLWZvcm0taXRlbS1ubCAuYy1mb3JtLXRleHQge1xuXHRwYWRkaW5nLXJpZ2h0OiAxMzBweDtcbn1cblxuLmMtZm9ybS10ZXh0OmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG5cbi5jLWZvcm0tc3RhbmRhcmQgbGFiZWwsXG4uYy1mb3JtLWZvb3RlciBsYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogMnB4O1xufVxuXG4uYy1mb3JtLWVycm9yLFxuLmMtZm9ybS1jb25maXJtYXRpb257XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgXG4gICAgJi5oaWRkZW57XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jLWZvcm0tZXJyb3J7XG4gICAgICAgIGNvbG9yOiAjZTQwNDI2O1xuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBlcnJvclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1lcnJvciAuYy1mb3JtLXRleHQge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZDAwMDA7XG59XG5cbi5jLWZvcm0tZXJyb3IgbGFiZWwsXG4uYy1mb3JtLWVycm9yIHNwYW4ge1xuICAgIGNvbG9yOiAjZGQwMDAwO1xufVxuXG4vKiBlcnJvciAqL1xuLmMtZm9ybS1lcnJvciAuYy1mb3JtLXRleHQsXG4uYy1mb3JtLWVycm9yIC5jLWZvcm0tdGV4dGFyZWEsXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tZXJyb3IgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS1lcnJvciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3Jle1xuXHRib3JkZXItY29sb3I6ICNkZDAwMDA7XG59XG5cbi5jLWZvcm0tZXJyb3IgbGFiZWwsXG4uYy1mb3JtLWVycm9yIHNwYW4ge1xuXHRjb2xvcjogI2RkMDAwMDtcbn1cblxuLmMtZm9ybS1lcnJvciBzcGFuIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctdG9wOiAwLjI1ZW07XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNob3AgQ29udGVudCwgcmVtb3ZlIG92ZXJmbG93IGhpZGRlbiBmcm9tIGMtY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGVudC1zaG9wIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNob3AgUmF0aW9ib3hcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXJhdGlvYm94LXNob3Age1xuICAgIHBhZGRpbmctYm90dG9tOiA2Ni42NiU7XG59XG5cbi5jLXJhdGlvYm94LXNob3AgaW1ne1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBoZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNob3AtYmFza2V0LW5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNGVtO1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgei1pbmRleDogMTAwMTtcbn1cblxuLmMtc2hvcC1iYXNrZXQtbmF2OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaG9wIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2hvcC1jbGFpbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXNob3AtY2xhaW0tdGV4dCxcbi5jLWljb24taGVhcnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1pY29uLWhlYXJ0OmhvdmVyLFxuLmMtc2hvcC1jbGFpbTpob3ZlciAuYy1pY29uLWhlYXJ0IHtcbiAgICBhbmltYXRpb246IHB1bHNlIC44cyBpbmZpbml0ZTtcbn1cblxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpO1xuICAgIH1cbiAgICBcbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgfVxuICAgIFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTtcbiAgICB9XG59XG5cbi5jLWZvb3Rlci1zaG9wIGEsXG4uYy1mb290ZXItc2hvcCBhOnZpc2l0ZWQge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbi5jLWZvb3Rlci1zaG9wIGE6aG92ZXIsXG4uYy1mb290ZXItc2hvcCBhOmZvY3VzIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG59XG5cbi5jLXNob3AtcGF5bWVudC1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1zaG9wLXBheW1lbnQtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLmMtc2hvcC1wYXltZW50LWljb257XG4gICAgd2lkdGg6IDYwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gc2hvcCBpY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaWNvbi1oZWFydCxcbi5jLWxpbmstc2hvcC1iYXNrZXQtaWNvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtaWNvbi1oZWFydCB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xufVxuXG4uYy1pY29uLWhlYXJ0OjpiZWZvcmUsXG4uYy1saW5rLXNob3AtYmFza2V0LWljb246OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS1zaG9wLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5jLWljb24taGVhcnQ6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7XG59XG5cbi5jLWljb24taGVhcnQ6aG92ZXI6OmJlZm9yZSxcbi5jLXNob3AtY2xhaW06aG92ZXIgLmMtaWNvbi1oZWFydDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTYwcHg7XG59XG5cbi5jLWxpbmstc2hvcC1iYXNrZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtbGluay1zaG9wLWJhc2tldC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuLmMtbGluay1zaG9wLWJhc2tldC1pY29uOjpiZWZvcmUge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBtYXJnaW4tdG9wOiAtMThweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi5jLWxpbmstc2hvcC1iYXNrZXQtaXRlbXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xM3B4O1xuICByaWdodDogLTEzcHg7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gc2hvcCBkZXRhaWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qLmMtc2hvcC1wcm9kdWN0IC5jLWJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59Ki9cblxuLmMtc2hvcC1wcmljZSB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbi5jLXNob3AtdGl0bGUge1xuXHRmb250LXNpemU6IDIuMnJlbTsgLyogNDRweCAqL1xuXHRsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjZlbTtcbn1cblxuLmMtc2hvcC1wcm9kdWN0LWRlc2MtaW5uZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiA5cmVtO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtaW1hZ2UtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtYWRkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtYWRkLWZpZWxkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggI2Q2ZDZkNjtcbiAgICAgIHBhZGRpbmc6IC41ZW0gMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWZpZWxkLWJnKTtcbn1cblxuLmMtc2hvcC1wcm9kdWN0LWFkZC1maWVsZDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtc2hvcC1wcm9kdWN0LWFkZCAuYy1idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7XG59XG5cbi5jLXNob3AtcHJvZHVjdC1udW1iZXItZmllbGQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLyogRmlyZWZveCAqL1xuLmMtc2hvcC1wcm9kdWN0LW51bWJlci1maWVsZCBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLmMtc2hvcC1wcm9kdWN0LW51bWJlci1maWVsZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogc29saWQgMnB4ICRib3JkZXItZm9ybTtcbiAgICBjb2xvcjogIzIyMjtcbiAgICBwYWRkaW5nOiAuNmVtIDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLXNob3AtcHJvZHVjdC1udW1iZXItZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLXNob3AtYnRuLW51bWJlci1taW51cywgXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAkYm9yZGVyLWZvcm07XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG59XG5cbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOmhvdmVyLFxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6Zm9jdXMsXG4uYy1zaG9wLWJ0bi1udW1iZXItbWludXM6aG92ZXIsXG4uYy1zaG9wLWJ0bi1udW1iZXItbWludXM6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbn1cblxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXMge1xuXHRyaWdodDogMDtcblx0Ym9yZGVyLWxlZnQ6IG5vbmU7XHRcblx0Ym9yZGVyLXJhZGl1czogMDtcbn1cblxuLmMtc2hvcC1idG4tbnVtYmVyLW1pbnVzIHtcblx0bGVmdDogMDtcdFxuXHRib3JkZXItcmlnaHQ6IG5vbmU7XHRcblx0Ym9yZGVyLXJhZGl1czogMDtcbn1cblxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6OmJlZm9yZSxcbi5jLXNob3AtYnRuLW51bWJlci1taW51czo6YmVmb3JlLFxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6OmFmdGVye1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtOHB4O1xuXHRtYXJnaW4tdG9wOiAtMXB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAycHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG59XG5cbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOjphZnRlciB7XG5cdG1hcmdpbi10b3A6IC04cHg7XG5cdG1hcmdpbi1sZWZ0OiAtMXB4O1xuXHR3aWR0aDogMnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOmhvdmVyOjpiZWZvcmUsXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czpmb2N1czo6YmVmb3JlLFxuLmMtc2hvcC1idG4tbnVtYmVyLW1pbnVzOmhvdmVyOjpiZWZvcmUsXG4uYy1zaG9wLWJ0bi1udW1iZXItbWludXM6Zm9jdXM6OmJlZm9yZSxcbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOmhvdmVyOjphZnRlcixcbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOmZvY3VzOjphZnRlcntcblx0YmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XG59XG5cbi5jLXNob3Atc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy1zaG9wLXNpemUgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBkcm9wZG93blxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2hvcC1zaXplIHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDAuNmVtIDMwcHggMC42ZW0gMTBweCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTQwcHg7ICBcblx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItZm9ybTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9pY29uLWZvcm0tYXJyb3cuc3ZnJykgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRsaW5lLWhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcdFxufVxuXG4uYy1zaG9wLXNpemUgc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtc2hvcC1zaXplIHNlbGVjdCBvcHRpb24ge1xuXHRwYWRkaW5nOiAwO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1zaG9wLXNpemUgc2VsZWN0OjotbXMtZXhwYW5kIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gc2hvcCByZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7ICBcbiAgICAuYy1zaG9wLWJhc2tldC1uYXYge1xuICAgICAgICByaWdodDogNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNTAwcHgpIHsgICAgXG5cdC5jLXNob3AtdGl0bGUge1x0XHRcblx0XHRmb250LXNpemU6IDNyZW07IC8qIDYwIHB4ICovXG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtZm9vdGVyLXNob3AtbWFpbiAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG5cdFx0ZmxleDogMCAwIDU4LjMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDU4LjMzMzMzJTtcblx0fVxuXHRcblx0LmMtZm9vdGVyLXNob3AtbWFpbiAuYy1jb2wtOCB7XG5cdFx0IC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNDEuNjY2NjclO1xuXHRcdC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuXHRcdGZsZXg6IDAgMCA0MS42NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiA0MS42NjY2NyU7XG5cdH1cblx0XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4NTBweCkgeyAgXG5cdC5jLXNob3AtdGl0bGUge1x0XHRcblx0XHRmb250LXNpemU6IDEuOHJlbTsgXG5cdH1cblx0XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgICBcblx0LmMtc2hvcC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAycmVtOyAvKiAzMnB4ICovXG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY1MHB4KSB7ICBcbiAgICAuYy1zaG9wLXByb2R1Y3QgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvcC1wcm9kdWN0IC5jLWNvbC02OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkgeyAgXG5cdC5jLWZvb3Rlci1zaG9wLW1haW4gLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcblx0fVxuICAgIFxuICAgIC5jLWZvb3Rlci1zaG9wLW1haW4gLmMtY29sLTQgKyAuYy1jb2wtNCB7XG5cdFx0cGFkZGluZy10b3A6IDZlbTtcblx0fVxuXHRcbiAgICAuYy1zaG9wLWJhc2tldC1uYXYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgIFxuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiA5MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvcC1iYXNrZXQtbmF2OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuYy1saW5rLXNob3AtYmFza2V0LWljb24ge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ3VzdG9tIFByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcbiAgICAtLWJnLWNvbnRlbnQ6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yOiAjMkEyMjI4O1xuICAgIC0tdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogIzAwRDRCNDtcbiAgICAtLWZvbnQtc2l6ZS1ib2R5OiAxZW07XG4gICAgLS1mb250LXNpemUtYm9keS1zOiAwLjhyZW07IFxuICAgIC8qLS1mb250LXNpemUtYm9keS14czogMC43NXJlbTsgKi9cbiAgICAtLWZvbnQtc2l6ZS1oMi1zbWFsbDogMS4yNXJlbTtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDYwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogMzAwO1xuICAgIC0tYmctbGlnaHQ6ICNFMkU1RTk7XG4gICAgLS1mb3JtLWRpc2FibGVkOiAjY2NjO1xuICAgIFxuICAgIC0tc3BhY2luZy1sOiA2ZW07XG4gICAgLS1zcGFjaW5nLW06IDNlbTtcbiAgICBcbiAgICAtLXdvb2NvbW1lcmNlLWZvbnQtc2l6ZS1ib2R5LXhzOiAwLjc1cmVtO1xuICAgIFxuICAgIC0td29vY29tbWVyY2UtaW5wdXQtYmc6ICNmZmY7XG4gICAgLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGg6IDJweDtcbiAgICAtLXdvb2NvbW1lcmNlLWJvcmRlcjogIzk0OTE5NDtcbiAgICAtLXdvb2NvbW1lcmNlLWJvcmRlci1mb2N1czogIzAwMDtcbiAgICAtLXdvb2NvbW1lcmNlLWlucHV0LXBhZGRpbmc6IC43NWVtIC41ZW07XG4gICAgLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC0td29vY29tbWVyY2UtYnRuLWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLS13b29jb21tZXJjZS1idG4tcGFkZGluZzogMC41ZW0gMTVweDtcbiAgICAtLXdvb2NvbW1lcmNlLWxpbmstdW5kZXJsaW5lLXdpZHRoOiA2cHg7XG4gICAgLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXI6ICNFMkU1RTk7XG4gICAgLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXItd2lkdGg6IDJweDtcbiAgICAtLXdvb2NvbW1lcmNlLWFjdGl2ZS1ib3JkZXI6ICNFMkU1RTk7XG4gICAgXG4gICAgLS13b29jb21tZXJjZS1mb3JtLWVycm9yOiAjY2MxODE4O1xuICAgIFxuICAgIC0td29vY29tbWVyY2UtbWVzc2FnZS1ib3JkZXItd2lkdGg6IDJweDtcbiAgICAtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3I6ICMyRTFBQTk7IC8qIG9rICovXG4gICAgLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yLWluZm86ICMzMzMzMzM7XG4gICAgLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yLWVycm9yOiB2YXIoLS13b29jb21tZXJjZS1mb3JtLWVycm9yKTtcbiAgICBcbiAgICAtLXdvb2NvbW1lcmNlLXRleHQtcGF5bWVudC1wYWRkaW5nLWxlZnQ6IDcwcHg7IC8qIHBhZGRpbmcgZm9yIGFsaWdubWVudCB3aXRoIHRleHQgY2hlY2tib3ggKHBheW1lbnQpKi9cbiAgICAtLXdvb2NvbW1lcmNlLXBheW1lbnQtYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICAgXG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LXM6IDAuODc1cmVtOyBcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250LXN0eWxlcyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3IgaW5wdXQud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3Rvcl9faW5wdXQsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtb3JkZXItc3VtbWFyeSAud2MtYmxvY2stY29tcG9uZW50cy1vcmRlci1zdW1tYXJ5LWl0ZW1fX3RvdGFsLXByaWNlLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1mb290ZXItaXRlbSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtaXRlbV9fbGFiZWwsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWl0ZW1fX3ZhbHVlLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIHRhYmxlLndjLWJsb2NrLWNhcnQtaXRlbXMgLndjLWJsb2NrLWNhcnQtaXRlbXNfX2hlYWRlciB0aCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuaXMtbGFyZ2Uud2MtYmxvY2stY2FydCAud2MtYmxvY2stY2FydF9fdG90YWxzLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8qIHRpdGxlcyAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dC1vcmRlci1zdW1tYXJ5LWJsb2NrIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrb3V0LW9yZGVyLXN1bW1hcnlfX3RpdGxlIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrb3V0LW9yZGVyLXN1bW1hcnlfX3RpdGxlLXRleHQge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC0tY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtdGl0bGUud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnRfX3RpdGxlLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC1jb250aW51ZS1ydWxlLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrYm94IGxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdmFsaWRhdGlvbi1lcnJvciB7XG4gICAgZm9udC1zaXplOiB2YXIoLS13b29jb21tZXJjZS1mb250LXNpemUtYm9keS14cyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBtZXNzYWdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogc3BhY2luZyBiZXR3ZWVuIG1lc3NhZ2UgYW5kIHByb2R1Y3Qgb24gcHJvZHVjdCBkZXRhaWwgcGFnZSAqL1xuXG4uYy1zaG9wLW1lc3NhZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLyogbm90aWNlcyAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLW5vdGljZS1iYW5uZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyLXdpZHRoKTtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtbm90aWNlLWJhbm5lci5pcy1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjBmMDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWZvcm0tZXJyb3IpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtbm90aWNlLWJhbm5lci5pcy1lcnJvciA+IHN2ZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtZm9ybS1lcnJvcik7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtZXJyb3IsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1pbmZvLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtbWVzc2FnZSxcbi5jLXNob3AtbWVzc2FnZSAud29vY29tbWVyY2UtZXJyb3IsIFxuLmMtc2hvcC1tZXNzYWdlIC53b29jb21tZXJjZS1pbmZvLCBcbi5jLXNob3AtbWVzc2FnZSAud29vY29tbWVyY2UtbWVzc2FnZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgYm9yZGVyOiBzb2xpZCB2YXIoLS13b29jb21tZXJjZS1tZXNzYWdlLWJvcmRlci13aWR0aCkgdmFyKC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtZXJyb3IsIFxuLmMtc2hvcC1tZXNzYWdlIC53b29jb21tZXJjZS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yLWVycm9yKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1pbmZvLCBcbi5jLXNob3AtbWVzc2FnZSAud29vY29tbWVyY2UtaW5mbyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yLWluZm8pO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLWVycm9yOjpiZWZvcmUsXG4uYy1zaG9wLW1lc3NhZ2UgLndvb2NvbW1lcmNlLWVycm9yOjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yLWVycm9yKTtcbn0gXG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlLFxuLmMtc2hvcC1tZXNzYWdlIC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yLWluZm8pO1xufSBcblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1tZXNzYWdlOjpiZWZvcmUsXG4uYy1zaG9wLW1lc3NhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2U6OmJlZm9yZXtcbiAgICBjb2xvcjogdmFyKC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvcik7XG59IFxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtZmllbGRzIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogZmFuY3kgbGFiZWwgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgbGFiZWwsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgbGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OjEuMjU7XG59XG5cbi8qLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBsYWJlbCwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBsYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn0qL1xuXG5cblxuLyptZWluIGtvbnRvICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInVybFwiXSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIHRleHRhcmVhLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtSW5wdXQsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dGFyZWEge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiBzb2xpZCB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1iZyk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtcGFkZGluZyk7XG4gICAgXG59XG5cbi8qIGNhcnQgLyBrYXNzZSAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInRlbFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInVybFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInRlbFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSB0ZXh0YXJlYSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAgLndjLWJsb2Nrcy1jb21wb25lbnRzLXNlbGVjdCAud2MtYmxvY2tzLWNvbXBvbmVudHMtc2VsZWN0X19jb250YWluZXIge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1iZyk7XG4gICAgYm9yZGVyOiBzb2xpZCB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlcik7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICAvKmZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpOyovXG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIC8qcGFkZGluZzogMWVtIC41ZW07Ki9cbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHRhcmVhOmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtSW5wdXQ6Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2Nrcy1jb21wb25lbnRzLXNlbGVjdCAud2MtYmxvY2tzLWNvbXBvbmVudHMtc2VsZWN0X19jb250YWluZXI6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci1mb2N1cyk7XG5cdG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCk7XG59XG5cblxuXG4vKiBzZWxlY3QgaW5uZXIgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2tzLWNvbXBvbmVudHMtc2VsZWN0IC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3RfX3NlbGVjdCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLyogZHJvcGRvd24gYXJyb3cgY29sb3IgLyBjaGVja2JveCBjaGVja21hciBjb2xvciAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3QgLndjLWJsb2Nrcy1jb21wb25lbnRzLXNlbGVjdF9fZXhwYW5kLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrYm94IC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrYm94X19tYXJrIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG5cbi8qIHNwYWNpbmcgYXJvdW5kIHJvd3MgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cge1xuICAgIHBhZGRpbmc6IDAgMCAxLjVlbSAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogdGV4dCBzbWFsbCBmb3IgZGVzY3JpcHRpb25zICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1mb3JtLXJvdyBzcGFuIGVtIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4vKiBjaGVja2JveCAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrYm94IC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrYm94X19pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGJvcmRlcjogc29saWQgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKSB2YXIoLS13b29jb21tZXJjZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrYm94IC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrYm94X19pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogcmFkaW8gKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2xfX2lucHV0LFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbF9faW5wdXQ6Y2hlY2tlZCB7XG4gICAgYm9yZGVyOiBzb2xpZCB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlcik7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2xfX2lucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci1mb2N1cyk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2xfX2lucHV0OmNoZWNrZWQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuXG5cbi8qIGVycm9yICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdmFsaWRhdGlvbi1lcnJvcixcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGxhYmVsLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWZvcm0tZXJyb3IpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBpbnB1dCwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBpbnB1dDphY3RpdmUsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgaW5wdXQ6Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgaW5wdXQ6aG92ZXIsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGlucHV0LCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBpbnB1dDphY3RpdmUsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGlucHV0OmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBpbnB1dDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1mb3JtLWVycm9yKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWJ1dHRvbjpub3QoLmlzLWxpbmspIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmJ1dHRvbixcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQsIFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIGEuYnV0dG9uLCBcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSBidXR0b24uYnV0dG9uLCBcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSBpbnB1dC5idXR0b24sIFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQsIFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIC53b29jb21tZXJjZSBhLmJ1dHRvbiwgXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24sIFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIC53b29jb21tZXJjZSBpbnB1dC5idXR0b24sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtYnV0dG9uLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2Zvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fYnV0dG9uLFxuLmMtc2hvcC1tZXNzYWdlIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IHZhcigtLXdvb2NvbW1lcmNlLWJ0bi1wYWRkaW5nKTtcblx0Ym9yZGVyOiBzb2xpZCA0cHggdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICBcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLS0td29vY29tbWVyY2UtYnRuLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1NHB4ICFpbXBvcnRhbnQ7XG59XG5cblxuXG5cblxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmJ1dHRvbjpob3ZlciwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmJ1dHRvbjpmb2N1cyxcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6aG92ZXIsIFxuLndvb2NvbW1lcmNlOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIGEuYnV0dG9uOmhvdmVyLCBcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSBidXR0b24uYnV0dG9uOmhvdmVyLCBcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSBpbnB1dC5idXR0b246aG92ZXIsIFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6aG92ZXIsIFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIC53b29jb21tZXJjZSBhLmJ1dHRvbjpob3ZlciwgXG46d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246aG92ZXIsIFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIC53b29jb21tZXJjZSBpbnB1dC5idXR0b246aG92ZXIsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtYnV0dG9uOmhvdmVyLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2Zvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fYnV0dG9uOmhvdmVyLFxuLmMtc2hvcC1tZXNzYWdlIC5idXR0b246aG92ZXIsXG4uYy1zaG9wLW1lc3NhZ2UgLmJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2Zvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fYnV0dG9uOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLyogYnV0dG9uIHN0eWxlZCBhcyB0ZXh0LWxpbmsgKi9cbi8qIGVkaXQgYWRkcmVzcyAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtY2FyZF9fZWRpdCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWZvcm1fX2FkZHJlc3NfMi10b2dnbGUge1xuICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogdmFyKC0td29vY29tbWVyY2UtbGluay11bmRlcmxpbmUtd2lkdGgpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtYWRkcmVzcy1jYXJkX19lZGl0OmhvdmVyLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtZm9ybV9fYWRkcmVzc18yLXRvZ2dsZTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDYXJ0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBxdWFudGl0eSAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yOjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3RvciAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3Rvcl9fYnV0dG9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3IgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3JfX2J1dHRvbjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCkgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKSB2YXIoLS13b29jb21tZXJjZS1ib3JkZXIpO1xufVxuXG4vKiB0ZXh0IGxpbmsgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIC53Yy1ibG9jay1jYXJ0LWl0ZW1zX19yb3cgLndjLWJsb2NrLWNhcnQtaXRlbV9fcXVhbnRpdHkgLndjLWJsb2NrLWNhcnQtaXRlbV9fcmVtb3ZlLWxpbmssXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLXNoaXBwaW5nIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1zaGlwcGluZ19fY2hhbmdlLWFkZHJlc3NfX2xpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB2YXIoLS13b29jb21tZXJjZS1saW5rLXVuZGVybGluZS13aWR0aCk7XG59XG5cbi8qIHRhYmxlIC8gc2lkZWJhciAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5pcy1sYXJnZS53Yy1ibG9jay1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1zIHRkLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5pcy1sYXJnZS53Yy1ibG9jay1jYXJ0IC53Yy1ibG9jay1jYXJ0LWl0ZW1zLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0LW9yZGVyLXN1bW1hcnktdG90YWxzLWJsb2NrIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXItd2lkdGgpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLXdyYXBwZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyLXdpZHRoKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jYXJ0IC53cC1ibG9jay13b29jb21tZXJjZS1jYXJ0LW9yZGVyLXN1bW1hcnktYmxvY2sge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyLXdpZHRoKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jYXJ0LWl0ZW1fX2ltYWdlIGEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1zaGlwcGluZy1jYWxjdWxhdG9yLWFkZHJlc3NfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC1jb250aW51ZS1ydWxlOjphZnRlciwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LWNvbnRpbnVlLXJ1bGU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7ICAgIFxufVxuXG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtLWNoZWNrb3V0IC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudF9fY29udGVudCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cykgdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcDogMDtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC0tY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50X190aXRsZS1jb250YWluZXI6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpIDAgMCAwO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LS1jaGVja291dCAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnRfX3RpdGxlLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgS2Fzc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIGZvbnQtc2l6ZXMgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja291dC1zdGVwX19kZXNjcmlwdGlvbixcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtaXRlbV9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi8qIGgyIHNtYWxsKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10aXRsZS53Yy1ibG9jay1jb21wb25lbnRzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMi1zbWFsbCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4vKiB0YWJsZSBib3JkZXJzICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmlzLWxhcmdlIC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dC1vcmRlci1zdW1tYXJ5LWJsb2NrLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dC1vcmRlci1zdW1tYXJ5LXRvdGFscy1ibG9jayB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyLXdpZHRoKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5pcy1sYXJnZSAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQtb3JkZXItc3VtbWFyeS1ibG9jayB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qIGNvbG9yIGFycm93cyBzaWRlYmFyICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcGFuZWxfX2J1dHRvbiA+IC53Yy1ibG9jay1jb21wb25lbnRzLXBhbmVsX19idXR0b24taWNvbiB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLyogc2hpcHBpbmcgL3BheW1lbnQgbWV0aG9kIGFjdGl2ZSAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkOjphZnRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgbGFiZWwud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sX19vcHRpb24tLWNoZWNrZWQtb3B0aW9uLWhpZ2hsaWdodGVkLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLW9wdGlvbi0tY2hlY2tlZC1vcHRpb24taGlnaGxpZ2h0ZWQsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIGxhYmVsLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbF9fb3B0aW9uLS1jaGVja2VkLW9wdGlvbi1oaWdobGlnaHRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyLXdpZHRoKSB2YXIoLS13b29jb21tZXJjZS1hY3RpdmUtYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi8qLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLW9wdGlvbi0tY2hlY2tlZC1vcHRpb24taGlnaGxpZ2h0ZWQsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIGxhYmVsLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbF9fb3B0aW9uLS1jaGVja2VkLW9wdGlvbi1oaWdobGlnaHRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggY3VycmVudENvbG9yO1xufSovXG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWNhcmQge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qIHBheW1lbnQgaGlnaGxpZ2h0IGJvcmRlci1yYWRpdXMgKi9cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jaGVja291dF9fcGF5bWVudC1tZXRob2QgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tb3B0aW9uOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jaGVja291dF9fcGF5bWVudC1tZXRob2QgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tb3B0aW9uOmZpcnN0LWNoaWxkOjphZnRlcntcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuXG4uYy13b29jb21lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1vcHRpb24tLWNoZWNrZWQtb3B0aW9uLWhpZ2hsaWdodGVkLCBcbi5jLXdvb2NvbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIGxhYmVsLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbF9fb3B0aW9uLS1jaGVja2VkLW9wdGlvbi1oaWdobGlnaHRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXdvb2NvbW1lcmNlLXRleHQtcGF5bWVudC1wYWRkaW5nLWxlZnQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1jb250ZW50IHAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLWNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLWNvbnRlbnQgcC5wcGNwLXBsYWNlLW9yZGVyLWRlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIGRpdi53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLW9wdGlvbjo6YWZ0ZXIsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgZGl2LndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tb3B0aW9uOjphZnRlciB7XG4gICAgaGVpZ2h0OiB2YXIoLS13b29jb21tZXJjZS1wYXltZW50LWJvcmRlci13aWR0aCk7XG59XG5cblxuLyogY2lyY2xlIHF1YW50aXR5ICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtb3JkZXItc3VtbWFyeSAud2MtYmxvY2stY29tcG9uZW50cy1vcmRlci1zdW1tYXJ5LWl0ZW1fX3F1YW50aXR5IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiBjaGVja291dCBidWxsZXQgcG9pbnRzIGV4cHJlc3MgY2hlY2tvdXQqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50IC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudF9fZXZlbnQtYnV0dG9ucyA+IGxpLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LS1jYXJ0IC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudF9fZXZlbnQtYnV0dG9ucyA+IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50X19ldmVudC1idXR0b25zID4gbGk6OmJlZm9yZSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC0tY2FydCAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnRfX2V2ZW50LWJ1dHRvbnMgPiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xufVxuXG4vKmJ1dHRvbiBvbiBtb2JpbGUgZnVsbCB3aWR0aCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ1MHB4KSB7ICBcbiAgLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53cC1ibG9jay13b29jb21tZXJjZS1jaGVja291dC1hY3Rpb25zLWJsb2NrIC53Yy1ibG9jay1jaGVja291dF9fYWN0aW9uc19yb3cgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtcGxhY2Utb3JkZXItYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbXkgYWNjb3VudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIG5hdmlnYXRpb24gKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGxpICsgbGkge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24tbGluayBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uLWxpbmsgYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwczovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDBkNGI0KzAsMDBkNGI0KzUwLDAwZDRiNCsxMDAmMCswLDErNTAsMSsxMDAgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMCwyMTIsMTgwLDApIDAlLCByZ2JhKDAsMjEyLDE4MCwxKSA1MCUsIHJnYmEoMCwyMTIsMTgwLDEpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgwLDIxMiwxODAsMCkgMCUscmdiYSgwLDIxMiwxODAsMSkgNTAlLHJnYmEoMCwyMTIsMTgwLDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICByZ2JhKDAsMjEyLDE4MCwwKSAwJSxyZ2JhKDAsMjEyLDE4MCwxKSA1MCUscmdiYSgwLDIxMiwxODAsMSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDBkNGI0JywgZW5kQ29sb3JzdHI9JyMwMGQ0YjQnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG5cdHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1vdXQ7XG5cdHotaW5kZXg6IC0xO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24tbGluayBhOmhvdmVyOjpiZWZvcmUsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24tbGluay5pcy1hY3RpdmUgYTo6YmVmb3Jle1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogZm9ybSB3aWR0aCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjg1MHB4KSB7ICBcbiAgICAuYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLUVkaXRBY2NvdW50Rm9ybSB7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgfVxufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLUVkaXRBY2NvdW50Rm9ybSBsZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1FZGl0QWNjb3VudEZvcm0gZmllbGRzZXQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmlld3BvcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkAtbXMtdmlld3BvcnQge1xuXHR3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWRpYXF1ZXJpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7ICAgIFxuXHQvKiBncmlkIGdhcCAqL1x0XG5cdC5jLWNvbnRhaW5lcixcblx0LmMtdGVhc2VyLXNlcnZpY2UgLmMtdGVhc2VyLXNlcnZpY2UtdGV4dCB7XG5cdFx0cGFkZGluZy1sZWZ0OiA2MHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDYwcHg7XG5cdH1cblx0LmMtcm93IHtcblx0XHRtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAtMzBweDtcblx0fVxuXHRcblx0LmMtY29sLTEsXG5cdC5jLWNvbC0yLFxuXHQuYy1jb2wtMyxcblx0LmMtY29sLTQsXG5cdC5jLWNvbC01LFxuXHQuYy1jb2wtNixcblx0LmMtY29sLTcsXG5cdC5jLWNvbC04LFxuXHQuYy1jb2wtOSxcblx0LmMtY29sLTEwLFxuXHQuYy1jb2wtMTEsXG5cdC5jLWNvbC0xMiB7XG5cdFx0cGFkZGluZy1yaWdodDogMzBweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdH1cblx0XG5cdC5jLW9mZmNhbnZhcy10b2dnbGUsXG4gICAgLmMtYnRuLWNsb3NlIHtcblx0XHRyaWdodDogNjBweDtcblx0fVxuXHRcblx0LmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiB7XG5cdFx0cmlnaHQ6IDE1MHB4O1xuXHR9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtbGluZTo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogNjBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE2MDBweCkgeyAgICBcblx0LyogY29udGFpbmVyIG1heCB3aWR0aCAqL1xuXHQuYy1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE1NjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblx0XG5cdC5jLXRlYXNlci1zZXJ2aWNlIC5jLXRlYXNlci1zZXJ2aWNlLXRleHQge1xuXHRcdG1heC13aWR0aDogNzgwcHg7XG5cdH1cdFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTEwMHB4KSB7ICBcblx0LmMtdGl0bGUtbWFpbiAuYy1jb2wtMTAsXG5cdC5jLXRpdGxlLXNlY3Rpb24gLmMtY29sLTEwLFxuXHQuYy10ZWFzZXItY3RhIC5jLWNvbC0xMCxcblx0LmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtMTAsXG5cdC5jLXRlYXNlci1iaWctdGV4dCAuYy1jb2wtMTAge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHRcblx0LmMtdGV4dC0yY29sIC5jLWNvbC01LFxuXHQuYy10ZXh0LWltZy0yY29sLXN5bW1ldHJpYyAuYy1jb2wtNTpudGgtb2YtdHlwZSgyKXtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlOyAgXG5cdH1cbiAgICBcbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk4MXB4KSBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHsgIFxuICAgIC5jLXRlc3RpbW9uaWFsIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyBcbiAgICB9XG4gICAgXG4gICAgLmMtdGVzdGltb25pYWwgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgIH1cbiAgICBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtdGVhc2VyLTFjb2wgLmMtY29sLTcsXG5cdC5jLXRlYXNlci0xY29sIC5jLWNvbC01IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlOyAgICBcdFxuXHR9XG5cdFxuXHQuYy1wcm9maWxlIC5jLWNvbC0zIHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcblx0XHQtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcblx0XHRmbGV4OiAwIDAgMzMuMzMzMzMlO1xuXHRcdG1heC13aWR0aDogMzMuMzMzMzMlO1xuXHR9XG5cdFxuXHQuYy10ZXh0LWltZy0yY29sLXN5bW1ldHJpYyAuYy1jb2wtNXtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlOyAgXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblx0XG5cdFxuXHQuYy1mb290ZXItbWFpbiAuYy1jb2wtNSB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuXHRcdHBhZGRpbmctdG9wOiA2ZW07XG5cdH1cblx0XG5cdC5jLWZvb3Rlci1tYWluIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcblx0XHQtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcblx0XHRmbGV4OiAwIDAgNTguMzMzMzMlO1xuXHRcdG1heC13aWR0aDogNTguMzMzMzMlO1xuXHR9XG5cdFxuXHQuYy1mb290ZXItbWFpbiAuYy1jb2wtMyB7XG5cdFx0IC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNDEuNjY2NjclO1xuXHRcdC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuXHRcdGZsZXg6IDAgMCA0MS42NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiA0MS42NjY2NyU7XG5cdH1cblx0XG4gICAgLmMtdGVzdGltb25pYWwgLmMtY29sLTQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgfVxuICAgIFxuICAgIC5jLXRlc3RpbW9uaWFsIC5jLWNvbC00ICsgLmMtY29sLTQge1xuICAgICAgICBwYWRkaW5nLXRvcDogM2VtO1xuICAgICAgICBcbiAgICB9XG4gICAgXG4gICAgLmMtdGVzdGltb25pYWwgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItcGFydG5lciAuYy1jb2wtNyxcbiAgICAuYy1mb290ZXItcGFydG5lciAuYy1jb2wtNSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLXBhcnRuZXIgLmMtY29sLTUge1xuICAgICAgICBwYWRkaW5nLXRvcDogM2VtO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTUxcHgpIHsgIFxuXHQuYy1pbWctcmlnaHQgLmMtcm93IHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdH1cblxuXHQuYy1pbWctcmlnaHQge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cblx0LmMtaW1nLXJpZ2h0IC5jLWxpbmU6OmJlZm9yZSB7XG5cdFx0bGVmdDogYXV0bztcblx0XHRyaWdodDogMDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTUwcHgpIHsgIFxuXHQuYy1pbWcgLmMtY29sLTgsXG5cdC5jLWltZyAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdC5jLXRleHQtM2NvbCAuYy1jb2wtNCAge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7ICBcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4ODBweCkgeyAgXG5cdC5jLXRleHQtMmNvbCAuYy1jb2wtNixcblx0LmMtdGV4dC0yY29sIC5jLWNvbC01LFxuXHQuYy10ZXh0LWltZy0yY29sLXN5bW1ldHJpYyAuYy1jb2wtNSxcblx0LmMtdGV4dC1pbWctMmNvbC1zeW1tZXRyaWMgLmMtY29sLTU6bnRoLW9mLXR5cGUoMil7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdC5jLXRleHQtaW1nLTJjb2wtc3ltbWV0cmljIC5jLWNvbC01OmZpcnN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMS41ZW07ICAgXHRcblx0fVxuICAgIFxuICAgIC5jLWxvZ293YWxsLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4MjBweCkgeyAgXG5cdC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtcHJvZmlsZSAuYy1jb2wtOCxcblx0LmMtcHJvZmlsZSAuYy1jb2wtMyB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdC5jLXByb2ZpbGUgLmMtY29sLTMge1xuXHRcdHBhZGRpbmctYm90dG9tOiA2ZW07XG5cdH1cblx0XG5cdC5jLXByb2ZpbGUtbGlzdCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuICAgIFxuICAgIC5jLXRlc3RpbW9uaWFsIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2MDBweCkgYW5kIChtYXgtd2lkdGg6ODIwcHgpICB7ICBcblx0LmMtcHJvZmlsZS1saXN0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdH1cblx0XG5cdC5jLXByb2ZpbGUtbGlzdCBsaSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiAyZW07XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcblx0XHQtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcblx0XHRmbGV4OiAwIDAgMzMuMzMzMzMlO1xuXHRcdG1heC13aWR0aDogMzMuMzMzMzMlO1xuXHR9XG5cdFxuXHQuYy1wcm9maWxlLWxpc3QtcG9ydGZvbGlvIGxpIHtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXHRcblx0LmMtcHJvZmlsZS1saXN0LXBvcnRmb2xpbyBsaTpudGgtY2hpbGQoMSksXG5cdC5jLXByb2ZpbGUtbGlzdC1wb3J0Zm9saW8gbGk6bnRoLWNoaWxkKDIpLHtcblx0XHRtYXJnaW4tYm90dG9tOiAxLjdlbTtcblx0fVxuXHRcblx0LmMtcHJvZmlsZS1saXN0IGxpOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTI4cHg7XG5cdFx0aGVpZ2h0OiA0cHg7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdH1cblx0XG5cdC5jLXByb2ZpbGUtbGlzdCBsaTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cdFxuXHRcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIHtcblx0LmMtdGVhc2VyLXNlcnZpY2UtaW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwYWRkaW5nLWJvdHRvbTogMzcuNSU7XG5cdH1cblxuXG5cdC5jLXRlYXNlci1zZXJ2aWNlLXZpc3VhbCxcblx0LmMtdGVhc2VyLXNlcnZpY2UtZGVzYyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdC5jLXRlYXNlci1zZXJ2aWNlLWRlc2Mge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHR9XG5cdFxuXHQuYy10ZWFzZXItc2VydmljZS1pbWctbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgXG5cdC5jLXRleHQtb25seSAuYy1jb2wtOCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdFxuXHQuYy10ZWFzZXItdGVhbSAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXHRcblx0LmMtdGV4dC1pbWctMmNvbCAuYy1jb2wtOCxcblx0LmMtdGV4dC1pbWctMmNvbCAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXHRcblx0XG5cdFxuXHQuYy10ZWFzZXItc2VydmljZSAuYy1jb2wtNiB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuXHR9XG5cdFxuXHQuYy10ZWFzZXItc2VydmljZSAuYy10ZWFzZXItc2VydmljZS10ZXh0IHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNmVtO1xuXHR9XG5cdFxuXHQuYy10ZWFzZXItc2VydmljZS12aXN1YWwgLmMtdmlkZW8ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0XG5cdFxuXHQuYy1mZWF0dXJlcyAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3MDBweCkgeyAgXG5cdC5jLXRlYXNlci0xY29sIC5jLWNvbC03LFxuXHQuYy10ZWFzZXItMWNvbCAuYy1jb2wtNSB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdC5jLXRlYXNlci0xY29sIC5jLXRlYXNlci10ZXh0IHtcblx0XHRwYWRkaW5nLXRvcDogMS41ZW07XG5cdH1cblx0XG5cdC5jLXF1b3RlIC5jLXJvdyB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0fVxuXHRcblx0LmMtcXVvdGUgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuXHRcdC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuXHRcdGZsZXg6IDAgMCA4My4zMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiA4My4zMzMzMyU7XG5cdH1cblx0XG5cdFxuXHQvKiBpbWcgdmFyICovXG5cdC5jLWNvbC1pbWctdmFyIHtcblx0XHRwYWRkaW5nLXRvcDogM2VtO1xuXHRcdHBhZGRpbmctYm90dG9tOiAzZW07XG5cdH1cblx0XG5cdC5jLWltZy12YXItYWxpZ24tdG9wIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxuXG5cdC5jLWltZy12YXItYWxpZ24tYm90dG9tIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxuXHRcblx0LmMtaW1nLXZhciAuYy1jb2wtNiB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblx0XG5cdC5jLWltZy12YXIgLmMtY29sLTMge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblx0XG5cdC5jLWltZy12YXIgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblx0XG5cdC5jLWltZy12YXIgLmMtY29sLTQ6bnRoLW9mLXR5cGUoMykge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDc1JTtcblx0XHQtbXMtZmxleDogMCAwIDc1JTtcblx0XHRmbGV4OiAwIDAgNzUlO1xuXHRcdG1heC13aWR0aDogNzUlO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2NTBweCkgeyAgXG5cdC5jLXRlYXNlci0yY29sIC5jLWNvbC02IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0LmMtaW1nLXRpbGVzIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cdFxuXHQuYy10ZXh0LWltZy0yY29sIC5jLWNvbC04LFxuXHQuYy10ZXh0LWltZy0yY29sIC5jLWNvbC00LFxuXHQuYy1pbWctMmNvbCAuYy1jb2wtNixcblx0LmMtdGV4dC0zY29sIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXHRcblx0LmMtdGV4dC1pbWctMmNvbCAuYy1jb2wtNCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xuXHR9XG5cdFxuXHQuYy1pbWctMmNvbCAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDZlbTtcblx0fVxuXHRcblx0LmMta2V5ZmFjdHMgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cdFxuXHQuYy1rZXlmYWN0cyAuYy1jb2wtNCArIC5jLWNvbC00IHtcblx0XHRwYWRkaW5nLXRvcDogNmVtO1xuXHR9XG5cdFxuXHRcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7ICBcblx0LmMtdGVhc2VyLWV4cGVydCAuYy1jb2wtOCxcblx0LmMtdGVhc2VyLWV4cGVydCAuYy1jb2wtNHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0LmMtdGVhc2VyLWV4cGVydCAuYy1jb2wtOCB7XG5cdFx0cGFkZGluZy10b3A6IDEuNWVtO1xuXHR9XG5cdFxuXHQuYy10ZWFzZXItZXhwZXJ0IC5jLXRlYXNlci1pbWcge1xuXHRcdHdpZHRoOiA2Ni42NjYlO1xuXHR9XG5cdFxuXHQuYy1saW5lOjpiZWZvcmUsXG5cdC5jLXByb2ZpbGUtbGlzdCBsaTo6YmVmb3JlIHtcblx0XHR3aWR0aDogODBweDtcblx0fVxuXHRcblx0LmMtZm9vdGVyLW1haW4gLmMtY29sLTQsXG5cdC5jLWZvb3Rlci1tYWluIC5jLWNvbC0zLFxuXHQuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtNiB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFxuXHR9XG5cdFxuXHQuYy1mb290ZXItbWFpbiAuYy1jb2wtNCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDZlbTtcblx0fVxuXHRcblx0LmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCxcblx0LmMtZm9vdGVyLW1haW57XG5cdFx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xuXHR9XG5cdFxuXHRcblx0LmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTYge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7ICBcblx0fVxuXHRcblx0LmMtZm9vdGVyLW5hdi1saXN0IGxpICsgbGkge1xuXHRcdHBhZGRpbmctdG9wOiAwLjhlbTtcblx0fVxuXHRcblx0LmMtaGVhZGVyLWxvZ28ge1xuXHRcdHdpZHRoOiAxNDVweDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTQwcHgpIHsgIFxuXHQuYy1mZWF0dXJlcyAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuXHR9XG5cdFxuXHQuYy1mZWF0dXJlcyAuYy1jb2wtNDpudGgtY2hpbGQoMikgLmMtZmVhdHVyZXMtbGlzdCB7XG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0fVxuXHRcblx0LmMtZm9ybS1mb290ZXIgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcblx0fVxuICAgIFxuICAgIC5jLWxvZ293YWxsLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0MjBweCkgeyAgXG5cdC5jLXRlYXNlci10ZWFtIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0LmMtdGVhc2VyLXRlYW0gLmMtdGVhc2VyLWltZyB7XG5cdFx0d2lkdGg6IDY2LjY2NiU7XG5cdH1cblx0XG5cdC5jLXF1b3RlIC5jLWNvbC04IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXG5cdH1cblx0XG5cdC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSB7XG5cdFx0cGFkZGluZy10b3A6IDRlbTtcblx0fVxuXHRcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHA6OmJlZm9yZSB7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IC0uOWVtO1xuXHR9XG5cdFxuXHQuYy1pbWctdmFyIC5jLWNvbC00LFxuXHQuYy1pbWctdmFyIC5jLWNvbC00Om50aC1vZi10eXBlKDMpe1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDc1JTtcblx0XHQtbXMtZmxleDogMCAwIDc1JTtcblx0XHRmbGV4OiAwIDAgNzUlO1xuXHRcdG1heC13aWR0aDogNzUlO1xuXHR9XG5cdFxuXHQuYy1pbWctdmFyIC5jLWNvbC00Om50aC1vZi10eXBlKDIpe1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cdFxuXHRcblx0LmMtZm9ybS1mb290ZXIgLmMtZm9ybS10ZXh0IHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cdFxuXHQuYy1idG4tc2VuZCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbi10b3A6IDJlbTtcblx0fVxuXHRcbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByaW50IENTU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBwcmludCB7XG4gICAgLyogYmFzZSBzdHlsZXMgKi9cbiAgICAqIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cdFxuXHRhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICBcbiAgICAuYy1pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgICBhW2hyZWZdOmFmdGVyIHtcblx0XHRjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG5cdCAgfVxuICAgIFxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyBcbiAgICB9XG4gICAgXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgICAgIFxuICAgIEBwYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwLjVjbTtcbiAgICB9XG4gICAgXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG4gICAgXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBicmVhay1hZnRlcjphdm9pZDtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIC8qIGZvbnQtc2l6ZXMgKi9cblx0XG5cdGh0bWwsXG5cdGJvZHkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHQvKm92ZXJmbG93OiBhdXRvOyovXG5cdH1cbiAgICBcbiAgICBib2R5IHtcbiAgICAgICAgZm9udC1zaXplOjEycHg7ICAgIFxuICAgIH1cblx0XG5cdGgxLCAuYy1oMSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cdFxuXHQuYy1sZWFkLFxuXHQuYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG5cdGgyLCAuYy1oMixcblx0aDMsIC5jLWgzLFxuXHQuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cdFxuXHQvKiBwcm9qZWN0IHN0eWxlcyAqL1xuXHQuYy1jb250YWluZXIge1xuXHRcdHBhZGRpbmctYm90dG9tOiAyZW07XG5cdH1cblx0XG5cblx0LmMtZm9vdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHRcbn1cblxuXG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/