/*!
 * @author Sphinxly
 * @url https://www.sphinxly.se
 * Copyright 2019 Sphinxly
 */
@charset "UTF-8";
/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
/* ==========================================================================
    Main declaration and builder file. Combines other files and sets global variables.

    The only changes in this file should be to set different variables or add additional @import "xxx.scss" to be included in end result.
    
    Use site.scss to write site-specific CSS.
    Use site_medium.scss/site_mobile.scss to write responsive site-specific CSS.
    
    When gulp is run and the sass is compiled, this will be run and the included files will be added to it.
    The final result end up as css.css (in this folder for dev, in wwwroot/css for prod).

    For css in sub-folders (like union folders), make sure the includes are taken from '../includes/xxx' and not 'includes/xxx'.
   ========================================================================== */
/*
 *  Variables to be used when designing
 *  For new files, get intellisense and recognition by adding this snippet in the top: /// <reference path="css.scss" />
 */
/* Fonts */
/* Colors text */
/* Colors form (maybe add border colors for forms)*/
/* Related link colors */
/* Standard link (a tag in ew-content etc) */
/* Standard button colors */
/* Nav colors */
/* Body color (add colors for larger sections maybe) */
/* Site specifik colors */
@import url(../includes/_mediaqueries.scss);
@import url(../includes/_mediaqueries.scss);
@font-face {
  font-family: 'Roboto';
  src: url(../wwwroot/fonts/Roboto/Roboto-Bold.ttf); }

/* INCLUDES IMPORTS */
/* ==========================================================================
   Mixins for easy access to default behaviour
   ========================================================================== */
/*
* Clearfix
* @extend %clearfix;
*/
#ew-cookieinfo-container {
  *zoom: 1; }
  #ew-cookieinfo-container:after {
    content: '';
    display: table;
    line-height: 0;
    clear: both; }

/* Helping functions for default CSS behaviour */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bold; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * 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. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-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; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          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 the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none; }

/* Default normalizer */
/* ==========================================================================
   Helper classes styles
   ========================================================================== */
/* Image replacement */
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  *text-indent: -9999px; }

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 100%; }

/* Hidden */
.hidden {
  display: none !important;
  visibility: hidden; }

/* Invisible */
.invisible {
  visibility: hidden; }

/* Clearfix */
.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

.bold {
  font-weight: 700; }

.black {
  color: #000; }

/* Clear */
.clear {
  clear: both; }

/* Helping classes that can be used for quick and common behaviour (.bold, .black, etc) */
@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fade-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fade-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes fade-up-spec {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px) translateX(-50%);
            transform: translateY(20px) translateX(-50%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%); } }

@keyframes fade-up-spec {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px) translateX(-50%);
            transform: translateY(20px) translateX(-50%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%); } }

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1); } }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-500px, 0, 0);
            transform: translate3d(-500px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
            transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
            transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-500px, 0, 0);
            transform: translate3d(-500px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
            transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
            transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
            transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

/* Contains animations available that is run on render */
/*15 inch Macbook Pro*/
/*13inch Macbook Pro*/
/*Ipad pro and smaller laptops*/
/*Smaller tablets*/
/*Iphone 7-8+*/
/*Iphone X & Iphone standard sizes*/
/*use this down to 320px*/
/* Contains all mediaqueries */
/* Other default CSS files, mainly with default styles for print, sitemap and Forms */
/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
/* ==========================================================================
   Default base - Some base settings, sitemap and form
   ========================================================================== */
/* apply a natural box layout model to all elements, but allowing components to change */
html {
  font-size: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  html *, html *:before, html *:after {
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
    margin: 0;
    padding: 0; }

body {
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.6; }

.no-scroll {
  overflow: hidden; }

/*a, button {
    color: $color-link;
    text-decoration: none;
    transition: color .3s ease-in-out;

    &:hover, &:focus, &:active {
        outline: none;
        color: $color-link-hover;
    }
}*/
input {
  outline: none; }

body {
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: #252424;
  background-color: #fff; }

a, button {
  color: #A9D300;
  text-decoration: none;
  -webkit-transition: color .3s ease-in-out;
  transition: color .3s ease-in-out;
  cursor: pointer; }

input {
  outline: none; }

.page-title {
  font-size: 7rem;
  font-family: baskerville-display-pt, serif;
  font-weight: 400;
  text-align: center;
  margin-top: 0;
  margin-bottom: 50px;
  line-height: 1.2; }

.introduction {
  text-align: center;
  font-family: baskerville-display-pt, serif;
  color: #80b740;
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 8rem; }

.related-link {
  color: #7eb742;
  font-family: baskerville-display-pt, serif;
  font-size: 24px;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  position: relative;
  padding-left: 50px;
  margin-bottom: 15px;
  cursor: pointer; }
  .related-link .arrow {
    position: absolute;
    left: 0px;
    top: 0px;
    -webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
            box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); }
  .related-link:hover {
    color: #049ad8; }

/*.page-title {
    opacity:0;
    &.animate {
        animation:fade-up .5s ease-in-out forwards;
    }
}

.introduction {
    opacity: 0;

    &.animate {
        animation: fade-up .5s ease-in-out forwards;
        animation-delay:.3s;
    }
}*/
/* Checklist examples */
/* Styling for titles on all pages use whatever classnames you want 

.page-title {

}

*/
/* Styling for introduction for all pages use whatever classnames you want

.introduction {

}

*/
/* Editor images */
/*img.fr-dib {
  margin: 0px auto;
  display: block;
  float: none;
  vertical-align: top;
}
img.fr-dib.fr-fil {
  margin-left: 0;
}
img.fr-dib.fr-fir {
  margin-right: 0;
}
img.fr-dii {
  display: inline-block;
  float: none;
  vertical-align: bottom;
  margin-left: 0px;
  margin-right: 0px;
}
img.fr-dii.fr-fil {
  float: left;
  margin: 0;
}
img.fr-dii.fr-fir {
  float: right;
  margin: 0;
}*/
/* Media print */
/*@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a, a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
        content: "";
    }

    pre, blockquote {
        border: 1px solid #999;
        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 {
        page-break-after: avoid;
    }
}*/
/* Default sitemap */
/*.gensitemap ul {
    list-style: none;
    margin: 0; padding: 0;

    li {
        box-shadow: 0 0 1px rgba(0,0,0,0.3);
        display: block;
        float: left;
        padding: 2%;
        width: 30.333333333%;
        margin: 0 1.5% 3% 1.5%;
        background: #fff;

        li a {
            font-size: $font_size_main+2;
            display: block;
            text-decoration: none;
        }

        li a:hover {
            text-decoration: underline;
        }

        &.last {
            margin-right: 0;
        }

        ul {
            border-top: 1px dotted #dfdfdf;
            padding-top: 5px;
            margin-top: 5px;

            ul {
                border: none;
                padding-top: 0;
                margin-top: 0;
            }

            li {
                float: none;
                box-shadow: none;
                padding: 4px 0;
                width: auto;
                margin: 0;
            }

            ul li {
                padding-left: 5%;
            }

            li a {
                font-size: $font_size_main;
                margin-bottom: 0;
                border: none;
                padding: 0;
            }
        }
    }
}

.gensitemap-2-col ul li {
    width: 47%;
}*/
/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.form .formcaptcha2 {
  display: none !important; }

.form-wrap {
  width: 920px;
  margin: 0 auto;
  padding-top: 50px; }

.form {
  margin: 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 16px;
  padding-top: 50px; }
  .form label {
    width: 100%;
    height: 45px;
    position: relative;
    /*box-shadow: inset 0px 2px 4px 0px rgba(0, 0, 0, 0.1);*/
    border-bottom: 1px solid #000;
    margin-bottom: 45px;
    /*border-radius: 5px;*/ }
    .form label .checkbox-ok {
      position: absolute;
      right: 20px;
      top: 17px;
      display: block;
      height: 32px;
      width: 32px;
      opacity: 0;
      -webkit-transition: opacity .3s ease-in-out;
      transition: opacity .3s ease-in-out; }
      .form label .checkbox-ok .bg {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-image: url(../../images/checkbox.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        -webkit-animation: spin 15s linear infinite;
                animation: spin 15s linear infinite;
        -webkit-transform-origin: center center;
            -ms-transform-origin: center center;
                transform-origin: center center; }
      .form label .checkbox-ok .checkmark {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        width: 16px;
        height: 12px;
        background-image: url(../../images/checkmark.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
    .form label .placeholder-text {
      position: absolute;
      /*left: 15px;*/
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      color: #000;
      z-index: -1;
      text-transform: uppercase; }
    .form label input[type="email"],
    .form label input[type="number"],
    .form label input[type="search"],
    .form label input[type="text"],
    .form label input[type="tel"],
    .form label input[type="url"],
    .form label input[type="password"] {
      border: none;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      font-weight: 700;
      padding: 5px 15px 5px 0;
      border: 3px solid transparent;
      border-radius: 5px;
      -webkit-transition: all .3s ease-in-out;
      transition: all .3s ease-in-out;
      background-color: transparent; }
      .form label input[type="email"]:focus,
      .form label input[type="number"]:focus,
      .form label input[type="search"]:focus,
      .form label input[type="text"]:focus,
      .form label input[type="tel"]:focus,
      .form label input[type="url"]:focus,
      .form label input[type="password"]:focus {
        outline: none; }
        .form label input[type="email"]:focus + .placeholder-text,
        .form label input[type="number"]:focus + .placeholder-text,
        .form label input[type="search"]:focus + .placeholder-text,
        .form label input[type="text"]:focus + .placeholder-text,
        .form label input[type="tel"]:focus + .placeholder-text,
        .form label input[type="url"]:focus + .placeholder-text,
        .form label input[type="password"]:focus + .placeholder-text {
          top: -17px;
          font-size: 16px; }
    .form label textarea {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      border: none;
      resize: none;
      padding: 20px 15px 20px 0;
      font-weight: 700;
      border: 1px solid #000;
      border-bottom: none;
      background-color: transparent;
      -webkit-transition: all .3s ease-in-out;
      transition: all .3s ease-in-out; }
      .form label textarea:focus {
        border-color: #7eb742;
        outline: none; }
        .form label textarea:focus + .placeholder-text {
          top: -30px;
          font-size: 16px; }
  .form label[for=Meddelande] {
    height: 225px; }
    .form label[for=Meddelande] span {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none;
      top: 20px; }

.textarea-label {
  margin-top: 20px; }
  .textarea-label .placeholder-text {
    top: -30px !important; }
  .textarea-label textarea {
    padding-left: 10px !important; }

/*.form {
    label {
        &.valid {
            input {
                border-color: $color-danger;
            }

            .placeholder-text {
                top: -17px;
                font-size: 16px;
                color: $color-green;
            }
        }

        &.valid {
            .checkbox-ok {
                opacity: 1;
            }

            .placeholder-text {
                top: -17px;
                font-size: 16px;
                color: $color-green;
            }
        }
    }

    label[for=Meddelande] {
        &.form-validation-ok {

            .placeholder-text {
                top: -30px;
                font-size: 16px;
            }
        }
    }
}*/
.form .valid + .placeholder-text {
  top: -19px;
  font-size: 16px;
  color: #A9D300; }

.form .input-validation-error + .placeholder-text {
  color: red;
  top: -19px;
  font-size: 16px; }

.form-action {
  margin-left: auto; }

.button,
.form button,
.form input[type="submit"],
.form input[type="reset"],
.form input[type="button"] {
  display: inline-block;
  border: none;
  color: #000;
  text-transform: uppercase;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 20px;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  background: transparent; }
  .button:hover, .button:focus,
  .form button:hover,
  .form button:focus,
  .form input[type="submit"]:hover,
  .form input[type="submit"]:focus,
  .form input[type="reset"]:hover,
  .form input[type="reset"]:focus,
  .form input[type="button"]:hover,
  .form input[type="button"]:focus {
    background-color: #fff;
    color: #7eb742; }
  .button:active,
  .form button:active,
  .form input[type="submit"]:active,
  .form input[type="reset"]:active,
  .form input[type="button"]:active {
    -webkit-box-shadow: inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15);
            box-shadow: inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15); }

@media screen and (max-width: 550px) {
  .button,
  .form button,
  .form input[type="submit"],
  .form input[type="reset"],
  .form input[type="button"] {
    height: 45px;
    width: 285px;
    font-size: 16px; }
  .form {
    font-size: 18px; } }

@media screen and (max-width: 1024px) {
  .form-action {
    margin-left: 0; } }

@media screen and (max-width: 680px) {
  .form label .placeholder-text {
    font-size: 16px; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.ew img {
  max-width: 100%; }

.ew * {
  max-width: 100%; }

.ew ul {
  list-style: none; }
  .ew ul li:before {
    content: "\2022";
    /* Add content: \2022 is the CSS Code/unicode for a bullet */
    color: #049ad8;
    /* Change the color */
    font-weight: bold;
    /* If you want it to be bold */
    display: inline-block;
    /* Needed to add space between the bullet and the text */
    width: 1.2em;
    /* Also needed for space (tweak if needed) */
    margin-left: -1em;
    /* Also needed for space (tweak if needed) */ }

.ew p {
  max-width: 100%; }

.ew-slim {
  width: 91%;
  margin: 0 auto;
  margin-bottom: 10rem; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }
  .header .logo, .header .menu-wrapper {
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start;
    margin: 50px 100px;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out; }
  .header .menu-wrapper {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer; }
    .header .menu-wrapper .menu-text {
      font-size: 16px;
      text-transform: uppercase; }
    .header .menu-wrapper .burger {
      height: 40px;
      width: 40px;
      background-color: #A9D300;
      border-radius: 50%;
      margin-left: 20px;
      position: relative;
      -webkit-transition: all .3s;
      transition: all .3s; }
      .header .menu-wrapper .burger:after, .header .menu-wrapper .burger:before {
        content: '';
        position: absolute;
        width: 50%;
        height: 2px;
        background: #fff;
        -webkit-transition: all .3s;
        transition: all .3s; }
      .header .menu-wrapper .burger:before {
        top: 42%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
      .header .menu-wrapper .burger:after {
        top: 58%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
    .header .menu-wrapper .rotate:after {
      top: 50%;
      left: 50%;
      -webkit-transform: translateX(-50%) rotate(45deg);
          -ms-transform: translateX(-50%) rotate(45deg);
              transform: translateX(-50%) rotate(45deg); }
    .header .menu-wrapper .rotate:before {
      top: 50%;
      left: 50%;
      -webkit-transform: translateX(-50%) rotate(-45deg);
          -ms-transform: translateX(-50%) rotate(-45deg);
              transform: translateX(-50%) rotate(-45deg); }
    .header .menu-wrapper:hover > .burger {
      -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
              transform: scale(1.1);
      -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
              box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); }
      .header .menu-wrapper:hover > .burger:before, .header .menu-wrapper:hover > .burger:after {
        width: 70%; }
  .header .nav-wrapper {
    position: absolute;
    right: 0;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transform-origin: right 60px;
        -ms-transform-origin: right 60px;
            transform-origin: right 60px;
    background-color: rgba(0, 0, 0, 0.9);
    height: 100vh;
    width: 40%;
    -webkit-transition: all .5s;
    transition: all .5s; }
    .header .nav-wrapper .menu-content {
      height: 100%;
      width: 60%;
      margin: 0 auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-content: space-between;
          -ms-flex-line-pack: justify;
              align-content: space-between; }
      .header .nav-wrapper .menu-content .menu-details {
        padding-top: 100px; }
        .header .nav-wrapper .menu-content .menu-details a:first-child {
          font-size: 40px;
          margin-bottom: 10px;
          color: #fff; }
        .header .nav-wrapper .menu-content .menu-details a:last-child {
          color: #A9D300; }
      .header .nav-wrapper .menu-content nav ul {
        list-style-type: none;
        margin: 0 auto; }
        .header .nav-wrapper .menu-content nav ul li {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
              -ms-flex-pack: justify;
                  justify-content: space-between;
          cursor: pointer; }
          .header .nav-wrapper .menu-content nav ul li a {
            font-size: 30px;
            text-decoration: none;
            color: #fff; }
          .header .nav-wrapper .menu-content nav ul li:not(:last-child) {
            padding-bottom: 40px; }
          .header .nav-wrapper .menu-content nav ul li:after {
            content: '';
            height: 2px;
            width: 50px;
            background-color: gray;
            opacity: .5;
            -webkit-transition: all .5s;
            transition: all .5s; }
          .header .nav-wrapper .menu-content nav ul li:hover a, .header .nav-wrapper .menu-content nav ul li:focus a, .header .nav-wrapper .menu-content nav ul li:active a {
            color: #A9D300; }
          .header .nav-wrapper .menu-content nav ul li:hover:after, .header .nav-wrapper .menu-content nav ul li:focus:after, .header .nav-wrapper .menu-content nav ul li:active:after {
            background-color: #A9D300;
            opacity: 1; }
      .header .nav-wrapper .menu-content nav .active a {
        color: #A9D300; }
      .header .nav-wrapper .menu-content nav .active:after {
        background: #A9D300; }
  .header .open {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
    color: #fff; }

@media screen and (max-width: 1440px) {
  .header .nav-wrapper .menu-content {
    width: 70%; }
    .header .nav-wrapper .menu-content nav ul li:not(:last-child) {
      padding-bottom: 20px; }
    .header .nav-wrapper .menu-content nav ul li a {
      font-size: 25px; }
    .header .nav-wrapper .menu-content .menu-details p {
      font-size: 30px; } }

@media screen and (max-width: 1024px) {
  .header .nav-wrapper {
    width: 90%; }
  .header .nav-wrapper .menu-content .menu-details {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; } }

@media screen and (max-width: 870px) {
  .header .logo, .header .menu-wrapper {
    margin: 50px 50px !important; } }

@media screen and (max-width: 680px) {
  .header .logo img {
    width: 120px; }
  .header .logo, .header .menu-wrapper {
    margin: 20px 20px !important; }
  .header .nav-wrapper .menu-content nav ul li:after {
    width: 20px; }
  .header .nav-wrapper .menu-content nav ul li a {
    font-size: 18px; }
  .header .nav-wrapper .menu-content .menu-details a:first-child {
    font-size: 30px; }
  .header .menu-wrapper .burger {
    height: 30px;
    width: 30px; }
  .header .menu-wrapper .menu-text {
    font-size: 14px; }
  .header .nav-wrapper {
    width: 100%; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
/* ==========================================================================
   Default base - Some base settings, sitemap and form
   ========================================================================== */
/* apply a natural box layout model to all elements, but allowing components to change */
.footer {
  margin: 100px 0 20px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .footer a {
    color: #A9D300; }
  .footer .details {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .footer .details a:first-child {
      color: #000; }
  .footer p, .footer a, .footer li, .footer span, .footer abbr {
    margin-bottom: 15px; }
  .footer .address, .footer .logo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .footer .logo {
    margin-left: 0 !important; }
  .footer .contact {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .footer .contact .phone {
      color: #000; }

.footer-bottom {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 50px; }
  .footer-bottom p {
    font-size: 16px; }
    .footer-bottom p:first-child {
      margin-right: 10px; }

.sphinx {
  opacity: .2; }

@media screen and (max-width: 1024px) {
  .footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center; }
    .footer .logo {
      margin: 0 !important;
      margin-bottom: 10px; }
    .footer .address {
      margin-bottom: 10px; }
    .footer nav {
      display: none; }
    .footer .contact, .footer .details {
      margin-bottom: 10px; }
  .footer-bottom {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .footer p, .footer a, .footer li, .footer span, .footer abbr {
    margin-bottom: 5px; } }

/* Utils imports, used for ex. _containers.scss, _standard-btn.scss etc. standard things that we use throughout the site. */
.container {
  width: 1400px;
  margin: 0 auto;
  position: relative; }

.small-container {
  width: 1200px;
  margin: 100px auto; }

.x-small-container {
  width: 900px;
  margin: 0 auto; }

.large-container {
  width: 1600px;
  margin: 0 auto;
  position: relative; }

.text-image-container {
  position: relative;
  height: 70vh; }

@media screen and (max-width: 1600px) {
  .large-container {
    width: 1500px; } }

@media screen and (max-width: 1440px) {
  .container {
    width: 1200px; }
  .large-container {
    width: 1200px; }
  .small-container {
    width: 1000px; }
  .text-image-container {
    height: 100vh; } }

@media screen and (max-width: 1200px) {
  .container {
    width: 1024px; }
  .large-container {
    width: 1024px; }
  .small-container, .x-small-container {
    width: 800px; } }

@media screen and (max-width: 1024px) {
  .container {
    width: 800px; }
  .text-image-container {
    height: 50vh; } }

@media screen and (max-width: 870px) {
  .container, .large-container {
    width: 90%; }
  .text-image-container {
    margin-bottom: 140px; }
  .small-container, .x-small-container {
    width: 90%; } }

@media screen and (max-width: 768px) {
  .text-image-container {
    position: relative;
    height: 56vh; } }

@media screen and (max-width: 680px) {
  .text-image-container {
    height: 50vh; } }

/* Default styling for forms */
.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.space-between {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.center-y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.ref-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.sp-bt-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

@media screen and (max-width: 1440px) {
  .ref-flex {
    margin-top: 150px; } }

@media screen and (max-width: 1024px) {
  .mq {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; } }

@media screen and (max-width: 768px) {
  .sp-bt-wrap {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; } }

.startpage-header h1 {
  text-align: center;
  width: 70%;
  margin: 0 auto;
  letter-spacing: -2px;
  -webkit-animation: fadeInUp 1s ease-in-out 0s forwards;
          animation: fadeInUp 1s ease-in-out 0s forwards; }

.heading-m {
  font-size: 60px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  -webkit-animation: fadeInUp 1s ease-in-out 0s forwards;
          animation: fadeInUp 1s ease-in-out 0s forwards; }

.heading-page h2 {
  font-size: 30px;
  font-weight: 500; }

.heading-standard h2 {
  font-size: 50px;
  font-weight: 500; }

.heading-small h2 {
  font-size: 30px;
  font-weight: 400; }

.text-title h2 {
  font-size: 60px;
  font-weight: 400; }

.ref-title h1 {
  font-size: 100px;
  position: absolute;
  bottom: -200px; }

.center-text h3 {
  font-size: 40px;
  font-weight: 400;
  text-align: center;
  width: 50%;
  margin: 200px auto 300px auto; }

.ew {
  font-size: 18px;
  letter-spacing: 1.2px;
  padding: 24px 0; }

.white {
  color: #fff; }

@media screen and (max-width: 1440px) {
  .ref-title h1 {
    font-size: 50px;
    bottom: 0; }
  .heading-m {
    font-size: 45px; }
  .center-text h3 {
    width: 70%; }
  .heading-standard h2 {
    font-size: 40px; }
  .ew {
    font-size: 16px !important; }
  .text-title h2 {
    font-size: 40px; } }

@media screen and (max-width: 1200px) {
  .heading-m {
    font-size: 40px; }
  .heading-standard h2 {
    font-size: 40px; } }

@media screen and (max-width: 870px) {
  .startpage-header {
    width: 100%; }
  .center-text h3 {
    width: 90%;
    font-size: 30px; }
  .text-section .ew {
    text-align: center; } }

@media screen and (max-width: 768px) {
  .heading-standard h2 {
    font-size: 30px;
    text-align: center; }
  .ew {
    font-size: 16px; }
  .ref-title h1 {
    font-size: 60px;
    position: absolute;
    bottom: -123px; }
  .heading-m {
    font-size: 30px;
    text-align: center; } }

@media screen and (max-width: 680px) {
  .text-title h2 {
    font-size: 30px; }
  .heading-page h2 {
    font-size: 20px; }
  .center-text h3 {
    width: 90%;
    font-size: 25px;
    width: 90%;
    margin-top: 100px;
    margin-bottom: 80px; }
  .heading-small h2 {
    font-size: 25px; }
  .heading-m h1 {
    font-size: 40px !important;
    text-align: center; }
  .ref-title h1 {
    font-size: 40px;
    bottom: initial;
    top: -91px; }
  .heading-standard h2 {
    font-size: 25px;
    text-align: center; } }

@media screen and (max-width: 375px) {
  .text-title h2 {
    font-size: 25px; } }

.inline-btn, .inline-btn-white, .btn {
  font-size: 16px;
  text-transform: uppercase;
  display: inline-block; }
  .inline-btn:after, .inline-btn-white:after, .btn:after {
    content: '';
    display: block;
    height: 2px;
    width: 100%;
    margin-top: 5px;
    width: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease; }
  .inline-btn:hover:after, .inline-btn-white:hover:after, .btn:hover:after {
    width: 100%; }

.inline-btn, .btn {
  color: #000; }
  .inline-btn:after, .btn:after {
    background: #A9D300; }
  .inline-btn:hover:hover, .btn:hover:hover {
    color: #A9D300; }

.inline-btn-white {
  color: #fff; }
  .inline-btn-white:after {
    background: #fff; }
  .inline-btn-white:hover:hover {
    color: #fff; }

.link-btn {
  color: #A9D300; }

@media screen and (max-width: 680px) {
  .inline-btn, .inline-btn-white {
    font-size: 14px; } }

/* Components imports, used for all smaller components */
/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.hero {
  height: 100vh;
  width: 100%; }

.hero-blob h1 {
  /*margin-left: 10%;*/ }

.hero-blob svg {
  left: 5%; }

@media screen and (max-width: 1440px) {
  .type-startpage .hero {
    margin-bottom: 150px; } }

@media screen and (max-width: 768px) {
  .hero-blob h1 {
    margin-left: 0; } }

@media screen and (max-width: 680px) {
  .auto-slick .slick-slide .bg-wrap {
    width: 90%;
    height: 400px; }
  .hero {
    height: 75vh; }
  .hero-blob svg {
    left: 0; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
svg {
  position: absolute;
  z-index: -1;
  fill: #A9D300; }

.next-btn, .prev-btn {
  position: relative;
  stroke: #000;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .next-btn:after, .prev-btn:after {
    content: '';
    height: 45px;
    width: 45px;
    background: #A9D300;
    position: absolute;
    border-radius: 50%;
    z-index: -2;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0); }
  .next-btn:hover, .prev-btn:hover {
    stroke: #fff; }
    .next-btn:hover:after, .prev-btn:hover:after {
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1); }

.page-svg svg {
  top: 60%;
  right: 0;
  -webkit-transform: translateX(25%);
      -ms-transform: translateX(25%);
          transform: translateX(25%); }

@media screen and (max-width: 1440px) {
  .hero-blob svg, .hero svg {
    height: 700px; } }

@media screen and (max-width: 870px) {
  .hero-blob svg {
    width: 600px !important;
    height: 600px !important; } }

@media screen and (max-width: 768px) {
  svg {
    width: 80%; } }

@media screen and (max-width: 680px) {
  .hero-blob svg {
    width: 400px !important;
    height: 400px !important; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.image-section {
  position: relative; }
  .image-section .bg-wrap {
    position: absolute; }
    .image-section .bg-wrap img {
      height: 400px;
      width: 500px; }
    .image-section .bg-wrap:first-child {
      left: 0; }
    .image-section .bg-wrap:last-child {
      top: 200px;
      left: 20%; }

.text-section {
  position: absolute;
  width: 50%;
  background-color: #fff;
  padding: 20px 20px 0 20px;
  right: 5%;
  top: 120px; }

@media screen and (max-width: 1024px) {
  .image-section .bg-wrap img {
    height: 300PX;
    width: 400PX; }
  .image-section .bg-wrap:last-child {
    top: 90px;
    left: 9%; }
  .image-section .bg-wrap:first-child {
    left: 66%;
    -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
            transform: translate(-50%); }
  .text-section {
    right: 50%;
    top: initial;
    bottom: 0;
    width: 90%;
    -webkit-transform: translate(50%);
    -ms-transform: translate(50%);
    transform: translate(50%); } }

@media screen and (max-width: 680px) {
  svg {
    width: 100%; }
  .hero-blob svg {
    width: 300px !important;
    height: 300px !important; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.service-slider {
  width: 100%;
  margin: 100px 0; }
  .service-slider .slick-list {
    height: 600px; }
  .service-slider .bg-wrap {
    height: 580px;
    width: 30%;
    margin-right: 50px;
    position: relative;
    cursor: pointer; }
    .service-slider .bg-wrap > a {
      height: 100%;
      width: 100%; }
    .service-slider .bg-wrap .bg {
      height: 100%;
      width: 100%;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
    .service-slider .bg-wrap .box {
      position: absolute;
      bottom: -20px;
      width: 300px;
      height: 250px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      right: -20px;
      background: #000;
      text-transform: uppercase; }
      .service-slider .bg-wrap .box a {
        color: #fff; }
        .service-slider .bg-wrap .box a:after {
          content: '';
          display: block;
          height: 2px;
          width: 100%;
          background: #A9D300;
          margin-top: 5px;
          width: 0;
          -webkit-transition: all .3s ease;
          transition: all .3s ease; }
    .service-slider .bg-wrap:hover a {
      color: #A9D300; }
      .service-slider .bg-wrap:hover a:after {
        width: 100%; }

.slick-wrapper {
  position: relative; }
  .slick-wrapper .page-blurb {
    top: -150px;
    right: 300px;
    position: absolute;
    z-index: -1; }

.auto-slick .slick-slide .bg-wrap {
  width: 600px;
  height: 650px; }
  .auto-slick .slick-slide .bg-wrap .bg {
    height: 100%;
    width: 100%; }
  .auto-slick .slick-slide .bg-wrap:nth-child(odd) {
    margin-right: 30px; }

.auto-slick .custom_paging {
  left: 1160px;
  bottom: -50px; }

.slide-box {
  position: absolute;
  width: 400px;
  min-height: 130px;
  color: #fff;
  background: #000;
  bottom: -30px;
  right: 50px;
  padding: 20px 30px; }
  .slide-box h1 {
    font-weight: 400;
    font-size: 24px;
    margin-bottom: 10px; }
  .slide-box p {
    font-size: 16px; }

.page .slide-box {
  display: none; }

.page img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 10px auto;
  height: 600px; }

.page a {
  color: #A9D300; }

.reference-page {
  width: 100%;
  position: relative; }
  .reference-page .reference {
    position: relative;
    height: auto; }
  .reference-page .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 50;
    background: #000; }
  .reference-page .slick-next {
    left: 51%; }
  .reference-page .slick-prev {
    right: 51%; }
  .reference-page .bg-wrap {
    height: 500px;
    width: 800px; }
    .reference-page .bg-wrap .bg {
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }

.wrapper {
  height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  position: relative; }
  .wrapper svg {
    left: -300px;
    bottom: -200px; }

.ref-next, .ref-prev {
  padding: 25px;
  background: #000;
  position: absolute;
  cursor: pointer; }

.ref-prev {
  right: 50%; }

.ref-next {
  left: 50%; }
  .ref-next img {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }

.ref-next-start, .ref-prev-start {
  position: absolute;
  z-index: 10;
  bottom: 150px;
  background: black;
  padding: 30px;
  cursor: pointer; }

.ref-next-start {
  left: 51%; }
  .ref-next-start img {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }

.ref-prev-start {
  right: 49%; }

.reference-slider-start {
  position: relative; }
  .reference-slider-start .text-title {
    position: absolute;
    left: 80px;
    top: -40px; }
  .reference-slider-start .inline-btn {
    position: absolute;
    right: 0;
    top: -50px; }
  .reference-slider-start .page-blurb {
    position: absolute;
    top: -200px;
    left: -350px; }

.start-ref-slider {
  position: relative;
  margin: 300px auto 0 auto; }
  .start-ref-slider .custom_paging {
    right: -50px;
    bottom: 100px; }
  .start-ref-slider .slick-track {
    overflow-y: visible;
    height: 815px; }
  .start-ref-slider .start-ref-wrapper {
    position: relative; }
    .start-ref-slider .start-ref-wrapper .content {
      position: absolute;
      bottom: 0;
      right: 140px;
      width: 500px; }
      .start-ref-slider .start-ref-wrapper .content h4 {
        font-size: 32px;
        font-weight: 400; }
      .start-ref-slider .start-ref-wrapper .content p {
        font-size: 18px;
        margin: 5px 0; }
      .start-ref-slider .start-ref-wrapper .content a {
        color: #000;
        font-size: 16px;
        text-transform: uppercase; }
  .start-ref-slider .bg-wrap:nth-child(2) {
    height: 762px;
    width: 639px;
    position: absolute;
    top: 50px;
    left: 80px;
    z-index: 2; }
  .start-ref-slider .bg-wrap:last-child {
    height: 664px;
    width: 805px;
    position: absolute;
    right: 0; }
  .start-ref-slider .bg-wrap .bg {
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }

.custom_paging {
  position: absolute;
  height: 120px;
  width: 120px;
  background: #000;
  border-radius: 50%;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .custom_paging li {
    display: none; }
  .custom_paging .slick-active {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }

.slick-dots {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 20px; }
  .slick-dots li button {
    border-radius: 50%;
    height: 10px;
    width: 10px;
    font-size: 0;
    border: none;
    background-color: lightgray; }
  .slick-dots li:not(:last-child) {
    margin-right: 10px; }
  .slick-dots .slick-active button {
    background: #A9D300; }

@media screen and (max-width: 1440px) {
  .reference-page .bg-wrap {
    height: 400px; }
  .service-slider .slick-list {
    height: 500px;
    overflow-y: hidden; }
  .service-slider .bg-wrap {
    height: 450px; }
    .service-slider .bg-wrap .box {
      width: 250px;
      height: 200px; }
  .start-ref-slider .start-ref-wrapper .content {
    position: absolute;
    bottom: 0px;
    right: 72px;
    width: 500px; }
  .start-ref-slider .bg-wrap:nth-child(2) {
    height: 500px;
    width: 500px; }
  .start-ref-slider .bg-wrap:last-child {
    height: 500px;
    width: 700px; }
  .start-ref-slider .slick-track {
    height: 650px; }
  .slick-wrapper .page-blurb {
    right: 0; }
  .auto-slick .slick-slide .bg-wrap {
    width: 500px;
    height: 550px; }
  .auto-slick .custom_paging {
    left: 954px; }
  .image-section .bg-wrap img {
    height: 300px;
    width: 400px; }
  .ref-next-start, .ref-prev-start {
    bottom: 150px; }
  .reference-slider-start .text-title {
    top: -20px; } }

@media screen and (max-width: 1200px) {
  .start-ref-slider .bg-wrap:nth-child(2) {
    left: 0; }
  .ref-next-start {
    left: 46%; }
  .ref-prev-start {
    right: 54%; } }

@media screen and (max-width: 1024px) {
  .ref-next, .ref-prev {
    display: none !important; }
  .image-section .bg-wrap:first-child {
    left: 40%;
    -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
            transform: translate(-50%); }
  .start-ref-slider .bg-wrap:last-child {
    height: 564px;
    width: 500px; }
  .start-ref-slider .bg-wrap:nth-child(2) {
    display: none; }
  .start-ref-slider .bg-wrap:last-child {
    width: 100%; }
  .reference-slider-start .text-title {
    left: 0;
    top: -74px; }
  .start-ref-slider .custom_paging {
    right: -50px;
    bottom: 200px; }
  .ref-next-start, .ref-prev-start {
    bottom: 250px; }
  .ref-next-start {
    left: 50%; }
  .ref-prev-start {
    right: 50%; }
  .start-ref-slider .start-ref-wrapper .content {
    position: absolute;
    bottom: 100px;
    right: initial;
    width: 500px;
    left: 0; }
  .auto-slick .slick-slide .bg-wrap {
    width: 100%;
    height: 550px; }
  .slick-initialized .slick-slide {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .slick-wrapper .custom_paging {
    bottom: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, 50%);
        -ms-transform: translate(-50%, 50%);
            transform: translate(-50%, 50%); }
  .auto-slick .slick-slide .bg-wrap:nth-child(odd) {
    margin-right: 0; }
  .slick-wrapper .page-blurb {
    right: 36%;
    -webkit-transform: translate(50%);
        -ms-transform: translate(50%);
            transform: translate(50%);
    top: -190px; }
  .slide-box {
    width: 50%; }
  .reference-page .bg-wrap {
    width: 900px; }
  .ref-title h1 {
    left: 50%;
    -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
            transform: translate(-50%); }
  .reference-slide .slick-slide {
    position: relative;
    padding-right: 0;
    padding-left: 0; }
  .reference-slide main {
    width: 60%; } }

@media screen and (max-width: 870px) {
  .text-section {
    bottom: 0; }
  .slick-track {
    min-height: initial !important; }
  .service-slider .slick-list {
    height: initial; }
  .prev-btn, .next-btn {
    display: none !important; }
  .service-slider {
    margin-bottom: 200px; }
  .service-slider .bg-wrap .box {
    right: 0; }
  .start-ref-slider .custom_paging {
    display: none !important; }
  .start-ref-slider .start-ref-wrapper .content {
    width: 100%;
    bottom: 123px; }
  .slide-box {
    bottom: 0;
    right: 0; }
  .reference-page .bg-wrap {
    width: 700px !important; } }

@media screen and (max-width: 768px) {
  .service-slider .bg-wrap .box {
    height: 100px;
    bottom: 0; }
  .start-ref-slider .custom_paging {
    right: 15px; }
  .image-section .bg-wrap:last-child {
    left: 18%; }
  /*.image-section .bg-wrap:first-child {
        left: %;
        -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
        transform: translate(-50%);
    }*/
  .image-section .bg-wrap img {
    height: 200px;
    width: 300px; }
  .text-section {
    bottom: 119px;
    width: 100%; }
  .reference-page .bg-wrap {
    width: 693px; }
  .slide-box {
    width: 80%; } }

@media screen and (max-width: 768px) {
  .slick-wrapper .page-blurb {
    right: 44%;
    top: -246px; }
  .reference-page .bg-wrap {
    width: 580px; }
  .service-slider .bg-wrap {
    width: 100%;
    margin-right: 20px;
    height: 380px; }
  .service-slider .bg-wrap .box a {
    font-size: 20px; }
  .start-ref-slider .bg-wrap:last-child {
    height: 380px; }
  .start-ref-slider .slick-track {
    overflow-y: visible;
    height: 650px; }
  .start-ref-slider {
    position: relative;
    margin: 100px auto 0 auto; }
  .auto-slick .slick-slide .bg-wrap {
    width: 100%;
    height: 458px; } }

@media screen and (max-width: 680px) {
  .page img {
    height: 300px; }
  .image-section .bg-wrap:last-child {
    top: 25px;
    left: -1%; }
  .image-section .bg-wrap:first-child {
    left: initial;
    right: -91px; }
  .reference-page .bg-wrap {
    height: 312px; }
  .reference-page .bg-wrap {
    width: 371px; }
  .slide-box {
    min-height: initial; }
  .slide-box p {
    display: none; }
  .start-ref-slider .start-ref-wrapper .content {
    bottom: 0; }
  .reference-slider-start .text-title {
    top: -64px; }
  .ref-next-start, .ref-prev-start {
    padding: 17px; }
  .start-ref-slider .slick-track {
    height: 508px; }
  .ref-next-start, .ref-prev-start {
    bottom: 129px; }
  .start-ref-slider .start-ref-wrapper .content h4 {
    font-size: 25px; }
  .start-ref-slider .start-ref-wrapper .content p {
    font-size: 16px; }
  .start-ref-slider .start-ref-wrapper .content a {
    font-size: 16px; }
  .slick-wrapper .page-blurb {
    right: 50%;
    top: -246px;
    height: 200px; }
  .auto-slick .slick-slide .bg-wrap {
    width: 90%;
    height: 400px; }
  .reference-page .bg-wrap {
    width: 343px !important; }
  .wrapper svg {
    display: none; }
  .slide-box {
    width: 100%; }
  .start-ref-slider .slick-track {
    height: 538px; }
  .ref-next-start, .ref-prev-start {
    bottom: 145px; }
  .service-slider .bg-wrap {
    width: 100%;
    margin-right: 0;
    height: 380px; } }

@media screen and (max-width: 375px) {
  .reference-slider-start .text-title {
    top: -61px; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.image-blob {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 200px 0; }
  .image-blob img {
    height: 900px;
    width: 700px; }
  .image-blob .text {
    position: absolute;
    right: 35%;
    bottom: -50px;
    -webkit-transform: translate(50%);
        -ms-transform: translate(50%);
            transform: translate(50%);
    width: 900px;
    height: 705px;
    background-image: url(/images/blurb.big.png);
    height: 705px;
    width: 800px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .image-blob .text .text-content {
      width: 70%;
      margin: 0 auto; }

@media screen and (max-width: 1440px) {
  .image-blob .text {
    height: 572px;
    width: 650px; }
    .image-blob .text .text-content {
      width: 60%; }
  .image-blob img {
    height: 600px;
    width: 500px; } }

@media screen and (max-width: 870px) {
  .image-blob .text {
    bottom: -130px; }
  .image-blob .text {
    height: 535px;
    width: 604px; }
  .image-blob .text .text-content {
    margin-right: 60px; } }

@media screen and (max-width: 768px) {
  .image-blob {
    margin-top: 50px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .image-blob .text {
    height: 455px;
    width: 521px; }
  .text-section {
    bottom: 0; }
  .image-blob img {
    width: 100%;
    height: 400px; } }

@media screen and (max-width: 680px) {
  .image-blob {
    margin-top: 100px; }
  .image-blob .text {
    display: none; }
  .image-section {
    display: none; }
  .image-section .bg-wrap img {
    height: 300px;
    width: 100%; }
  .image-section .bg-wrap:first-child {
    left: 0;
    right: 0;
    -webkit-transform: translate(0);
        -ms-transform: translate(0);
            transform: translate(0); } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.contact-info {
  width: 70%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  /*.heading-standard{
        margin-bottom: 50px;
    }*/ }
  .contact-info a:not(:last-child), .contact-info p:not(:last-child) {
    margin-bottom: 15px; }

.co-workers {
  width: 100%; }
  .co-workers .co-worker {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    /*span:last-of-type {
            color: $color-green;
        }*/
    /*img {
            height: 240px;
            width: 310px;
        }*/ }
    .co-workers .co-worker span:first-of-type {
      margin: 15px 0 5px 0; }
    .co-workers .co-worker:not(:last-child) {
      margin-bottom: 50px; }
    .co-workers .co-worker .bg-wrap {
      height: 240px;
      width: 310px; }
      .co-workers .co-worker .bg-wrap .bg {
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        height: 100%;
        width: 100%; }

.steps-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 200px 0;
  padding: 50px 0;
  background: #F8F8F8; }
  .steps-wrap span {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .steps-wrap span:nth-child(odd) {
      margin: 0 100px; }
    .steps-wrap span span {
      max-width: 300px;
      line-height: 1.5; }
    .steps-wrap span:before {
      content: attr(steps-num);
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      color: #fff;
      height: 50px;
      width: 50px;
      background: #A9D300;
      border-radius: 50%;
      margin-right: 15px;
      -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
              box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); }

.form-text {
  margin: 100px auto;
  line-height: 1.5;
  font-size: 30px; }

.form {
  margin-bottom: 300px; }

@media screen and (max-width: 1200px) {
  .image-blob .text .text-content {
    margin-right: 78px; }
  .steps-wrap > div:nth-child(odd) {
    margin: 0 45px; } }

@media screen and (max-width: 1024px) {
  .form-text {
    font-size: 25px; }
  .steps-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 50px 0; }
    .steps-wrap span {
      width: 50%;
      margin-bottom: 20px !important;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      text-align: center; }
      .steps-wrap span span {
        font-size: 20px; }
  .steps-wrap span:before {
    margin-right: 0;
    margin-bottom: 5px; }
  .steps-wrap span:nth-child(odd) {
    margin: 0 0; }
  .contact-info {
    width: 100%;
    text-align: center;
    margin-bottom: 50px; }
  .co-workers {
    width: 100%; }
  .form-text {
    width: 100%;
    margin-bottom: 20px; } }

@media screen and (max-width: 870px) {
  .contact-info .heading-standard {
    margin-bottom: 20px; } }

@media screen and (max-width: 768px) {
  .image-blob .text .text-content {
    margin-right: 33px; }
  .image-blob .text {
    right: 56%; } }

@media screen and (max-width: 680px) {
  .form {
    margin-bottom: 100px; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.content-col .intro-text {
  width: 50%;
  margin-bottom: 20px; }

.content-col .ew {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2; }

@media screen and (max-width: 1440px) {
  .content-col .intro-text {
    width: 70%; } }

@media screen and (max-width: 1024px) {
  .content-col .ew {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1; } }

@media screen and (max-width: 870px) {
  .image-blob .text {
    right: 50%;
    bottom: -94px; }
  .image-blob .text .text-content {
    margin-right: 64px; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.rel-links {
  margin: 200px auto; }
  .rel-links .link {
    width: 30%;
    position: relative;
    cursor: pointer; }
    .rel-links .link:not(:nth-child(3n)) {
      margin-right: 70px; }
    .rel-links .link .bg-wrap {
      width: 100%;
      height: 350px;
      margin-top: 20px; }
      .rel-links .link .bg-wrap .bg {
        height: 100%;
        width: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat; }
      .rel-links .link .bg-wrap span {
        color: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        background: #000;
        padding: 15px 20px;
        text-transform: uppercase;
        -webkit-transition: all .3s ease;
        transition: all .3s ease; }
      .rel-links .link .bg-wrap:hover span {
        color: #A9D300; }

@media screen and (max-width: 1440px) {
  .rel-links .link:not(:nth-child(3n)) {
    margin-right: 50px; } }

@media screen and (max-width: 1200px) {
  .rel-links .link:not(:nth-child(3n)) {
    margin-right: 51px; }
  .rel-links .link .bg-wrap {
    height: 303px;
    margin-top: 20px; }
  .content-col .intro-text {
    margin-bottom: 150px; }
  .serv-cont {
    margin-top: 150px; } }

@media screen and (max-width: 1024px) {
  .rel-links .link {
    width: 100%;
    position: relative;
    margin-right: 0 !important; }
  .rel-links .link .bg-wrap {
    height: 400px;
    margin-top: 20px; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.text-item {
  margin: 150px 0;
  width: 22%; }
  .text-item:not(:nth-child(4n)) {
    margin-right: 56px; }
  .text-item h4 {
    font-weight: 400;
    font-size: 26px; }

@media screen and (max-width: 1440px) {
  .text-item:not(:nth-child(4n)) {
    margin-right: 43px; } }

@media screen and (max-width: 1024px) {
  .content-col .intro-text {
    margin-bottom: 0; }
  .rel-links .link .bg-wrap {
    height: 200px;
    margin-top: 20px; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.service {
  width: 23%;
  position: relative;
  margin-bottom: 200px;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  .service .bg-wrap {
    width: 100%;
    height: 500px; }
    .service .bg-wrap .bg {
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
  .service:not(:nth-child(4)) {
    margin-right: 30px; }
  .service:nth-child(4n+1), .service:nth-child(4n+2) {
    margin-top: 250px; }
  .service .ew-article-section {
    color: #fff;
    background: #000;
    width: 350px;
    position: absolute;
    top: 340px;
    left: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    word-break: break-word;
    bottom: initial; }
    .service .ew-article-section h1 {
      font-size: 24px;
      font-weight: 400;
      width: 100%;
      margin: 0 auto;
      text-transform: uppercase;
      margin-bottom: 10px;
      word-break: keep-all; }
    .service .ew-article-section .ew-introduction {
      font-size: 18px;
      width: 100%;
      margin: 0 auto; }

.serv-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: self-start;
  -webkit-align-items: self-start;
      -ms-flex-align: self-start;
          align-items: self-start; }

.page-svg .page-blurb {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(20%, 70%);
      -ms-transform: translate(20%, 70%);
          transform: translate(20%, 70%);
  z-index: -1; }

@media screen and (max-width: 1600px) {
  .page-svg .page-blurb {
    right: 5%; } }

@media screen and (max-width: 1440px) {
  .service {
    width: 30%; }
  .service:not(:nth-child(3)) {
    margin-right: 40px; }
  .service:nth-child(4n+1), .service:nth-child(4n+2) {
    margin-top: initial; }
  .page-svg {
    position: absolute;
    right: 200px;
    top: 44%;
    -webkit-transform: translate(20%, 70%);
    -ms-transform: translate(20%, 70%);
    transform: translate(20%, 70%);
    z-index: -1; } }

@media screen and (max-width: 1200px) {
  .text-item:not(:nth-child(3n)) {
    margin-right: 20px; }
  .text-item {
    width: 30%;
    margin: 20px 0; }
  .service {
    width: 48%; }
    .service img {
      width: 90%; } }

@media screen and (max-width: 1024px) {
  .text-item {
    width: 100%;
    text-align: center; }
  .content-col .intro-text {
    width: 100%;
    margin-bottom: 50px; }
  .service {
    width: 80%;
    margin-left: auto;
    margin-right: auto; }
  .service:not(:nth-child(4)) {
    margin-right: auto; }
  .service .ew-article-section {
    width: 75%;
    margin-right: auto;
    margin-left: auto; }
  .page-svg {
    display: none; }
  .service .bg-wrap {
    width: 70%;
    margin-right: auto;
    margin-left: auto; }
  .text-item:not(:nth-child(3n)) {
    margin-right: 0; }
  .text-item:not(:nth-child(4n)) {
    margin-right: 0; } }

@media screen and (max-width: 870px) {
  .service img {
    width: 100%; }
  .service {
    width: 100%; } }

@media screen and (max-width: 768px) {
  .content-col .intro-text {
    width: 100%;
    margin-bottom: 50px;
    text-align: center; } }

@media screen and (max-width: 680px) {
  .service {
    margin-bottom: 100px; }
  .service .bg-wrap {
    width: 100%;
    height: 350px; }
  .service .ew-article-section {
    width: 100%;
    left: 0;
    min-height: 130px;
    top: initial;
    min-height: initial; }
  .service .ew-article-section h1 {
    font-size: 18px;
    width: 100%;
    text-align: center; } }

/* ADD THIS LINE UNDER IN ALL FILES YOU WANT TO REACH VARIABLES AND MIXINS EASY */
.reference-slide {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  /*overflow: hidden;*/ }
  .reference-slide .bg-wrap {
    height: 650px;
    width: 580px; }
    .reference-slide .bg-wrap .bg {
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
  .reference-slide .slick-slide {
    position: relative; }
    .reference-slide .slick-slide:nth-child(odd) {
      padding-right: 15px; }
    .reference-slide .slick-slide:nth-child(even) {
      padding-left: 15px; }
  .reference-slide main {
    top: -10px;
    left: -50px;
    right: initial;
    bottom: initial;
    width: 300px; }
  .reference-slide .ref-next, .reference-slide .ref-prev {
    bottom: 0; }
  .reference-slide .coop {
    position: absolute;
    margin-top: 10px; }

@media screen and (max-width: 1600px) {
  .reference-slide .bg-wrap {
    height: 650px; } }

@media screen and (max-width: 1440px) {
  .reference-slide .bg-wrap {
    height: 650px; }
  .reference-slide .slick-slide {
    padding-right: 0;
    padding-left: 0; }
  .reference-slide .bg-wrap {
    height: 500px; }
  .reference-slide > .container {
    margin-top: 70px; } }

@media screen and (max-width: 1024px) {
  .slick-slide:nth-child(odd) {
    padding-right: 0 !important; }
  .slick-slide:nth-child(even) {
    padding-left: 0 !important; } }

@media screen and (max-width: 870px) {
  .reference-slide main {
    top: 0;
    left: -20px;
    width: 50%; }
  .reference-slide .slick-slide {
    padding-right: 0;
    padding-left: 0; } }

@media screen and (max-width: 680px) {
  .reference-slide .bg-wrap {
    height: 350px; }
  .reference-slide main {
    top: -58px;
    left: 0;
    width: 100%; } }

/* Views imports, can be used for specific things for special views */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  overflow-y: visible; }

.slick-list {
  position: relative;
  overflow-x: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  min-height: 530px; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  outline: 0;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-btn {
  position: absolute;
  top: -50px;
  right: 50px;
  cursor: pointer; }

.prev-btn {
  right: 120px; }

.show-services {
  position: absolute;
  top: -50px;
  left: 0; }

@media screen and (max-width: 768px) {
  .slick-btn {
    position: absolute;
    top: -50px;
    right: 0;
    cursor: pointer; }
  .prev-btn {
    right: 50px; } }

@media screen and (max-width: 680px) {
  .slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    min-height: 337px; } }

/* F�r enkel webbvy f�r templaten n�r man bygger. */
/* ==========================================================================
   ===============  Site-specific main CSS  =================================
   ==========================================================================
    Main file for custom css, used to style the actual site, and should contain the buld of all custom css for the site.

    When gulp is run and the sass is compiled, it will run against css.scss which will include this file.
    The final result end up as css.css (in this folder for dev, in wwwroot/css for prod)

    Tip: Use the variables in site.scss for a better and more maintainable file, 
    which is available in intellisense thanks to the <reference path="" /> above.
    
    Examples:
        p {
            font-family: $font_main;
            font-size: $font_size_main;
            line-height: $line_height_main;
        }
        p { color: $color_text; }
        a { color: $color_link; }

    Comments will get removed in the final minified production css in /wwwroot/css/css.css,
    so there's no reason to be shy using them. 
    Prefer multi-line usage with '/*' (like tis comment) instead of '//' since auto formatters could cause issues with '//'
   ========================================================================== */
html {
  font-size: 10px; }

body {
  font-size: -webkit-calc(10px + 0.5vw);
  font-size: calc(10px + 0.5vw);
  line-height: -webkit-calc(1.5);
  line-height: calc(1.5);
  overflow-x: hidden; }

#page {
  position: relative; }

ul {
  list-style-type: none; }

/*h1 {
    font-size: calc(1.2em + 3vw);
}

@media (min-width: 50em) {
    h1 {
        font-size: 50px;
    }
}

#wrapper a { color: #012144; &:hover { color: #000; }  }

#page {
    width: 90%;
    margin: 0 auto;

    .block { vertical-align: top; }

    .col-3 > * {
        width: 32%;
        display: inline-block;
    } 
    .col-2 > * {
        width: 49%;
        display: inline-block;
    }
}

#header { 
    margin-bottom: 50px;
    padding: 20px 40px 0 40px;
    background-color: #f2f8e7;
    border-bottom: 1px solid #d7ddcd;

    a.logo { float: left; margin-top: -8px;}

    nav {
        display: inline-block;
        margin: 0 0 20px 30px;

        ul li { display: block; }

        ul {
            list-style: none;
            li { display: inline-block; position: relative;
                 &.active > a { color: #000; }
                 a { padding: 5px 15px; }
                .dropdown { 
                    display: block; position: absolute; background-color: #eee; padding: 10px; min-width: 200px; top: 30px; padding-bottom: 0;
                        padding-bottom: 0;
                            position: absolute; z-index: 3;    background: #fff; border-radius: 3px; border: 1px dashed #dfebc9; padding: 5px; display: none;
                            li {  display: block;padding: 5px 10px 5px 10px;  border-bottom: 1px dashed #dfebc9; }
                            a { display: block;}
                        
                }
                .dropdown { display: none;}
                
            &:hover  { background-color: #f2f8e7;   }
            }  
        }
    }

    .submenu {
        li a { font-size: calc(8px + 0.5vw); }
    }
}

#page { 
    min-height: 400px; 
    .block { border: 1px dashed #dfebc9; padding: 1%; margin: 1%; border-radius: 3px;}
    img { max-width: 100%; padding: 2px; border: 1px dashed #dfebc9; border-radius: 5px;}
    .child-block > * { display: block; }
    .flex-center {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-content: center;
    }
    .hero::before {
        background-image: url(/img/background-1932466_1920-320x212.jpg);
        background-size: cover;
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -2;
        opacity: 1;
        }
    .hero::after {
        background-color: #1a4786;
        content: "";
        display: block;
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        z-index: -1;
        opacity: 0.4;
        }
}

#footer { 
    margin-top: 90px; border-top: 1px solid #eee; padding-top: 20px; padding-bottom: 10px; margin-bottom: 10px; padding: 10px 10%;
    font-size: 14px;
    > nav > ul { list-style: none; margin-right: 80px; > li { padding: 5px 10px 5px 10px; border-bottom: 1px dashed #dfebc9; position: relative; } }
    > nav ul { list-style: none; li a { display: block; }  }
    > nav, > div { width: 30%; display: inline-block; vertical-align: top;  }
    .submenu.dropdown { 
        position: absolute; z-index: 3; left: 120px; top: -20%;  background: #fff; border-radius: 3px; border: 1px dashed #dfebc9; padding: 5px; display: none;
        li { display: block; padding: 8px 10px 8px 10px;  border-bottom: 1px dashed #dfebc9; }
        a { display: block;}
    }
    > nav > ul li:hover  { background-color: #f2f8e7;   }
    .bottom-footer {
        vertical-align: bottom;
        font-size: 14px;
        color: #c1cfa8;
        display: block;
        text-align: center;
        margin: 0 auto;
        margin-top: 50px;
    }
}*/
/*.standard-page {
    padding-top: 8rem;

    .ew-slim {

        .ew {
            width: 87%;
            margin: 0 auto;

            p {
                &:first-of-type {
                    margin-top:0;
                }
            }
        }
    }
}*/
/*.standard-page {
    .ew-slim {
        .ew {
            opacity:0;
            &.animate {
                animation:fade-up .5s ease-in-out forwards;
                animation-delay:.5s;
            }
        }
    }
}*/
/*@include lg-phone {
    .standard-page {
        .ew-slim {
            width: 100%;
            margin-bottom: 5rem;

            .ew {
                width: 100%;
            }
        }
    }
}*/
/*#wrapper a.logeo { }


.floating-list {
    display: inline-block; max-width: 45%; padding: 2%;

    img { float: left; margin-right: 40px; }
}

.detailed-list {
    > div, > ul > li, > ul {
        display: block;
        padding: 10px;
        list-style: none;
        margin: 0;
        border: 2px dashed #f6f6f6;
    }
}

.blurb-wide {
    
    img { float: left; margin-right: 60px; }
}
.blurb-2 {
    display: inline-block; max-width: 45%; padding: 2%;

    img { float: left; margin-right: 40px; }
}
.blurb-3 {
    display: inline-block; max-width: 30%; padding: 1.5%;

    img { float: left; margin-right: 40px; }
}*/
/* Default styling for forms */
/* ==========================================================================
   Cookie container in bottom asking for cookie and integrity consent
   ========================================================================== */
#ew-cookieinfo-container {
  width: 100%;
  margin: 0;
  background: #000;
  z-index: 9999;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 15px 0px;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  border-top: 1px solid #ccc;
  color: #fff; }
  #ew-cookieinfo-container a {
    color: #A9D300 !important; }
  @media (max-width: 500px) {
    #ew-cookieinfo-container {
      padding-top: 5px; } }
  #ew-cookieinfo-container.hidden, #ew-cookieinfo-container .hidden {
    display: none; }
  #ew-cookieinfo-container .inner {
    padding: 0 25px; }
    #ew-cookieinfo-container .inner span {
      padding: 7px 0 0;
      display: block;
      float: left;
      line-height: 1; }
      #ew-cookieinfo-container .inner span a {
        color: #000; }
        #ew-cookieinfo-container .inner span a:hover {
          text-decoration: none; }
  #ew-cookieinfo-container #ew-cookieinfo-button-ok {
    float: right;
    border-radius: 3px;
    text-decoration: none;
    color: #fff;
    background-color: #7eb742;
    font-weight: bold;
    padding: 2px 25px;
    cursor: pointer;
    margin-right: 15px;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
    text-transform: uppercase;
    width: auto;
    border: 1px solid transparent; }
    #ew-cookieinfo-container #ew-cookieinfo-button-ok:hover {
      background-color: #fff;
      color: #7eb742;
      border-color: #7eb742; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy5jc3MiLCJjc3Muc2NzcyIsImRlZmF1bHQvX2hlYWRlci5zY3NzIiwidXRpbHMvX2NvbnRhaW5lcnMuc2NzcyIsImluY2x1ZGVzL19taXhpbnMuc2NzcyIsImluY2x1ZGVzL19ub3JtYWxpemUuc2NzcyIsImluY2x1ZGVzL19oZWxwZXJzLnNjc3MiLCJpbmNsdWRlcy9fYW5pbWF0aW9ucy5zY3NzIiwiaW5jbHVkZXMvX21lZGlhcXVlcmllcy5zY3NzIiwiZGVmYXVsdC9fZGVmYXVsdC5zY3NzIiwiZGVmYXVsdC9fZm9ybS5zY3NzIiwiZGVmYXVsdC9fZXcuc2NzcyIsImRlZmF1bHQvX2Zvb3Rlci5zY3NzIiwidXRpbHMvX2ZsZXguc2NzcyIsInV0aWxzL19jb250ZW50LnNjc3MiLCJ1dGlscy9fc3RhbmRhcmQtYnRuLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL19zdmcuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlVGV4dC5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVycy5zY3NzIiwiY29tcG9uZW50cy9faW1hZ2VCbG9iLnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0UGFnZS5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1jb2wuc2NzcyIsImNvbXBvbmVudHMvX3JlbC1saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1pdGVtcy5zY3NzIiwiY29tcG9uZW50cy9fc2VydmljZUxpc3RJdGVtLnNjc3MiLCJjb21wb25lbnRzL19yZWYtc2lkZS5zY3NzIiwibGliL3NsaWNrLnNjc3MiLCJ0ZW1wbGF0ZS5zY3NzIiwiLi4vU3R5bGVzL2luY2x1ZGVzL19jb29raWVpbmZvLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLGtGQUFrRjtBQUlsRjs7Ozs7Ozs7Ozs7O2dGQVlnRjtBQUloRjs7O0dBR0c7QUFFSCxXQUFXO0FBVVgsaUJBQWlCO0FBTWpCLG9EQUFvRDtBQUlwRCx5QkFB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akI7TUExQ1Q7UUFvQ2dCLFlBQVcsRUFLZDtRQXpDYjtVQXVDb0Isc0JBQXFCLEVBQ3hCO0VBeENqQjtJQThDUSxhQUFZO0lBQ1osbUJBQWtCO0lBQ2xCLHNCQUFxQjtJQUNyQixZNUJ5QmE7STRCeEJiLDBCNUJ1Qlc7STRCdEJYLGtCQUFpQjtJQUNqQixrQkFBaUI7SUFDakIsZ0JBQWU7SUFDZixtQkFBa0I7SUFDbEIsMENBQWlDO0lBQWpDLGtDQUFpQztJQUNqQywwQkFBeUI7SUFDekIsWUFBVztJQUNYLDhCQUE0QixFQU8vQjtJQWpFTDtNQTZEWSx1QjVCYVM7TTRCWlQsZTVCV087TTRCVlAsc0I1QlVPLEU0QlRWIiwiZmlsZSI6ImNzcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBBREQgVEhJUyBMSU5FIFVOREVSIElOIEFMTCBGSUxFUyBZT1UgV0FOVCBUTyBSRUFDSCBWQVJJQUJMRVMgQU5EIE1JWElOUyBFQVNZICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgTWFpbiBkZWNsYXJhdGlvbiBhbmQgYnVpbGRlciBmaWxlLiBDb21iaW5lcyBvdGhlciBmaWxlcyBhbmQgc2V0cyBnbG9iYWwgdmFyaWFibGVzLlxyXG5cclxuICAgIFRoZSBvbmx5IGNoYW5nZXMgaW4gdGhpcyBmaWxlIHNob3VsZCBiZSB0byBzZXQgZGlmZmVyZW50IHZhcmlhYmxlcyBvciBhZGQgYWRkaXRpb25hbCBAaW1wb3J0IFwieHh4LnNjc3NcIiB0byBiZSBpbmNsdWRlZCBpbiBlbmQgcmVzdWx0LlxyXG4gICAgXHJcbiAgICBVc2Ugc2l0ZS5zY3NzIHRvIHdyaXRlIHNpdGUtc3BlY2lmaWMgQ1NTLlxyXG4gICAgVXNlIHNpdGVfbWVkaXVtLnNjc3Mvc2l0ZV9tb2JpbGUuc2NzcyB0byB3cml0ZSByZXNwb25zaXZlIHNpdGUtc3BlY2lmaWMgQ1NTLlxyXG4gICAgXHJcbiAgICBXaGVuIGd1bHAgaXMgcnVuIGFuZCB0aGUgc2FzcyBpcyBjb21waWxlZCwgdGhpcyB3aWxsIGJlIHJ1biBhbmQgdGhlIGluY2x1ZGVkIGZpbGVzIHdpbGwgYmUgYWRkZWQgdG8gaXQuXHJcbiAgICBUaGUgZmluYWwgcmVzdWx0IGVuZCB1cCBhcyBjc3MuY3NzIChpbiB0aGlzIGZvbGRlciBmb3IgZGV2LCBpbiB3d3dyb290L2NzcyBmb3IgcHJvZCkuXHJcblxyXG4gICAgRm9yIGNzcyBpbiBzdWItZm9sZGVycyAobGlrZSB1bmlvbiBmb2xkZXJzKSwgbWFrZSBzdXJlIHRoZSBpbmNsdWRlcyBhcmUgdGFrZW4gZnJvbSAnLi4vaW5jbHVkZXMveHh4JyBhbmQgbm90ICdpbmNsdWRlcy94eHgnLlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcclxuICogIFZhcmlhYmxlcyB0byBiZSB1c2VkIHdoZW4gZGVzaWduaW5nXHJcbiAqICBGb3IgbmV3IGZpbGVzLCBnZXQgaW50ZWxsaXNlbnNlIGFuZCByZWNvZ25pdGlvbiBieSBhZGRpbmcgdGhpcyBzbmlwcGV0IGluIHRoZSB0b3A6IC8vLyA8cmVmZXJlbmNlIHBhdGg9XCJjc3Muc2Nzc1wiIC8+XHJcbiAqL1xuLyogRm9udHMgKi9cbi8qIENvbG9ycyB0ZXh0ICovXG4vKiBDb2xvcnMgZm9ybSAobWF5YmUgYWRkIGJvcmRlciBjb2xvcnMgZm9yIGZvcm1zKSovXG4vKiBSZWxhdGVkIGxpbmsgY29sb3JzICovXG4vKiBTdGFuZGFyZCBsaW5rIChhIHRhZyBpbiBldy1jb250ZW50IGV0YykgKi9cbi8qIFN0YW5kYXJkIGJ1dHRvbiBjb2xvcnMgKi9cbi8qIE5hdiBjb2xvcnMgKi9cbi8qIEJvZHkgY29sb3IgKGFkZCBjb2xvcnMgZm9yIGxhcmdlciBzZWN0aW9ucyBtYXliZSkgKi9cbi8qIFNpdGUgc3BlY2lmaWsgY29sb3JzICovXG5AaW1wb3J0IHVybCguLi9pbmNsdWRlcy9fbWVkaWFxdWVyaWVzLnNjc3MpO1xuQGltcG9ydCB1cmwoLi4vaW5jbHVkZXMvX21lZGlhcXVlcmllcy5zY3NzKTtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIHNyYzogdXJsKC4uL3d3d3Jvb3QvZm9udHMvUm9ib3RvL1JvYm90by1Cb2xkLnR0Zik7IH1cblxuLyogSU5DTFVERVMgSU1QT1JUUyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTWl4aW5zIGZvciBlYXN5IGFjY2VzcyB0byBkZWZhdWx0IGJlaGF2aW91clxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcclxuKiBDbGVhcmZpeFxyXG4qIEBleHRlbmQgJWNsZWFyZml4O1xyXG4qL1xuI2V3LWNvb2tpZWluZm8tY29udGFpbmVyIHtcbiAgKnpvb206IDE7IH1cbiAgI2V3LWNvb2tpZWluZm8tY29udGFpbmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4vKiBIZWxwaW5nIGZ1bmN0aW9ucyBmb3IgZGVmYXVsdCBDU1MgYmVoYXZpb3VyICovXG4vKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIERlZmF1bHQgbm9ybWFsaXplciAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVscGVyIGNsYXNzZXMgc3R5bGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBJbWFnZSByZXBsYWNlbWVudCAqL1xuLmlyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgKnRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi5pcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4vKiBIaWRkZW4gKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBJbnZpc2libGUgKi9cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQ2xlYXJmaXggKi9cbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uY2xlYXJmaXgge1xuICAqem9vbTogMTsgfVxuXG4uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmJsYWNrIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyogQ2xlYXIgKi9cbi5jbGVhciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIEhlbHBpbmcgY2xhc3NlcyB0aGF0IGNhbiBiZSB1c2VkIGZvciBxdWljayBhbmQgY29tbW9uIGJlaGF2aW91ciAoLmJvbGQsIC5ibGFjaywgZXRjKSAqL1xuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlLXVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlLXVwLXNwZWMge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKC01MCUpOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi8qIENvbnRhaW5zIGFuaW1hdGlvbnMgYXZhaWxhYmxlIHRoYXQgaXMgcnVuIG9uIHJlbmRlciAqL1xuLyoxNSBpbmNoIE1hY2Jvb2sgUHJvKi9cbi8qMTNpbmNoIE1hY2Jvb2sgUHJvKi9cbi8qSXBhZCBwcm8gYW5kIHNtYWxsZXIgbGFwdG9wcyovXG4vKlNtYWxsZXIgdGFibGV0cyovXG4vKklwaG9uZSA3LTgrKi9cbi8qSXBob25lIFggJiBJcGhvbmUgc3RhbmRhcmQgc2l6ZXMqL1xuLyp1c2UgdGhpcyBkb3duIHRvIDMyMHB4Ki9cbi8qIENvbnRhaW5zIGFsbCBtZWRpYXF1ZXJpZXMgKi9cbi8qIE90aGVyIGRlZmF1bHQgQ1NTIGZpbGVzLCBtYWlubHkgd2l0aCBkZWZhdWx0IHN0eWxlcyBmb3IgcHJpbnQsIHNpdGVtYXAgYW5kIEZvcm1zICovXG4vKiBBREQgVEhJUyBMSU5FIFVOREVSIElOIEFMTCBGSUxFUyBZT1UgV0FOVCBUTyBSRUFDSCBWQVJJQUJMRVMgQU5EIE1JWElOUyBFQVNZICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBEZWZhdWx0IGJhc2UgLSBTb21lIGJhc2Ugc2V0dGluZ3MsIHNpdGVtYXAgYW5kIGZvcm1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGFwcGx5IGEgbmF0dXJhbCBib3ggbGF5b3V0IG1vZGVsIHRvIGFsbCBlbGVtZW50cywgYnV0IGFsbG93aW5nIGNvbXBvbmVudHMgdG8gY2hhbmdlICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIGh0bWwgKiwgaHRtbCAqOmJlZm9yZSwgaHRtbCAqOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5uby1zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qYSwgYnV0dG9uIHtcclxuICAgIGNvbG9yOiAkY29sb3ItbGluaztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstaG92ZXI7XHJcbiAgICB9XHJcbn0qL1xuaW5wdXQge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzI1MjQyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG5hLCBidXR0b24ge1xuICBjb2xvcjogI0E5RDMwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbnB1dCB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnBhZ2UtdGl0bGUge1xuICBmb250LXNpemU6IDdyZW07XG4gIGZvbnQtZmFtaWx5OiBiYXNrZXJ2aWxsZS1kaXNwbGF5LXB0LCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5pbnRyb2R1Y3Rpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBiYXNrZXJ2aWxsZS1kaXNwbGF5LXB0LCBzZXJpZjtcbiAgY29sb3I6ICM4MGI3NDA7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogOHJlbTsgfVxuXG4ucmVsYXRlZC1saW5rIHtcbiAgY29sb3I6ICM3ZWI3NDI7XG4gIGZvbnQtZmFtaWx5OiBiYXNrZXJ2aWxsZS1kaXNwbGF5LXB0LCBzZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5yZWxhdGVkLWxpbmsgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMHB4O1xuICAgIHRvcDogMHB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gIC5yZWxhdGVkLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMDQ5YWQ4OyB9XG5cbi8qLnBhZ2UtdGl0bGUge1xyXG4gICAgb3BhY2l0eTowO1xyXG4gICAgJi5hbmltYXRlIHtcclxuICAgICAgICBhbmltYXRpb246ZmFkZS11cCAuNXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb24ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAmLmFuaW1hdGUge1xyXG4gICAgICAgIGFuaW1hdGlvbjogZmFkZS11cCAuNXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XHJcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5Oi4zcztcclxuICAgIH1cclxufSovXG4vKiBDaGVja2xpc3QgZXhhbXBsZXMgKi9cbi8qIFN0eWxpbmcgZm9yIHRpdGxlcyBvbiBhbGwgcGFnZXMgdXNlIHdoYXRldmVyIGNsYXNzbmFtZXMgeW91IHdhbnQgXHJcblxyXG4ucGFnZS10aXRsZSB7XHJcblxyXG59XHJcblxyXG4qL1xuLyogU3R5bGluZyBmb3IgaW50cm9kdWN0aW9uIGZvciBhbGwgcGFnZXMgdXNlIHdoYXRldmVyIGNsYXNzbmFtZXMgeW91IHdhbnRcclxuXHJcbi5pbnRyb2R1Y3Rpb24ge1xyXG5cclxufVxyXG5cclxuKi9cbi8qIEVkaXRvciBpbWFnZXMgKi9cbi8qaW1nLmZyLWRpYiB7XHJcbiAgbWFyZ2luOiAwcHggYXV0bztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmbG9hdDogbm9uZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcbmltZy5mci1kaWIuZnItZmlsIHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG5pbWcuZnItZGliLmZyLWZpciB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcbmltZy5mci1kaWkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmbG9hdDogbm9uZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbn1cclxuaW1nLmZyLWRpaS5mci1maWwge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5pbWcuZnItZGlpLmZyLWZpciB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbjogMDtcclxufSovXG4vKiBNZWRpYSBwcmludCAqL1xuLypAbWVkaWEgcHJpbnQge1xyXG4gICAgKiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGEsIGE6dmlzaXRlZCB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYVtocmVmXTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XHJcbiAgICB9XHJcblxyXG4gICAgYWJiclt0aXRsZV06YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcclxuICAgIH1cclxuXHJcbiAgICAuaXIgYTphZnRlciwgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLCBhW2hyZWZePVwiI1wiXTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwcmUsIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbiAgICB9XHJcblxyXG4gICAgdHIsIGltZyB7XHJcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQHBhZ2Uge1xyXG4gICAgICAgIG1hcmdpbjogMC41Y207XHJcbiAgICB9XHJcblxyXG4gICAgcCwgaDIsIGgzIHtcclxuICAgICAgICBvcnBoYW5zOiAzO1xyXG4gICAgICAgIHdpZG93czogMztcclxuICAgIH1cclxuXHJcbiAgICBoMiwgaDMge1xyXG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xyXG4gICAgfVxyXG59Ki9cbi8qIERlZmF1bHQgc2l0ZW1hcCAqL1xuLyouZ2Vuc2l0ZW1hcCB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nOiAyJTtcclxuICAgICAgICB3aWR0aDogMzAuMzMzMzMzMzMzJTtcclxuICAgICAgICBtYXJnaW46IDAgMS41JSAzJSAxLjUlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcblxyXG4gICAgICAgIGxpIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250X3NpemVfbWFpbisyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkgYTpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sYXN0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICNkZmRmZGY7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuXHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwgbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250X3NpemVfbWFpbjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZ2Vuc2l0ZW1hcC0yLWNvbCB1bCBsaSB7XHJcbiAgICB3aWR0aDogNDclO1xyXG59Ki9cbi8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cbi5mb3JtIC5mb3JtY2FwdGNoYTIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0td3JhcCB7XG4gIHdpZHRoOiA5MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA1MHB4OyB9XG5cbi5mb3JtIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmctdG9wOiA1MHB4OyB9XG4gIC5mb3JtIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qYm94LXNoYWRvdzogaW5zZXQgMHB4IDJweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsqL1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgLypib3JkZXItcmFkaXVzOiA1cHg7Ki8gfVxuICAgIC5mb3JtIGxhYmVsIC5jaGVja2JveC1vayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5mb3JtIGxhYmVsIC5jaGVja2JveC1vayAuYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9jaGVja2JveC5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGFuaW1hdGlvbjogc3BpbiAxNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyB9XG4gICAgICAuZm9ybSBsYWJlbCAuY2hlY2tib3gtb2sgLmNoZWNrbWFyayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvY2hlY2ttYXJrLnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG4gICAgLmZvcm0gbGFiZWwgLnBsYWNlaG9sZGVyLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLypsZWZ0OiAxNXB4OyovXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmZvcm0gbGFiZWwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIC5mb3JtIGxhYmVsIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgLmZvcm0gbGFiZWwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAuZm9ybSBsYWJlbCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAuZm9ybSBsYWJlbCBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIC5mb3JtIGxhYmVsIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgLmZvcm0gbGFiZWwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMDtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuZm9ybSBsYWJlbCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4gICAgICAuZm9ybSBsYWJlbCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuICAgICAgLmZvcm0gbGFiZWwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbiAgICAgIC5mb3JtIGxhYmVsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgICAgLmZvcm0gbGFiZWwgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbiAgICAgIC5mb3JtIGxhYmVsIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gICAgICAuZm9ybSBsYWJlbCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5mb3JtIGxhYmVsIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyArIC5wbGFjZWhvbGRlci10ZXh0LFxuICAgICAgICAuZm9ybSBsYWJlbCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzICsgLnBsYWNlaG9sZGVyLXRleHQsXG4gICAgICAgIC5mb3JtIGxhYmVsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMgKyAucGxhY2Vob2xkZXItdGV4dCxcbiAgICAgICAgLmZvcm0gbGFiZWwgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMgKyAucGxhY2Vob2xkZXItdGV4dCxcbiAgICAgICAgLmZvcm0gbGFiZWwgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyArIC5wbGFjZWhvbGRlci10ZXh0LFxuICAgICAgICAuZm9ybSBsYWJlbCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzICsgLnBsYWNlaG9sZGVyLXRleHQsXG4gICAgICAgIC5mb3JtIGxhYmVsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyArIC5wbGFjZWhvbGRlci10ZXh0IHtcbiAgICAgICAgICB0b3A6IC0xN3B4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5mb3JtIGxhYmVsIHRleHRhcmVhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTVweCAyMHB4IDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5mb3JtIGxhYmVsIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjN2ViNzQyO1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5mb3JtIGxhYmVsIHRleHRhcmVhOmZvY3VzICsgLnBsYWNlaG9sZGVyLXRleHQge1xuICAgICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5mb3JtIGxhYmVsW2Zvcj1NZWRkZWxhbmRlXSB7XG4gICAgaGVpZ2h0OiAyMjVweDsgfVxuICAgIC5mb3JtIGxhYmVsW2Zvcj1NZWRkZWxhbmRlXSBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRvcDogMjBweDsgfVxuXG4udGV4dGFyZWEtbGFiZWwge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC50ZXh0YXJlYS1sYWJlbCAucGxhY2Vob2xkZXItdGV4dCB7XG4gICAgdG9wOiAtMzBweCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0YXJlYS1sYWJlbCB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLyouZm9ybSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgJi52YWxpZCB7XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhbmdlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBsYWNlaG9sZGVyLXRleHQge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMTdweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudmFsaWQge1xyXG4gICAgICAgICAgICAuY2hlY2tib3gtb2sge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBsYWNlaG9sZGVyLXRleHQge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMTdweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWxbZm9yPU1lZGRlbGFuZGVdIHtcclxuICAgICAgICAmLmZvcm0tdmFsaWRhdGlvbi1vayB7XHJcblxyXG4gICAgICAgICAgICAucGxhY2Vob2xkZXItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0zMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Ki9cbi5mb3JtIC52YWxpZCArIC5wbGFjZWhvbGRlci10ZXh0IHtcbiAgdG9wOiAtMTlweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI0E5RDMwMDsgfVxuXG4uZm9ybSAuaW5wdXQtdmFsaWRhdGlvbi1lcnJvciArIC5wbGFjZWhvbGRlci10ZXh0IHtcbiAgY29sb3I6IHJlZDtcbiAgdG9wOiAtMTlweDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5mb3JtLWFjdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5idXR0b24sXG4uZm9ybSBidXR0b24sXG4uZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmZvcm0gaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLmZvcm0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMsXG4gIC5mb3JtIGJ1dHRvbjpob3ZlcixcbiAgLmZvcm0gYnV0dG9uOmZvY3VzLFxuICAuZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuICAuZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuICAuZm9ybSBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4gIC5mb3JtIGlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbiAgLmZvcm0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcbiAgLmZvcm0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzdlYjc0MjsgfVxuICAuYnV0dG9uOmFjdGl2ZSxcbiAgLmZvcm0gYnV0dG9uOmFjdGl2ZSxcbiAgLmZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUsXG4gIC5mb3JtIGlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXG4gIC5mb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuICAuYnV0dG9uLFxuICAuZm9ybSBidXR0b24sXG4gIC5mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gIC5mb3JtIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgLmZvcm0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHdpZHRoOiAyODVweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLmZvcm0ge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuZm9ybS1hY3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgLmZvcm0gbGFiZWwgLnBsYWNlaG9sZGVyLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cbi5ldyBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmV3ICoge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmV3IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuZXcgdWwgbGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAyMlwiO1xuICAgIC8qIEFkZCBjb250ZW50OiBcXDIwMjIgaXMgdGhlIENTUyBDb2RlL3VuaWNvZGUgZm9yIGEgYnVsbGV0ICovXG4gICAgY29sb3I6ICMwNDlhZDg7XG4gICAgLyogQ2hhbmdlIHRoZSBjb2xvciAqL1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIC8qIElmIHlvdSB3YW50IGl0IHRvIGJlIGJvbGQgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogTmVlZGVkIHRvIGFkZCBzcGFjZSBiZXR3ZWVuIHRoZSBidWxsZXQgYW5kIHRoZSB0ZXh0ICovXG4gICAgd2lkdGg6IDEuMmVtO1xuICAgIC8qIEFsc28gbmVlZGVkIGZvciBzcGFjZSAodHdlYWsgaWYgbmVlZGVkKSAqL1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIC8qIEFsc28gbmVlZGVkIGZvciBzcGFjZSAodHdlYWsgaWYgbmVlZGVkKSAqLyB9XG5cbi5ldyBwIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5ldy1zbGltIHtcbiAgd2lkdGg6IDkxJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDEwcmVtOyB9XG5cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk5O1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5oZWFkZXIgLmxvZ28sIC5oZWFkZXIgLm1lbnUtd3JhcHBlciB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDUwcHggMTAwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDsgfVxuICAuaGVhZGVyIC5tZW51LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgLm1lbnUtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmhlYWRlciAubWVudS13cmFwcGVyIC5idXJnZXIge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlEMzAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOyB9XG4gICAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgLmJ1cmdlcjphZnRlciwgLmhlYWRlciAubWVudS13cmFwcGVyIC5idXJnZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7IH1cbiAgICAgIC5oZWFkZXIgLm1lbnUtd3JhcHBlciAuYnVyZ2VyOmJlZm9yZSB7XG4gICAgICAgIHRvcDogNDIlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgLmJ1cmdlcjphZnRlciB7XG4gICAgICAgIHRvcDogNTglO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmhlYWRlciAubWVudS13cmFwcGVyIC5yb3RhdGU6YWZ0ZXIge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuICAgIC5oZWFkZXIgLm1lbnUtd3JhcHBlciAucm90YXRlOmJlZm9yZSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5oZWFkZXIgLm1lbnUtd3JhcHBlcjpob3ZlciA+IC5idXJnZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMjMpOyB9XG4gICAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXI6aG92ZXIgPiAuYnVyZ2VyOmJlZm9yZSwgLmhlYWRlciAubWVudS13cmFwcGVyOmhvdmVyID4gLmJ1cmdlcjphZnRlciB7XG4gICAgICAgIHdpZHRoOiA3MCU7IH1cbiAgLmhlYWRlciAubmF2LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogNDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7IH1cbiAgICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IC5tZW51LWRldGFpbHMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7IH1cbiAgICAgICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCAubWVudS1kZXRhaWxzIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgLm1lbnUtZGV0YWlscyBhOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGNvbG9yOiAjQTlEMzAwOyB9XG4gICAgICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IG5hdiB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCBuYXYgdWwgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCBuYXYgdWwgbGkgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgbmF2IHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgICAgICAgICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IG5hdiB1bCBsaTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzOyB9XG4gICAgICAgICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCBuYXYgdWwgbGk6aG92ZXIgYSwgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCBuYXYgdWwgbGk6Zm9jdXMgYSwgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCBuYXYgdWwgbGk6YWN0aXZlIGEge1xuICAgICAgICAgICAgY29sb3I6ICNBOUQzMDA7IH1cbiAgICAgICAgICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IG5hdiB1bCBsaTpob3ZlcjphZnRlciwgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCBuYXYgdWwgbGk6Zm9jdXM6YWZ0ZXIsIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgbmF2IHVsIGxpOmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlEMzAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCBuYXYgLmFjdGl2ZSBhIHtcbiAgICAgICAgY29sb3I6ICNBOUQzMDA7IH1cbiAgICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgbmF2IC5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQTlEMzAwOyB9XG4gIC5oZWFkZXIgLm9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCB7XG4gICAgd2lkdGg6IDcwJTsgfVxuICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgbmF2IHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IG5hdiB1bCBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgLm1lbnUtZGV0YWlscyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGVyIC5uYXYtd3JhcHBlciB7XG4gICAgd2lkdGg6IDkwJTsgfVxuICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IC5tZW51LWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3MHB4KSB7XG4gIC5oZWFkZXIgLmxvZ28sIC5oZWFkZXIgLm1lbnUtd3JhcHBlciB7XG4gICAgbWFyZ2luOiA1MHB4IDUwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gIC5oZWFkZXIgLmxvZ28gaW1nIHtcbiAgICB3aWR0aDogMTIwcHg7IH1cbiAgLmhlYWRlciAubG9nbywgLmhlYWRlciAubWVudS13cmFwcGVyIHtcbiAgICBtYXJnaW46IDIwcHggMjBweCAhaW1wb3J0YW50OyB9XG4gIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgbmF2IHVsIGxpOmFmdGVyIHtcbiAgICB3aWR0aDogMjBweDsgfVxuICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IG5hdiB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCAubWVudS1kZXRhaWxzIGE6Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgLmJ1cmdlciB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAzMHB4OyB9XG4gIC5oZWFkZXIgLm1lbnUtd3JhcHBlciAubWVudS10ZXh0IHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmhlYWRlciAubmF2LXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRGVmYXVsdCBiYXNlIC0gU29tZSBiYXNlIHNldHRpbmdzLCBzaXRlbWFwIGFuZCBmb3JtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBhcHBseSBhIG5hdHVyYWwgYm94IGxheW91dCBtb2RlbCB0byBhbGwgZWxlbWVudHMsIGJ1dCBhbGxvd2luZyBjb21wb25lbnRzIHRvIGNoYW5nZSAqL1xuLmZvb3RlciB7XG4gIG1hcmdpbjogMTAwcHggMCAyMHB4IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjQTlEMzAwOyB9XG4gIC5mb290ZXIgLmRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mb290ZXIgLmRldGFpbHMgYTpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuZm9vdGVyIHAsIC5mb290ZXIgYSwgLmZvb3RlciBsaSwgLmZvb3RlciBzcGFuLCAuZm9vdGVyIGFiYnIge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmZvb3RlciAuYWRkcmVzcywgLmZvb3RlciAubG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mb290ZXIgLmxvZ28ge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZvb3RlciAuY29udGFjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZvb3RlciAuY29udGFjdCAucGhvbmUge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmZvb3Rlci1ib3R0b20ge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmZvb3Rlci1ib3R0b20gcCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLmZvb3Rlci1ib3R0b20gcDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLnNwaGlueCB7XG4gIG9wYWNpdHk6IC4yOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuZm9vdGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZvb3RlciAubG9nbyB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuZm9vdGVyIC5hZGRyZXNzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuZm9vdGVyIG5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvb3RlciAuY29udGFjdCwgLmZvb3RlciAuZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5mb290ZXItYm90dG9tIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZm9vdGVyIHAsIC5mb290ZXIgYSwgLmZvb3RlciBsaSwgLmZvb3RlciBzcGFuLCAuZm9vdGVyIGFiYnIge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbi8qIFV0aWxzIGltcG9ydHMsIHVzZWQgZm9yIGV4LiBfY29udGFpbmVycy5zY3NzLCBfc3RhbmRhcmQtYnRuLnNjc3MgZXRjLiBzdGFuZGFyZCB0aGluZ3MgdGhhdCB3ZSB1c2UgdGhyb3VnaG91dCB0aGUgc2l0ZS4gKi9cbi5jb250YWluZXIge1xuICB3aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zbWFsbC1jb250YWluZXIge1xuICB3aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDEwMHB4IGF1dG87IH1cblxuLngtc21hbGwtY29udGFpbmVyIHtcbiAgd2lkdGg6IDkwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ubGFyZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDE2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udGV4dC1pbWFnZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNzB2aDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmxhcmdlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE1MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTIwMHB4OyB9XG4gIC5sYXJnZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMjAwcHg7IH1cbiAgLnNtYWxsLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMDBweDsgfVxuICAudGV4dC1pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMjRweDsgfVxuICAubGFyZ2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAyNHB4OyB9XG4gIC5zbWFsbC1jb250YWluZXIsIC54LXNtYWxsLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDgwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHdpZHRoOiA4MDBweDsgfVxuICAudGV4dC1pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogNTB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3MHB4KSB7XG4gIC5jb250YWluZXIsIC5sYXJnZS1jb250YWluZXIge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgLnRleHQtaW1hZ2UtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNDBweDsgfVxuICAuc21hbGwtY29udGFpbmVyLCAueC1zbWFsbC1jb250YWluZXIge1xuICAgIHdpZHRoOiA5MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudGV4dC1pbWFnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDU2dmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAudGV4dC1pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogNTB2aDsgfSB9XG5cbi8qIERlZmF1bHQgc3R5bGluZyBmb3IgZm9ybXMgKi9cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zcGFjZS1iZXR3ZWVuIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uY2VudGVyLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5yZWYtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnNwLWJ0LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLnJlZi1mbGV4IHtcbiAgICBtYXJnaW4tdG9wOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAubXEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zcC1idC13cmFwIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbi5zdGFydHBhZ2UtaGVhZGVyIGgxIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNzAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZS1pbi1vdXQgMHMgZm9yd2FyZHM7IH1cblxuLmhlYWRpbmctbSB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlLWluLW91dCAwcyBmb3J3YXJkczsgfVxuXG4uaGVhZGluZy1wYWdlIGgyIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5oZWFkaW5nLXN0YW5kYXJkIGgyIHtcbiAgZm9udC1zaXplOiA1MHB4O1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5oZWFkaW5nLXNtYWxsIGgyIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50ZXh0LXRpdGxlIGgyIHtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5yZWYtdGl0bGUgaDEge1xuICBmb250LXNpemU6IDEwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTIwMHB4OyB9XG5cbi5jZW50ZXItdGV4dCBoMyB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW46IDIwMHB4IGF1dG8gMzAwcHggYXV0bzsgfVxuXG4uZXcge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxLjJweDtcbiAgcGFkZGluZzogMjRweCAwOyB9XG5cbi53aGl0ZSB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAucmVmLXRpdGxlIGgxIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5oZWFkaW5nLW0ge1xuICAgIGZvbnQtc2l6ZTogNDVweDsgfVxuICAuY2VudGVyLXRleHQgaDMge1xuICAgIHdpZHRoOiA3MCU7IH1cbiAgLmhlYWRpbmctc3RhbmRhcmQgaDIge1xuICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuICAuZXcge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXRpdGxlIGgyIHtcbiAgICBmb250LXNpemU6IDQwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRpbmctbSB7XG4gICAgZm9udC1zaXplOiA0MHB4OyB9XG4gIC5oZWFkaW5nLXN0YW5kYXJkIGgyIHtcbiAgICBmb250LXNpemU6IDQwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NzBweCkge1xuICAuc3RhcnRwYWdlLWhlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbnRlci10ZXh0IGgzIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAudGV4dC1zZWN0aW9uIC5ldyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRpbmctc3RhbmRhcmQgaDIge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmV3IHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLnJlZi10aXRsZSBoMSB7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMjNweDsgfVxuICAuaGVhZGluZy1tIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgLnRleHQtdGl0bGUgaDIge1xuICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAuaGVhZGluZy1wYWdlIGgyIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLmNlbnRlci10ZXh0IGgzIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgLmhlYWRpbmctc21hbGwgaDIge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAuaGVhZGluZy1tIGgxIHtcbiAgICBmb250LXNpemU6IDQwcHggIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnJlZi10aXRsZSBoMSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGJvdHRvbTogaW5pdGlhbDtcbiAgICB0b3A6IC05MXB4OyB9XG4gIC5oZWFkaW5nLXN0YW5kYXJkIGgyIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc1cHgpIHtcbiAgLnRleHQtdGl0bGUgaDIge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfSB9XG5cbi5pbmxpbmUtYnRuLCAuaW5saW5lLWJ0bi13aGl0ZSwgLmJ0biB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5pbmxpbmUtYnRuOmFmdGVyLCAuaW5saW5lLWJ0bi13aGl0ZTphZnRlciwgLmJ0bjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHdpZHRoOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuICAuaW5saW5lLWJ0bjpob3ZlcjphZnRlciwgLmlubGluZS1idG4td2hpdGU6aG92ZXI6YWZ0ZXIsIC5idG46aG92ZXI6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5pbmxpbmUtYnRuLCAuYnRuIHtcbiAgY29sb3I6ICMwMDA7IH1cbiAgLmlubGluZS1idG46YWZ0ZXIsIC5idG46YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNBOUQzMDA7IH1cbiAgLmlubGluZS1idG46aG92ZXI6aG92ZXIsIC5idG46aG92ZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjQTlEMzAwOyB9XG5cbi5pbmxpbmUtYnRuLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmlubGluZS1idG4td2hpdGU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLmlubGluZS1idG4td2hpdGU6aG92ZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5saW5rLWJ0biB7XG4gIGNvbG9yOiAjQTlEMzAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gIC5pbmxpbmUtYnRuLCAuaW5saW5lLWJ0bi13aGl0ZSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuLyogQ29tcG9uZW50cyBpbXBvcnRzLCB1c2VkIGZvciBhbGwgc21hbGxlciBjb21wb25lbnRzICovXG4vKiBBREQgVEhJUyBMSU5FIFVOREVSIElOIEFMTCBGSUxFUyBZT1UgV0FOVCBUTyBSRUFDSCBWQVJJQUJMRVMgQU5EIE1JWElOUyBFQVNZICovXG4uaGVybyB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5oZXJvLWJsb2IgaDEge1xuICAvKm1hcmdpbi1sZWZ0OiAxMCU7Ki8gfVxuXG4uaGVyby1ibG9iIHN2ZyB7XG4gIGxlZnQ6IDUlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAudHlwZS1zdGFydHBhZ2UgLmhlcm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhlcm8tYmxvYiBoMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAuYXV0by1zbGljayAuc2xpY2stc2xpZGUgLmJnLXdyYXAge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiA0MDBweDsgfVxuICAuaGVybyB7XG4gICAgaGVpZ2h0OiA3NXZoOyB9XG4gIC5oZXJvLWJsb2Igc3ZnIHtcbiAgICBsZWZ0OiAwOyB9IH1cblxuLyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xuc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgZmlsbDogI0E5RDMwMDsgfVxuXG4ubmV4dC1idG4sIC5wcmV2LWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgc3Ryb2tlOiAjMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm5leHQtYnRuOmFmdGVyLCAucHJldi1idG46YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogNDVweDtcbiAgICB3aWR0aDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiAjQTlEMzAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogLTI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgLm5leHQtYnRuOmhvdmVyLCAucHJldi1idG46aG92ZXIge1xuICAgIHN0cm9rZTogI2ZmZjsgfVxuICAgIC5uZXh0LWJ0bjpob3ZlcjphZnRlciwgLnByZXYtYnRuOmhvdmVyOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnBhZ2Utc3ZnIHN2ZyB7XG4gIHRvcDogNjAlO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gIC5oZXJvLWJsb2Igc3ZnLCAuaGVybyBzdmcge1xuICAgIGhlaWdodDogNzAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NzBweCkge1xuICAuaGVyby1ibG9iIHN2ZyB7XG4gICAgd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA2MDBweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgc3ZnIHtcbiAgICB3aWR0aDogODAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgLmhlcm8tYmxvYiBzdmcge1xuICAgIHdpZHRoOiA0MDBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNDAwcHggIWltcG9ydGFudDsgfSB9XG5cbi8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cbi5pbWFnZS1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcCBpbWcge1xuICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgIHdpZHRoOiA1MDBweDsgfVxuICAgIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwOmZpcnN0LWNoaWxkIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcDpsYXN0LWNoaWxkIHtcbiAgICAgIHRvcDogMjAwcHg7XG4gICAgICBsZWZ0OiAyMCU7IH1cblxuLnRleHQtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcbiAgcmlnaHQ6IDUlO1xuICB0b3A6IDEyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcCBpbWcge1xuICAgIGhlaWdodDogMzAwUFg7XG4gICAgd2lkdGg6IDQwMFBYOyB9XG4gIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwOmxhc3QtY2hpbGQge1xuICAgIHRvcDogOTBweDtcbiAgICBsZWZ0OiA5JTsgfVxuICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcDpmaXJzdC1jaGlsZCB7XG4gICAgbGVmdDogNjYlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpOyB9XG4gIC50ZXh0LXNlY3Rpb24ge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogOTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaGVyby1ibG9iIHN2ZyB7XG4gICAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xuLnNlcnZpY2Utc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTAwcHggMDsgfVxuICAuc2VydmljZS1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIGhlaWdodDogNjAwcHg7IH1cbiAgLnNlcnZpY2Utc2xpZGVyIC5iZy13cmFwIHtcbiAgICBoZWlnaHQ6IDU4MHB4O1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXAgPiBhIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNlcnZpY2Utc2xpZGVyIC5iZy13cmFwIC5iZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLnNlcnZpY2Utc2xpZGVyIC5iZy13cmFwIC5ib3gge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5zZXJ2aWNlLXNsaWRlciAuYmctd3JhcCAuYm94IGEge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXAgLmJveCBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjQTlEMzAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cbiAgICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXA6aG92ZXIgYSB7XG4gICAgICBjb2xvcjogI0E5RDMwMDsgfVxuICAgICAgLnNlcnZpY2Utc2xpZGVyIC5iZy13cmFwOmhvdmVyIGE6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuXG4uc2xpY2std3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2xpY2std3JhcHBlciAucGFnZS1ibHVyYiB7XG4gICAgdG9wOiAtMTUwcHg7XG4gICAgcmlnaHQ6IDMwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTsgfVxuXG4uYXV0by1zbGljayAuc2xpY2stc2xpZGUgLmJnLXdyYXAge1xuICB3aWR0aDogNjAwcHg7XG4gIGhlaWdodDogNjUwcHg7IH1cbiAgLmF1dG8tc2xpY2sgLnNsaWNrLXNsaWRlIC5iZy13cmFwIC5iZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hdXRvLXNsaWNrIC5zbGljay1zbGlkZSAuYmctd3JhcDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG5cbi5hdXRvLXNsaWNrIC5jdXN0b21fcGFnaW5nIHtcbiAgbGVmdDogMTE2MHB4O1xuICBib3R0b206IC01MHB4OyB9XG5cbi5zbGlkZS1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0MDBweDtcbiAgbWluLWhlaWdodDogMTMwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3R0b206IC0zMHB4O1xuICByaWdodDogNTBweDtcbiAgcGFkZGluZzogMjBweCAzMHB4OyB9XG4gIC5zbGlkZS1ib3ggaDEge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnNsaWRlLWJveCBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cblxuLnBhZ2UgLnNsaWRlLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UgaW1nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIGhlaWdodDogNjAwcHg7IH1cblxuLnBhZ2UgYSB7XG4gIGNvbG9yOiAjQTlEMzAwOyB9XG5cbi5yZWZlcmVuY2UtcGFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJlZmVyZW5jZS1wYWdlIC5yZWZlcmVuY2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLnJlZmVyZW5jZS1wYWdlIC5zbGljay1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgLnJlZmVyZW5jZS1wYWdlIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiA1MSU7IH1cbiAgLnJlZmVyZW5jZS1wYWdlIC5zbGljay1wcmV2IHtcbiAgICByaWdodDogNTElOyB9XG4gIC5yZWZlcmVuY2UtcGFnZSAuYmctd3JhcCB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICB3aWR0aDogODAwcHg7IH1cbiAgICAucmVmZXJlbmNlLXBhZ2UgLmJnLXdyYXAgLmJnIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLndyYXBwZXIge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC53cmFwcGVyIHN2ZyB7XG4gICAgbGVmdDogLTMwMHB4O1xuICAgIGJvdHRvbTogLTIwMHB4OyB9XG5cbi5yZWYtbmV4dCwgLnJlZi1wcmV2IHtcbiAgcGFkZGluZzogMjVweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJlZi1wcmV2IHtcbiAgcmlnaHQ6IDUwJTsgfVxuXG4ucmVmLW5leHQge1xuICBsZWZ0OiA1MCU7IH1cbiAgLnJlZi1uZXh0IGltZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4ucmVmLW5leHQtc3RhcnQsIC5yZWYtcHJldi1zdGFydCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGJvdHRvbTogMTUwcHg7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBwYWRkaW5nOiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJlZi1uZXh0LXN0YXJ0IHtcbiAgbGVmdDogNTElOyB9XG4gIC5yZWYtbmV4dC1zdGFydCBpbWcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLnJlZi1wcmV2LXN0YXJ0IHtcbiAgcmlnaHQ6IDQ5JTsgfVxuXG4ucmVmZXJlbmNlLXNsaWRlci1zdGFydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmVmZXJlbmNlLXNsaWRlci1zdGFydCAudGV4dC10aXRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDgwcHg7XG4gICAgdG9wOiAtNDBweDsgfVxuICAucmVmZXJlbmNlLXNsaWRlci1zdGFydCAuaW5saW5lLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogLTUwcHg7IH1cbiAgLnJlZmVyZW5jZS1zbGlkZXItc3RhcnQgLnBhZ2UtYmx1cmIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMDBweDtcbiAgICBsZWZ0OiAtMzUwcHg7IH1cblxuLnN0YXJ0LXJlZi1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMzAwcHggYXV0byAwIGF1dG87IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLmN1c3RvbV9wYWdpbmcge1xuICAgIHJpZ2h0OiAtNTBweDtcbiAgICBib3R0b206IDEwMHB4OyB9XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5zbGljay10cmFjayB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IDgxNXB4OyB9XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5zdGFydC1yZWYtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAxNDBweDtcbiAgICAgIHdpZHRoOiA1MDBweDsgfVxuICAgICAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAuc3RhcnQtcmVmLXNsaWRlciAuc3RhcnQtcmVmLXdyYXBwZXIgLmNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luOiA1cHggMDsgfVxuICAgICAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IGEge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5iZy13cmFwOm50aC1jaGlsZCgyKSB7XG4gICAgaGVpZ2h0OiA3NjJweDtcbiAgICB3aWR0aDogNjM5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTBweDtcbiAgICBsZWZ0OiA4MHB4O1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLmJnLXdyYXA6bGFzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiA2NjRweDtcbiAgICB3aWR0aDogODA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5iZy13cmFwIC5iZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmN1c3RvbV9wYWdpbmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTIwcHg7XG4gIHdpZHRoOiAxMjBweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmN1c3RvbV9wYWdpbmcgbGkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmN1c3RvbV9wYWdpbmcgLnNsaWNrLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTsgfVxuICAuc2xpY2stZG90cyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLnNsaWNrLWRvdHMgLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICNBOUQzMDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gIC5yZWZlcmVuY2UtcGFnZSAuYmctd3JhcCB7XG4gICAgaGVpZ2h0OiA0MDBweDsgfVxuICAuc2VydmljZS1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIGhlaWdodDogNTAwcHg7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5zZXJ2aWNlLXNsaWRlciAuYmctd3JhcCB7XG4gICAgaGVpZ2h0OiA0NTBweDsgfVxuICAgIC5zZXJ2aWNlLXNsaWRlciAuYmctd3JhcCAuYm94IHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogMjAwcHg7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgcmlnaHQ6IDcycHg7XG4gICAgd2lkdGg6IDUwMHB4OyB9XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5iZy13cmFwOm50aC1jaGlsZCgyKSB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICB3aWR0aDogNTAwcHg7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLmJnLXdyYXA6bGFzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICB3aWR0aDogNzAwcHg7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLnNsaWNrLXRyYWNrIHtcbiAgICBoZWlnaHQ6IDY1MHB4OyB9XG4gIC5zbGljay13cmFwcGVyIC5wYWdlLWJsdXJiIHtcbiAgICByaWdodDogMDsgfVxuICAuYXV0by1zbGljayAuc2xpY2stc2xpZGUgLmJnLXdyYXAge1xuICAgIHdpZHRoOiA1MDBweDtcbiAgICBoZWlnaHQ6IDU1MHB4OyB9XG4gIC5hdXRvLXNsaWNrIC5jdXN0b21fcGFnaW5nIHtcbiAgICBsZWZ0OiA5NTRweDsgfVxuICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcCBpbWcge1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDQwMHB4OyB9XG4gIC5yZWYtbmV4dC1zdGFydCwgLnJlZi1wcmV2LXN0YXJ0IHtcbiAgICBib3R0b206IDE1MHB4OyB9XG4gIC5yZWZlcmVuY2Utc2xpZGVyLXN0YXJ0IC50ZXh0LXRpdGxlIHtcbiAgICB0b3A6IC0yMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5iZy13cmFwOm50aC1jaGlsZCgyKSB7XG4gICAgbGVmdDogMDsgfVxuICAucmVmLW5leHQtc3RhcnQge1xuICAgIGxlZnQ6IDQ2JTsgfVxuICAucmVmLXByZXYtc3RhcnQge1xuICAgIHJpZ2h0OiA1NCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnJlZi1uZXh0LCAucmVmLXByZXYge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcDpmaXJzdC1jaGlsZCB7XG4gICAgbGVmdDogNDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpOyB9XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5iZy13cmFwOmxhc3QtY2hpbGQge1xuICAgIGhlaWdodDogNTY0cHg7XG4gICAgd2lkdGg6IDUwMHB4OyB9XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5iZy13cmFwOm50aC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc3RhcnQtcmVmLXNsaWRlciAuYmctd3JhcDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucmVmZXJlbmNlLXNsaWRlci1zdGFydCAudGV4dC10aXRsZSB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IC03NHB4OyB9XG4gIC5zdGFydC1yZWYtc2xpZGVyIC5jdXN0b21fcGFnaW5nIHtcbiAgICByaWdodDogLTUwcHg7XG4gICAgYm90dG9tOiAyMDBweDsgfVxuICAucmVmLW5leHQtc3RhcnQsIC5yZWYtcHJldi1zdGFydCB7XG4gICAgYm90dG9tOiAyNTBweDsgfVxuICAucmVmLW5leHQtc3RhcnQge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAucmVmLXByZXYtc3RhcnQge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDBweDtcbiAgICByaWdodDogaW5pdGlhbDtcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgbGVmdDogMDsgfVxuICAuYXV0by1zbGljayAuc2xpY2stc2xpZGUgLmJnLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTUwcHg7IH1cbiAgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zbGljay13cmFwcGVyIC5jdXN0b21fcGFnaW5nIHtcbiAgICBib3R0b206IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTsgfVxuICAuYXV0by1zbGljayAuc2xpY2stc2xpZGUgLmJnLXdyYXA6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2xpY2std3JhcHBlciAucGFnZS1ibHVyYiB7XG4gICAgcmlnaHQ6IDM2JTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUpO1xuICAgIHRvcDogLTE5MHB4OyB9XG4gIC5zbGlkZS1ib3gge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnJlZmVyZW5jZS1wYWdlIC5iZy13cmFwIHtcbiAgICB3aWR0aDogOTAwcHg7IH1cbiAgLnJlZi10aXRsZSBoMSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpOyB9XG4gIC5yZWZlcmVuY2Utc2xpZGUgLnNsaWNrLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJlZmVyZW5jZS1zbGlkZSBtYWluIHtcbiAgICB3aWR0aDogNjAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcwcHgpIHtcbiAgLnRleHQtc2VjdGlvbiB7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5zbGljay10cmFjayB7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50OyB9XG4gIC5zZXJ2aWNlLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgaGVpZ2h0OiBpbml0aWFsOyB9XG4gIC5wcmV2LWJ0biwgLm5leHQtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNlcnZpY2Utc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweDsgfVxuICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXAgLmJveCB7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLmN1c3RvbV9wYWdpbmcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc3RhcnQtcmVmLXNsaWRlciAuc3RhcnQtcmVmLXdyYXBwZXIgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMTIzcHg7IH1cbiAgLnNsaWRlLWJveCB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5yZWZlcmVuY2UtcGFnZSAuYmctd3JhcCB7XG4gICAgd2lkdGg6IDcwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXAgLmJveCB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBib3R0b206IDA7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLmN1c3RvbV9wYWdpbmcge1xuICAgIHJpZ2h0OiAxNXB4OyB9XG4gIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwOmxhc3QtY2hpbGQge1xuICAgIGxlZnQ6IDE4JTsgfVxuICAvKi5pbWFnZS1zZWN0aW9uIC5iZy13cmFwOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBsZWZ0OiAlO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfSovXG4gIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwIGltZyB7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgLnRleHQtc2VjdGlvbiB7XG4gICAgYm90dG9tOiAxMTlweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucmVmZXJlbmNlLXBhZ2UgLmJnLXdyYXAge1xuICAgIHdpZHRoOiA2OTNweDsgfVxuICAuc2xpZGUtYm94IHtcbiAgICB3aWR0aDogODAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWNrLXdyYXBwZXIgLnBhZ2UtYmx1cmIge1xuICAgIHJpZ2h0OiA0NCU7XG4gICAgdG9wOiAtMjQ2cHg7IH1cbiAgLnJlZmVyZW5jZS1wYWdlIC5iZy13cmFwIHtcbiAgICB3aWR0aDogNTgwcHg7IH1cbiAgLnNlcnZpY2Utc2xpZGVyIC5iZy13cmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgaGVpZ2h0OiAzODBweDsgfVxuICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXAgLmJveCBhIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLmJnLXdyYXA6bGFzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiAzODBweDsgfVxuICAuc3RhcnQtcmVmLXNsaWRlciAuc2xpY2stdHJhY2sge1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiA2NTBweDsgfVxuICAuc3RhcnQtcmVmLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMTAwcHggYXV0byAwIGF1dG87IH1cbiAgLmF1dG8tc2xpY2sgLnNsaWNrLXNsaWRlIC5iZy13cmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1OHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgLnBhZ2UgaW1nIHtcbiAgICBoZWlnaHQ6IDMwMHB4OyB9XG4gIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwOmxhc3QtY2hpbGQge1xuICAgIHRvcDogMjVweDtcbiAgICBsZWZ0OiAtMSU7IH1cbiAgLmltYWdlLXNlY3Rpb24gLmJnLXdyYXA6Zmlyc3QtY2hpbGQge1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IC05MXB4OyB9XG4gIC5yZWZlcmVuY2UtcGFnZSAuYmctd3JhcCB7XG4gICAgaGVpZ2h0OiAzMTJweDsgfVxuICAucmVmZXJlbmNlLXBhZ2UgLmJnLXdyYXAge1xuICAgIHdpZHRoOiAzNzFweDsgfVxuICAuc2xpZGUtYm94IHtcbiAgICBtaW4taGVpZ2h0OiBpbml0aWFsOyB9XG4gIC5zbGlkZS1ib3ggcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc3RhcnQtcmVmLXNsaWRlciAuc3RhcnQtcmVmLXdyYXBwZXIgLmNvbnRlbnQge1xuICAgIGJvdHRvbTogMDsgfVxuICAucmVmZXJlbmNlLXNsaWRlci1zdGFydCAudGV4dC10aXRsZSB7XG4gICAgdG9wOiAtNjRweDsgfVxuICAucmVmLW5leHQtc3RhcnQsIC5yZWYtcHJldi1zdGFydCB7XG4gICAgcGFkZGluZzogMTdweDsgfVxuICAuc3RhcnQtcmVmLXNsaWRlciAuc2xpY2stdHJhY2sge1xuICAgIGhlaWdodDogNTA4cHg7IH1cbiAgLnJlZi1uZXh0LXN0YXJ0LCAucmVmLXByZXYtc3RhcnQge1xuICAgIGJvdHRvbTogMTI5cHg7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IGg0IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuc3RhcnQtcmVmLXNsaWRlciAuc3RhcnQtcmVmLXdyYXBwZXIgLmNvbnRlbnQgYSB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5zbGljay13cmFwcGVyIC5wYWdlLWJsdXJiIHtcbiAgICByaWdodDogNTAlO1xuICAgIHRvcDogLTI0NnB4O1xuICAgIGhlaWdodDogMjAwcHg7IH1cbiAgLmF1dG8tc2xpY2sgLnNsaWNrLXNsaWRlIC5iZy13cmFwIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIGhlaWdodDogNDAwcHg7IH1cbiAgLnJlZmVyZW5jZS1wYWdlIC5iZy13cmFwIHtcbiAgICB3aWR0aDogMzQzcHggIWltcG9ydGFudDsgfVxuICAud3JhcHBlciBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNsaWRlLWJveCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0YXJ0LXJlZi1zbGlkZXIgLnNsaWNrLXRyYWNrIHtcbiAgICBoZWlnaHQ6IDUzOHB4OyB9XG4gIC5yZWYtbmV4dC1zdGFydCwgLnJlZi1wcmV2LXN0YXJ0IHtcbiAgICBib3R0b206IDE0NXB4OyB9XG4gIC5zZXJ2aWNlLXNsaWRlciAuYmctd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGhlaWdodDogMzgwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzVweCkge1xuICAucmVmZXJlbmNlLXNsaWRlci1zdGFydCAudGV4dC10aXRsZSB7XG4gICAgdG9wOiAtNjFweDsgfSB9XG5cbi8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cbi5pbWFnZS1ibG9iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAyMDBweCAwOyB9XG4gIC5pbWFnZS1ibG9iIGltZyB7XG4gICAgaGVpZ2h0OiA5MDBweDtcbiAgICB3aWR0aDogNzAwcHg7IH1cbiAgLmltYWdlLWJsb2IgLnRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzUlO1xuICAgIGJvdHRvbTogLTUwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcbiAgICB3aWR0aDogOTAwcHg7XG4gICAgaGVpZ2h0OiA3MDVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9ibHVyYi5iaWcucG5nKTtcbiAgICBoZWlnaHQ6IDcwNXB4O1xuICAgIHdpZHRoOiA4MDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5pbWFnZS1ibG9iIC50ZXh0IC50ZXh0LWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAuaW1hZ2UtYmxvYiAudGV4dCB7XG4gICAgaGVpZ2h0OiA1NzJweDtcbiAgICB3aWR0aDogNjUwcHg7IH1cbiAgICAuaW1hZ2UtYmxvYiAudGV4dCAudGV4dC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgLmltYWdlLWJsb2IgaW1nIHtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIHdpZHRoOiA1MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3MHB4KSB7XG4gIC5pbWFnZS1ibG9iIC50ZXh0IHtcbiAgICBib3R0b206IC0xMzBweDsgfVxuICAuaW1hZ2UtYmxvYiAudGV4dCB7XG4gICAgaGVpZ2h0OiA1MzVweDtcbiAgICB3aWR0aDogNjA0cHg7IH1cbiAgLmltYWdlLWJsb2IgLnRleHQgLnRleHQtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmltYWdlLWJsb2Ige1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmltYWdlLWJsb2IgLnRleHQge1xuICAgIGhlaWdodDogNDU1cHg7XG4gICAgd2lkdGg6IDUyMXB4OyB9XG4gIC50ZXh0LXNlY3Rpb24ge1xuICAgIGJvdHRvbTogMDsgfVxuICAuaW1hZ2UtYmxvYiBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAuaW1hZ2UtYmxvYiB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgLmltYWdlLWJsb2IgLnRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmltYWdlLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmltYWdlLXNlY3Rpb24gLmJnLXdyYXAgaW1nIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwOmZpcnN0LWNoaWxkIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApOyB9IH1cblxuLyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xuLmNvbnRhY3QtaW5mbyB7XG4gIHdpZHRoOiA3MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qLmhlYWRpbmctc3RhbmRhcmR7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH0qLyB9XG4gIC5jb250YWN0LWluZm8gYTpub3QoOmxhc3QtY2hpbGQpLCAuY29udGFjdC1pbmZvIHA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uY28td29ya2VycyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jby13b3JrZXJzIC5jby13b3JrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKnNwYW46bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICB9Ki9cbiAgICAvKmltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMTBweDtcclxuICAgICAgICB9Ki8gfVxuICAgIC5jby13b3JrZXJzIC5jby13b3JrZXIgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDVweCAwOyB9XG4gICAgLmNvLXdvcmtlcnMgLmNvLXdvcmtlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAuY28td29ya2VycyAuY28td29ya2VyIC5iZy13cmFwIHtcbiAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICB3aWR0aDogMzEwcHg7IH1cbiAgICAgIC5jby13b3JrZXJzIC5jby13b3JrZXIgLmJnLXdyYXAgLmJnIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5zdGVwcy13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDIwMHB4IDA7XG4gIHBhZGRpbmc6IDUwcHggMDtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODsgfVxuICAuc3RlcHMtd3JhcCBzcGFuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuc3RlcHMtd3JhcCBzcGFuOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIG1hcmdpbjogMCAxMDBweDsgfVxuICAgIC5zdGVwcy13cmFwIHNwYW4gc3BhbiB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgIC5zdGVwcy13cmFwIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoc3RlcHMtbnVtKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgYmFja2dyb3VuZDogI0E5RDMwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIzKTsgfVxuXG4uZm9ybS10ZXh0IHtcbiAgbWFyZ2luOiAxMDBweCBhdXRvO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IDMwcHg7IH1cblxuLmZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAzMDBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmltYWdlLWJsb2IgLnRleHQgLnRleHQtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3OHB4OyB9XG4gIC5zdGVwcy13cmFwID4gZGl2Om50aC1jaGlsZChvZGQpIHtcbiAgICBtYXJnaW46IDAgNDVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuZm9ybS10ZXh0IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLnN0ZXBzLXdyYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDUwcHggMDsgfVxuICAgIC5zdGVwcy13cmFwIHNwYW4ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuc3RlcHMtd3JhcCBzcGFuIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLnN0ZXBzLXdyYXAgc3BhbjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLnN0ZXBzLXdyYXAgc3BhbjpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luOiAwIDA7IH1cbiAgLmNvbnRhY3QtaW5mbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmNvLXdvcmtlcnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mb3JtLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NzBweCkge1xuICAuY29udGFjdC1pbmZvIC5oZWFkaW5nLXN0YW5kYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmltYWdlLWJsb2IgLnRleHQgLnRleHQtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzM3B4OyB9XG4gIC5pbWFnZS1ibG9iIC50ZXh0IHtcbiAgICByaWdodDogNTYlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgLmZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cblxuLyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xuLmNvbnRlbnQtY29sIC5pbnRyby10ZXh0IHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uY29udGVudC1jb2wgLmV3IHtcbiAgY29sdW1uLWNvdW50OiAyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAuY29udGVudC1jb2wgLmludHJvLXRleHQge1xuICAgIHdpZHRoOiA3MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRlbnQtY29sIC5ldyB7XG4gICAgY29sdW1uLWNvdW50OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcwcHgpIHtcbiAgLmltYWdlLWJsb2IgLnRleHQge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgYm90dG9tOiAtOTRweDsgfVxuICAuaW1hZ2UtYmxvYiAudGV4dCAudGV4dC1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDY0cHg7IH0gfVxuXG4vKiBBREQgVEhJUyBMSU5FIFVOREVSIElOIEFMTCBGSUxFUyBZT1UgV0FOVCBUTyBSRUFDSCBWQVJJQUJMRVMgQU5EIE1JWElOUyBFQVNZICovXG4ucmVsLWxpbmtzIHtcbiAgbWFyZ2luOiAyMDBweCBhdXRvOyB9XG4gIC5yZWwtbGlua3MgLmxpbmsge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5yZWwtbGlua3MgLmxpbms6bm90KDpudGgtY2hpbGQoM24pKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7IH1cbiAgICAucmVsLWxpbmtzIC5saW5rIC5iZy13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAgIC5yZWwtbGlua3MgLmxpbmsgLmJnLXdyYXAgLmJnIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAucmVsLWxpbmtzIC5saW5rIC5iZy13cmFwIHNwYW4ge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cbiAgICAgIC5yZWwtbGlua3MgLmxpbmsgLmJnLXdyYXA6aG92ZXIgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjQTlEMzAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAucmVsLWxpbmtzIC5saW5rOm5vdCg6bnRoLWNoaWxkKDNuKSkge1xuICAgIG1hcmdpbi1yaWdodDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAucmVsLWxpbmtzIC5saW5rOm5vdCg6bnRoLWNoaWxkKDNuKSkge1xuICAgIG1hcmdpbi1yaWdodDogNTFweDsgfVxuICAucmVsLWxpbmtzIC5saW5rIC5iZy13cmFwIHtcbiAgICBoZWlnaHQ6IDMwM3B4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmNvbnRlbnQtY29sIC5pbnRyby10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsgfVxuICAuc2Vydi1jb250IHtcbiAgICBtYXJnaW4tdG9wOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAucmVsLWxpbmtzIC5saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnJlbC1saW5rcyAubGluayAuYmctd3JhcCB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xuLnRleHQtaXRlbSB7XG4gIG1hcmdpbjogMTUwcHggMDtcbiAgd2lkdGg6IDIyJTsgfVxuICAudGV4dC1pdGVtOm5vdCg6bnRoLWNoaWxkKDRuKSkge1xuICAgIG1hcmdpbi1yaWdodDogNTZweDsgfVxuICAudGV4dC1pdGVtIGg0IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLnRleHQtaXRlbTpub3QoOm50aC1jaGlsZCg0bikpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRlbnQtY29sIC5pbnRyby10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5yZWwtbGlua3MgLmxpbmsgLmJnLXdyYXAge1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cbi5zZXJ2aWNlIHtcbiAgd2lkdGg6IDIzJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMDBweDtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG4gIC5zZXJ2aWNlIC5iZy13cmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwMHB4OyB9XG4gICAgLnNlcnZpY2UgLmJnLXdyYXAgLmJnIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLnNlcnZpY2U6bm90KDpudGgtY2hpbGQoNCkpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgLnNlcnZpY2U6bnRoLWNoaWxkKDRuKzEpLCAuc2VydmljZTpudGgtY2hpbGQoNG4rMikge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5zZXJ2aWNlIC5ldy1hcnRpY2xlLXNlY3Rpb24ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgd2lkdGg6IDM1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM0MHB4O1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgYm90dG9tOiBpbml0aWFsOyB9XG4gICAgLnNlcnZpY2UgLmV3LWFydGljbGUtc2VjdGlvbiBoMSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgd29yZC1icmVhazoga2VlcC1hbGw7IH1cbiAgICAuc2VydmljZSAuZXctYXJ0aWNsZS1zZWN0aW9uIC5ldy1pbnRyb2R1Y3Rpb24ge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc2Vydi1jb250IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDsgfVxuXG4ucGFnZS1zdmcgLnBhZ2UtYmx1cmIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjAlLCA3MCUpO1xuICB6LWluZGV4OiAtMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnBhZ2Utc3ZnIC5wYWdlLWJsdXJiIHtcbiAgICByaWdodDogNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLnNlcnZpY2Uge1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgLnNlcnZpY2U6bm90KDpudGgtY2hpbGQoMykpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgLnNlcnZpY2U6bnRoLWNoaWxkKDRuKzEpLCAuc2VydmljZTpudGgtY2hpbGQoNG4rMikge1xuICAgIG1hcmdpbi10b3A6IGluaXRpYWw7IH1cbiAgLnBhZ2Utc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwMHB4O1xuICAgIHRvcDogNDQlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjAlLCA3MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMCUsIDcwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjAlLCA3MCUpO1xuICAgIHotaW5kZXg6IC0xOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50ZXh0LWl0ZW06bm90KDpudGgtY2hpbGQoM24pKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIC50ZXh0LWl0ZW0ge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgLnNlcnZpY2Uge1xuICAgIHdpZHRoOiA0OCU7IH1cbiAgICAuc2VydmljZSBpbWcge1xuICAgICAgd2lkdGg6IDkwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAudGV4dC1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbnRlbnQtY29sIC5pbnRyby10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5zZXJ2aWNlIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc2VydmljZTpub3QoOm50aC1jaGlsZCg0KSkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc2VydmljZSAuZXctYXJ0aWNsZS1zZWN0aW9uIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucGFnZS1zdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlcnZpY2UgLmJnLXdyYXAge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC50ZXh0LWl0ZW06bm90KDpudGgtY2hpbGQoM24pKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50ZXh0LWl0ZW06bm90KDpudGgtY2hpbGQoNG4pKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcwcHgpIHtcbiAgLnNlcnZpY2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2VydmljZSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuY29udGVudC1jb2wgLmludHJvLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgLnNlcnZpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG4gIC5zZXJ2aWNlIC5iZy13cmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM1MHB4OyB9XG4gIC5zZXJ2aWNlIC5ldy1hcnRpY2xlLXNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWluLWhlaWdodDogMTMwcHg7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7IH1cbiAgLnNlcnZpY2UgLmV3LWFydGljbGUtc2VjdGlvbiBoMSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cbi5yZWZlcmVuY2Utc2xpZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLypvdmVyZmxvdzogaGlkZGVuOyovIH1cbiAgLnJlZmVyZW5jZS1zbGlkZSAuYmctd3JhcCB7XG4gICAgaGVpZ2h0OiA2NTBweDtcbiAgICB3aWR0aDogNTgwcHg7IH1cbiAgICAucmVmZXJlbmNlLXNsaWRlIC5iZy13cmFwIC5iZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5yZWZlcmVuY2Utc2xpZGUgLnNsaWNrLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucmVmZXJlbmNlLXNsaWRlIC5zbGljay1zbGlkZTpudGgtY2hpbGQob2RkKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICAgLnJlZmVyZW5jZS1zbGlkZSAuc2xpY2stc2xpZGU6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAucmVmZXJlbmNlLXNsaWRlIG1haW4ge1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogLTUwcHg7XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgYm90dG9tOiBpbml0aWFsO1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAucmVmZXJlbmNlLXNsaWRlIC5yZWYtbmV4dCwgLnJlZmVyZW5jZS1zbGlkZSAucmVmLXByZXYge1xuICAgIGJvdHRvbTogMDsgfVxuICAucmVmZXJlbmNlLXNsaWRlIC5jb29wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnJlZmVyZW5jZS1zbGlkZSAuYmctd3JhcCB7XG4gICAgaGVpZ2h0OiA2NTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAucmVmZXJlbmNlLXNsaWRlIC5iZy13cmFwIHtcbiAgICBoZWlnaHQ6IDY1MHB4OyB9XG4gIC5yZWZlcmVuY2Utc2xpZGUgLnNsaWNrLXNsaWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucmVmZXJlbmNlLXNsaWRlIC5iZy13cmFwIHtcbiAgICBoZWlnaHQ6IDUwMHB4OyB9XG4gIC5yZWZlcmVuY2Utc2xpZGUgPiAuY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiA3MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5zbGljay1zbGlkZTpudGgtY2hpbGQob2RkKSB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5zbGljay1zbGlkZTpudGgtY2hpbGQoZXZlbikge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcwcHgpIHtcbiAgLnJlZmVyZW5jZS1zbGlkZSBtYWluIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTIwcHg7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAucmVmZXJlbmNlLXNsaWRlIC5zbGljay1zbGlkZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAucmVmZXJlbmNlLXNsaWRlIC5iZy13cmFwIHtcbiAgICBoZWlnaHQ6IDM1MHB4OyB9XG4gIC5yZWZlcmVuY2Utc2xpZGUgbWFpbiB7XG4gICAgdG9wOiAtNThweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogVmlld3MgaW1wb3J0cywgY2FuIGJlIHVzZWQgZm9yIHNwZWNpZmljIHRoaW5ncyBmb3Igc3BlY2lhbCB2aWV3cyAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUzMHB4OyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgb3V0bGluZTogMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2xpY2stYnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MHB4O1xuICByaWdodDogNTBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5wcmV2LWJ0biB7XG4gIHJpZ2h0OiAxMjBweDsgfVxuXG4uc2hvdy1zZXJ2aWNlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNTBweDtcbiAgbGVmdDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc2xpY2stYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNTBweDtcbiAgICByaWdodDogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnByZXYtYnRuIHtcbiAgICByaWdodDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gIC5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAzMzdweDsgfSB9XG5cbi8qIEbvv71yIGVua2VsIHdlYmJ2eSBm77+9ciB0ZW1wbGF0ZW4gbu+/vXIgbWFuIGJ5Z2dlci4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgID09PT09PT09PT09PT09PSAgU2l0ZS1zcGVjaWZpYyBtYWluIENTUyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICBNYWluIGZpbGUgZm9yIGN1c3RvbSBjc3MsIHVzZWQgdG8gc3R5bGUgdGhlIGFjdHVhbCBzaXRlLCBhbmQgc2hvdWxkIGNvbnRhaW4gdGhlIGJ1bGQgb2YgYWxsIGN1c3RvbSBjc3MgZm9yIHRoZSBzaXRlLlxyXG5cclxuICAgIFdoZW4gZ3VscCBpcyBydW4gYW5kIHRoZSBzYXNzIGlzIGNvbXBpbGVkLCBpdCB3aWxsIHJ1biBhZ2FpbnN0IGNzcy5zY3NzIHdoaWNoIHdpbGwgaW5jbHVkZSB0aGlzIGZpbGUuXHJcbiAgICBUaGUgZmluYWwgcmVzdWx0IGVuZCB1cCBhcyBjc3MuY3NzIChpbiB0aGlzIGZvbGRlciBmb3IgZGV2LCBpbiB3d3dyb290L2NzcyBmb3IgcHJvZClcclxuXHJcbiAgICBUaXA6IFVzZSB0aGUgdmFyaWFibGVzIGluIHNpdGUuc2NzcyBmb3IgYSBiZXR0ZXIgYW5kIG1vcmUgbWFpbnRhaW5hYmxlIGZpbGUsIFxyXG4gICAgd2hpY2ggaXMgYXZhaWxhYmxlIGluIGludGVsbGlzZW5zZSB0aGFua3MgdG8gdGhlIDxyZWZlcmVuY2UgcGF0aD1cIlwiIC8+IGFib3ZlLlxyXG4gICAgXHJcbiAgICBFeGFtcGxlczpcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X21haW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnRfc2l6ZV9tYWluO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpbmVfaGVpZ2h0X21haW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAgeyBjb2xvcjogJGNvbG9yX3RleHQ7IH1cclxuICAgICAgICBhIHsgY29sb3I6ICRjb2xvcl9saW5rOyB9XHJcblxyXG4gICAgQ29tbWVudHMgd2lsbCBnZXQgcmVtb3ZlZCBpbiB0aGUgZmluYWwgbWluaWZpZWQgcHJvZHVjdGlvbiBjc3MgaW4gL3d3d3Jvb3QvY3NzL2Nzcy5jc3MsXHJcbiAgICBzbyB0aGVyZSdzIG5vIHJlYXNvbiB0byBiZSBzaHkgdXNpbmcgdGhlbS4gXHJcbiAgICBQcmVmZXIgbXVsdGktbGluZSB1c2FnZSB3aXRoICcvKicgKGxpa2UgdGlzIGNvbW1lbnQpIGluc3RlYWQgb2YgJy8vJyBzaW5jZSBhdXRvIGZvcm1hdHRlcnMgY291bGQgY2F1c2UgaXNzdWVzIHdpdGggJy8vJ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDsgfVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiBjYWxjKDEwcHggKyAwLjV2dyk7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEuNSk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4jcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4vKmgxIHtcclxuICAgIGZvbnQtc2l6ZTogY2FsYygxLjJlbSArIDN2dyk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jd3JhcHBlciBhIHsgY29sb3I6ICMwMTIxNDQ7ICY6aG92ZXIgeyBjb2xvcjogIzAwMDsgfSAgfVxyXG5cclxuI3BhZ2Uge1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIC5ibG9jayB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cclxuXHJcbiAgICAuY29sLTMgPiAqIHtcclxuICAgICAgICB3aWR0aDogMzIlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH0gXHJcbiAgICAuY29sLTIgPiAqIHtcclxuICAgICAgICB3aWR0aDogNDklO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuI2hlYWRlciB7IFxyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIHBhZGRpbmc6IDIwcHggNDBweCAwIDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmOGU3O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2RkY2Q7XHJcblxyXG4gICAgYS5sb2dvIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi10b3A6IC04cHg7fVxyXG5cclxuICAgIG5hdiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMzBweDtcclxuXHJcbiAgICAgICAgdWwgbGkgeyBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgJi5hY3RpdmUgPiBhIHsgY29sb3I6ICMwMDA7IH1cclxuICAgICAgICAgICAgICAgICBhIHsgcGFkZGluZzogNXB4IDE1cHg7IH1cclxuICAgICAgICAgICAgICAgIC5kcm9wZG93biB7IFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6ICNlZWU7IHBhZGRpbmc6IDEwcHg7IG1pbi13aWR0aDogMjAwcHg7IHRvcDogMzBweDsgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAzOyAgICBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXItcmFkaXVzOiAzcHg7IGJvcmRlcjogMXB4IGRhc2hlZCAjZGZlYmM5OyBwYWRkaW5nOiA1cHg7IGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7ICBkaXNwbGF5OiBibG9jaztwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDsgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2RmZWJjOTsgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZHJvcGRvd24geyBkaXNwbGF5OiBub25lO31cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmhvdmVyICB7IGJhY2tncm91bmQtY29sb3I6ICNmMmY4ZTc7ICAgfVxyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Ym1lbnUge1xyXG4gICAgICAgIGxpIGEgeyBmb250LXNpemU6IGNhbGMoOHB4ICsgMC41dncpOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwYWdlIHsgXHJcbiAgICBtaW4taGVpZ2h0OiA0MDBweDsgXHJcbiAgICAuYmxvY2sgeyBib3JkZXI6IDFweCBkYXNoZWQgI2RmZWJjOTsgcGFkZGluZzogMSU7IG1hcmdpbjogMSU7IGJvcmRlci1yYWRpdXM6IDNweDt9XHJcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDJweDsgYm9yZGVyOiAxcHggZGFzaGVkICNkZmViYzk7IGJvcmRlci1yYWRpdXM6IDVweDt9XHJcbiAgICAuY2hpbGQtYmxvY2sgPiAqIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5mbGV4LWNlbnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5oZXJvOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2JhY2tncm91bmQtMTkzMjQ2Nl8xOTIwLTMyMHgyMTIuanBnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAtMjtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIC5oZXJvOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhNDc4NjtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICB9XHJcbn1cclxuXHJcbiNmb290ZXIgeyBcclxuICAgIG1hcmdpbi10b3A6IDkwcHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlOyBwYWRkaW5nLXRvcDogMjBweDsgcGFkZGluZy1ib3R0b206IDEwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IHBhZGRpbmc6IDEwcHggMTAlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgPiBuYXYgPiB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbi1yaWdodDogODBweDsgPiBsaSB7IHBhZGRpbmc6IDVweCAxMHB4IDVweCAxMHB4OyBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNkZmViYzk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XHJcbiAgICA+IG5hdiB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IGxpIGEgeyBkaXNwbGF5OiBibG9jazsgfSAgfVxyXG4gICAgPiBuYXYsID4gZGl2IHsgd2lkdGg6IDMwJTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAgfVxyXG4gICAgLnN1Ym1lbnUuZHJvcGRvd24geyBcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDM7IGxlZnQ6IDEyMHB4OyB0b3A6IC0yMCU7ICBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXItcmFkaXVzOiAzcHg7IGJvcmRlcjogMXB4IGRhc2hlZCAjZGZlYmM5OyBwYWRkaW5nOiA1cHg7IGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgbGkgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogOHB4IDEwcHggOHB4IDEwcHg7ICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNkZmViYzk7IH1cclxuICAgICAgICBhIHsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgfVxyXG4gICAgPiBuYXYgPiB1bCBsaTpob3ZlciAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmOGU3OyAgIH1cclxuICAgIC5ib3R0b20tZm9vdGVyIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBjb2xvcjogI2MxY2ZhODtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIH1cclxufSovXG4vKi5zdGFuZGFyZC1wYWdlIHtcclxuICAgIHBhZGRpbmctdG9wOiA4cmVtO1xyXG5cclxuICAgIC5ldy1zbGltIHtcclxuXHJcbiAgICAgICAgLmV3IHtcclxuICAgICAgICAgICAgd2lkdGg6IDg3JTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Ki9cbi8qLnN0YW5kYXJkLXBhZ2Uge1xyXG4gICAgLmV3LXNsaW0ge1xyXG4gICAgICAgIC5ldyB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6MDtcclxuICAgICAgICAgICAgJi5hbmltYXRlIHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjpmYWRlLXVwIC41cyBlYXNlLWluLW91dCBmb3J3YXJkcztcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTouNXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0qL1xuLypAaW5jbHVkZSBsZy1waG9uZSB7XHJcbiAgICAuc3RhbmRhcmQtcGFnZSB7XHJcbiAgICAgICAgLmV3LXNsaW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcclxuXHJcbiAgICAgICAgICAgIC5ldyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSovXG4vKiN3cmFwcGVyIGEubG9nZW8geyB9XHJcblxyXG5cclxuLmZsb2F0aW5nLWxpc3Qge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXgtd2lkdGg6IDQ1JTsgcGFkZGluZzogMiU7XHJcblxyXG4gICAgaW1nIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogNDBweDsgfVxyXG59XHJcblxyXG4uZGV0YWlsZWQtbGlzdCB7XHJcbiAgICA+IGRpdiwgPiB1bCA+IGxpLCA+IHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjZjZmNmY2O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmx1cmItd2lkZSB7XHJcbiAgICBcclxuICAgIGltZyB7IGZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDYwcHg7IH1cclxufVxyXG4uYmx1cmItMiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1heC13aWR0aDogNDUlOyBwYWRkaW5nOiAyJTtcclxuXHJcbiAgICBpbWcgeyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XHJcbn1cclxuLmJsdXJiLTMge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXgtd2lkdGg6IDMwJTsgcGFkZGluZzogMS41JTtcclxuXHJcbiAgICBpbWcgeyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XHJcbn0qL1xuLyogRGVmYXVsdCBzdHlsaW5nIGZvciBmb3JtcyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29va2llIGNvbnRhaW5lciBpbiBib3R0b20gYXNraW5nIGZvciBjb29raWUgYW5kIGludGVncml0eSBjb25zZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jZXctY29va2llaW5mby1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMTVweCAwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBjb2xvcjogI2ZmZjsgfVxuICAjZXctY29va2llaW5mby1jb250YWluZXIgYSB7XG4gICAgY29sb3I6ICNBOUQzMDAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAjZXctY29va2llaW5mby1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDVweDsgfSB9XG4gICNldy1jb29raWVpbmZvLWNvbnRhaW5lci5oaWRkZW4sICNldy1jb29raWVpbmZvLWNvbnRhaW5lciAuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNldy1jb29raWVpbmZvLWNvbnRhaW5lciAuaW5uZXIge1xuICAgIHBhZGRpbmc6IDAgMjVweDsgfVxuICAgICNldy1jb29raWVpbmZvLWNvbnRhaW5lciAuaW5uZXIgc3BhbiB7XG4gICAgICBwYWRkaW5nOiA3cHggMCAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAjZXctY29va2llaW5mby1jb250YWluZXIgLmlubmVyIHNwYW4gYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgICNldy1jb29raWVpbmZvLWNvbnRhaW5lciAuaW5uZXIgc3BhbiBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgI2V3LWNvb2tpZWluZm8tY29udGFpbmVyICNldy1jb29raWVpbmZvLWJ1dHRvbi1vayB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlYjc0MjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAycHggMjVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgI2V3LWNvb2tpZWluZm8tY29udGFpbmVyICNldy1jb29raWVpbmZvLWJ1dHRvbi1vazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICM3ZWI3NDI7XG4gICAgICBib3JkZXItY29sb3I6ICM3ZWI3NDI7IH1cbiIsIi8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImluY2x1ZGVzL19tZWRpYXF1ZXJpZXMuc2Nzc1wiIC8+IFxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICBNYWluIGRlY2xhcmF0aW9uIGFuZCBidWlsZGVyIGZpbGUuIENvbWJpbmVzIG90aGVyIGZpbGVzIGFuZCBzZXRzIGdsb2JhbCB2YXJpYWJsZXMuXHJcblxyXG4gICAgVGhlIG9ubHkgY2hhbmdlcyBpbiB0aGlzIGZpbGUgc2hvdWxkIGJlIHRvIHNldCBkaWZmZXJlbnQgdmFyaWFibGVzIG9yIGFkZCBhZGRpdGlvbmFsIEBpbXBvcnQgXCJ4eHguc2Nzc1wiIHRvIGJlIGluY2x1ZGVkIGluIGVuZCByZXN1bHQuXHJcbiAgICBcclxuICAgIFVzZSBzaXRlLnNjc3MgdG8gd3JpdGUgc2l0ZS1zcGVjaWZpYyBDU1MuXHJcbiAgICBVc2Ugc2l0ZV9tZWRpdW0uc2Nzcy9zaXRlX21vYmlsZS5zY3NzIHRvIHdyaXRlIHJlc3BvbnNpdmUgc2l0ZS1zcGVjaWZpYyBDU1MuXHJcbiAgICBcclxuICAgIFdoZW4gZ3VscCBpcyBydW4gYW5kIHRoZSBzYXNzIGlzIGNvbXBpbGVkLCB0aGlzIHdpbGwgYmUgcnVuIGFuZCB0aGUgaW5jbHVkZWQgZmlsZXMgd2lsbCBiZSBhZGRlZCB0byBpdC5cclxuICAgIFRoZSBmaW5hbCByZXN1bHQgZW5kIHVwIGFzIGNzcy5jc3MgKGluIHRoaXMgZm9sZGVyIGZvciBkZXYsIGluIHd3d3Jvb3QvY3NzIGZvciBwcm9kKS5cclxuXHJcbiAgICBGb3IgY3NzIGluIHN1Yi1mb2xkZXJzIChsaWtlIHVuaW9uIGZvbGRlcnMpLCBtYWtlIHN1cmUgdGhlIGluY2x1ZGVzIGFyZSB0YWtlbiBmcm9tICcuLi9pbmNsdWRlcy94eHgnIGFuZCBub3QgJ2luY2x1ZGVzL3h4eCcuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuXHJcbi8qXHJcbiAqICBWYXJpYWJsZXMgdG8gYmUgdXNlZCB3aGVuIGRlc2lnbmluZ1xyXG4gKiAgRm9yIG5ldyBmaWxlcywgZ2V0IGludGVsbGlzZW5zZSBhbmQgcmVjb2duaXRpb24gYnkgYWRkaW5nIHRoaXMgc25pcHBldCBpbiB0aGUgdG9wOiAvLy8gPHJlZmVyZW5jZSBwYXRoPVwiY3NzLnNjc3NcIiAvPlxyXG4gKi9cclxuXHJcbi8qIEZvbnRzICovXHJcbiRmb250LW1haW46ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1zaXplLW1haW46MTRweDtcclxuJGxpbmUtaGVpZ2h0LW1haW46IDEuNTtcclxuXHJcbiRmb250X21haW46ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4kZm9udC10aXRsZXM6IGJhc2tlcnZpbGxlLWRpc3BsYXktcHQsIHNlcmlmO1xyXG4kZm9udF9zaXplX21haW4gOiAxOHB4O1xyXG4kbGluZV9oZWlnaHRfbWFpbiA6IDEuNjtcclxuXHJcbi8qIENvbG9ycyB0ZXh0ICovXHJcbiRjb2xvci10ZXh0OiAjMDAwO1xyXG4kY29sb3ItdGl0bGU6ICMwMDA7XHJcbiRjb2xvci1pbnRyb2R1Y3Rpb246ICMwMDA7XHJcbiRjb2xvci1zaXRlLXNwZWNpYWw6ICMwMDA7XHJcbiRjb2xvci1ncmVlbjogI0E5RDMwMDtcclxuLyogQ29sb3JzIGZvcm0gKG1heWJlIGFkZCBib3JkZXIgY29sb3JzIGZvciBmb3JtcykqL1xyXG4kY29sb3ItZm9ybS1lcnJvcjogI2Q5NTM0ZjtcclxuJGNvbG9yLWZvcm0tb2s6ICM1Y2I4NWM7XHJcblxyXG4vKiBSZWxhdGVkIGxpbmsgY29sb3JzICovXHJcbiRjb2xvci1yZWxhdGVkOiMwMTIxNDQ7XHJcbiRjb2xvci1yZWxhdGVkLWhvdmVyOiAjYjg4YTJiO1xyXG5cclxuLyogU3RhbmRhcmQgbGluayAoYSB0YWcgaW4gZXctY29udGVudCBldGMpICovXHJcbiRjb2xvci1saW5rOiAjMDEyMTQ0O1xyXG4kY29sb3ItbGluay1ob3ZlcjogI2I4OGEyYjtcclxuXHJcbi8qIFN0YW5kYXJkIGJ1dHRvbiBjb2xvcnMgKi9cclxuJGNvbG9yLWJ0bjogIzJjZWVmZjtcclxuJGNvbG9yLWJ0bi10ZXh0OiNGRkY7XHJcblxyXG4vKiBOYXYgY29sb3JzICovXHJcbiRjb2xvci1tZW51OiAjMDAwO1xyXG4kY29sb3ItbWVudS1ob3ZlcjojZWFlYWVhO1xyXG5cclxuLyogQm9keSBjb2xvciAoYWRkIGNvbG9ycyBmb3IgbGFyZ2VyIHNlY3Rpb25zIG1heWJlKSAqL1xyXG4kYm9keS1iZy1jb2xvcjogI2ZmZjtcclxuXHJcbi8qIFNpdGUgc3BlY2lmaWsgY29sb3JzICovIFxyXG5cclxuLy8gQ29sb3IgZm9yIHRleHRcclxuXHJcbiRjb2xvcl90ZXh0OiAjMjUyNDI0O1xyXG4kY29sb3ItaW50cm9kdWN0aW9uOiAjODBiNzQwO1xyXG4kY29sb3Itc3BlY2lhbDogIzdlYjc0MjtcclxuXHJcbi8vIFN0YW5kYXJkIGRhbmdlci9vayBjb2xvcnNcclxuJGNvbG9yLWRhbmdlcjogI2Q5NTM0ZjtcclxuJGNvbG9yLW9rOiAjNWNiODVjO1xyXG4kYm9keV9iZ19jb2xvcjogI2ZmZjtcclxuXHJcbi8vIFN0YW5kYXJkIGJ0biBjb2xvclxyXG4kY29sb3ItYnRuOiAjN2ViNzQyO1xyXG4kY29sb3ItdGV4dC1idG46ICNmZmY7XHJcblxyXG4vLyBSZWxhdGVkIGxpbmtzIGNvbG9yc1xyXG4kY29sb3ItbGluazogIzdlYjc0MjtcclxuJGNvbG9yLWhvdmVyOiAjMDQ5YWQ4O1xyXG5cclxuLy8gRm9ybSBib3JkZXIgY29sb3JzXHJcbiRjb2xvci1mb3JtLWJvcmRlcjogIzdlYjc0MjtcclxuXHJcbkBmb250LWZhY2V7XHJcbiAgICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgICBzcmM6IHVybCguLi93d3dyb290L2ZvbnRzL1JvYm90by9Sb2JvdG8tQm9sZC50dGYpO1xyXG59XHJcblxyXG5cclxuXHJcbi8qIElOQ0xVREVTIElNUE9SVFMgKi9cclxuXHJcbkBpbXBvcnQgXCIuL3N0eWxlcy9pbmNsdWRlcy9fbWl4aW5zLnNjc3NcIjsgLyogSGVscGluZyBmdW5jdGlvbnMgZm9yIGRlZmF1bHQgQ1NTIGJlaGF2aW91ciAqL1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvaW5jbHVkZXMvX25vcm1hbGl6ZS5zY3NzXCI7IC8qIERlZmF1bHQgbm9ybWFsaXplciAqL1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvaW5jbHVkZXMvX2hlbHBlcnMuc2Nzc1wiOyAvKiBIZWxwaW5nIGNsYXNzZXMgdGhhdCBjYW4gYmUgdXNlZCBmb3IgcXVpY2sgYW5kIGNvbW1vbiBiZWhhdmlvdXIgKC5ib2xkLCAuYmxhY2ssIGV0YykgKi9cclxuQGltcG9ydCBcIi4vc3R5bGVzL2luY2x1ZGVzL19hbmltYXRpb25zLnNjc3NcIjsgLyogQ29udGFpbnMgYW5pbWF0aW9ucyBhdmFpbGFibGUgdGhhdCBpcyBydW4gb24gcmVuZGVyICovXHJcbkBpbXBvcnQgXCIuL3N0eWxlcy9pbmNsdWRlcy9fbWVkaWFxdWVyaWVzLnNjc3NcIjsgIC8qIENvbnRhaW5zIGFsbCBtZWRpYXF1ZXJpZXMgKi9cclxuXHJcbi8qIE90aGVyIGRlZmF1bHQgQ1NTIGZpbGVzLCBtYWlubHkgd2l0aCBkZWZhdWx0IHN0eWxlcyBmb3IgcHJpbnQsIHNpdGVtYXAgYW5kIEZvcm1zICovXHJcbkBpbXBvcnQgXCIuL3N0eWxlcy9kZWZhdWx0L19kZWZhdWx0LnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCIuL3N0eWxlcy9kZWZhdWx0L19mb3JtLnNjc3NcIjtcclxuQGltcG9ydCBcIi4vc3R5bGVzL2RlZmF1bHQvX2V3LnNjc3NcIjtcclxuQGltcG9ydCBcIi4vc3R5bGVzL2RlZmF1bHQvX2hlYWRlci5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuL3N0eWxlcy9kZWZhdWx0L19mb290ZXIuc2Nzc1wiO1xyXG5cclxuLyogVXRpbHMgaW1wb3J0cywgdXNlZCBmb3IgZXguIF9jb250YWluZXJzLnNjc3MsIF9zdGFuZGFyZC1idG4uc2NzcyBldGMuIHN0YW5kYXJkIHRoaW5ncyB0aGF0IHdlIHVzZSB0aHJvdWdob3V0IHRoZSBzaXRlLiAqL1xyXG5cclxuQGltcG9ydCBcIi4vc3R5bGVzL3V0aWxzL19jb250YWluZXJzLnNjc3NcIjsgLyogRGVmYXVsdCBzdHlsaW5nIGZvciBmb3JtcyAqL1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvdXRpbHMvX2ZsZXguc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvdXRpbHMvX2NvbnRlbnQuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvdXRpbHMvX3N0YW5kYXJkLWJ0bi5zY3NzXCI7XHJcblxyXG5cclxuLyogQ29tcG9uZW50cyBpbXBvcnRzLCB1c2VkIGZvciBhbGwgc21hbGxlciBjb21wb25lbnRzICovXHJcbkBpbXBvcnQgXCIuL3N0eWxlcy9jb21wb25lbnRzL19oZXJvLnNjc3NcIjtcclxuQGltcG9ydCBcIi4vc3R5bGVzL2NvbXBvbmVudHMvX3N2Zy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuL3N0eWxlcy9jb21wb25lbnRzL19pbWFnZVRleHQuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvY29tcG9uZW50cy9fc2xpZGVycy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuL3N0eWxlcy9jb21wb25lbnRzL19pbWFnZUJsb2Iuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGFjdFBhZ2Uuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGVudC1jb2wuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvY29tcG9uZW50cy9fcmVsLWxpbmtzLnNjc3NcIjtcclxuQGltcG9ydCBcIi4vc3R5bGVzL2NvbXBvbmVudHMvX3RleHQtaXRlbXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi9zdHlsZXMvY29tcG9uZW50cy9fc2VydmljZUxpc3RJdGVtLnNjc3NcIjtcclxuQGltcG9ydCBcIi4vc3R5bGVzL2NvbXBvbmVudHMvX3JlZi1zaWRlLnNjc3NcIjtcclxuXHJcbi8qIFZpZXdzIGltcG9ydHMsIGNhbiBiZSB1c2VkIGZvciBzcGVjaWZpYyB0aGluZ3MgZm9yIHNwZWNpYWwgdmlld3MgKi9cclxuQGltcG9ydCBcIi4vc3R5bGVzL2xpYi9zbGljay5zY3NzXCI7XHJcblxyXG4vKiBG77+9ciBlbmtlbCB3ZWJidnkgZu+/vXIgdGVtcGxhdGVuIG7vv71yIG1hbiBieWdnZXIuICovXHJcbkBpbXBvcnQgXCIuL3N0eWxlcy90ZW1wbGF0ZS5zY3NzXCI7IC8qIERlZmF1bHQgc3R5bGluZyBmb3IgZm9ybXMgKi9cclxuXHJcbkBpbXBvcnRcIi4uL1N0eWxlcy9pbmNsdWRlcy9fY29va2llaW5mby5zY3NzXCI7XHJcbiIsIu+7v0BpbXBvcnQgdXJsKC4uL2luY2x1ZGVzL19tZWRpYXF1ZXJpZXMuc2Nzcyk7XHJcbi5oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5OTk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgIC5sb2dvLCAubWVudS13cmFwcGVyIHtcclxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogNTBweCAxMDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgIC5tZW51LXRleHQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnVyZ2VyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcblxyXG5cclxuICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgdG9wOiA0MiU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDU4JTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucm90YXRlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICY6aG92ZXIgPiAuYnVyZ2VyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLDAsMCwwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwwLDAsMC4yMyk7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXYtd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCA2MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxuXHJcbiAgICAgICAgLm1lbnUtY29udGVudCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAgICAgLm1lbnUtZGV0YWlscyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBuYXYge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3BlbiB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZHtcclxuICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnR7XHJcbiAgICAgICAgd2lkdGg6IDcwJTtcclxuXHJcbiAgICAgICAgbmF2IHVsIGxpOm5vdCg6bGFzdC1jaGlsZCl7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbmF2IHVsIGxpIGF7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tZW51LWRldGFpbHMgcHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgdGFibGV0IHtcclxuICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgLm1lbnUtZGV0YWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZC10YWJsZXQge1xyXG4gICAgLmhlYWRlciAubG9nbywgLmhlYWRlciAubWVudS13cmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDUwcHggNTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB4bC1waG9uZSB7XHJcbiAgICAuaGVhZGVyIC5sb2dvIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXIgLmxvZ28sIC5oZWFkZXIgLm1lbnUtd3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDIwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyIC5uYXYtd3JhcHBlciAubWVudS1jb250ZW50IG5hdiB1bCBsaTphZnRlciB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLm1lbnUtY29udGVudCBuYXYgdWwgbGkgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5tZW51LWNvbnRlbnQgLm1lbnUtZGV0YWlscyBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlciAubWVudS13cmFwcGVyIC5idXJnZXIge1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgLm1lbnUtdGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgdXJsKC4uL2luY2x1ZGVzL19tZWRpYXF1ZXJpZXMuc2Nzcyk7XHJcblxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTQwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zbWFsbC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEyMDBweDtcclxuICAgIG1hcmdpbjogMTAwcHggYXV0bztcclxufVxyXG5cclxuLngtc21hbGwtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiA5MDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4ubGFyZ2UtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxNjAwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuXHJcbi50ZXh0LWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDcwdmg7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGxnIHtcclxuICAgIC5sYXJnZS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxNTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1kIHtcclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMjAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmxhcmdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEyMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc21hbGwtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LWltYWdlLWNvbnRhaW5lcntcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBzbSB7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5sYXJnZS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNtYWxsLWNvbnRhaW5lciwgLngtc21hbGwtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogODAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHRhYmxldHtcclxuICAgIC5jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IDgwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LWltYWdlLWNvbnRhaW5lcntcclxuICAgICAgICBoZWlnaHQ6IDUwdmg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1kLXRhYmxldCB7XHJcbiAgICAuY29udGFpbmVyLCAubGFyZ2UtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNtYWxsLWNvbnRhaW5lciwgLngtc21hbGwtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBzbS10YWJsZXQge1xyXG4gICAgLnRleHQtaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiA1NnZoO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB4bC1waG9uZXtcclxuICAgIC50ZXh0LWltYWdlLWNvbnRhaW5lcntcclxuICAgICAgICBoZWlnaHQ6IDUwdmg7XHJcbiAgICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNaXhpbnMgZm9yIGVhc3kgYWNjZXNzIHRvIGRlZmF1bHQgYmVoYXZpb3VyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWl4aW4gdW5zdHlsZWQtbGlzdCB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuQG1peGluIHN0YW5kYXJkLWJnIHtcclxuICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xyXG4gICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcbiAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZmlsbGVyIHtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgbGVmdDowO1xyXG4gICAgdG9wOjA7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbn1cclxuXHJcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBsZWZ0OjUwJTtcclxuICAgIHRvcDo1MCU7XHJcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4vKlxyXG4qIENsZWFyZml4XHJcbiogQGV4dGVuZCAlY2xlYXJmaXg7XHJcbiovXHJcbiVjbGVhcmZpeCB7XHJcbiAgKnpvb206IDE7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWxwZXIgY2xhc3NlcyBzdHlsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblxyXG4vKiBJbWFnZSByZXBsYWNlbWVudCAqL1xyXG4uaXIge2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBib3JkZXI6IDA7IG92ZXJmbG93OiBoaWRkZW47ICp0ZXh0LWluZGVudDogLTk5OTlweDt9XHJcbi5pcjpiZWZvcmUge2NvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMDsgaGVpZ2h0OiAxMDAlO31cclxuXHJcbi8qIEhpZGRlbiAqL1xyXG4uaGlkZGVuIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IHZpc2liaWxpdHk6IGhpZGRlbjt9XHJcblxyXG4vKiBJbnZpc2libGUgKi9cclxuLmludmlzaWJsZSB7dmlzaWJpbGl0eTogaGlkZGVuO31cclxuXHJcbi8qIENsZWFyZml4ICovXHJcbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7Y29udGVudDogXCIgXCI7IGRpc3BsYXk6IHRhYmxlO31cclxuLmNsZWFyZml4OmFmdGVyIHtjbGVhcjogYm90aDt9XHJcbi5jbGVhcmZpeCB7Knpvb206IDE7fVxyXG5cclxuLy9Nb2RpZmllcnNcclxuLmJvbGQgeyBmb250LXdlaWdodDogNzAwOyB9XHJcblxyXG4uYmxhY2sgeyBjb2xvcjogIzAwMDsgfVxyXG5cclxuLyogQ2xlYXIgKi9cclxuLmNsZWFyIHtjbGVhcjogYm90aDt9Iiwi77u/QGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcclxuICAgIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gICAgfVxyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA5MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBrZXlmcmFtZXMgZmFkZS11cCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTowO1xyXG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlLXVwLXNwZWMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbUluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcclxuICAgIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MDBweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA5MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICB0byB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufSIsIiRicmVha3BvaW50LXhsOiAxNzQwcHg7XHJcbiRicmVha3BvaW50LWxnOiAxNjAwcHg7IC8qMTUgaW5jaCBNYWNib29rIFBybyovXHJcbiRicmVha3BvaW50LW1kOiAxNDQwcHg7IC8qMTNpbmNoIE1hY2Jvb2sgUHJvKi9cclxuJGJyZWFrcG9pbnQtc206IDEyMDBweDtcclxuJGJyZWFrcG9pbnQtdGFibGV0OiAxMDI0cHg7IC8qSXBhZCBwcm8gYW5kIHNtYWxsZXIgbGFwdG9wcyovXHJcbiRicmVha3BvaW50LW1kLXRhYmxldDogODcwcHg7XHJcbiRicmVha3BvaW50LXNtLXRhYmxldDogNzY4cHg7XHJcbiRicmVha3BvaW50LXhsLXBob25lOiA2ODBweDsgLypTbWFsbGVyIHRhYmxldHMqL1xyXG4kYnJlYWtwb2ludC1sZy1waG9uZTogNTUwcHg7XHJcbiRicmVha3BvaW50LW1kLXBob25lOiA0MTRweDsgLypJcGhvbmUgNy04KyovXHJcbiRicmVha3BvaW50LXNtLXBob25lOiAzNzVweDsgLypJcGhvbmUgWCAmIElwaG9uZSBzdGFuZGFyZCBzaXplcyovXHJcbiRicmVha3BvaW50LW1pbmk6IDM2MHB4OyAvKnVzZSB0aGlzIGRvd24gdG8gMzIwcHgqL1xyXG5cclxuQG1peGluIHhsIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQteGwpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQtbGcpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1kIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQtbWQpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNtIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQtc20pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHRhYmxldCB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRicmVha3BvaW50LXRhYmxldCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQtdGFibGV0IHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQtbWQtdGFibGV0KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbS10YWJsZXQge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDokYnJlYWtwb2ludC1zbS10YWJsZXQpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHhsLXBob25lIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQteGwtcGhvbmUpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxnLXBob25lIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQtbGctcGhvbmUpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1kLXBob25lIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQtbWQtcGhvbmUpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNtLXBob25lIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGJyZWFrcG9pbnQtc20tcGhvbmUpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1pbmktcGhvbmUge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDokYnJlYWtwb2ludC1taW5pKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vY3NzLnNjc3NcIiAvPiBcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIERlZmF1bHQgYmFzZSAtIFNvbWUgYmFzZSBzZXR0aW5ncywgc2l0ZW1hcCBhbmQgZm9ybVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyogYXBwbHkgYSBuYXR1cmFsIGJveCBsYXlvdXQgbW9kZWwgdG8gYWxsIGVsZW1lbnRzLCBidXQgYWxsb3dpbmcgY29tcG9uZW50cyB0byBjaGFuZ2UgKi9cclxuaHRtbCB7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tYWluO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1haW47XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LW1haW47XHJcbn1cclxuXHJcbi5uby1zY3JvbGwge1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4vKmEsIGJ1dHRvbiB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWxpbms7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1saW5rLWhvdmVyO1xyXG4gICAgfVxyXG59Ki9cclxuXHJcbmlucHV0IHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcblxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udF9tYWluO1xyXG4gICAgZm9udC1zaXplOiAkZm9udF9zaXplX21haW47XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmVfaGVpZ2h0X21haW47XHJcbiAgICBjb2xvcjogJGNvbG9yX3RleHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keV9iZ19jb2xvcjtcclxuXHJcbn1cclxuXHJcbmEsYnV0dG9uIHtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOmNvbG9yIC4zcyBlYXNlLWluLW91dDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuaW5wdXQge1xyXG4gICAgb3V0bGluZTpub25lO1xyXG59XHJcblxyXG4ucGFnZS10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDdyZW07XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtdGl0bGVzO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6MDtcclxuICAgIG1hcmdpbi1ib3R0b206NTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OjEuMjtcclxufVxyXG5cclxuLmludHJvZHVjdGlvbiB7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIGZvbnQtZmFtaWx5OiRmb250LXRpdGxlcztcclxuICAgIGNvbG9yOiRjb2xvci1pbnRyb2R1Y3Rpb247XHJcbiAgICBmb250LXNpemU6MjhweDtcclxuICAgIG1hcmdpbi10b3A6MDtcclxuICAgIG1hcmdpbi1ib3R0b206OHJlbTtcclxufVxyXG5cclxuLnJlbGF0ZWQtbGluayB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWxpbms7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtdGl0bGVzO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206MTVweDtcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG5cclxuICAgIC5hcnJvdyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQW5pbWF0aW9ucyBcclxuXHJcbi8qLnBhZ2UtdGl0bGUge1xyXG4gICAgb3BhY2l0eTowO1xyXG4gICAgJi5hbmltYXRlIHtcclxuICAgICAgICBhbmltYXRpb246ZmFkZS11cCAuNXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb24ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAmLmFuaW1hdGUge1xyXG4gICAgICAgIGFuaW1hdGlvbjogZmFkZS11cCAuNXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XHJcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5Oi4zcztcclxuICAgIH1cclxufSovXHJcblxyXG4vKiBDaGVja2xpc3QgZXhhbXBsZXMgKi9cclxuXHJcbi8qIFN0eWxpbmcgZm9yIHRpdGxlcyBvbiBhbGwgcGFnZXMgdXNlIHdoYXRldmVyIGNsYXNzbmFtZXMgeW91IHdhbnQgXHJcblxyXG4ucGFnZS10aXRsZSB7XHJcblxyXG59XHJcblxyXG4qL1xyXG5cclxuLyogU3R5bGluZyBmb3IgaW50cm9kdWN0aW9uIGZvciBhbGwgcGFnZXMgdXNlIHdoYXRldmVyIGNsYXNzbmFtZXMgeW91IHdhbnRcclxuXHJcbi5pbnRyb2R1Y3Rpb24ge1xyXG5cclxufVxyXG5cclxuKi9cclxuXHJcbi8qIEVkaXRvciBpbWFnZXMgKi9cclxuLyppbWcuZnItZGliIHtcclxuICBtYXJnaW46IDBweCBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZsb2F0OiBub25lO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuaW1nLmZyLWRpYi5mci1maWwge1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcbmltZy5mci1kaWIuZnItZmlyIHtcclxuICBtYXJnaW4tcmlnaHQ6IDA7XHJcbn1cclxuaW1nLmZyLWRpaSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZsb2F0OiBub25lO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxufVxyXG5pbWcuZnItZGlpLmZyLWZpbCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcbmltZy5mci1kaWkuZnItZmlyIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgbWFyZ2luOiAwO1xyXG59Ki9cclxuXHJcblxyXG5cclxuLyogTWVkaWEgcHJpbnQgKi9cclxuLypAbWVkaWEgcHJpbnQge1xyXG4gICAgKiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGEsIGE6dmlzaXRlZCB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYVtocmVmXTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XHJcbiAgICB9XHJcblxyXG4gICAgYWJiclt0aXRsZV06YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcclxuICAgIH1cclxuXHJcbiAgICAuaXIgYTphZnRlciwgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLCBhW2hyZWZePVwiI1wiXTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwcmUsIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbiAgICB9XHJcblxyXG4gICAgdHIsIGltZyB7XHJcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQHBhZ2Uge1xyXG4gICAgICAgIG1hcmdpbjogMC41Y207XHJcbiAgICB9XHJcblxyXG4gICAgcCwgaDIsIGgzIHtcclxuICAgICAgICBvcnBoYW5zOiAzO1xyXG4gICAgICAgIHdpZG93czogMztcclxuICAgIH1cclxuXHJcbiAgICBoMiwgaDMge1xyXG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xyXG4gICAgfVxyXG59Ki9cclxuXHJcblxyXG4vKiBEZWZhdWx0IHNpdGVtYXAgKi9cclxuLyouZ2Vuc2l0ZW1hcCB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nOiAyJTtcclxuICAgICAgICB3aWR0aDogMzAuMzMzMzMzMzMzJTtcclxuICAgICAgICBtYXJnaW46IDAgMS41JSAzJSAxLjUlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcblxyXG4gICAgICAgIGxpIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250X3NpemVfbWFpbisyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkgYTpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sYXN0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICNkZmRmZGY7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuXHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwgbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250X3NpemVfbWFpbjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZ2Vuc2l0ZW1hcC0yLWNvbCB1bCBsaSB7XHJcbiAgICB3aWR0aDogNDclO1xyXG59Ki9cclxuIiwi77u/LyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vY3NzLnNjc3NcIiAvPiBcclxuXHJcbi5mb3JtIC5mb3JtY2FwdGNoYTIge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZm9ybS13cmFwIHtcclxuICAgIHdpZHRoOjkyMHB4O1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxuICAgIHBhZGRpbmctdG9wOjUwcHg7XHJcbn1cclxuXHJcblxyXG4uZm9ybSB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8qYm94LXNoYWRvdzogaW5zZXQgMHB4IDJweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsqL1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XHJcbiAgICAgICAgLypib3JkZXItcmFkaXVzOiA1cHg7Ki9cclxuICAgICAgICAuY2hlY2tib3gtb2sge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB0b3A6IDE3cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgIC5iZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2NoZWNrYm94LnBuZyk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdGFuZGFyZC1iZztcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAxNXMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNoZWNrbWFyayB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvY2hlY2ttYXJrLnBuZyk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdGFuZGFyZC1iZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGtleWZyYW1lcyBzcGluIHtcclxuICAgICAgICAgICAgMCUge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIDEwMCUge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBsYWNlaG9sZGVyLXRleHQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIC8qbGVmdDogMTVweDsqL1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuICAgICAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInVybFwiXSxcclxuICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGxlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHggNXB4IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICsgLnBsYWNlaG9sZGVyLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTE3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGxlcjtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTVweCAyMHB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1mb3JtLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgKyAucGxhY2Vob2xkZXItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWxbZm9yPU1lZGRlbGFuZGVdIHtcclxuICAgICAgICBoZWlnaHQ6IDIyNXB4O1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi50ZXh0YXJlYS1sYWJlbCB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgIC5wbGFjZWhvbGRlci10ZXh0IHtcclxuICAgICAgICB0b3A6IC0zMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBWYWxpZGF0aW9uIHN0eWxpbmcgZm9ybVxyXG5cclxuLyouZm9ybSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgJi52YWxpZCB7XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhbmdlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBsYWNlaG9sZGVyLXRleHQge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMTdweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudmFsaWQge1xyXG4gICAgICAgICAgICAuY2hlY2tib3gtb2sge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBsYWNlaG9sZGVyLXRleHQge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMTdweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWxbZm9yPU1lZGRlbGFuZGVdIHtcclxuICAgICAgICAmLmZvcm0tdmFsaWRhdGlvbi1vayB7XHJcblxyXG4gICAgICAgICAgICAucGxhY2Vob2xkZXItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0zMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Ki9cclxuXHJcbi5mb3JtIHtcclxuXHJcbiAgICAudmFsaWQgKyAucGxhY2Vob2xkZXItdGV4dCB7XHJcbiAgICAgICAgdG9wOiAtMTlweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXQtdmFsaWRhdGlvbi1lcnJvciArIC5wbGFjZWhvbGRlci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgICAgIHRvcDogLTE5cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmZvcm0tYWN0aW9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4uYnV0dG9uLFxyXG4uZm9ybSBidXR0b24sXHJcbi5mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXHJcbi5mb3JtIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuLmZvcm0gaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10ZXh0LWJ0bjtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJ0bjtcclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGxnLXBob25lIHtcclxuICAgIC5idXR0b24sIC5mb3JtIGJ1dHRvbiwgLmZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcclxuICAgIC5mb3JtIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuICAgIC5mb3JtIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xyXG4gICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICB3aWR0aDogMjg1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZToxOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgLmZvcm0tYWN0aW9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgeGwtcGhvbmUge1xyXG4gICAgLmZvcm0gbGFiZWwgLnBsYWNlaG9sZGVyLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxufSIsIu+7vy8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz4gXHJcblxyXG4uZXcge1xyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgIH1cclxufVxyXG4uZXcge1xyXG5cclxuICAgICoge1xyXG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjAyMlwiOyAvKiBBZGQgY29udGVudDogXFwyMDIyIGlzIHRoZSBDU1MgQ29kZS91bmljb2RlIGZvciBhIGJ1bGxldCAqL1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjsgLyogQ2hhbmdlIHRoZSBjb2xvciAqL1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IC8qIElmIHlvdSB3YW50IGl0IHRvIGJlIGJvbGQgKi9cclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogTmVlZGVkIHRvIGFkZCBzcGFjZSBiZXR3ZWVuIHRoZSBidWxsZXQgYW5kIHRoZSB0ZXh0ICovXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMS4yZW07IC8qIEFsc28gbmVlZGVkIGZvciBzcGFjZSAodHdlYWsgaWYgbmVlZGVkKSAqL1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xZW07IC8qIEFsc28gbmVlZGVkIGZvciBzcGFjZSAodHdlYWsgaWYgbmVlZGVkKSAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZXctc2xpbSB7XHJcbiAgICB3aWR0aDogOTElO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHJlbTtcclxufVxyXG5cclxuXHJcblxyXG4iLCLvu78vKiBBREQgVEhJUyBMSU5FIFVOREVSIElOIEFMTCBGSUxFUyBZT1UgV0FOVCBUTyBSRUFDSCBWQVJJQUJMRVMgQU5EIE1JWElOUyBFQVNZICovXHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9jc3Muc2Nzc1wiIC8+IFxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRGVmYXVsdCBiYXNlIC0gU29tZSBiYXNlIHNldHRpbmdzLCBzaXRlbWFwIGFuZCBmb3JtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKiBhcHBseSBhIG5hdHVyYWwgYm94IGxheW91dCBtb2RlbCB0byBhbGwgZWxlbWVudHMsIGJ1dCBhbGxvd2luZyBjb21wb25lbnRzIHRvIGNoYW5nZSAqL1xyXG5cclxuXHJcbi5mb290ZXIge1xyXG4gICAgbWFyZ2luOiAxMDBweCAwIDIwcHggMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAsIGEsIGxpLCBzcGFuLCBhYmJyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hZGRyZXNzLCAubG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2dvIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgIC5waG9uZXtcclxuICAgICAgICAgICAgY29sb3I6IzAwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiAgICAuZm9vdGVyLWJvdHRvbSB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cclxuICAgICAgICBwe1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3BoaW54IHtcclxuICAgICAgICBvcGFjaXR5OiAuMjtcclxuICAgIH1cclxuXHJcbkBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAuZm9vdGVyIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFkZHJlc3Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbmF2IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250YWN0LCAuZGV0YWlsc3tcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3Rlci1ib3R0b20ge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXIgcCwgLmZvb3RlciBhLCAuZm9vdGVyIGxpLCAuZm9vdGVyIHNwYW4sIC5mb290ZXIgYWJiciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG59IiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz5cclxuLnJvdyB7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjpyb3c7XHJcbn1cclxuXHJcbi5mbGV4LWNlbnRlciB7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xyXG59XHJcblxyXG4uY29sdW1uIHtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcclxufVxyXG5cclxuLnNwYWNlLWJldHdlZW57XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uZmxleHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5jZW50ZXIteSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnJlZi1mbGV4IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5mbGV4LXdyYXB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uc3AtYnQtd3JhcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgbWR7XHJcbiAgICAucmVmLWZsZXh7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHRhYmxldHtcclxuICAgIC5tcXtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHNtLXRhYmxldHtcclxuICAgIC5zcC1idC13cmFwe1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG59IiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz5cclxuXHJcbi5zdGFydHBhZ2UtaGVhZGVyIGgxIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiA3MCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlLWluLW91dCAwcyBmb3J3YXJkcztcclxufVxyXG5cclxuXHJcbi5oZWFkaW5nLW0ge1xyXG4gICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBlYXNlLWluLW91dCAwcyBmb3J3YXJkcztcclxufVxyXG5cclxuLmhlYWRpbmctcGFnZSBoMiB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uaGVhZGluZy1zdGFuZGFyZCBoMntcclxuICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5oZWFkaW5nLXNtYWxsIGgye1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLnRleHQtdGl0bGUgaDJ7XHJcbiAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4ucmVmLXRpdGxlIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMTAwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IC0yMDBweDtcclxufVxyXG5cclxuLmNlbnRlci10ZXh0IGgze1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBtYXJnaW46IDIwMHB4IGF1dG8gMzAwcHggYXV0bztcclxufVxyXG5cclxuLmV3e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xyXG4gICAgcGFkZGluZzogMjRweCAwXHJcbn1cclxuXHJcbi53aGl0ZXtcclxuICAgIGNvbG9yOiNmZmY7XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1kIHtcclxuICAgIC5yZWYtdGl0bGUgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRpbmctbSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA0NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jZW50ZXItdGV4dCBoMyB7XHJcbiAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGluZy1zdGFuZGFyZCBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5ldyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtdGl0bGUgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgc20ge1xyXG5cclxuXHJcbiAgICAuaGVhZGluZy1tIHtcclxuICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRpbmctc3RhbmRhcmQgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWQtdGFibGV0IHtcclxuICAgIC5zdGFydHBhZ2UtaGVhZGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuY2VudGVyLXRleHQgaDMge1xyXG4gICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LXNlY3Rpb24gLmV3e1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgc20tdGFibGV0IHtcclxuICAgIC5oZWFkaW5nLXN0YW5kYXJkIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5ldyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWYtdGl0bGUgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAtMTIzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRpbmctbSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgeGwtcGhvbmUge1xyXG4gICAgLnRleHQtdGl0bGUgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGluZy1wYWdlIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNlbnRlci10ZXh0IGgzIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRpbmctc21hbGwgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGluZy1tIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi10aXRsZSBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgIGJvdHRvbTogaW5pdGlhbDtcclxuICAgICAgICB0b3A6IC05MXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkaW5nLXN0YW5kYXJkIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBzbS1waG9uZSB7XHJcbiAgICAudGV4dC10aXRsZSBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgfVxyXG59IiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz5cclxuLy9CdXR0b25zXHJcbi5pbmxpbmUtYnRuLCAuaW5saW5lLWJ0bi13aGl0ZSwgLmJ0biB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBHcmVlbiBidG5cclxuLmlubGluZS1idG4sIC5idG4ge1xyXG4gICAgY29sb3I6ICMwMDA7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gV0hpdGUgYnRuXHJcbi5pbmxpbmUtYnRuLXdoaXRlIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9MaW5rIGJ0blxyXG4ubGluay1idG57XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG59XHJcblxyXG5cclxuXHJcbiAgICBAaW5jbHVkZSB4bC1waG9uZSB7XHJcbiAgICAgICAgLmlubGluZS1idG4sIC5pbmxpbmUtYnRuLXdoaXRlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH0iLCLvu78vKiBBREQgVEhJUyBMSU5FIFVOREVSIElOIEFMTCBGSUxFUyBZT1UgV0FOVCBUTyBSRUFDSCBWQVJJQUJMRVMgQU5EIE1JWElOUyBFQVNZICovXHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9jc3Muc2Nzc1wiIC8+XHJcblxyXG4uaGVybyB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLy9QYWdlIGhlcm9cclxuXHJcbn1cclxuXHJcblxyXG4uaGVyby1ibG9iIHtcclxuICAgIGgxIHtcclxuICAgICAgICAvKm1hcmdpbi1sZWZ0OiAxMCU7Ki9cclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGxlZnQ6IDUlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgbWR7XHJcbiAgICAudHlwZS1zdGFydHBhZ2V7XHJcbiAgICAgICAgLmhlcm97XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgc20tdGFibGV0IHtcclxuICAgIC5oZXJvLWJsb2IgaDEge1xyXG4gICAgICAgICBtYXJnaW4tbGVmdDogMDsgXHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHhsLXBob25lIHtcclxuICAgIC5hdXRvLXNsaWNrIC5zbGljay1zbGlkZSAuYmctd3JhcCB7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZXJvIHtcclxuICAgICAgICBoZWlnaHQ6IDc1dmg7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlcm8tYmxvYiBzdmcge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbn0iLCLvu78vKiBBREQgVEhJUyBMSU5FIFVOREVSIElOIEFMTCBGSUxFUyBZT1UgV0FOVCBUTyBSRUFDSCBWQVJJQUJMRVMgQU5EIE1JWElOUyBFQVNZICovXHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9jc3Muc2Nzc1wiIC8+XHJcblxyXG5zdmcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBmaWxsOiAkY29sb3ItZ3JlZW47XHJcbn1cclxuXHJcblxyXG4vLyBTTGlkZXJCdXR0b24gc3ZnXHJcbi5uZXh0LWJ0biwgLnByZXYtYnRuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHN0cm9rZTogIzAwMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB6LWluZGV4OiAtMjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBzdHJva2U6ICNmZmY7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9QYWdlLXN2Z1xyXG4ucGFnZS1zdmcge1xyXG4gICAgc3ZnIHtcclxuICAgICAgICB0b3A6IDYwJTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWR7XHJcbiAgICAuaGVyby1ibG9iIHN2ZywgLmhlcm8gc3Zne1xyXG4gICAgICAgIGhlaWdodDogNzAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1kLXRhYmxldCB7XHJcbiAgICAuaGVyby1ibG9iIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA2MDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBzbS10YWJsZXQge1xyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB4bC1waG9uZSB7XHJcbiAgICAuaGVyby1ibG9iIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59Iiwi77u/LyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vY3NzLnNjc3NcIiAvPlxyXG4uaW1hZ2Utc2VjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLmJnLXdyYXAge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICB0b3A6IDIwMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAyMCVcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZXh0LXNlY3Rpb257XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAwIDIwcHg7XHJcbiAgICByaWdodDogNSU7XHJcbiAgICB0b3A6IDEyMHB4O1xyXG59XHJcblxyXG5AaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgLmltYWdlLXNlY3Rpb24gLmJnLXdyYXAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDMwMFBYO1xyXG4gICAgICAgIHdpZHRoOiA0MDBQWDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICB0b3A6IDkwcHg7XHJcbiAgICAgICAgbGVmdDogOSU7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLXNlY3Rpb24gLmJnLXdyYXA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGxlZnQ6IDY2JTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1zZWN0aW9uIHtcclxuICAgICAgICByaWdodDogNTAlO1xyXG4gICAgICAgIHRvcDogaW5pdGlhbDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgeGwtcGhvbmUge1xyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVyby1ibG9iIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59Iiwi77u/LyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vY3NzLnNjc3NcIiAvPlxyXG5cclxuLy8gVGrDpG5zdGVTbGlkZXJcclxuLnNlcnZpY2Utc2xpZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAxMDBweCAwO1xyXG5cclxuICAgIC5zbGljay1saXN0IHtcclxuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5iZy13cmFwIHtcclxuICAgICAgICBoZWlnaHQ6IDU4MHB4O1xyXG4gICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgID4gYXtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5iZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3gge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBdXRvU2xpZGVyXHJcbi5zbGljay13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAucGFnZS1ibHVyYiB7XHJcbiAgICAgICAgdG9wOiAtMTUwcHg7XHJcbiAgICAgICAgcmlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxufVxyXG4uYXV0by1zbGljayB7XHJcbiAgICAuc2xpY2stc2xpZGUge1xyXG4gICAgICAgIC5iZy13cmFwIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDY1MHB4O1xyXG5cclxuICAgICAgICAgICAgLmJnIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tX3BhZ2luZ3tcclxuICAgICAgICBsZWZ0OiAxMTYwcHg7XHJcbiAgICAgICAgYm90dG9tOiAtNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWRlLWJveHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA0MDBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgYm90dG9tOiAtMzBweDtcclxuICAgIHJpZ2h0OiA1MHB4O1xyXG4gICAgcGFkZGluZzogMjBweCAzMHB4O1xyXG5cclxuICAgIGgxe1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWdle1xyXG4gICAgLnNsaWRlLWJveHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGltZ3tcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogNjAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgYXtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy9SZWZlcmVuY2VQYWdlU2xpZGVyXHJcbi5yZWZlcmVuY2UtcGFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAucmVmZXJlbmNlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1hcnJvdyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHotaW5kZXg6IDUwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLW5leHQge1xyXG4gICAgICAgIGxlZnQ6IDUxJTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2stcHJldiB7XHJcbiAgICAgICAgcmlnaHQ6IDUxJTtcclxuICAgIH1cclxuXHJcbiAgICAuYmctd3JhcCB7XHJcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICB3aWR0aDogODAwcHg7XHJcblxyXG4gICAgICAgLmJne1xyXG4gICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud3JhcHBlciB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBsZWZ0OiAtMzAwcHg7XHJcbiAgICAgICAgYm90dG9tOiAtMjAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZWYtbmV4dCwgLnJlZi1wcmV2IHtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucmVmLXByZXYge1xyXG4gICAgcmlnaHQ6IDUwJTtcclxufVxyXG5cclxuLnJlZi1uZXh0IHtcclxuICAgIGxlZnQ6IDUwJTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vU3RhcnQgcmVmXHJcbi5yZWYtbmV4dC1zdGFydCwgLnJlZi1wcmV2LXN0YXJ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgYm90dG9tOiAxNTBweDtcclxuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnJlZi1uZXh0LXN0YXJ0IHtcclxuICAgIGxlZnQ6IDUxJTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZWYtcHJldi1zdGFydHtcclxuICAgIHJpZ2h0OiA0OSU7XHJcbn1cclxuXHJcbi5yZWZlcmVuY2Utc2xpZGVyLXN0YXJ0e1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLnRleHQtdGl0bGV7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDgwcHg7XHJcbiAgICAgICAgdG9wOiAtNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW5saW5lLWJ0bntcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAtNTBweDtcclxuICAgIH1cclxuICAgIC5wYWdlLWJsdXJie1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0yMDBweDtcclxuICAgICAgICBsZWZ0OiAtMzUwcHg7XHJcbiAgICB9XHJcbn1cclxuLy9TVEFSVFBBR0UgUkVGIFNMSURFXHJcbi5zdGFydC1yZWYtc2xpZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMzAwcHggYXV0byAwIGF1dG87XHJcblxyXG4gICAgLmN1c3RvbV9wYWdpbmd7XHJcbiAgICAgICAgcmlnaHQ6IC01MHB4O1xyXG4gICAgICAgIGJvdHRvbTogMTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLXRyYWNre1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbiAgICAgICAgaGVpZ2h0OiA4MTVweDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblxyXG4gICAgICAgIC5jb250ZW50e1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNTAwcHg7XHJcblxyXG4gICAgICAgICAgICBoNHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5iZy13cmFwIHtcclxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNzYycHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MzlweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDgwcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDY2NHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogODA1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmN1c3RvbV9wYWdpbmcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIHdpZHRoOiAxMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vRE9UU1xyXG4uc2xpY2stZG90cyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyYXk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYgLnNsaWNrLWFjdGl2ZSB7XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIG1kIHtcclxuXHJcbiAgICAucmVmZXJlbmNlLXBhZ2UgLmJnLXdyYXB7XHJcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZS1zbGlkZXIge1xyXG4gICAgICAgIC5zbGljay1saXN0IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJnLXdyYXB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDUwcHg7XHJcblxyXG4gICAgICAgICAgICAuYm94e1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuc3RhcnQtcmVmLXdyYXBwZXIgLmNvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDBweDtcclxuICAgICAgICByaWdodDogNzJweDtcclxuICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXJ0LXJlZi1zbGlkZXIgLmJnLXdyYXA6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuYmctd3JhcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHdpZHRoOiA3MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuc2xpY2stdHJhY2t7XHJcbiAgICAgICAgaGVpZ2h0OiA2NTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2std3JhcHBlciAucGFnZS1ibHVyYiB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmF1dG8tc2xpY2sgLnNsaWNrLXNsaWRlIC5iZy13cmFwIHtcclxuICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXV0by1zbGljayAuY3VzdG9tX3BhZ2luZyB7XHJcbiAgICAgICAgbGVmdDogOTU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLXNlY3Rpb257XHJcbiAgICAgICAgLmJnLXdyYXB7XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi1uZXh0LXN0YXJ0LCAucmVmLXByZXYtc3RhcnR7XHJcbiAgICAgICAgYm90dG9tOiAxNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAucmVmZXJlbmNlLXNsaWRlci1zdGFydCAudGV4dC10aXRsZXtcclxuICAgICAgICB0b3A6IC0yMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBzbSB7XHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuYmctd3JhcDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi1uZXh0LXN0YXJ0IHtcclxuICAgICAgICBsZWZ0OiA0NiU7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi1wcmV2LXN0YXJ0IHtcclxuICAgICAgICByaWdodDogNTQlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB0YWJsZXQge1xyXG5cclxuICAgIC5yZWYtbmV4dCwgLnJlZi1wcmV2IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLXNlY3Rpb24gLmJnLXdyYXA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGxlZnQ6IDQwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuYmctd3JhcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBoZWlnaHQ6IDU2NHB4O1xyXG4gICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuYmctd3JhcDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXJ0LXJlZi1zbGlkZXIgLmJnLXdyYXA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZmVyZW5jZS1zbGlkZXItc3RhcnQgLnRleHQtdGl0bGUge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAtNzRweDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuY3VzdG9tX3BhZ2luZyB7XHJcbiAgICAgICAgcmlnaHQ6IC01MHB4O1xyXG4gICAgICAgIGJvdHRvbTogMjAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi1uZXh0LXN0YXJ0LCAucmVmLXByZXYtc3RhcnQge1xyXG4gICAgICAgIGJvdHRvbTogMjUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi1uZXh0LXN0YXJ0IHtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi1wcmV2LXN0YXJ0IHtcclxuICAgICAgICByaWdodDogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFydC1yZWYtc2xpZGVyIC5zdGFydC1yZWYtd3JhcHBlciAuY29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMTAwcHg7XHJcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XHJcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmF1dG8tc2xpY2sgLnNsaWNrLXNsaWRlIC5iZy13cmFwIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDU1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2std3JhcHBlciB7XHJcbiAgICAgICAgLmN1c3RvbV9wYWdpbmcge1xyXG4gICAgICAgICAgICBib3R0b206IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYXV0by1zbGljayAuc2xpY2stc2xpZGUgLmJnLXdyYXA6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2std3JhcHBlciAucGFnZS1ibHVyYiB7XHJcbiAgICAgICAgcmlnaHQ6IDM2JTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUpO1xyXG4gICAgICAgIHRvcDogLTE5MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZS1ib3gge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZmVyZW5jZS1wYWdlIC5iZy13cmFwIHtcclxuICAgICAgICB3aWR0aDogOTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi10aXRsZSBoMSB7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWZlcmVuY2Utc2xpZGUgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZmVyZW5jZS1zbGlkZSBtYWluIHtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZC10YWJsZXQge1xyXG4gICAgLnRleHQtc2VjdGlvbiB7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay10cmFjayB7XHJcbiAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlLXNsaWRlciAuc2xpY2stbGlzdCB7XHJcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcmV2LWJ0biwgLm5leHQtYnRuIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2Utc2xpZGVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXAgLmJveCB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXJ0LXJlZi1zbGlkZXIgLmN1c3RvbV9wYWdpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuc3RhcnQtcmVmLXdyYXBwZXIgLmNvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvdHRvbTogMTIzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlLWJveCB7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWZlcmVuY2UtcGFnZSAuYmctd3JhcCB7XHJcbiAgICAgICAgd2lkdGg6IDcwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHNtLXRhYmxldCB7XHJcblxyXG4gICAgLnNlcnZpY2Utc2xpZGVyIC5iZy13cmFwIC5ib3gge1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFydC1yZWYtc2xpZGVyIC5jdXN0b21fcGFnaW5nIHtcclxuICAgICAgICByaWdodDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBsZWZ0OiAxOCU7XHJcbiAgICB9XHJcblxyXG4gICAgLyouaW1hZ2Utc2VjdGlvbiAuYmctd3JhcDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbGVmdDogJTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH0qL1xyXG5cclxuICAgIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC50ZXh0LXNlY3Rpb24ge1xyXG4gICAgICAgIGJvdHRvbTogMTE5cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZmVyZW5jZS1wYWdlIC5iZy13cmFwIHtcclxuICAgICAgICB3aWR0aDogNjkzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlLWJveCB7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIHNtLXRhYmxldCB7XHJcbiAgICAuc2xpY2std3JhcHBlciAucGFnZS1ibHVyYiB7XHJcbiAgICAgICAgcmlnaHQ6IDQ0JTtcclxuICAgICAgICB0b3A6IC0yNDZweDtcclxuICAgIH1cclxuXHJcbiAgICAucmVmZXJlbmNlLXBhZ2UgLmJnLXdyYXAge1xyXG4gICAgICAgIHdpZHRoOiA1ODBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDM4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlLXNsaWRlciAuYmctd3JhcCAuYm94IHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RhcnQtcmVmLXNsaWRlciAuYmctd3JhcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBoZWlnaHQ6IDM4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFydC1yZWYtc2xpZGVyIC5zbGljay10cmFjayB7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcclxuICAgICAgICBoZWlnaHQ6IDY1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFydC1yZWYtc2xpZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAxMDBweCBhdXRvIDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuYXV0by1zbGljayAuc2xpY2stc2xpZGUgLmJnLXdyYXAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNDU4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHhsLXBob25lIHtcclxuXHJcbiAgICAucGFnZSB7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHRvcDogMjVweDtcclxuICAgICAgICBsZWZ0OiAtMSU7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLXNlY3Rpb24gLmJnLXdyYXA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XHJcbiAgICAgICAgcmlnaHQ6IC05MXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWZlcmVuY2UtcGFnZSAuYmctd3JhcCB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAucmVmZXJlbmNlLXBhZ2UgLmJnLXdyYXAge1xyXG4gICAgICAgIHdpZHRoOiAzNzFweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGUtYm94IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZS1ib3ggcCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZmVyZW5jZS1zbGlkZXItc3RhcnQgLnRleHQtdGl0bGUge1xyXG4gICAgICAgIHRvcDogLTY0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZi1uZXh0LXN0YXJ0LCAucmVmLXByZXYtc3RhcnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDE3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXJ0LXJlZi1zbGlkZXIgLnNsaWNrLXRyYWNrIHtcclxuICAgICAgICBoZWlnaHQ6IDUwOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWYtbmV4dC1zdGFydCwgLnJlZi1wcmV2LXN0YXJ0IHtcclxuICAgICAgICBib3R0b206IDEyOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFydC1yZWYtc2xpZGVyIC5zdGFydC1yZWYtd3JhcHBlciAuY29udGVudCBoNCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFydC1yZWYtc2xpZGVyIC5zdGFydC1yZWYtd3JhcHBlciAuY29udGVudCBwIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXJ0LXJlZi1zbGlkZXIgLnN0YXJ0LXJlZi13cmFwcGVyIC5jb250ZW50IGEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2std3JhcHBlciAucGFnZS1ibHVyYiB7XHJcbiAgICAgICAgcmlnaHQ6IDUwJTtcclxuICAgICAgICB0b3A6IC0yNDZweDtcclxuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hdXRvLXNsaWNrIC5zbGljay1zbGlkZSAuYmctd3JhcCB7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWZlcmVuY2UtcGFnZSAuYmctd3JhcCB7XHJcbiAgICAgICAgd2lkdGg6IDM0M3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXBwZXIgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZS1ib3gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGFydC1yZWYtc2xpZGVyIC5zbGljay10cmFjayB7XHJcbiAgICAgICAgaGVpZ2h0OiA1MzhweDtcclxuICAgIH1cclxuXHJcbiAgICAucmVmLW5leHQtc3RhcnQsIC5yZWYtcHJldi1zdGFydCB7XHJcbiAgICAgICAgYm90dG9tOiAxNDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZS1zbGlkZXIgLmJnLXdyYXAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICBoZWlnaHQ6IDM4MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBzbS1waG9uZSB7XHJcbiAgICAucmVmZXJlbmNlLXNsaWRlci1zdGFydCAudGV4dC10aXRsZSB7XHJcbiAgICAgICAgdG9wOiAtNjFweDtcclxuICAgIH1cclxufSIsIu+7vy8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz5cclxuXHJcbi5pbWFnZS1ibG9iIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAyMDBweCAwO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiA5MDBweDtcclxuICAgICAgICB3aWR0aDogNzAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMzUlO1xyXG4gICAgICAgIGJvdHRvbTogLTUwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcclxuICAgICAgICB3aWR0aDogOTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3MDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9ibHVyYi5iaWcucG5nKTtcclxuICAgICAgICBoZWlnaHQ6IDcwNXB4O1xyXG4gICAgICAgIHdpZHRoOiA4MDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLnRleHQtY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWQge1xyXG4gICAgLmltYWdlLWJsb2IgLnRleHQge1xyXG4gICAgICAgIGhlaWdodDogNTcycHg7XHJcbiAgICAgICAgd2lkdGg6IDY1MHB4O1xyXG5cclxuICAgICAgICAudGV4dC1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWJsb2IgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWQtdGFibGV0IHtcclxuICAgIC5pbWFnZS1ibG9iIC50ZXh0IHtcclxuICAgICAgICBib3R0b206IC0xMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtYmxvYiAudGV4dCB7XHJcbiAgICAgICAgaGVpZ2h0OiA1MzVweDtcclxuICAgICAgICB3aWR0aDogNjA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWJsb2IgLnRleHQgLnRleHQtY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBzbS10YWJsZXQge1xyXG4gICAgLmltYWdlLWJsb2Ige1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWJsb2IgLnRleHQge1xyXG4gICAgICAgIGhlaWdodDogNDU1cHg7XHJcbiAgICAgICAgd2lkdGg6IDUyMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LXNlY3Rpb24ge1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtYmxvYiBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHhsLXBob25lIHtcclxuXHJcbiAgICAuaW1hZ2UtYmxvYntcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtYmxvYiAudGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2Utc2VjdGlvbntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZS1zZWN0aW9uIC5iZy13cmFwIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2Utc2VjdGlvbiAuYmctd3JhcDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcclxuICAgIH1cclxufSIsIu+7vy8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz4gXHJcblxyXG5cclxuLy9Db250YWN0IHNlY3Rpb25cclxuLmNvbnRhY3QtaW5mbyB7XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvKi5oZWFkaW5nLXN0YW5kYXJke1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9Ki9cclxuICAgIGEsIHAge1xyXG5cclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jby13b3JrZXJzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5jby13b3JrZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgNXB4IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKnNwYW46bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICB9Ki9cclxuXHJcblxyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDMxMHB4O1xyXG4gICAgICAgIH0qL1xyXG4gICAgICAgIC5iZy13cmFwIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDMxMHB4O1xyXG5cclxuICAgICAgICAgICAgLmJne1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gMyBzdGVwc1xyXG4uc3RlcHMtd3JhcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luOiAyMDBweCAwO1xyXG4gICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgYmFja2dyb3VuZDogI0Y4RjhGODtcclxuICAgIFxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoc3RlcHMtbnVtKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLDAsMCwwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwwLDAsMC4yMyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0Zvcm0gdGV4dFxyXG4uZm9ybS10ZXh0e1xyXG4gICAgbWFyZ2luOiAxMDBweCBhdXRvO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxufVxyXG5cclxuLmZvcm17XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMDBweDtcclxufVxyXG5cclxuQGluY2x1ZGUgc20ge1xyXG4gICAgLmltYWdlLWJsb2IgLnRleHQgLnRleHQtY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3OHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGVwcy13cmFwID4gZGl2Om50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICBtYXJnaW46IDAgNDVweDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgdGFibGV0IHtcclxuICAgIC5mb3JtLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RlcHMtd3JhcCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogNTBweCAwO1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RlcHMtd3JhcCBzcGFuOmJlZm9yZSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RlcHMtd3JhcCBzcGFuOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICBtYXJnaW46IDAgMDtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGFjdC1pbmZvIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuY28td29ya2VycyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tdGV4dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWQtdGFibGV0IHtcclxuICAgIC5jb250YWN0LWluZm8gLmhlYWRpbmctc3RhbmRhcmQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHNtLXRhYmxldCB7XHJcbiAgICAuaW1hZ2UtYmxvYiAudGV4dCAudGV4dC1jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWJsb2IgLnRleHQge1xyXG4gICAgICAgIHJpZ2h0OiA1NiU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHhsLXBob25lIHtcclxuICAgIC5mb3JtIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgIH1cclxufSIsIu+7vy8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz5cclxuLmNvbnRlbnQtY29se1xyXG4gICAgLmludHJvLXRleHR7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmV3e1xyXG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWQge1xyXG4gICAgLmNvbnRlbnQtY29sIC5pbnRyby10ZXh0IHtcclxuICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgLmNvbnRlbnQtY29sIC5ldyB7XHJcbiAgICAgICAgY29sdW1uLWNvdW50OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZC10YWJsZXQge1xyXG4gICAgLmltYWdlLWJsb2IgLnRleHQge1xyXG4gICAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgICAgYm90dG9tOiAtOTRweDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtYmxvYiAudGV4dCAudGV4dC1jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDY0cHg7XHJcbiAgICB9XHJcbn0iLCLvu78vKiBBREQgVEhJUyBMSU5FIFVOREVSIElOIEFMTCBGSUxFUyBZT1UgV0FOVCBUTyBSRUFDSCBWQVJJQUJMRVMgQU5EIE1JWElOUyBFQVNZICovXHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9jc3Muc2Nzc1wiIC8+XHJcblxyXG4ucmVsLWxpbmtzIHtcclxuICAgIG1hcmdpbjogMjAwcHggYXV0bztcclxuXHJcbiAgICAubGluayB7XHJcbiAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKDNuKSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmctd3JhcCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgLmJnIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZCB7XHJcbiAgICAucmVsLWxpbmtzIC5saW5rOm5vdCg6bnRoLWNoaWxkKDNuKSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgc20ge1xyXG5cclxuICAgIC5yZWwtbGlua3MgLmxpbms6bm90KDpudGgtY2hpbGQoM24pKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWwtbGlua3MgLmxpbmsgLmJnLXdyYXAge1xyXG4gICAgICAgIGhlaWdodDogMzAzcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudC1jb2wgLmludHJvLXRleHQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2LWNvbnR7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAucmVsLWxpbmtzIC5saW5rIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlbC1saW5rcyAubGluayAuYmctd3JhcCB7XHJcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG59Iiwi77u/LyogQUREIFRISVMgTElORSBVTkRFUiBJTiBBTEwgRklMRVMgWU9VIFdBTlQgVE8gUkVBQ0ggVkFSSUFCTEVTIEFORCBNSVhJTlMgRUFTWSAqL1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vY3NzLnNjc3NcIiAvPlxyXG5cclxuLnRleHQtaXRlbSB7XHJcbiAgICBtYXJnaW46IDE1MHB4IDA7XHJcbiAgICB3aWR0aDogMjIlO1xyXG5cclxuICAgICY6bm90KDpudGgtY2hpbGQoNG4pKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1NnB4O1xyXG4gICAgfVxyXG5cclxuICAgIGg0e1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQGluY2x1ZGUgbWQge1xyXG4gICAgLnRleHQtaXRlbTpub3QoOm50aC1jaGlsZCg0bikpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQzcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHRhYmxldCB7XHJcblxyXG4gICAgLmNvbnRlbnQtY29sIC5pbnRyby10ZXh0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWwtbGlua3MgLmxpbmsgLmJnLXdyYXAge1xyXG4gICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxufSIsIu+7vy8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz5cclxuXHJcbi5zZXJ2aWNlIHtcclxuICAgIHdpZHRoOiAyMyU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcclxuXHJcblxyXG4gICAgLmJnLXdyYXAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNTAwcHg7XHJcblxyXG4gICAgICAgIC5iZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoOm50aC1jaGlsZCg0KSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweFxyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKDRuKzEpLCAmOm50aC1jaGlsZCg0bisyKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmV3LWFydGljbGUtc2VjdGlvbiB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMzQwcHg7XHJcbiAgICAgICAgbGVmdDogMzBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICBib3R0b206IGluaXRpYWw7XHJcblxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmV3LWludHJvZHVjdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5zZXJ2LWNvbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xyXG59XHJcblxyXG4ucGFnZS1zdmd7XHJcbiAgICAucGFnZS1ibHVyYntcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjAlLCA3MCUpO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBsZyB7XHJcbiAgICAucGFnZS1zdmcgLnBhZ2UtYmx1cmIge1xyXG4gICAgICAgICByaWdodDogNSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1kIHtcclxuICAgIC5zZXJ2aWNlIHtcclxuICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlOm5vdCg6bnRoLWNoaWxkKDMpKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlOm50aC1jaGlsZCg0bisxKSwgLnNlcnZpY2U6bnRoLWNoaWxkKDRuKzIpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBpbml0aWFsO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXN2ZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAyMDBweDtcclxuICAgICAgICB0b3A6IDQ0JTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDIwJSwgNzAlKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjAlLCA3MCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwJSwgNzAlKTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgc20ge1xyXG4gICAgLnRleHQtaXRlbTpub3QoOm50aC1jaGlsZCgzbikpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtaXRlbSB7XHJcbiAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZSB7XHJcbiAgICAgICAgd2lkdGg6IDQ4JTtcclxuXHJcbiAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICB3aWR0aDogOTAlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgLnRleHQtaXRlbSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LWNvbCAuaW50cm8tdGV4dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZSB7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2U6bm90KDpudGgtY2hpbGQoNCkpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2UgLmV3LWFydGljbGUtc2VjdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2Utc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlIC5iZy13cmFwIHtcclxuICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1pdGVtOm5vdCg6bnRoLWNoaWxkKDNuKSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1pdGVtOm5vdCg6bnRoLWNoaWxkKDRuKSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWQtdGFibGV0IHtcclxuICAgIC5zZXJ2aWNlIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBzbS10YWJsZXQge1xyXG4gICAgLmNvbnRlbnQtY29sIC5pbnRyby10ZXh0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgeGwtcGhvbmUge1xyXG4gICAgLnNlcnZpY2Uge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlIC5iZy13cmFwIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlIC5ldy1hcnRpY2xlLXNlY3Rpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTMwcHg7XHJcbiAgICAgICAgdG9wOiBpbml0aWFsO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2UgLmV3LWFydGljbGUtc2VjdGlvbiBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufSIsIu+7vy8qIEFERCBUSElTIExJTkUgVU5ERVIgSU4gQUxMIEZJTEVTIFlPVSBXQU5UIFRPIFJFQUNIIFZBUklBQkxFUyBBTkQgTUlYSU5TIEVBU1kgKi9cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz5cclxuXHJcbi5yZWZlcmVuY2Utc2xpZGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvKm92ZXJmbG93OiBoaWRkZW47Ki9cclxuICAgIC5iZy13cmFwIHtcclxuICAgICAgICBoZWlnaHQ6IDY1MHB4O1xyXG4gICAgICAgIHdpZHRoOiA1ODBweDtcclxuXHJcbiAgICAgICAgLmJnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2stc2xpZGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbWFpbiB7XHJcbiAgICAgICAgdG9wOiAtMTBweDtcclxuICAgICAgICBsZWZ0OiAtNTBweDtcclxuICAgICAgICByaWdodDogaW5pdGlhbDtcclxuICAgICAgICBib3R0b206IGluaXRpYWw7XHJcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWYtbmV4dCwgLnJlZi1wcmV2IHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvb3Age1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBsZyB7XHJcbiAgICAucmVmZXJlbmNlLXNsaWRlIC5iZy13cmFwIHtcclxuICAgICAgICBoZWlnaHQ6IDY1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZCB7XHJcbiAgICAucmVmZXJlbmNlLXNsaWRlIC5iZy13cmFwIHtcclxuICAgICAgICBoZWlnaHQ6IDY1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWZlcmVuY2Utc2xpZGUgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAucmVmZXJlbmNlLXNsaWRlIC5iZy13cmFwIHtcclxuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWZlcmVuY2Utc2xpZGUgPiAuY29udGFpbmVye1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAuc2xpY2stc2xpZGUge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWQtdGFibGV0IHtcclxuICAgIC5yZWZlcmVuY2Utc2xpZGUgbWFpbiB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IC0yMHB4O1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZmVyZW5jZS1zbGlkZSAuc2xpY2stc2xpZGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB4bC1waG9uZSB7XHJcbiAgICAucmVmZXJlbmNlLXNsaWRlIC5iZy13cmFwIHtcclxuICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWZlcmVuY2Utc2xpZGUgbWFpbiB7XHJcbiAgICAgICAgdG9wOiAtNThweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59Iiwi77u/LnNsaWNrLXNsaWRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbn1cclxuXHJcbi5zbGljay1saXN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgICY6Zm9jdXNcclxuXHJcbntcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbiYuZHJhZ2dpbmcge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY3Vyc29yOiBoYW5kO1xyXG59XHJcblxyXG59XHJcblxyXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcclxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG59XHJcblxyXG4uc2xpY2stdHJhY2sge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiA1MzBweDtcclxuXHJcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGljay1zbGlkZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgIG91dGxpbmU6IDA7XHJcblxyXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgJi5kcmFnZ2luZyBpbWcge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1sb2FkaW5nICYge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2stdmVydGljYWwgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zbGljay1idG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtNTBweDtcclxuICAgIHJpZ2h0OiA1MHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucHJldi1idG4ge1xyXG4gICAgcmlnaHQ6IDEyMHB4O1xyXG59XHJcblxyXG4uc2hvdy1zZXJ2aWNlcyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC01MHB4O1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuQGluY2x1ZGUgc20tdGFibGV0IHtcclxuICAgIC5zbGljay1idG4ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC01MHB4O1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAucHJldi1idG4ge1xyXG4gICAgICAgIHJpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSB4bC1waG9uZSB7XHJcbiAgICAuc2xpY2stdHJhY2sge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWluLWhlaWdodDogMzM3cHg7XHJcbiAgICB9XHJcbn0iLCLvu78vLy8gPHJlZmVyZW5jZSBwYXRoPVwiY3NzLnNjc3NcIiAvPlxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICA9PT09PT09PT09PT09PT0gIFNpdGUtc3BlY2lmaWMgbWFpbiBDU1MgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgTWFpbiBmaWxlIGZvciBjdXN0b20gY3NzLCB1c2VkIHRvIHN0eWxlIHRoZSBhY3R1YWwgc2l0ZSwgYW5kIHNob3VsZCBjb250YWluIHRoZSBidWxkIG9mIGFsbCBjdXN0b20gY3NzIGZvciB0aGUgc2l0ZS5cclxuXHJcbiAgICBXaGVuIGd1bHAgaXMgcnVuIGFuZCB0aGUgc2FzcyBpcyBjb21waWxlZCwgaXQgd2lsbCBydW4gYWdhaW5zdCBjc3Muc2NzcyB3aGljaCB3aWxsIGluY2x1ZGUgdGhpcyBmaWxlLlxyXG4gICAgVGhlIGZpbmFsIHJlc3VsdCBlbmQgdXAgYXMgY3NzLmNzcyAoaW4gdGhpcyBmb2xkZXIgZm9yIGRldiwgaW4gd3d3cm9vdC9jc3MgZm9yIHByb2QpXHJcblxyXG4gICAgVGlwOiBVc2UgdGhlIHZhcmlhYmxlcyBpbiBzaXRlLnNjc3MgZm9yIGEgYmV0dGVyIGFuZCBtb3JlIG1haW50YWluYWJsZSBmaWxlLCBcclxuICAgIHdoaWNoIGlzIGF2YWlsYWJsZSBpbiBpbnRlbGxpc2Vuc2UgdGhhbmtzIHRvIHRoZSA8cmVmZXJlbmNlIHBhdGg9XCJcIiAvPiBhYm92ZS5cclxuICAgIFxyXG4gICAgRXhhbXBsZXM6XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9tYWluO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250X3NpemVfbWFpbjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lX2hlaWdodF9tYWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHsgY29sb3I6ICRjb2xvcl90ZXh0OyB9XHJcbiAgICAgICAgYSB7IGNvbG9yOiAkY29sb3JfbGluazsgfVxyXG5cclxuICAgIENvbW1lbnRzIHdpbGwgZ2V0IHJlbW92ZWQgaW4gdGhlIGZpbmFsIG1pbmlmaWVkIHByb2R1Y3Rpb24gY3NzIGluIC93d3dyb290L2Nzcy9jc3MuY3NzLFxyXG4gICAgc28gdGhlcmUncyBubyByZWFzb24gdG8gYmUgc2h5IHVzaW5nIHRoZW0uIFxyXG4gICAgUHJlZmVyIG11bHRpLWxpbmUgdXNhZ2Ugd2l0aCAnLyonIChsaWtlIHRpcyBjb21tZW50KSBpbnN0ZWFkIG9mICcvLycgc2luY2UgYXV0byBmb3JtYXR0ZXJzIGNvdWxkIGNhdXNlIGlzc3VlcyB3aXRoICcvLydcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbmh0bWwge1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIC8vIGZvbnQgZ3Jvd3MgMXB4IGZvciBldmVyeSAxMDBweCBvZiB2aWV3cG9ydCB3aWR0aFxyXG4gICAgZm9udC1zaXplOiBjYWxjKDEwcHggKyAwLjV2dyk7XHJcbiAgICAvLyBsZWFkaW5nIGdyb3dzIGFsb25nIHdpdGggZm9udCxcclxuICAgIC8vIHdpdGggYW4gYWRkaXRpb25hbCAwLjFlbSArIDAuNXB4IHBlciAxMDBweCBvZiB0aGUgdmlld3BvcnRcclxuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDEuNSk7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuI3BhZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG51bHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qaDEge1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDEuMmVtICsgM3Z3KTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiN3cmFwcGVyIGEgeyBjb2xvcjogIzAxMjE0NDsgJjpob3ZlciB7IGNvbG9yOiAjMDAwOyB9ICB9XHJcblxyXG4jcGFnZSB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgLmJsb2NrIHsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG5cclxuICAgIC5jb2wtMyA+ICoge1xyXG4gICAgICAgIHdpZHRoOiAzMiU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfSBcclxuICAgIC5jb2wtMiA+ICoge1xyXG4gICAgICAgIHdpZHRoOiA0OSU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4jaGVhZGVyIHsgXHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgcGFkZGluZzogMjBweCA0MHB4IDAgNDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmY4ZTc7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZGRjZDtcclxuXHJcbiAgICBhLmxvZ28geyBmbG9hdDogbGVmdDsgbWFyZ2luLXRvcDogLThweDt9XHJcblxyXG4gICAgbmF2IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAzMHB4O1xyXG5cclxuICAgICAgICB1bCBsaSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAmLmFjdGl2ZSA+IGEgeyBjb2xvcjogIzAwMDsgfVxyXG4gICAgICAgICAgICAgICAgIGEgeyBwYWRkaW5nOiA1cHggMTVweDsgfVxyXG4gICAgICAgICAgICAgICAgLmRyb3Bkb3duIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgcGFkZGluZzogMTBweDsgbWluLXdpZHRoOiAyMDBweDsgdG9wOiAzMHB4OyBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDM7ICAgIGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDNweDsgYm9yZGVyOiAxcHggZGFzaGVkICNkZmViYzk7IHBhZGRpbmc6IDVweDsgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHsgIGRpc3BsYXk6IGJsb2NrO3BhZGRpbmc6IDVweCAxMHB4IDVweCAxMHB4OyAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjZGZlYmM5OyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5kcm9wZG93biB7IGRpc3BsYXk6IG5vbmU7fVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6aG92ZXIgIHsgYmFja2dyb3VuZC1jb2xvcjogI2YyZjhlNzsgICB9XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3VibWVudSB7XHJcbiAgICAgICAgbGkgYSB7IGZvbnQtc2l6ZTogY2FsYyg4cHggKyAwLjV2dyk7IH1cclxuICAgIH1cclxufVxyXG5cclxuI3BhZ2UgeyBcclxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4OyBcclxuICAgIC5ibG9jayB7IGJvcmRlcjogMXB4IGRhc2hlZCAjZGZlYmM5OyBwYWRkaW5nOiAxJTsgbWFyZ2luOiAxJTsgYm9yZGVyLXJhZGl1czogM3B4O31cclxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJTsgcGFkZGluZzogMnB4OyBib3JkZXI6IDFweCBkYXNoZWQgI2RmZWJjOTsgYm9yZGVyLXJhZGl1czogNXB4O31cclxuICAgIC5jaGlsZC1ibG9jayA+ICogeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgLmZsZXgtY2VudGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmhlcm86OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvYmFja2dyb3VuZC0xOTMyNDY2XzE5MjAtMzIweDIxMi5qcGcpO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IC0yO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgLmhlcm86OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWE0Nzg2O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgIH1cclxufVxyXG5cclxuI2Zvb3RlciB7IFxyXG4gICAgbWFyZ2luLXRvcDogOTBweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7IHBhZGRpbmctdG9wOiAyMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgcGFkZGluZzogMTBweCAxMCU7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICA+IG5hdiA+IHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luLXJpZ2h0OiA4MHB4OyA+IGxpIHsgcGFkZGluZzogNXB4IDEwcHggNXB4IDEwcHg7IGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2RmZWJjOTsgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cclxuICAgID4gbmF2IHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgbGkgYSB7IGRpc3BsYXk6IGJsb2NrOyB9ICB9XHJcbiAgICA+IG5hdiwgPiBkaXYgeyB3aWR0aDogMzAlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiB0b3A7ICB9XHJcbiAgICAuc3VibWVudS5kcm9wZG93biB7IFxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMzsgbGVmdDogMTIwcHg7IHRvcDogLTIwJTsgIGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDNweDsgYm9yZGVyOiAxcHggZGFzaGVkICNkZmViYzk7IHBhZGRpbmc6IDVweDsgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBsaSB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiA4cHggMTBweCA4cHggMTBweDsgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2RmZWJjOTsgfVxyXG4gICAgICAgIGEgeyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICB9XHJcbiAgICA+IG5hdiA+IHVsIGxpOmhvdmVyICB7IGJhY2tncm91bmQtY29sb3I6ICNmMmY4ZTc7ICAgfVxyXG4gICAgLmJvdHRvbS1mb290ZXIge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiAjYzFjZmE4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgfVxyXG59Ki9cclxuXHJcblxyXG5cclxuXHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9jc3Muc2Nzc1wiIC8+XHJcbi8qLnN0YW5kYXJkLXBhZ2Uge1xyXG4gICAgcGFkZGluZy10b3A6IDhyZW07XHJcblxyXG4gICAgLmV3LXNsaW0ge1xyXG5cclxuICAgICAgICAuZXcge1xyXG4gICAgICAgICAgICB3aWR0aDogODclO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0qL1xyXG5cclxuXHJcbi8vIEFuaW1hdGlvbnMgXHJcblxyXG4vKi5zdGFuZGFyZC1wYWdlIHtcclxuICAgIC5ldy1zbGltIHtcclxuICAgICAgICAuZXcge1xyXG4gICAgICAgICAgICBvcGFjaXR5OjA7XHJcbiAgICAgICAgICAgICYuYW5pbWF0ZSB7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb246ZmFkZS11cCAuNXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6LjVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Ki9cclxuXHJcblxyXG4vLyBSZXNwXHJcbi8qQGluY2x1ZGUgbGctcGhvbmUge1xyXG4gICAgLnN0YW5kYXJkLXBhZ2Uge1xyXG4gICAgICAgIC5ldy1zbGltIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XHJcblxyXG4gICAgICAgICAgICAuZXcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0qL1xyXG5cclxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2Nzcy5zY3NzXCIgLz5cclxuXHJcblxyXG4vKiN3cmFwcGVyIGEubG9nZW8geyB9XHJcblxyXG5cclxuLmZsb2F0aW5nLWxpc3Qge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXgtd2lkdGg6IDQ1JTsgcGFkZGluZzogMiU7XHJcblxyXG4gICAgaW1nIHsgZmxvYXQ6IGxlZnQ7IG1hcmdpbi1yaWdodDogNDBweDsgfVxyXG59XHJcblxyXG4uZGV0YWlsZWQtbGlzdCB7XHJcbiAgICA+IGRpdiwgPiB1bCA+IGxpLCA+IHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjZjZmNmY2O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmx1cmItd2lkZSB7XHJcbiAgICBcclxuICAgIGltZyB7IGZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDYwcHg7IH1cclxufVxyXG4uYmx1cmItMiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1heC13aWR0aDogNDUlOyBwYWRkaW5nOiAyJTtcclxuXHJcbiAgICBpbWcgeyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XHJcbn1cclxuLmJsdXJiLTMge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXgtd2lkdGg6IDMwJTsgcGFkZGluZzogMS41JTtcclxuXHJcbiAgICBpbWcgeyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XHJcbn0qLyIsIu+7vy8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9jc3Muc2Nzc1wiIC8+XHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvb2tpZSBjb250YWluZXIgaW4gYm90dG9tIGFza2luZyBmb3IgY29va2llIGFuZCBpbnRlZ3JpdHkgY29uc2VudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuI2V3LWNvb2tpZWluZm8tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcGFkZGluZzogMTVweCAwcHg7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtbWFpbjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICAgIGNvbG9yOiAjZmZmO1xyXG5cclxuICAgIGF7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgQGV4dGVuZCAlY2xlYXJmaXg7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmhpZGRlbiwgLmhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAuaW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwIDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjZXctY29va2llaW5mby1idXR0b24tb2sge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1idG47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJ0bjtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBwYWRkaW5nOiAycHggMjVweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGV4dC1idG47XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnRuO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6JGNvbG9yLWJ0bjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19 */
