@charset "UTF-8";
/**
 * style.scss
 *
 * Author: ideenfrische
 *
 */
/**
 * basicss overrides
 *
 * any defaults in basicss/basicss/_settings.scss
 * may be overridden...
 *
 * e.g. $prototyping: true;
 */
/**
 * basicss import
 */
/**
 * basicss.scss
 *
 * Author: Marian Friedmann
 *
 */
/* ====================================================
   Reset, Defaults, Mixins
   ==================================================== */
/**
 * Reset, Default settings
 */
/**
 * _settings.scss
 *
 * Author: Marian Friedmann
 */
/**
* Variables Mode
*/
/**
* Default colors
*/
/**
 * Default objects
 */
/**
 * Default helper
 */
/**
 * Default fonts
 */
/**
 * Default font size
 */
/**
 * Default headings
 */
/**
 *  Default spacing
 */
/**
 * Default breakpoints
 */
/**
 * Default spaces
 */
/**
 * Default constrains
 */
/**
 * Arrows
 */
/**
 * Global Variables
 */
/**
 * Mixins
 */
/**
 * _media.scss
 *
 * Author: Marius Scheel
 *
 * Usage:
 * @include media(300px);
 * or @include media(300px, false);
 * or @include media(max-width 300px);
 * or @include media(100px max-width 300px);
 * or @include media(max-width 100px max-width 300px);
 * or @include media(max-width 100px max-width 300px, true);
 *
 */
/**
 * _hdpi.scss
 *
 * Author: Marius Scheel
 *
 * defaults to 1.3 to include Google Nexus 7
 * adapted from bourbon:
 * https://github.com/thoughtbot/bourbon/blob/master/app/assets/stylesheets/css3/_hidpi-media-query.scss
 * 
 * Usage:
 * @include hdpi {
 *  // your css for hdpi displays
 * };
 *
 * you can use a custom ratio, if you like:
 * @include hdpi(1.5) {
 *  // your css
 * };
 */
/**
 * _retina-image.scss
 *
 * Author: Marius Scheel
 *
 * Usage:
 * .hero {
 *  @include retina-image("../path/to/hero", 200px 400px);
 * }
 *
 * to use a specific filename:
 * .hero {
 *  @include retina-image("../path/to/hero", 200px 400px, "../path/to/retina-hero"); 
 * } 
 *
 * modified version of bourbon's retina-image mixin.
 * The mixin uses a @2x.png retina filename by default.
 * https://github.com/thoughtbot/bourbon/blob/master/app/assets/stylesheets/addons/_retina-image.scss
 */
/**
 * _font-size.scss
 *
 * Author: Marian Friedmann
 *
 */
/**
 * _px-to-rem.scss
 *
 * Author: Marian Friedmann
 *
 * Usage:
 * .element {
 *   @include px-to-rem(padding, 0 24px)
 * }
 *
 * Output:
 * .element {
 *   padding: 0 24px;
 *   padding: 0 1.5rem;
 * }
 *
 */
/**
 * _clearfix.scss
 *
 * Author: Marian Friedmann
 *
 * Usage:
 * .element {
 *   @include clearfix;
 * }
 *
 */
/**
 * _ellipsis.scss
 *
 * Author: Marian Friedmann
 *
 * ellipsis mixin 
 *
 */
/* ====================================================
   Base Styles
   ==================================================== */
/*! normalize.css v8.0.1 | 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 iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
   ========================================================================== */
/**
 * 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
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

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

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

/**
 * 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 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 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;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
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 in Chrome and Safari on macOS.
 */
[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 Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

/**
 * _main.scss
 *
 * Author: Marian Friedmann
 *
 */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
}

.invisible {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  border: none;
  display: block;
  overflow: hidden;
  opacity: 0;
}

/**
 * _baseline.scss
 *
 * Author: Marian Friedmann
 *
 */
body,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
form, fieldset, legend,
table, th, td, caption,
hr {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6,
ul, ol, dl,
blockquote, p, address,
table,
fieldset, figure,
pre {
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
}

ul, ol, dd {
  margin-left: 20px;
  margin-left: 1.25rem;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

/**
 * _typo.scss
 *
 * Author: Marian Friedmann
 *
 */
html {
  font-family: "Roboto", sans-serif;
  font-size: 1em;
  line-height: 1.5;
}

h1,
.heading-1 {
  font-size: 48px;
  font-size: 3rem;
  line-height: 1;
  font-weight: 900;
}

h2,
.heading-2 {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.3333333333;
  font-weight: 900;
}

h3,
.heading-3 {
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 900;
}

h4,
.heading-4 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 900;
}

h5,
.heading-5 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: 900;
}

h6,
.heading-6 {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 900;
}

/**
 * _links.scss
 *
 * Author: Marian Friedmann
 *
 */
a {
  color: #981000;
  text-decoration: none;
}

a:hover {
  color: #6E0C00;
  text-decoration: underline;
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  outline: 0;
}

/**
 * media-src.scss
 *
 * Author: Marian Friedmann
 *
 */
object,
embed,
video,
img {
  max-width: 100%;
  height: auto;
}

/**
* text styles to offset alt text
*/
img {
  color: #c00;
}

/**
* no fluid images, when width or height are set
*/
img[width],
img[height] {
  max-width: none;
}

/* ====================================================
   Objects
   ==================================================== */
/**
 * _grid.scss
 *
 * Author: Marian Friedmann
 *
 * Usage:
 * <div class="grid">
 *   <div class="grid__item  width--1of1  width-tab--1of3  width-desk--1of4">
 *       ...
 *   </div><!--
 *--><div class="grid__item  width--1of1  width-tab--2of3  width-desk--3of4">
 *     <div class="grid">
 *       <div class="grid__item  width--1of1  width-tab--1of2">
 *           ...
 *       </div><!--
 *    --><div class="grid__item  width--1of1  width-tab--1of2">
 *           ...
 *       </div>
 *     </div>
 *   </div>
 * </div>
 *
 * the example above combines the grid items with the widths from helper/_width.scss
 */
.grid, .main .ce_gallery ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0;
  margin-left: -20px;
  margin-left: -1.25rem;
}

.grid__item, .main .ce_gallery ul li {
  position: relative;
  width: 100%;
  min-height: 1px;
  -webkit-box-flex: 0;
  padding-left: 20px;
  padding-left: 1.25rem;
}

/**
 * Reverse the order of grid items
 */
.grid--reversed {
  -ms-flex-direction: row-reverse;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  flex-direction: row-reverse;
}

/**
 * adds a seperator line to the grid
 */
.grid--seperator {
  overflow: hidden;
}
.grid--seperator > .grid__item:after, .main .ce_gallery ul .grid--seperator > li:after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  right: -10px;
  display: block;
  background-color: #DBDBDB;
}
.grid--flush.grid--seperator > .grid__item:after, .main .ce_gallery ul .grid--flush.grid--seperator > li:after {
  right: 0;
}
.grid--small.grid--seperator > .grid__item:after, .main .ce_gallery ul .grid--small.grid--seperator > li:after {
  right: -5px;
}
.grid--large.grid--seperator > .grid__item:after, .main .ce_gallery ul .grid--large.grid--seperator > li:after {
  right: -20px;
}
.grid--huge.grid--seperator > .grid__item:after, .main .ce_gallery ul .grid--huge.grid--seperator > li:after {
  right: -30px;
}

/**
 * Grid items without gutters
 */
.grid--flush {
  margin-left: 0;
}
.grid--flush > .grid__item, .main .ce_gallery ul .grid--flush > li {
  padding-left: 0;
}

/**
 * Grid size variations
 */
.grid--small {
  margin-left: -10px;
  margin-left: -0.625rem;
}
.grid--small > .grid__item, .main .ce_gallery ul .grid--small > li {
  padding-left: 10px;
  padding-left: 0.625rem;
}

.grid--large {
  margin-left: -40px;
  margin-left: -2.5rem;
}
.grid--large > .grid__item, .main .ce_gallery ul .grid--large > li {
  padding-left: 40px;
  padding-left: 2.5rem;
}

.grid--huge {
  margin-left: -60px;
  margin-left: -3.75rem;
}
.grid--huge > .grid__item, .main .ce_gallery ul .grid--huge > li {
  padding-left: 60px;
  padding-left: 3.75rem;
}

.grid--start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.grid--end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.grid--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

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

.grid--around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.grid--top {
  -ms-flex-align: start;
  -webkit-box-align: start;
  align-items: flex-start;
}

.grid--middle {
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
}

.grid--bottom {
  -ms-flex-align: end;
  -webkit-box-align: end;
  align-items: flex-end;
}

.grid--stretch, .grid--seperator {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

@media screen and (min-width: 481px) {
  .grid-tab--start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .grid-tab--end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .grid-tab--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .grid-tab--between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .grid-tab--around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .grid-tab--top {
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
  }
  .grid-tab--middle {
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
  }
  .grid-tab--bottom {
    -ms-flex-align: end;
    -webkit-box-align: end;
    align-items: flex-end;
  }
  .grid-tab--stretch {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (min-width: 721px) {
  .grid-lap--start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .grid-lap--end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .grid-lap--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .grid-lap--between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .grid-lap--around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .grid-lap--top {
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
  }
  .grid-lap--middle {
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
  }
  .grid-lap--bottom {
    -ms-flex-align: end;
    -webkit-box-align: end;
    align-items: flex-end;
  }
  .grid-lap--stretch {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (min-width: 1024px) {
  .grid-desk--start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .grid-desk--end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .grid-desk--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .grid-desk--between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .grid-desk--around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .grid-desk--top {
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
  }
  .grid-desk--middle {
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
  }
  .grid-desk--bottom {
    -ms-flex-align: end;
    -webkit-box-align: end;
    align-items: flex-end;
  }
  .grid-desk--stretch {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (min-width: 1200px) {
  .grid-desk-wide--start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .grid-desk-wide--end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .grid-desk-wide--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .grid-desk-wide--between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .grid-desk-wide--around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .grid-desk-wide--top {
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
  }
  .grid-desk-wide--middle {
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
  }
  .grid-desk-wide--bottom {
    -ms-flex-align: end;
    -webkit-box-align: end;
    align-items: flex-end;
  }
  .grid-desk-wide--stretch {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (min-width: 1500px) {
  .grid-max--start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .grid-max--end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .grid-max--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .grid-max--between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .grid-max--around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .grid-max--top {
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
  }
  .grid-max--middle {
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
  }
  .grid-max--bottom {
    -ms-flex-align: end;
    -webkit-box-align: end;
    align-items: flex-end;
  }
  .grid-max--stretch {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
/**
 * _btn.scss
 *
 * Author: Marian Friedmann
 *
 * Usage:
 * <a class="btn [btn--secondary]" href="#">btn</a>
 * <input type="text" class="btn">
 * <button class="btn">btn</button>
 */
.btn, .main .hyperlink_txt, .main .ce_toplink a {
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  border: none;
  line-height: 48px;
  display: inline-block;
  margin: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* Cosmetics */
  padding: 0em 20px;
  color: #fff;
  font-weight: bold;
  background-color: #981000;
}
.btn:hover, .main .hyperlink_txt:hover, .main .ce_toplink a:hover {
  background-color: #6E0C00;
  color: #fff;
  text-decoration: none;
}

.btn--round {
  border-radius: 4px;
}

.btn--pill {
  border-radius: 44em;
}

.btn--full {
  width: 100%;
}

/* Button disguised as a link. */
.btn--link {
  margin: 0;
  padding: 0;
  border: none;
  color: #981000;
  background: none;
  line-height: 1;
}
.btn--link:hover {
  color: #981000;
  text-decoration: underline;
  background: none;
}

/**
 * _constrain.scss
 *
 * Author: Marius Scheel
 *
 */
.constrain {
  margin: 0 auto;
}

.constrain--max {
  max-width: 1400px;
  max-width: 87.5rem;
}

/**
 * _nav.scss
 *
 * Author: Marian Friedmann
 *
 * source: Nav abstraction from csswizardry.com/2011/09/the-nav-abstraction
 *
 * Can be used on an `ol` or `ul` and displays the list items horizontally.
 * Extend it with the following subclasses:
 *
 * - nav--stacked    // displays the list items vertically
 * - nav--banner     // centres the list
 * - nav--block      // expands list items clickable areas
 * - nav--fit        // forces the list to occupy the full width of its parent
 * - nav--keywords   // display as a list of keywords
 * - nav--breadcrumb // display as breadcrumbs
 * - nav--parallel   // display nav items with parallel separator
 *
 * Markup:
 *
 * <ul class="nav">
 *   <li><a href=#>Home</a></li>
 *   <li><a href=#>About</a></li>
 *   <li><a href=#>Portfolio</a></li>
 *   <li><a href=#>Contact</a></li>
 * </ul>
 */
/**
 * 'nav-stacked' displays the list items vertically
 */
/**
 * 'nav-banner' centres the list
 */
/**
 * 'nav--block' expands list items clickable areas with padding
 */
/**
 * 'nav--fit' forces the list to occupy the full width of its parent
 */
/**
 * 'nav--keywords' display as a list of keywords
 */
/**
 * 'nav--breadcrumbs' display as breadcrumbs
 */
/**
 * 'nav--parallel' display with parallel separator
 */
/**
 * _box.scss
 *
 * modified version of:
 * https://github.com/inuitcss/objects.box/blob/master/_objects.box.scss
 *
 */
/**
 * _media.scss
 *
 * displays image and text side by side
 *
 * Example markup:
 *
    <div class="media media--small">
      <div class="media__img"></div>
      <div class="media__body"></div>
    </div>
 *
 * use the `.media--rev` modifier to reverse the the image location and put it to the right
 * use the `.media--small` modifier, to decrease the gutter width between image and content
 *
 * for more information have a look at:
 * stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code
 *
 */
.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.media--tab {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 481px) {
  .media--tab {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.media--lap {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 721px) {
  .media--lap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.media--desk {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .media--desk {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.media--desk-wide {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1200px) {
  .media--desk-wide {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.media--max {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1500px) {
  .media--max {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.media__img {
  display: inline-block;
  margin-right: 20px;
  margin-right: 1.25rem;
}
.media__body + .media__img {
  margin-left: 20px;
  margin-left: 1.25rem;
  margin-right: 0;
}
@media screen and (max-width: 480px) {
  .media--tab .media__img {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 720px) {
  .media--lap .media__img {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 1023px) {
  .media--desk .media__img {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 1199px) {
  .media--desk-wide .media__img {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 1499px) {
  .media--max .media__img {
    margin-left: 0;
    margin-right: 0;
  }
}
.media__img > img {
  display: block;
}

.media__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}

.media--small .media__img {
  margin-right: 10px;
  margin-right: 0.625rem;
}

.media--big .media__img {
  margin-right: 40px;
  margin-right: 2.5rem;
}

/**
 * _bare-list.scss
 *
 */
/**
 * _ui-list.scss
 *
 * based on Harry Roberts ui-list object:
 * https://github.com/inuitcss/objects.ui-list/blob/master/_objects.ui-list.scss
 *
 * creates blocky items, can be used with lists or the corresponding markup:
 *
 * <div class="ui-list">
 *  <div class="ui-list__item"></div>
 *  <div class="ui-list__item"></div>
 *  <div class="ui-list__item"></div>
 * </div>
 *
 * or:
 *
 * <ul class="ui-list ui-list--small">
 *  <li></li>
 *  <li></li>
 *  <li></li>
 * </ul>
 *
 * can optionally be used with --separator and --border, where --separator
 * adds borders to the list element and --border to the list itself
 *
 * comes with different size modifiers
 *
 */
/**
 * Modifiers for sizing the list
 */
/**
 * _arrow.scss
 *
 * Author: Marian Friedmann
 *
 * Usage:
 * <div class="arrow arrow--top-left">
 *  ...
 * </div>
 *
 */
/**
 * Arrow Top
 */
/**
 * Arrow Bottom
 */
/**
 * Arrow Left
 */
/**
 * Arrow Right
 */
/**
 * _icon.scss
 *
 * Author: Marian Friedmann
 *
 * Usage:
 * <i class="icon [icon--nav-toggle]"></i>
 *
 */
/**
 * Alle icons werden als .svg exportiert unter
 * /assets/images/icons abgelegt und von grunt-svgmin
 * und grunt-grunticon weiterverarbeitet.
 *
 * Output unter /assets/images/icons/grunticon
 */
.icon {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  display: inline-block;
}

/**
 * Beispiel für ein Icon
 *
 * .icon--mobile-nav-toggle {
 *   @include background-svg("../images/nav-toggle");
 * }
 */
/* ====================================================
   Helper Classes
   ==================================================== */
/**
 * _spacing.scss
 *
 * Author: Marian Friedmann
 *
 * Usage:
 * <div class="space--top  space-tab--top-double">
 *   ...
 * </div>
 *
 */
/**
 * Basic & spacing
 */
.space--top-none {
  margin-top: 0px !important;
  margin-top: 0rem !important;
}

.space--left-none {
  margin-left: 0px !important;
  margin-left: 0rem !important;
}

.space--right-none {
  margin-right: 0px !important;
  margin-right: 0rem !important;
}

.space--bottom-none {
  margin-bottom: 0px !important;
  margin-bottom: 0rem !important;
}

.space--top-quarter {
  margin-top: 5px !important;
  margin-top: 0.3125rem !important;
}

.space--left-quarter {
  margin-left: 5px !important;
  margin-left: 0.3125rem !important;
}

.space--right-quarter {
  margin-right: 5px !important;
  margin-right: 0.3125rem !important;
}

.space--bottom-quarter {
  margin-bottom: 5px !important;
  margin-bottom: 0.3125rem !important;
}

.space--top-third {
  margin-top: 6.6666666666px !important;
  margin-top: 0.4166666667rem !important;
}

.space--left-third {
  margin-left: 6.6666666666px !important;
  margin-left: 0.4166666667rem !important;
}

.space--right-third {
  margin-right: 6.6666666666px !important;
  margin-right: 0.4166666667rem !important;
}

.space--bottom-third {
  margin-bottom: 6.6666666666px !important;
  margin-bottom: 0.4166666667rem !important;
}

.space--top-half {
  margin-top: 10px !important;
  margin-top: 0.625rem !important;
}

.space--left-half {
  margin-left: 10px !important;
  margin-left: 0.625rem !important;
}

.space--right-half {
  margin-right: 10px !important;
  margin-right: 0.625rem !important;
}

.space--bottom-half {
  margin-bottom: 10px !important;
  margin-bottom: 0.625rem !important;
}

.space--top {
  margin-top: 20px !important;
  margin-top: 1.25rem !important;
}

.space--left {
  margin-left: 20px !important;
  margin-left: 1.25rem !important;
}

.space--right {
  margin-right: 20px !important;
  margin-right: 1.25rem !important;
}

.space--bottom {
  margin-bottom: 20px !important;
  margin-bottom: 1.25rem !important;
}

.space--top-double {
  margin-top: 40px !important;
  margin-top: 2.5rem !important;
}

.space--left-double {
  margin-left: 40px !important;
  margin-left: 2.5rem !important;
}

.space--right-double {
  margin-right: 40px !important;
  margin-right: 2.5rem !important;
}

.space--bottom-double {
  margin-bottom: 40px !important;
  margin-bottom: 2.5rem !important;
}

.space--top-triple {
  margin-top: 60px !important;
  margin-top: 3.75rem !important;
}

.space--left-triple {
  margin-left: 60px !important;
  margin-left: 3.75rem !important;
}

.space--right-triple {
  margin-right: 60px !important;
  margin-right: 3.75rem !important;
}

.space--bottom-triple {
  margin-bottom: 60px !important;
  margin-bottom: 3.75rem !important;
}

.space--top-quad {
  margin-top: 80px !important;
  margin-top: 5rem !important;
}

.space--left-quad {
  margin-left: 80px !important;
  margin-left: 5rem !important;
}

.space--right-quad {
  margin-right: 80px !important;
  margin-right: 5rem !important;
}

.space--bottom-quad {
  margin-bottom: 80px !important;
  margin-bottom: 5rem !important;
}

@media screen and (min-width: 481px) {
  .space-tab--top-none {
    margin-top: 0px !important;
    margin-top: 0rem !important;
  }
  .space-tab--left-none {
    margin-left: 0px !important;
    margin-left: 0rem !important;
  }
  .space-tab--right-none {
    margin-right: 0px !important;
    margin-right: 0rem !important;
  }
  .space-tab--bottom-none {
    margin-bottom: 0px !important;
    margin-bottom: 0rem !important;
  }
  .space-tab--top-quarter {
    margin-top: 5px !important;
    margin-top: 0.3125rem !important;
  }
  .space-tab--left-quarter {
    margin-left: 5px !important;
    margin-left: 0.3125rem !important;
  }
  .space-tab--right-quarter {
    margin-right: 5px !important;
    margin-right: 0.3125rem !important;
  }
  .space-tab--bottom-quarter {
    margin-bottom: 5px !important;
    margin-bottom: 0.3125rem !important;
  }
  .space-tab--top-third {
    margin-top: 6.6666666666px !important;
    margin-top: 0.4166666667rem !important;
  }
  .space-tab--left-third {
    margin-left: 6.6666666666px !important;
    margin-left: 0.4166666667rem !important;
  }
  .space-tab--right-third {
    margin-right: 6.6666666666px !important;
    margin-right: 0.4166666667rem !important;
  }
  .space-tab--bottom-third {
    margin-bottom: 6.6666666666px !important;
    margin-bottom: 0.4166666667rem !important;
  }
  .space-tab--top-half {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .space-tab--left-half {
    margin-left: 10px !important;
    margin-left: 0.625rem !important;
  }
  .space-tab--right-half {
    margin-right: 10px !important;
    margin-right: 0.625rem !important;
  }
  .space-tab--bottom-half {
    margin-bottom: 10px !important;
    margin-bottom: 0.625rem !important;
  }
  .space-tab--top {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .space-tab--left {
    margin-left: 20px !important;
    margin-left: 1.25rem !important;
  }
  .space-tab--right {
    margin-right: 20px !important;
    margin-right: 1.25rem !important;
  }
  .space-tab--bottom {
    margin-bottom: 20px !important;
    margin-bottom: 1.25rem !important;
  }
  .space-tab--top-double {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .space-tab--left-double {
    margin-left: 40px !important;
    margin-left: 2.5rem !important;
  }
  .space-tab--right-double {
    margin-right: 40px !important;
    margin-right: 2.5rem !important;
  }
  .space-tab--bottom-double {
    margin-bottom: 40px !important;
    margin-bottom: 2.5rem !important;
  }
  .space-tab--top-triple {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .space-tab--left-triple {
    margin-left: 60px !important;
    margin-left: 3.75rem !important;
  }
  .space-tab--right-triple {
    margin-right: 60px !important;
    margin-right: 3.75rem !important;
  }
  .space-tab--bottom-triple {
    margin-bottom: 60px !important;
    margin-bottom: 3.75rem !important;
  }
  .space-tab--top-quad {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .space-tab--left-quad {
    margin-left: 80px !important;
    margin-left: 5rem !important;
  }
  .space-tab--right-quad {
    margin-right: 80px !important;
    margin-right: 5rem !important;
  }
  .space-tab--bottom-quad {
    margin-bottom: 80px !important;
    margin-bottom: 5rem !important;
  }
}
@media screen and (min-width: 721px) {
  .space-lap--top-none {
    margin-top: 0px !important;
    margin-top: 0rem !important;
  }
  .space-lap--left-none {
    margin-left: 0px !important;
    margin-left: 0rem !important;
  }
  .space-lap--right-none {
    margin-right: 0px !important;
    margin-right: 0rem !important;
  }
  .space-lap--bottom-none {
    margin-bottom: 0px !important;
    margin-bottom: 0rem !important;
  }
  .space-lap--top-quarter {
    margin-top: 5px !important;
    margin-top: 0.3125rem !important;
  }
  .space-lap--left-quarter {
    margin-left: 5px !important;
    margin-left: 0.3125rem !important;
  }
  .space-lap--right-quarter {
    margin-right: 5px !important;
    margin-right: 0.3125rem !important;
  }
  .space-lap--bottom-quarter {
    margin-bottom: 5px !important;
    margin-bottom: 0.3125rem !important;
  }
  .space-lap--top-third {
    margin-top: 6.6666666666px !important;
    margin-top: 0.4166666667rem !important;
  }
  .space-lap--left-third {
    margin-left: 6.6666666666px !important;
    margin-left: 0.4166666667rem !important;
  }
  .space-lap--right-third {
    margin-right: 6.6666666666px !important;
    margin-right: 0.4166666667rem !important;
  }
  .space-lap--bottom-third {
    margin-bottom: 6.6666666666px !important;
    margin-bottom: 0.4166666667rem !important;
  }
  .space-lap--top-half {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .space-lap--left-half {
    margin-left: 10px !important;
    margin-left: 0.625rem !important;
  }
  .space-lap--right-half {
    margin-right: 10px !important;
    margin-right: 0.625rem !important;
  }
  .space-lap--bottom-half {
    margin-bottom: 10px !important;
    margin-bottom: 0.625rem !important;
  }
  .space-lap--top {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .space-lap--left {
    margin-left: 20px !important;
    margin-left: 1.25rem !important;
  }
  .space-lap--right {
    margin-right: 20px !important;
    margin-right: 1.25rem !important;
  }
  .space-lap--bottom {
    margin-bottom: 20px !important;
    margin-bottom: 1.25rem !important;
  }
  .space-lap--top-double {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .space-lap--left-double {
    margin-left: 40px !important;
    margin-left: 2.5rem !important;
  }
  .space-lap--right-double {
    margin-right: 40px !important;
    margin-right: 2.5rem !important;
  }
  .space-lap--bottom-double {
    margin-bottom: 40px !important;
    margin-bottom: 2.5rem !important;
  }
  .space-lap--top-triple {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .space-lap--left-triple {
    margin-left: 60px !important;
    margin-left: 3.75rem !important;
  }
  .space-lap--right-triple {
    margin-right: 60px !important;
    margin-right: 3.75rem !important;
  }
  .space-lap--bottom-triple {
    margin-bottom: 60px !important;
    margin-bottom: 3.75rem !important;
  }
  .space-lap--top-quad {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .space-lap--left-quad {
    margin-left: 80px !important;
    margin-left: 5rem !important;
  }
  .space-lap--right-quad {
    margin-right: 80px !important;
    margin-right: 5rem !important;
  }
  .space-lap--bottom-quad {
    margin-bottom: 80px !important;
    margin-bottom: 5rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .space-desk--top-none {
    margin-top: 0px !important;
    margin-top: 0rem !important;
  }
  .space-desk--left-none {
    margin-left: 0px !important;
    margin-left: 0rem !important;
  }
  .space-desk--right-none {
    margin-right: 0px !important;
    margin-right: 0rem !important;
  }
  .space-desk--bottom-none {
    margin-bottom: 0px !important;
    margin-bottom: 0rem !important;
  }
  .space-desk--top-quarter {
    margin-top: 5px !important;
    margin-top: 0.3125rem !important;
  }
  .space-desk--left-quarter {
    margin-left: 5px !important;
    margin-left: 0.3125rem !important;
  }
  .space-desk--right-quarter {
    margin-right: 5px !important;
    margin-right: 0.3125rem !important;
  }
  .space-desk--bottom-quarter {
    margin-bottom: 5px !important;
    margin-bottom: 0.3125rem !important;
  }
  .space-desk--top-third {
    margin-top: 6.6666666666px !important;
    margin-top: 0.4166666667rem !important;
  }
  .space-desk--left-third {
    margin-left: 6.6666666666px !important;
    margin-left: 0.4166666667rem !important;
  }
  .space-desk--right-third {
    margin-right: 6.6666666666px !important;
    margin-right: 0.4166666667rem !important;
  }
  .space-desk--bottom-third {
    margin-bottom: 6.6666666666px !important;
    margin-bottom: 0.4166666667rem !important;
  }
  .space-desk--top-half {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .space-desk--left-half {
    margin-left: 10px !important;
    margin-left: 0.625rem !important;
  }
  .space-desk--right-half {
    margin-right: 10px !important;
    margin-right: 0.625rem !important;
  }
  .space-desk--bottom-half {
    margin-bottom: 10px !important;
    margin-bottom: 0.625rem !important;
  }
  .space-desk--top {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .space-desk--left {
    margin-left: 20px !important;
    margin-left: 1.25rem !important;
  }
  .space-desk--right {
    margin-right: 20px !important;
    margin-right: 1.25rem !important;
  }
  .space-desk--bottom {
    margin-bottom: 20px !important;
    margin-bottom: 1.25rem !important;
  }
  .space-desk--top-double {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .space-desk--left-double {
    margin-left: 40px !important;
    margin-left: 2.5rem !important;
  }
  .space-desk--right-double {
    margin-right: 40px !important;
    margin-right: 2.5rem !important;
  }
  .space-desk--bottom-double {
    margin-bottom: 40px !important;
    margin-bottom: 2.5rem !important;
  }
  .space-desk--top-triple {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .space-desk--left-triple {
    margin-left: 60px !important;
    margin-left: 3.75rem !important;
  }
  .space-desk--right-triple {
    margin-right: 60px !important;
    margin-right: 3.75rem !important;
  }
  .space-desk--bottom-triple {
    margin-bottom: 60px !important;
    margin-bottom: 3.75rem !important;
  }
  .space-desk--top-quad {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .space-desk--left-quad {
    margin-left: 80px !important;
    margin-left: 5rem !important;
  }
  .space-desk--right-quad {
    margin-right: 80px !important;
    margin-right: 5rem !important;
  }
  .space-desk--bottom-quad {
    margin-bottom: 80px !important;
    margin-bottom: 5rem !important;
  }
}
@media screen and (min-width: 1200px) {
  .space-desk-wide--top-none {
    margin-top: 0px !important;
    margin-top: 0rem !important;
  }
  .space-desk-wide--left-none {
    margin-left: 0px !important;
    margin-left: 0rem !important;
  }
  .space-desk-wide--right-none {
    margin-right: 0px !important;
    margin-right: 0rem !important;
  }
  .space-desk-wide--bottom-none {
    margin-bottom: 0px !important;
    margin-bottom: 0rem !important;
  }
  .space-desk-wide--top-quarter {
    margin-top: 5px !important;
    margin-top: 0.3125rem !important;
  }
  .space-desk-wide--left-quarter {
    margin-left: 5px !important;
    margin-left: 0.3125rem !important;
  }
  .space-desk-wide--right-quarter {
    margin-right: 5px !important;
    margin-right: 0.3125rem !important;
  }
  .space-desk-wide--bottom-quarter {
    margin-bottom: 5px !important;
    margin-bottom: 0.3125rem !important;
  }
  .space-desk-wide--top-third {
    margin-top: 6.6666666666px !important;
    margin-top: 0.4166666667rem !important;
  }
  .space-desk-wide--left-third {
    margin-left: 6.6666666666px !important;
    margin-left: 0.4166666667rem !important;
  }
  .space-desk-wide--right-third {
    margin-right: 6.6666666666px !important;
    margin-right: 0.4166666667rem !important;
  }
  .space-desk-wide--bottom-third {
    margin-bottom: 6.6666666666px !important;
    margin-bottom: 0.4166666667rem !important;
  }
  .space-desk-wide--top-half {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .space-desk-wide--left-half {
    margin-left: 10px !important;
    margin-left: 0.625rem !important;
  }
  .space-desk-wide--right-half {
    margin-right: 10px !important;
    margin-right: 0.625rem !important;
  }
  .space-desk-wide--bottom-half {
    margin-bottom: 10px !important;
    margin-bottom: 0.625rem !important;
  }
  .space-desk-wide--top {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .space-desk-wide--left {
    margin-left: 20px !important;
    margin-left: 1.25rem !important;
  }
  .space-desk-wide--right {
    margin-right: 20px !important;
    margin-right: 1.25rem !important;
  }
  .space-desk-wide--bottom {
    margin-bottom: 20px !important;
    margin-bottom: 1.25rem !important;
  }
  .space-desk-wide--top-double {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .space-desk-wide--left-double {
    margin-left: 40px !important;
    margin-left: 2.5rem !important;
  }
  .space-desk-wide--right-double {
    margin-right: 40px !important;
    margin-right: 2.5rem !important;
  }
  .space-desk-wide--bottom-double {
    margin-bottom: 40px !important;
    margin-bottom: 2.5rem !important;
  }
  .space-desk-wide--top-triple {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .space-desk-wide--left-triple {
    margin-left: 60px !important;
    margin-left: 3.75rem !important;
  }
  .space-desk-wide--right-triple {
    margin-right: 60px !important;
    margin-right: 3.75rem !important;
  }
  .space-desk-wide--bottom-triple {
    margin-bottom: 60px !important;
    margin-bottom: 3.75rem !important;
  }
  .space-desk-wide--top-quad {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .space-desk-wide--left-quad {
    margin-left: 80px !important;
    margin-left: 5rem !important;
  }
  .space-desk-wide--right-quad {
    margin-right: 80px !important;
    margin-right: 5rem !important;
  }
  .space-desk-wide--bottom-quad {
    margin-bottom: 80px !important;
    margin-bottom: 5rem !important;
  }
}
@media screen and (min-width: 1500px) {
  .space-max--top-none {
    margin-top: 0px !important;
    margin-top: 0rem !important;
  }
  .space-max--left-none {
    margin-left: 0px !important;
    margin-left: 0rem !important;
  }
  .space-max--right-none {
    margin-right: 0px !important;
    margin-right: 0rem !important;
  }
  .space-max--bottom-none {
    margin-bottom: 0px !important;
    margin-bottom: 0rem !important;
  }
  .space-max--top-quarter {
    margin-top: 5px !important;
    margin-top: 0.3125rem !important;
  }
  .space-max--left-quarter {
    margin-left: 5px !important;
    margin-left: 0.3125rem !important;
  }
  .space-max--right-quarter {
    margin-right: 5px !important;
    margin-right: 0.3125rem !important;
  }
  .space-max--bottom-quarter {
    margin-bottom: 5px !important;
    margin-bottom: 0.3125rem !important;
  }
  .space-max--top-third {
    margin-top: 6.6666666666px !important;
    margin-top: 0.4166666667rem !important;
  }
  .space-max--left-third {
    margin-left: 6.6666666666px !important;
    margin-left: 0.4166666667rem !important;
  }
  .space-max--right-third {
    margin-right: 6.6666666666px !important;
    margin-right: 0.4166666667rem !important;
  }
  .space-max--bottom-third {
    margin-bottom: 6.6666666666px !important;
    margin-bottom: 0.4166666667rem !important;
  }
  .space-max--top-half {
    margin-top: 10px !important;
    margin-top: 0.625rem !important;
  }
  .space-max--left-half {
    margin-left: 10px !important;
    margin-left: 0.625rem !important;
  }
  .space-max--right-half {
    margin-right: 10px !important;
    margin-right: 0.625rem !important;
  }
  .space-max--bottom-half {
    margin-bottom: 10px !important;
    margin-bottom: 0.625rem !important;
  }
  .space-max--top {
    margin-top: 20px !important;
    margin-top: 1.25rem !important;
  }
  .space-max--left {
    margin-left: 20px !important;
    margin-left: 1.25rem !important;
  }
  .space-max--right {
    margin-right: 20px !important;
    margin-right: 1.25rem !important;
  }
  .space-max--bottom {
    margin-bottom: 20px !important;
    margin-bottom: 1.25rem !important;
  }
  .space-max--top-double {
    margin-top: 40px !important;
    margin-top: 2.5rem !important;
  }
  .space-max--left-double {
    margin-left: 40px !important;
    margin-left: 2.5rem !important;
  }
  .space-max--right-double {
    margin-right: 40px !important;
    margin-right: 2.5rem !important;
  }
  .space-max--bottom-double {
    margin-bottom: 40px !important;
    margin-bottom: 2.5rem !important;
  }
  .space-max--top-triple {
    margin-top: 60px !important;
    margin-top: 3.75rem !important;
  }
  .space-max--left-triple {
    margin-left: 60px !important;
    margin-left: 3.75rem !important;
  }
  .space-max--right-triple {
    margin-right: 60px !important;
    margin-right: 3.75rem !important;
  }
  .space-max--bottom-triple {
    margin-bottom: 60px !important;
    margin-bottom: 3.75rem !important;
  }
  .space-max--top-quad {
    margin-top: 80px !important;
    margin-top: 5rem !important;
  }
  .space-max--left-quad {
    margin-left: 80px !important;
    margin-left: 5rem !important;
  }
  .space-max--right-quad {
    margin-right: 80px !important;
    margin-right: 5rem !important;
  }
  .space-max--bottom-quad {
    margin-bottom: 80px !important;
    margin-bottom: 5rem !important;
  }
}
/**
 * _width.scss
 *
 * Author: Marian Friedmann
 *
 * Usage:
 * <div class="grid">
 *   <div class="grid__item  width--1of1  width-tab--1of3  width-desk--1of4">
 *     ...
 *   </div>
 *   <div class="grid__item  width--1of1  width-tab--2of3  width-desk--3of4">
 *     ...
 *   </div>
 * </div>
 *
 */
.width--0 {
  max-width: 0% !important;
  display: none;
  -ms-flex: 0%;
  -webkit-box-flex: 0%;
          flex: 0%;
}

.width--1of1,
.width--2of2,
.width--3of3,
.width--4of4,
.width--5of5,
.width--6of6 {
  max-width: 100% !important;
  display: block;
  -ms-flex: 100%;
  -webkit-box-flex: 100%;
          flex: 100%;
}

.width--1of2,
.width--2of4,
.width--3of6,
.width--4of8,
.width--5of10,
.width--6of12 {
  max-width: 50% !important;
  display: block;
  -ms-flex: 50%;
  -webkit-box-flex: 50%;
          flex: 50%;
}

.width--1of3,
.width--2of6,
.width--3of9,
.width--4of12 {
  max-width: 33.33333% !important;
  display: block;
  -ms-flex: 33.33333%;
  -webkit-box-flex: 33.33333%;
          flex: 33.33333%;
}

.width--2of3,
.width--4of6,
.width--6of9,
.width--8of12 {
  max-width: 66.66666% !important;
  display: block;
  -ms-flex: 66.66666%;
  -webkit-box-flex: 66.66666%;
          flex: 66.66666%;
}

.width--1of4,
.width--2of8,
.width--3of12 {
  max-width: 25% !important;
  display: block;
  -ms-flex: 25%;
  -webkit-box-flex: 25%;
          flex: 25%;
}

.width--3of4,
.width--6of8,
.width--9of12 {
  max-width: 75% !important;
  display: block;
  -ms-flex: 75%;
  -webkit-box-flex: 75%;
          flex: 75%;
}

.width--1of5,
.width--2of10 {
  max-width: 20% !important;
  display: block;
  -ms-flex: 20%;
  -webkit-box-flex: 20%;
          flex: 20%;
}

.width--2of5,
.width--4of10 {
  max-width: 40% !important;
  display: block;
  -ms-flex: 40%;
  -webkit-box-flex: 40%;
          flex: 40%;
}

.width--3of5,
.width--6of10 {
  max-width: 60% !important;
  display: block;
  -ms-flex: 60%;
  -webkit-box-flex: 60%;
          flex: 60%;
}

.width--4of5,
.width--8of10 {
  max-width: 80% !important;
  display: block;
  -ms-flex: 80%;
  -webkit-box-flex: 80%;
          flex: 80%;
}

.width--1of6,
.width--2of12 {
  max-width: 16.66666% !important;
  display: block;
  -ms-flex: 16.66666%;
  -webkit-box-flex: 16.66666%;
          flex: 16.66666%;
}

.width--5of6,
.width--10of12 {
  max-width: 83.33333% !important;
  display: block;
  -ms-flex: 83.33333%;
  -webkit-box-flex: 83.33333%;
          flex: 83.33333%;
}

.width--1of8 {
  max-width: 12.5% !important;
  display: block;
  -ms-flex: 12.5%;
  -webkit-box-flex: 12.5%;
          flex: 12.5%;
}

.width--3of8 {
  max-width: 37.5% !important;
  display: block;
  -ms-flex: 37.5%;
  -webkit-box-flex: 37.5%;
          flex: 37.5%;
}

.width--5of8 {
  max-width: 62.5% !important;
  display: block;
  -ms-flex: 62.5%;
  -webkit-box-flex: 62.5%;
          flex: 62.5%;
}

.width--7of8 {
  max-width: 87.5% !important;
  display: block;
  -ms-flex: 87.5%;
  -webkit-box-flex: 87.5%;
          flex: 87.5%;
}

.width--1of9 {
  max-width: 11.1111111% !important;
  display: block;
  -ms-flex: 11.1111111%;
  -webkit-box-flex: 11.1111111%;
          flex: 11.1111111%;
}

.width--2of9 {
  max-width: 22.2222222% !important;
  display: block;
  -ms-flex: 22.2222222%;
  -webkit-box-flex: 22.2222222%;
          flex: 22.2222222%;
}

.width--4of9 {
  max-width: 44.4444444% !important;
  display: block;
  -ms-flex: 44.4444444%;
  -webkit-box-flex: 44.4444444%;
          flex: 44.4444444%;
}

.width--5of9 {
  max-width: 55.5555555% !important;
  display: block;
  -ms-flex: 55.5555555%;
  -webkit-box-flex: 55.5555555%;
          flex: 55.5555555%;
}

.width--7of9 {
  max-width: 77.7777777% !important;
  display: block;
  -ms-flex: 77.7777777%;
  -webkit-box-flex: 77.7777777%;
          flex: 77.7777777%;
}

.width--8of9 {
  max-width: 88.8888888% !important;
  display: block;
  -ms-flex: 88.8888888%;
  -webkit-box-flex: 88.8888888%;
          flex: 88.8888888%;
}

.width--1of10 {
  max-width: 10% !important;
  display: block;
  -ms-flex: 10%;
  -webkit-box-flex: 10%;
          flex: 10%;
}

.width--3of10 {
  max-width: 30% !important;
  display: block;
  -ms-flex: 30%;
  -webkit-box-flex: 30%;
          flex: 30%;
}

.width--7of10 {
  max-width: 70% !important;
  display: block;
  -ms-flex: 70%;
  -webkit-box-flex: 70%;
          flex: 70%;
}

.width--9of10 {
  max-width: 90% !important;
  display: block;
  -ms-flex: 90%;
  -webkit-box-flex: 90%;
          flex: 90%;
}

.width--1of12 {
  max-width: 8.3333333% !important;
  display: block;
  -ms-flex: 8.3333333%;
  -webkit-box-flex: 8.3333333%;
          flex: 8.3333333%;
}

.width--5of12 {
  max-width: 41.6666666% !important;
  display: block;
  -ms-flex: 41.6666666%;
  -webkit-box-flex: 41.6666666%;
          flex: 41.6666666%;
}

.width--7of12 {
  max-width: 58.3333333% !important;
  display: block;
  -ms-flex: 58.3333333%;
  -webkit-box-flex: 58.3333333%;
          flex: 58.3333333%;
}

.width--11of12 {
  max-width: 91.6666666% !important;
  display: block;
  -ms-flex: 91.6666666%;
  -webkit-box-flex: 91.6666666%;
          flex: 91.6666666%;
}

@media screen and (min-width: 481px) {
  .width-tab--0 {
    max-width: 0% !important;
    display: none;
    -ms-flex: 0%;
    -webkit-box-flex: 0%;
            flex: 0%;
  }
  .width-tab--1of1,
  .width-tab--2of2,
  .width-tab--3of3,
  .width-tab--4of4,
  .width-tab--5of5,
  .width-tab--6of6 {
    max-width: 100% !important;
    display: block;
    -ms-flex: 100%;
    -webkit-box-flex: 100%;
            flex: 100%;
  }
  .width-tab--1of2, .main .ce_gallery ul li,
  .width-tab--2of4,
  .width-tab--3of6,
  .width-tab--4of8,
  .width-tab--5of10,
  .width-tab--6of12 {
    max-width: 50% !important;
    display: block;
    -ms-flex: 50%;
    -webkit-box-flex: 50%;
            flex: 50%;
  }
  .width-tab--1of3,
  .width-tab--2of6,
  .width-tab--3of9,
  .width-tab--4of12 {
    max-width: 33.33333% !important;
    display: block;
    -ms-flex: 33.33333%;
    -webkit-box-flex: 33.33333%;
            flex: 33.33333%;
  }
  .width-tab--2of3,
  .width-tab--4of6,
  .width-tab--6of9,
  .width-tab--8of12 {
    max-width: 66.66666% !important;
    display: block;
    -ms-flex: 66.66666%;
    -webkit-box-flex: 66.66666%;
            flex: 66.66666%;
  }
  .width-tab--1of4,
  .width-tab--2of8,
  .width-tab--3of12 {
    max-width: 25% !important;
    display: block;
    -ms-flex: 25%;
    -webkit-box-flex: 25%;
            flex: 25%;
  }
  .width-tab--3of4,
  .width-tab--6of8,
  .width-tab--9of12 {
    max-width: 75% !important;
    display: block;
    -ms-flex: 75%;
    -webkit-box-flex: 75%;
            flex: 75%;
  }
  .width-tab--1of5,
  .width-tab--2of10 {
    max-width: 20% !important;
    display: block;
    -ms-flex: 20%;
    -webkit-box-flex: 20%;
            flex: 20%;
  }
  .width-tab--2of5,
  .width-tab--4of10 {
    max-width: 40% !important;
    display: block;
    -ms-flex: 40%;
    -webkit-box-flex: 40%;
            flex: 40%;
  }
  .width-tab--3of5,
  .width-tab--6of10 {
    max-width: 60% !important;
    display: block;
    -ms-flex: 60%;
    -webkit-box-flex: 60%;
            flex: 60%;
  }
  .width-tab--4of5,
  .width-tab--8of10 {
    max-width: 80% !important;
    display: block;
    -ms-flex: 80%;
    -webkit-box-flex: 80%;
            flex: 80%;
  }
  .width-tab--1of6,
  .width-tab--2of12 {
    max-width: 16.66666% !important;
    display: block;
    -ms-flex: 16.66666%;
    -webkit-box-flex: 16.66666%;
            flex: 16.66666%;
  }
  .width-tab--5of6,
  .width-tab--10of12 {
    max-width: 83.33333% !important;
    display: block;
    -ms-flex: 83.33333%;
    -webkit-box-flex: 83.33333%;
            flex: 83.33333%;
  }
  .width-tab--1of8 {
    max-width: 12.5% !important;
    display: block;
    -ms-flex: 12.5%;
    -webkit-box-flex: 12.5%;
            flex: 12.5%;
  }
  .width-tab--3of8 {
    max-width: 37.5% !important;
    display: block;
    -ms-flex: 37.5%;
    -webkit-box-flex: 37.5%;
            flex: 37.5%;
  }
  .width-tab--5of8 {
    max-width: 62.5% !important;
    display: block;
    -ms-flex: 62.5%;
    -webkit-box-flex: 62.5%;
            flex: 62.5%;
  }
  .width-tab--7of8 {
    max-width: 87.5% !important;
    display: block;
    -ms-flex: 87.5%;
    -webkit-box-flex: 87.5%;
            flex: 87.5%;
  }
  .width-tab--1of9 {
    max-width: 11.1111111% !important;
    display: block;
    -ms-flex: 11.1111111%;
    -webkit-box-flex: 11.1111111%;
            flex: 11.1111111%;
  }
  .width-tab--2of9 {
    max-width: 22.2222222% !important;
    display: block;
    -ms-flex: 22.2222222%;
    -webkit-box-flex: 22.2222222%;
            flex: 22.2222222%;
  }
  .width-tab--4of9 {
    max-width: 44.4444444% !important;
    display: block;
    -ms-flex: 44.4444444%;
    -webkit-box-flex: 44.4444444%;
            flex: 44.4444444%;
  }
  .width-tab--5of9 {
    max-width: 55.5555555% !important;
    display: block;
    -ms-flex: 55.5555555%;
    -webkit-box-flex: 55.5555555%;
            flex: 55.5555555%;
  }
  .width-tab--7of9 {
    max-width: 77.7777777% !important;
    display: block;
    -ms-flex: 77.7777777%;
    -webkit-box-flex: 77.7777777%;
            flex: 77.7777777%;
  }
  .width-tab--8of9 {
    max-width: 88.8888888% !important;
    display: block;
    -ms-flex: 88.8888888%;
    -webkit-box-flex: 88.8888888%;
            flex: 88.8888888%;
  }
  .width-tab--1of10 {
    max-width: 10% !important;
    display: block;
    -ms-flex: 10%;
    -webkit-box-flex: 10%;
            flex: 10%;
  }
  .width-tab--3of10 {
    max-width: 30% !important;
    display: block;
    -ms-flex: 30%;
    -webkit-box-flex: 30%;
            flex: 30%;
  }
  .width-tab--7of10 {
    max-width: 70% !important;
    display: block;
    -ms-flex: 70%;
    -webkit-box-flex: 70%;
            flex: 70%;
  }
  .width-tab--9of10 {
    max-width: 90% !important;
    display: block;
    -ms-flex: 90%;
    -webkit-box-flex: 90%;
            flex: 90%;
  }
  .width-tab--1of12 {
    max-width: 8.3333333% !important;
    display: block;
    -ms-flex: 8.3333333%;
    -webkit-box-flex: 8.3333333%;
            flex: 8.3333333%;
  }
  .width-tab--5of12 {
    max-width: 41.6666666% !important;
    display: block;
    -ms-flex: 41.6666666%;
    -webkit-box-flex: 41.6666666%;
            flex: 41.6666666%;
  }
  .width-tab--7of12 {
    max-width: 58.3333333% !important;
    display: block;
    -ms-flex: 58.3333333%;
    -webkit-box-flex: 58.3333333%;
            flex: 58.3333333%;
  }
  .width-tab--11of12 {
    max-width: 91.6666666% !important;
    display: block;
    -ms-flex: 91.6666666%;
    -webkit-box-flex: 91.6666666%;
            flex: 91.6666666%;
  }
}
@media screen and (min-width: 721px) {
  .width-lap--0 {
    max-width: 0% !important;
    display: none;
    -ms-flex: 0%;
    -webkit-box-flex: 0%;
            flex: 0%;
  }
  .width-lap--1of1,
  .width-lap--2of2,
  .width-lap--3of3,
  .width-lap--4of4,
  .width-lap--5of5,
  .width-lap--6of6 {
    max-width: 100% !important;
    display: block;
    -ms-flex: 100%;
    -webkit-box-flex: 100%;
            flex: 100%;
  }
  .width-lap--1of2,
  .width-lap--2of4,
  .width-lap--3of6,
  .width-lap--4of8,
  .width-lap--5of10,
  .width-lap--6of12 {
    max-width: 50% !important;
    display: block;
    -ms-flex: 50%;
    -webkit-box-flex: 50%;
            flex: 50%;
  }
  .width-lap--1of3, .main .ce_gallery ul li,
  .width-lap--2of6,
  .width-lap--3of9,
  .width-lap--4of12 {
    max-width: 33.33333% !important;
    display: block;
    -ms-flex: 33.33333%;
    -webkit-box-flex: 33.33333%;
            flex: 33.33333%;
  }
  .width-lap--2of3,
  .width-lap--4of6,
  .width-lap--6of9,
  .width-lap--8of12 {
    max-width: 66.66666% !important;
    display: block;
    -ms-flex: 66.66666%;
    -webkit-box-flex: 66.66666%;
            flex: 66.66666%;
  }
  .width-lap--1of4,
  .width-lap--2of8,
  .width-lap--3of12 {
    max-width: 25% !important;
    display: block;
    -ms-flex: 25%;
    -webkit-box-flex: 25%;
            flex: 25%;
  }
  .width-lap--3of4,
  .width-lap--6of8,
  .width-lap--9of12 {
    max-width: 75% !important;
    display: block;
    -ms-flex: 75%;
    -webkit-box-flex: 75%;
            flex: 75%;
  }
  .width-lap--1of5,
  .width-lap--2of10 {
    max-width: 20% !important;
    display: block;
    -ms-flex: 20%;
    -webkit-box-flex: 20%;
            flex: 20%;
  }
  .width-lap--2of5,
  .width-lap--4of10 {
    max-width: 40% !important;
    display: block;
    -ms-flex: 40%;
    -webkit-box-flex: 40%;
            flex: 40%;
  }
  .width-lap--3of5,
  .width-lap--6of10 {
    max-width: 60% !important;
    display: block;
    -ms-flex: 60%;
    -webkit-box-flex: 60%;
            flex: 60%;
  }
  .width-lap--4of5,
  .width-lap--8of10 {
    max-width: 80% !important;
    display: block;
    -ms-flex: 80%;
    -webkit-box-flex: 80%;
            flex: 80%;
  }
  .width-lap--1of6,
  .width-lap--2of12 {
    max-width: 16.66666% !important;
    display: block;
    -ms-flex: 16.66666%;
    -webkit-box-flex: 16.66666%;
            flex: 16.66666%;
  }
  .width-lap--5of6,
  .width-lap--10of12 {
    max-width: 83.33333% !important;
    display: block;
    -ms-flex: 83.33333%;
    -webkit-box-flex: 83.33333%;
            flex: 83.33333%;
  }
  .width-lap--1of8 {
    max-width: 12.5% !important;
    display: block;
    -ms-flex: 12.5%;
    -webkit-box-flex: 12.5%;
            flex: 12.5%;
  }
  .width-lap--3of8 {
    max-width: 37.5% !important;
    display: block;
    -ms-flex: 37.5%;
    -webkit-box-flex: 37.5%;
            flex: 37.5%;
  }
  .width-lap--5of8 {
    max-width: 62.5% !important;
    display: block;
    -ms-flex: 62.5%;
    -webkit-box-flex: 62.5%;
            flex: 62.5%;
  }
  .width-lap--7of8 {
    max-width: 87.5% !important;
    display: block;
    -ms-flex: 87.5%;
    -webkit-box-flex: 87.5%;
            flex: 87.5%;
  }
  .width-lap--1of9 {
    max-width: 11.1111111% !important;
    display: block;
    -ms-flex: 11.1111111%;
    -webkit-box-flex: 11.1111111%;
            flex: 11.1111111%;
  }
  .width-lap--2of9 {
    max-width: 22.2222222% !important;
    display: block;
    -ms-flex: 22.2222222%;
    -webkit-box-flex: 22.2222222%;
            flex: 22.2222222%;
  }
  .width-lap--4of9 {
    max-width: 44.4444444% !important;
    display: block;
    -ms-flex: 44.4444444%;
    -webkit-box-flex: 44.4444444%;
            flex: 44.4444444%;
  }
  .width-lap--5of9 {
    max-width: 55.5555555% !important;
    display: block;
    -ms-flex: 55.5555555%;
    -webkit-box-flex: 55.5555555%;
            flex: 55.5555555%;
  }
  .width-lap--7of9 {
    max-width: 77.7777777% !important;
    display: block;
    -ms-flex: 77.7777777%;
    -webkit-box-flex: 77.7777777%;
            flex: 77.7777777%;
  }
  .width-lap--8of9 {
    max-width: 88.8888888% !important;
    display: block;
    -ms-flex: 88.8888888%;
    -webkit-box-flex: 88.8888888%;
            flex: 88.8888888%;
  }
  .width-lap--1of10 {
    max-width: 10% !important;
    display: block;
    -ms-flex: 10%;
    -webkit-box-flex: 10%;
            flex: 10%;
  }
  .width-lap--3of10 {
    max-width: 30% !important;
    display: block;
    -ms-flex: 30%;
    -webkit-box-flex: 30%;
            flex: 30%;
  }
  .width-lap--7of10 {
    max-width: 70% !important;
    display: block;
    -ms-flex: 70%;
    -webkit-box-flex: 70%;
            flex: 70%;
  }
  .width-lap--9of10 {
    max-width: 90% !important;
    display: block;
    -ms-flex: 90%;
    -webkit-box-flex: 90%;
            flex: 90%;
  }
  .width-lap--1of12 {
    max-width: 8.3333333% !important;
    display: block;
    -ms-flex: 8.3333333%;
    -webkit-box-flex: 8.3333333%;
            flex: 8.3333333%;
  }
  .width-lap--5of12 {
    max-width: 41.6666666% !important;
    display: block;
    -ms-flex: 41.6666666%;
    -webkit-box-flex: 41.6666666%;
            flex: 41.6666666%;
  }
  .width-lap--7of12 {
    max-width: 58.3333333% !important;
    display: block;
    -ms-flex: 58.3333333%;
    -webkit-box-flex: 58.3333333%;
            flex: 58.3333333%;
  }
  .width-lap--11of12 {
    max-width: 91.6666666% !important;
    display: block;
    -ms-flex: 91.6666666%;
    -webkit-box-flex: 91.6666666%;
            flex: 91.6666666%;
  }
}
@media screen and (min-width: 1024px) {
  .width-desk--0 {
    max-width: 0% !important;
    display: none;
    -ms-flex: 0%;
    -webkit-box-flex: 0%;
            flex: 0%;
  }
  .width-desk--1of1,
  .width-desk--2of2,
  .width-desk--3of3,
  .width-desk--4of4,
  .width-desk--5of5,
  .width-desk--6of6 {
    max-width: 100% !important;
    display: block;
    -ms-flex: 100%;
    -webkit-box-flex: 100%;
            flex: 100%;
  }
  .width-desk--1of2,
  .width-desk--2of4,
  .width-desk--3of6,
  .width-desk--4of8,
  .width-desk--5of10,
  .width-desk--6of12 {
    max-width: 50% !important;
    display: block;
    -ms-flex: 50%;
    -webkit-box-flex: 50%;
            flex: 50%;
  }
  .width-desk--1of3,
  .width-desk--2of6,
  .width-desk--3of9,
  .width-desk--4of12 {
    max-width: 33.33333% !important;
    display: block;
    -ms-flex: 33.33333%;
    -webkit-box-flex: 33.33333%;
            flex: 33.33333%;
  }
  .width-desk--2of3,
  .width-desk--4of6,
  .width-desk--6of9,
  .width-desk--8of12 {
    max-width: 66.66666% !important;
    display: block;
    -ms-flex: 66.66666%;
    -webkit-box-flex: 66.66666%;
            flex: 66.66666%;
  }
  .width-desk--1of4, .main .ce_gallery ul li,
  .width-desk--2of8,
  .width-desk--3of12 {
    max-width: 25% !important;
    display: block;
    -ms-flex: 25%;
    -webkit-box-flex: 25%;
            flex: 25%;
  }
  .width-desk--3of4,
  .width-desk--6of8,
  .width-desk--9of12 {
    max-width: 75% !important;
    display: block;
    -ms-flex: 75%;
    -webkit-box-flex: 75%;
            flex: 75%;
  }
  .width-desk--1of5,
  .width-desk--2of10 {
    max-width: 20% !important;
    display: block;
    -ms-flex: 20%;
    -webkit-box-flex: 20%;
            flex: 20%;
  }
  .width-desk--2of5,
  .width-desk--4of10 {
    max-width: 40% !important;
    display: block;
    -ms-flex: 40%;
    -webkit-box-flex: 40%;
            flex: 40%;
  }
  .width-desk--3of5,
  .width-desk--6of10 {
    max-width: 60% !important;
    display: block;
    -ms-flex: 60%;
    -webkit-box-flex: 60%;
            flex: 60%;
  }
  .width-desk--4of5,
  .width-desk--8of10 {
    max-width: 80% !important;
    display: block;
    -ms-flex: 80%;
    -webkit-box-flex: 80%;
            flex: 80%;
  }
  .width-desk--1of6,
  .width-desk--2of12 {
    max-width: 16.66666% !important;
    display: block;
    -ms-flex: 16.66666%;
    -webkit-box-flex: 16.66666%;
            flex: 16.66666%;
  }
  .width-desk--5of6,
  .width-desk--10of12 {
    max-width: 83.33333% !important;
    display: block;
    -ms-flex: 83.33333%;
    -webkit-box-flex: 83.33333%;
            flex: 83.33333%;
  }
  .width-desk--1of8 {
    max-width: 12.5% !important;
    display: block;
    -ms-flex: 12.5%;
    -webkit-box-flex: 12.5%;
            flex: 12.5%;
  }
  .width-desk--3of8 {
    max-width: 37.5% !important;
    display: block;
    -ms-flex: 37.5%;
    -webkit-box-flex: 37.5%;
            flex: 37.5%;
  }
  .width-desk--5of8 {
    max-width: 62.5% !important;
    display: block;
    -ms-flex: 62.5%;
    -webkit-box-flex: 62.5%;
            flex: 62.5%;
  }
  .width-desk--7of8 {
    max-width: 87.5% !important;
    display: block;
    -ms-flex: 87.5%;
    -webkit-box-flex: 87.5%;
            flex: 87.5%;
  }
  .width-desk--1of9 {
    max-width: 11.1111111% !important;
    display: block;
    -ms-flex: 11.1111111%;
    -webkit-box-flex: 11.1111111%;
            flex: 11.1111111%;
  }
  .width-desk--2of9 {
    max-width: 22.2222222% !important;
    display: block;
    -ms-flex: 22.2222222%;
    -webkit-box-flex: 22.2222222%;
            flex: 22.2222222%;
  }
  .width-desk--4of9 {
    max-width: 44.4444444% !important;
    display: block;
    -ms-flex: 44.4444444%;
    -webkit-box-flex: 44.4444444%;
            flex: 44.4444444%;
  }
  .width-desk--5of9 {
    max-width: 55.5555555% !important;
    display: block;
    -ms-flex: 55.5555555%;
    -webkit-box-flex: 55.5555555%;
            flex: 55.5555555%;
  }
  .width-desk--7of9 {
    max-width: 77.7777777% !important;
    display: block;
    -ms-flex: 77.7777777%;
    -webkit-box-flex: 77.7777777%;
            flex: 77.7777777%;
  }
  .width-desk--8of9 {
    max-width: 88.8888888% !important;
    display: block;
    -ms-flex: 88.8888888%;
    -webkit-box-flex: 88.8888888%;
            flex: 88.8888888%;
  }
  .width-desk--1of10 {
    max-width: 10% !important;
    display: block;
    -ms-flex: 10%;
    -webkit-box-flex: 10%;
            flex: 10%;
  }
  .width-desk--3of10 {
    max-width: 30% !important;
    display: block;
    -ms-flex: 30%;
    -webkit-box-flex: 30%;
            flex: 30%;
  }
  .width-desk--7of10 {
    max-width: 70% !important;
    display: block;
    -ms-flex: 70%;
    -webkit-box-flex: 70%;
            flex: 70%;
  }
  .width-desk--9of10 {
    max-width: 90% !important;
    display: block;
    -ms-flex: 90%;
    -webkit-box-flex: 90%;
            flex: 90%;
  }
  .width-desk--1of12 {
    max-width: 8.3333333% !important;
    display: block;
    -ms-flex: 8.3333333%;
    -webkit-box-flex: 8.3333333%;
            flex: 8.3333333%;
  }
  .width-desk--5of12 {
    max-width: 41.6666666% !important;
    display: block;
    -ms-flex: 41.6666666%;
    -webkit-box-flex: 41.6666666%;
            flex: 41.6666666%;
  }
  .width-desk--7of12 {
    max-width: 58.3333333% !important;
    display: block;
    -ms-flex: 58.3333333%;
    -webkit-box-flex: 58.3333333%;
            flex: 58.3333333%;
  }
  .width-desk--11of12 {
    max-width: 91.6666666% !important;
    display: block;
    -ms-flex: 91.6666666%;
    -webkit-box-flex: 91.6666666%;
            flex: 91.6666666%;
  }
}
@media screen and (min-width: 1200px) {
  .width-desk-wide--0 {
    max-width: 0% !important;
    display: none;
    -ms-flex: 0%;
    -webkit-box-flex: 0%;
            flex: 0%;
  }
  .width-desk-wide--1of1,
  .width-desk-wide--2of2,
  .width-desk-wide--3of3,
  .width-desk-wide--4of4,
  .width-desk-wide--5of5,
  .width-desk-wide--6of6 {
    max-width: 100% !important;
    display: block;
    -ms-flex: 100%;
    -webkit-box-flex: 100%;
            flex: 100%;
  }
  .width-desk-wide--1of2,
  .width-desk-wide--2of4,
  .width-desk-wide--3of6,
  .width-desk-wide--4of8,
  .width-desk-wide--5of10,
  .width-desk-wide--6of12 {
    max-width: 50% !important;
    display: block;
    -ms-flex: 50%;
    -webkit-box-flex: 50%;
            flex: 50%;
  }
  .width-desk-wide--1of3,
  .width-desk-wide--2of6,
  .width-desk-wide--3of9,
  .width-desk-wide--4of12 {
    max-width: 33.33333% !important;
    display: block;
    -ms-flex: 33.33333%;
    -webkit-box-flex: 33.33333%;
            flex: 33.33333%;
  }
  .width-desk-wide--2of3,
  .width-desk-wide--4of6,
  .width-desk-wide--6of9,
  .width-desk-wide--8of12 {
    max-width: 66.66666% !important;
    display: block;
    -ms-flex: 66.66666%;
    -webkit-box-flex: 66.66666%;
            flex: 66.66666%;
  }
  .width-desk-wide--1of4,
  .width-desk-wide--2of8,
  .width-desk-wide--3of12 {
    max-width: 25% !important;
    display: block;
    -ms-flex: 25%;
    -webkit-box-flex: 25%;
            flex: 25%;
  }
  .width-desk-wide--3of4,
  .width-desk-wide--6of8,
  .width-desk-wide--9of12 {
    max-width: 75% !important;
    display: block;
    -ms-flex: 75%;
    -webkit-box-flex: 75%;
            flex: 75%;
  }
  .width-desk-wide--1of5,
  .width-desk-wide--2of10 {
    max-width: 20% !important;
    display: block;
    -ms-flex: 20%;
    -webkit-box-flex: 20%;
            flex: 20%;
  }
  .width-desk-wide--2of5,
  .width-desk-wide--4of10 {
    max-width: 40% !important;
    display: block;
    -ms-flex: 40%;
    -webkit-box-flex: 40%;
            flex: 40%;
  }
  .width-desk-wide--3of5,
  .width-desk-wide--6of10 {
    max-width: 60% !important;
    display: block;
    -ms-flex: 60%;
    -webkit-box-flex: 60%;
            flex: 60%;
  }
  .width-desk-wide--4of5,
  .width-desk-wide--8of10 {
    max-width: 80% !important;
    display: block;
    -ms-flex: 80%;
    -webkit-box-flex: 80%;
            flex: 80%;
  }
  .width-desk-wide--1of6,
  .width-desk-wide--2of12 {
    max-width: 16.66666% !important;
    display: block;
    -ms-flex: 16.66666%;
    -webkit-box-flex: 16.66666%;
            flex: 16.66666%;
  }
  .width-desk-wide--5of6,
  .width-desk-wide--10of12 {
    max-width: 83.33333% !important;
    display: block;
    -ms-flex: 83.33333%;
    -webkit-box-flex: 83.33333%;
            flex: 83.33333%;
  }
  .width-desk-wide--1of8 {
    max-width: 12.5% !important;
    display: block;
    -ms-flex: 12.5%;
    -webkit-box-flex: 12.5%;
            flex: 12.5%;
  }
  .width-desk-wide--3of8 {
    max-width: 37.5% !important;
    display: block;
    -ms-flex: 37.5%;
    -webkit-box-flex: 37.5%;
            flex: 37.5%;
  }
  .width-desk-wide--5of8 {
    max-width: 62.5% !important;
    display: block;
    -ms-flex: 62.5%;
    -webkit-box-flex: 62.5%;
            flex: 62.5%;
  }
  .width-desk-wide--7of8 {
    max-width: 87.5% !important;
    display: block;
    -ms-flex: 87.5%;
    -webkit-box-flex: 87.5%;
            flex: 87.5%;
  }
  .width-desk-wide--1of9 {
    max-width: 11.1111111% !important;
    display: block;
    -ms-flex: 11.1111111%;
    -webkit-box-flex: 11.1111111%;
            flex: 11.1111111%;
  }
  .width-desk-wide--2of9 {
    max-width: 22.2222222% !important;
    display: block;
    -ms-flex: 22.2222222%;
    -webkit-box-flex: 22.2222222%;
            flex: 22.2222222%;
  }
  .width-desk-wide--4of9 {
    max-width: 44.4444444% !important;
    display: block;
    -ms-flex: 44.4444444%;
    -webkit-box-flex: 44.4444444%;
            flex: 44.4444444%;
  }
  .width-desk-wide--5of9 {
    max-width: 55.5555555% !important;
    display: block;
    -ms-flex: 55.5555555%;
    -webkit-box-flex: 55.5555555%;
            flex: 55.5555555%;
  }
  .width-desk-wide--7of9 {
    max-width: 77.7777777% !important;
    display: block;
    -ms-flex: 77.7777777%;
    -webkit-box-flex: 77.7777777%;
            flex: 77.7777777%;
  }
  .width-desk-wide--8of9 {
    max-width: 88.8888888% !important;
    display: block;
    -ms-flex: 88.8888888%;
    -webkit-box-flex: 88.8888888%;
            flex: 88.8888888%;
  }
  .width-desk-wide--1of10 {
    max-width: 10% !important;
    display: block;
    -ms-flex: 10%;
    -webkit-box-flex: 10%;
            flex: 10%;
  }
  .width-desk-wide--3of10 {
    max-width: 30% !important;
    display: block;
    -ms-flex: 30%;
    -webkit-box-flex: 30%;
            flex: 30%;
  }
  .width-desk-wide--7of10 {
    max-width: 70% !important;
    display: block;
    -ms-flex: 70%;
    -webkit-box-flex: 70%;
            flex: 70%;
  }
  .width-desk-wide--9of10 {
    max-width: 90% !important;
    display: block;
    -ms-flex: 90%;
    -webkit-box-flex: 90%;
            flex: 90%;
  }
  .width-desk-wide--1of12 {
    max-width: 8.3333333% !important;
    display: block;
    -ms-flex: 8.3333333%;
    -webkit-box-flex: 8.3333333%;
            flex: 8.3333333%;
  }
  .width-desk-wide--5of12 {
    max-width: 41.6666666% !important;
    display: block;
    -ms-flex: 41.6666666%;
    -webkit-box-flex: 41.6666666%;
            flex: 41.6666666%;
  }
  .width-desk-wide--7of12 {
    max-width: 58.3333333% !important;
    display: block;
    -ms-flex: 58.3333333%;
    -webkit-box-flex: 58.3333333%;
            flex: 58.3333333%;
  }
  .width-desk-wide--11of12 {
    max-width: 91.6666666% !important;
    display: block;
    -ms-flex: 91.6666666%;
    -webkit-box-flex: 91.6666666%;
            flex: 91.6666666%;
  }
}
@media screen and (min-width: 1500px) {
  .width-max--0 {
    max-width: 0% !important;
    display: none;
    -ms-flex: 0%;
    -webkit-box-flex: 0%;
            flex: 0%;
  }
  .width-max--1of1,
  .width-max--2of2,
  .width-max--3of3,
  .width-max--4of4,
  .width-max--5of5,
  .width-max--6of6 {
    max-width: 100% !important;
    display: block;
    -ms-flex: 100%;
    -webkit-box-flex: 100%;
            flex: 100%;
  }
  .width-max--1of2,
  .width-max--2of4,
  .width-max--3of6,
  .width-max--4of8,
  .width-max--5of10,
  .width-max--6of12 {
    max-width: 50% !important;
    display: block;
    -ms-flex: 50%;
    -webkit-box-flex: 50%;
            flex: 50%;
  }
  .width-max--1of3,
  .width-max--2of6,
  .width-max--3of9,
  .width-max--4of12 {
    max-width: 33.33333% !important;
    display: block;
    -ms-flex: 33.33333%;
    -webkit-box-flex: 33.33333%;
            flex: 33.33333%;
  }
  .width-max--2of3,
  .width-max--4of6,
  .width-max--6of9,
  .width-max--8of12 {
    max-width: 66.66666% !important;
    display: block;
    -ms-flex: 66.66666%;
    -webkit-box-flex: 66.66666%;
            flex: 66.66666%;
  }
  .width-max--1of4,
  .width-max--2of8,
  .width-max--3of12 {
    max-width: 25% !important;
    display: block;
    -ms-flex: 25%;
    -webkit-box-flex: 25%;
            flex: 25%;
  }
  .width-max--3of4,
  .width-max--6of8,
  .width-max--9of12 {
    max-width: 75% !important;
    display: block;
    -ms-flex: 75%;
    -webkit-box-flex: 75%;
            flex: 75%;
  }
  .width-max--1of5,
  .width-max--2of10 {
    max-width: 20% !important;
    display: block;
    -ms-flex: 20%;
    -webkit-box-flex: 20%;
            flex: 20%;
  }
  .width-max--2of5,
  .width-max--4of10 {
    max-width: 40% !important;
    display: block;
    -ms-flex: 40%;
    -webkit-box-flex: 40%;
            flex: 40%;
  }
  .width-max--3of5,
  .width-max--6of10 {
    max-width: 60% !important;
    display: block;
    -ms-flex: 60%;
    -webkit-box-flex: 60%;
            flex: 60%;
  }
  .width-max--4of5,
  .width-max--8of10 {
    max-width: 80% !important;
    display: block;
    -ms-flex: 80%;
    -webkit-box-flex: 80%;
            flex: 80%;
  }
  .width-max--1of6,
  .width-max--2of12 {
    max-width: 16.66666% !important;
    display: block;
    -ms-flex: 16.66666%;
    -webkit-box-flex: 16.66666%;
            flex: 16.66666%;
  }
  .width-max--5of6,
  .width-max--10of12 {
    max-width: 83.33333% !important;
    display: block;
    -ms-flex: 83.33333%;
    -webkit-box-flex: 83.33333%;
            flex: 83.33333%;
  }
  .width-max--1of8 {
    max-width: 12.5% !important;
    display: block;
    -ms-flex: 12.5%;
    -webkit-box-flex: 12.5%;
            flex: 12.5%;
  }
  .width-max--3of8 {
    max-width: 37.5% !important;
    display: block;
    -ms-flex: 37.5%;
    -webkit-box-flex: 37.5%;
            flex: 37.5%;
  }
  .width-max--5of8 {
    max-width: 62.5% !important;
    display: block;
    -ms-flex: 62.5%;
    -webkit-box-flex: 62.5%;
            flex: 62.5%;
  }
  .width-max--7of8 {
    max-width: 87.5% !important;
    display: block;
    -ms-flex: 87.5%;
    -webkit-box-flex: 87.5%;
            flex: 87.5%;
  }
  .width-max--1of9 {
    max-width: 11.1111111% !important;
    display: block;
    -ms-flex: 11.1111111%;
    -webkit-box-flex: 11.1111111%;
            flex: 11.1111111%;
  }
  .width-max--2of9 {
    max-width: 22.2222222% !important;
    display: block;
    -ms-flex: 22.2222222%;
    -webkit-box-flex: 22.2222222%;
            flex: 22.2222222%;
  }
  .width-max--4of9 {
    max-width: 44.4444444% !important;
    display: block;
    -ms-flex: 44.4444444%;
    -webkit-box-flex: 44.4444444%;
            flex: 44.4444444%;
  }
  .width-max--5of9 {
    max-width: 55.5555555% !important;
    display: block;
    -ms-flex: 55.5555555%;
    -webkit-box-flex: 55.5555555%;
            flex: 55.5555555%;
  }
  .width-max--7of9 {
    max-width: 77.7777777% !important;
    display: block;
    -ms-flex: 77.7777777%;
    -webkit-box-flex: 77.7777777%;
            flex: 77.7777777%;
  }
  .width-max--8of9 {
    max-width: 88.8888888% !important;
    display: block;
    -ms-flex: 88.8888888%;
    -webkit-box-flex: 88.8888888%;
            flex: 88.8888888%;
  }
  .width-max--1of10 {
    max-width: 10% !important;
    display: block;
    -ms-flex: 10%;
    -webkit-box-flex: 10%;
            flex: 10%;
  }
  .width-max--3of10 {
    max-width: 30% !important;
    display: block;
    -ms-flex: 30%;
    -webkit-box-flex: 30%;
            flex: 30%;
  }
  .width-max--7of10 {
    max-width: 70% !important;
    display: block;
    -ms-flex: 70%;
    -webkit-box-flex: 70%;
            flex: 70%;
  }
  .width-max--9of10 {
    max-width: 90% !important;
    display: block;
    -ms-flex: 90%;
    -webkit-box-flex: 90%;
            flex: 90%;
  }
  .width-max--1of12 {
    max-width: 8.3333333% !important;
    display: block;
    -ms-flex: 8.3333333%;
    -webkit-box-flex: 8.3333333%;
            flex: 8.3333333%;
  }
  .width-max--5of12 {
    max-width: 41.6666666% !important;
    display: block;
    -ms-flex: 41.6666666%;
    -webkit-box-flex: 41.6666666%;
            flex: 41.6666666%;
  }
  .width-max--7of12 {
    max-width: 58.3333333% !important;
    display: block;
    -ms-flex: 58.3333333%;
    -webkit-box-flex: 58.3333333%;
            flex: 58.3333333%;
  }
  .width-max--11of12 {
    max-width: 91.6666666% !important;
    display: block;
    -ms-flex: 91.6666666%;
    -webkit-box-flex: 91.6666666%;
            flex: 91.6666666%;
  }
}
/**
 * _typo.scss
 *
 * Author: Marian Friedmann
 *
 * Alt Text Styles.
 *
 * ## alignment
 * - text--left
 * - text--right
 * - text--center
 *
 * ## utilities
 * - text--secondary
 * - text--inherit-color
 * - text--no-wrap
 * - text--large
 *
 * Usage:
 * <div class="text--large">
 *   <h1>Lorem Ipsum</h1>
 *   <p>Lorem ipsum</p>
 * </div>
 *
 */
/**
 * Prevent text from wrapping
 */
.text--no-wrap {
  white-space: nowrap !important;
}

/**
 * Display text in secondary font
 */
.text--secondary {
  font-family: "Roboto", sans-serif !important;
}

/**
 * Display larger text
 */
.text--large {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5;
}

.text--left {
  text-align: left;
}

.text--right {
  text-align: right;
}

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

@media screen and (min-width: 481px) {
  .text-tab--left {
    text-align: left;
  }
  .text-tab--right {
    text-align: right;
  }
  .text-tab--center {
    text-align: center;
  }
}
@media screen and (min-width: 721px) {
  .text-lap--left {
    text-align: left;
  }
  .text-lap--right {
    text-align: right;
  }
  .text-lap--center {
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .text-desk--left {
    text-align: left;
  }
  .text-desk--right {
    text-align: right;
  }
  .text-desk--center {
    text-align: center;
  }
}
@media screen and (min-width: 1200px) {
  .text-desk-wide--left {
    text-align: left;
  }
  .text-desk-wide--right {
    text-align: right;
  }
  .text-desk-wide--center {
    text-align: center;
  }
}
@media screen and (min-width: 1500px) {
  .text-max--left {
    text-align: left;
  }
  .text-max--right {
    text-align: right;
  }
  .text-max--center {
    text-align: center;
  }
}
.clearfix {
  /**
   * For IE 6/7 only
   * Include this rule to trigger hasLayout and contain floats.
   */
  *zoom: 1;
}
.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

.pull-left {
  float: left;
}

.pull-right {
  float: right;
}

/**
* _color.scss
*/
:root {
  --link: #981000;
  --hover: #6E0C00;
  --border: #DBDBDB;
  --black: #151515;
  --white: #FFF;
}

.c--link {
  color: #981000;
}

.bg--link {
  background-color: #981000;
}

.c--hover {
  color: #6E0C00;
}

.bg--hover {
  background-color: #6E0C00;
}

.c--border {
  color: #DBDBDB;
}

.bg--border {
  background-color: #DBDBDB;
}

.c--black {
  color: #151515;
}

.bg--black {
  background-color: #151515;
}

.c--white {
  color: #FFF;
}

.bg--white {
  background-color: #FFF;
}

.c--inherit {
  color: inherit;
}

.bg--inherit {
  background-color: inherit;
}

@media screen and (min-width: 481px) {
  .c-tab--link {
    color: #981000;
  }
  .bg-tab--link {
    background-color: #981000;
  }
  .c-tab--hover {
    color: #6E0C00;
  }
  .bg-tab--hover {
    background-color: #6E0C00;
  }
  .c-tab--border {
    color: #DBDBDB;
  }
  .bg-tab--border {
    background-color: #DBDBDB;
  }
  .c-tab--black {
    color: #151515;
  }
  .bg-tab--black {
    background-color: #151515;
  }
  .c-tab--white {
    color: #FFF;
  }
  .bg-tab--white {
    background-color: #FFF;
  }
  .c-tab--inherit {
    color: inherit;
  }
  .bg-tab--inherit {
    background-color: inherit;
  }
}
@media screen and (min-width: 721px) {
  .c-lap--link {
    color: #981000;
  }
  .bg-lap--link {
    background-color: #981000;
  }
  .c-lap--hover {
    color: #6E0C00;
  }
  .bg-lap--hover {
    background-color: #6E0C00;
  }
  .c-lap--border {
    color: #DBDBDB;
  }
  .bg-lap--border {
    background-color: #DBDBDB;
  }
  .c-lap--black {
    color: #151515;
  }
  .bg-lap--black {
    background-color: #151515;
  }
  .c-lap--white {
    color: #FFF;
  }
  .bg-lap--white {
    background-color: #FFF;
  }
  .c-lap--inherit {
    color: inherit;
  }
  .bg-lap--inherit {
    background-color: inherit;
  }
}
@media screen and (min-width: 1024px) {
  .c-desk--link {
    color: #981000;
  }
  .bg-desk--link {
    background-color: #981000;
  }
  .c-desk--hover {
    color: #6E0C00;
  }
  .bg-desk--hover {
    background-color: #6E0C00;
  }
  .c-desk--border {
    color: #DBDBDB;
  }
  .bg-desk--border {
    background-color: #DBDBDB;
  }
  .c-desk--black {
    color: #151515;
  }
  .bg-desk--black {
    background-color: #151515;
  }
  .c-desk--white {
    color: #FFF;
  }
  .bg-desk--white {
    background-color: #FFF;
  }
  .c-desk--inherit {
    color: inherit;
  }
  .bg-desk--inherit {
    background-color: inherit;
  }
}
@media screen and (min-width: 1200px) {
  .c-desk-wide--link {
    color: #981000;
  }
  .bg-desk-wide--link {
    background-color: #981000;
  }
  .c-desk-wide--hover {
    color: #6E0C00;
  }
  .bg-desk-wide--hover {
    background-color: #6E0C00;
  }
  .c-desk-wide--border {
    color: #DBDBDB;
  }
  .bg-desk-wide--border {
    background-color: #DBDBDB;
  }
  .c-desk-wide--black {
    color: #151515;
  }
  .bg-desk-wide--black {
    background-color: #151515;
  }
  .c-desk-wide--white {
    color: #FFF;
  }
  .bg-desk-wide--white {
    background-color: #FFF;
  }
  .c-desk-wide--inherit {
    color: inherit;
  }
  .bg-desk-wide--inherit {
    background-color: inherit;
  }
}
@media screen and (min-width: 1500px) {
  .c-max--link {
    color: #981000;
  }
  .bg-max--link {
    background-color: #981000;
  }
  .c-max--hover {
    color: #6E0C00;
  }
  .bg-max--hover {
    background-color: #6E0C00;
  }
  .c-max--border {
    color: #DBDBDB;
  }
  .bg-max--border {
    background-color: #DBDBDB;
  }
  .c-max--black {
    color: #151515;
  }
  .bg-max--black {
    background-color: #151515;
  }
  .c-max--white {
    color: #FFF;
  }
  .bg-max--white {
    background-color: #FFF;
  }
  .c-max--inherit {
    color: inherit;
  }
  .bg-max--inherit {
    background-color: inherit;
  }
}
html, body {
  scroll-behavior: smooth;
}

body {
  color: #151515;
}

.wrapper {
  padding: 0 20px;
}

span.ce_headline {
  margin-bottom: 20px;
  display: block;
}

.media--middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 721px) {
  .media--lap .media__img {
    width: 100%;
    display: block;
  }
}

.header {
  background-color: #fff;
  padding: 30px 0;
}
.header__logo {
  display: block;
  width: 200px;
  height: 44px;
  background-size: contain;
}
@media screen and (min-width: 721px) {
  .header__logo {
    width: 280px;
    height: 62px;
  }
}
.header__logo:focus {
  outline: none;
}
.header__navigation {
  display: none;
}
@media screen and (min-width: 1024px) {
  .header__navigation {
    display: block;
  }
}
.header__mobile-navigation {
  display: block;
}
@media screen and (min-width: 1024px) {
  .header__mobile-navigation {
    display: none;
  }
}
.header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.header__burger {
  width: 30px;
  height: 30px;
  -webkit-appearance: none;
  border: none;
  background-color: transparent;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .header__burger {
    display: none;
  }
}
.header__burger:focus {
  outline: none;
}
.header__burger:after {
  content: "";
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -10px;
  margin-top: -1px;
  background-color: #151515;
  -webkit-box-shadow: 0 -5px 0 0 #151515, 0 5px 0 0 #151515;
          box-shadow: 0 -5px 0 0 #151515, 0 5px 0 0 #151515;
}
body.navigation-active .header__burger:after {
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.header__burger:before {
  content: "";
  width: 20px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -10px;
  margin-top: -1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  background-color: #151515;
  display: none;
}
body.navigation-active .header__burger:before {
  display: block;
}

.nav-primary ul {
  list-style: none;
  margin: 0;
  padding: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 40px;
}
body.navigation-active .nav-primary ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 1024px) {
  .nav-primary ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0;
  }
}
.nav-primary ul li {
  margin-top: 10px;
}
@media screen and (min-width: 1024px) {
  .nav-primary ul li {
    margin-left: 2px;
  }
}
.nav-primary ul li a {
  color: #151515;
  text-decoration: none;
  padding: 10px 15px;
  border-radius: 19px;
}
@media screen and (min-width: 1500px) {
  .nav-primary ul li a {
    padding: 10px 20px;
  }
}
.nav-primary ul li a.active {
  background-color: #981000;
  color: #FFF;
}
.nav-primary ul li a:focus {
  outline: none;
}
.nav-primary ul li a:hover {
  background-color: #6E0C00;
  color: #FFF;
}

.main {
  padding: 40px 0;
}
.main strong {
  font-weight: 900;
}
.main table {
  width: 100%;
  border: 1px solid #DBDBDB;
  border-collapse: collapse;
}
.main table th, .main table td {
  padding: 5px 10px;
  text-align: left;
  border: 1px solid #DBDBDB;
}
.main table tfoot {
  font-size: 0.8em;
}
.main table caption {
  text-align: left;
  margin-bottom: 20px;
  font-weight: bold;
}
.main dl dt {
  font-weight: bold;
}
.main dl dd {
  margin: 0;
  padding: 0;
  margin-bottom: 20px;
}
.main .hyperlink_txt, .main .ce_toplink a {
  margin-bottom: 20px;
}
.main .ce_downloads {
  margin-bottom: 20px;
}
.main .ce_downloads ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.main .download-element a {
  display: block;
  padding: 0 0 0 40px;
  background-position: left center;
}
.main .image_container {
  display: block;
  border: 1px solid #DBDBDB;
  border-radius: 5px;
  overflow: hidden;
  margin: 0 0 20px;
  position: relative;
}
.main .image_container img {
  display: block;
  width: 100%;
  aspect-ratio: 1.7777777778;
  -o-object-fit: contain;
     object-fit: contain;
}
.main .image_container .caption {
  position: absolute;
  bottom: 0;
  padding: 10px 20px;
  background-color: rgba(255, 255, 255, 0.8);
  width: 100%;
  display: block;
}
.main .ce_gallery ul li a {
  display: block;
}

.footer {
  background-color: #981000;
  color: #FFF;
  padding: 20px 0;
  text-align: center;
}
@media screen and (min-width: 721px) {
  .footer {
    text-align: left;
  }
}

.nav-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 721px) {
  .nav-footer ul {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.nav-footer ul li {
  margin-left: 20px;
}
.nav-footer ul a {
  color: #FFF;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL19iYXNpY3NzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFzaWNzcy9iYXNpY3NzL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9taXhpbnMvX21lZGlhLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFzaWNzcy9iYXNpY3NzL21peGlucy9faGRwaS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9taXhpbnMvX3JldGluYS1pbWFnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9taXhpbnMvX2ZvbnQtc2l6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9taXhpbnMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFzaWNzcy9iYXNpY3NzL21peGlucy9fZWxsaXBzaXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFzaWNzcy9iYXNpY3NzL2Jhc2UvX21haW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3MvYmFzZS9fYmFzZWxpbmUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3MvYmFzZS9fdHlwby5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9iYXNlL19saW5rcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9iYXNlL19tZWRpYS1zcmMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3Mvb2JqZWN0cy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9vYmplY3RzL19idG4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3Mvb2JqZWN0cy9fY29uc3RyYWluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFzaWNzcy9iYXNpY3NzL29iamVjdHMvX25hdi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9vYmplY3RzL19ib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3Mvb2JqZWN0cy9fbWVkaWEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3Mvb2JqZWN0cy9fYmFyZS1saXN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFzaWNzcy9iYXNpY3NzL29iamVjdHMvX3VpLWxpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3Mvb2JqZWN0cy9fYXJyb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3Mvb2JqZWN0cy9faWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9oZWxwZXIvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3MvaGVscGVyL193aWR0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcy9oZWxwZXIvX3R5cG8uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3MvaGVscGVyL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYXNpY3NzL2Jhc2ljc3MvaGVscGVyL19jb2xvci5zY3NzIiwiX2dlbmVyYWwuc2NzcyIsIl9tZWRpYS5zY3NzIiwiX2hlYWRlci5zY3NzIiwiX25hdi1wcmltYXJ5LnNjc3MiLCJfbWFpbi5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwiX25hdi1mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VBQUE7QUNBQTs7Ozs7OztFQUFBO0FEVUE7O0VBQUE7QUVWQTs7Ozs7RUFBQTtBQU9BOzt5REFBQTtBQUlBOztFQUFBO0FDWEE7Ozs7RUFBQTtBQU1BOztDQUFBO0FBS0E7O0NBQUE7QUFhQTs7RUFBQTtBQWNBOztFQUFBO0FBVUE7O0VBQUE7QUFPQTs7RUFBQTtBQU9BOztFQUFBO0FBZ0NBOztFQUFBO0FBT0E7O0VBQUE7QUFXQzs7RUFBQTtBQWVEOztFQUFBO0FBV0E7O0VBQUE7QUFNQTs7RUFBQTtBRC9IQTs7RUFBQTtBRWpCQTs7Ozs7Ozs7Ozs7OztFQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FDQUE7Ozs7O0VBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FDQUE7Ozs7Ozs7Ozs7RUFBQTtBQ0FBOzs7Ozs7O0VBQUE7QVIrQkE7O3lEQUFBO0FTL0JBLDJFQUFBO0FBRUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLGlCQUFBLEVBQUEsTUFBQTtFQUNBLDhCQUFBLEVBQUEsTUFBQTtBWjRLRjs7QVl6S0E7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsU0FBQTtBWjBLRjs7QVl2S0E7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QVp5S0Y7O0FZdEtBOzs7RUFBQTtBQUtBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0Fad0tGOztBWXJLQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0UsK0JBQUE7VUFBQSx1QkFBQSxFQUFBLE1BQUE7RUFDQSxTQUFBLEVBQUEsTUFBQTtFQUNBLGlCQUFBLEVBQUEsTUFBQTtBWnNLRjs7QVluS0E7OztFQUFBO0FBS0E7RUFDRSxpQ0FBQSxFQUFBLE1BQUE7RUFDQSxjQUFBLEVBQUEsTUFBQTtBWnFLRjs7QVlsS0E7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsNkJBQUE7QVptS0Y7O0FZaEtBOzs7RUFBQTtBQUtBO0VBQ0UsbUJBQUEsRUFBQSxNQUFBO0VBQ0EsMEJBQUEsRUFBQSxNQUFBO0VBQ0EseUNBQUE7VUFBQSxpQ0FBQSxFQUFBLE1BQUE7QVprS0Y7O0FZL0pBOztFQUFBO0FBSUE7O0VBRUUsbUJBQUE7QVppS0Y7O0FZOUpBOzs7RUFBQTtBQUtBOzs7RUFHRSxpQ0FBQSxFQUFBLE1BQUE7RUFDQSxjQUFBLEVBQUEsTUFBQTtBWmdLRjs7QVk3SkE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QVorSkY7O0FZNUpBOzs7RUFBQTtBQUtBOztFQUVFLGNBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSx3QkFBQTtBWjhKRjs7QVkzSkE7RUFDRSxlQUFBO0FaOEpGOztBWTNKQTtFQUNFLFdBQUE7QVo4SkY7O0FZM0pBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLGtCQUFBO0FaNEpGOztBWXpKQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBOzs7OztFQUtFLG9CQUFBLEVBQUEsTUFBQTtFQUNBLGVBQUEsRUFBQSxNQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0VBQ0EsU0FBQSxFQUFBLE1BQUE7QVowSkY7O0FZdkpBOzs7RUFBQTtBQUtBO1FBQ1EsTUFBQTtFQUNOLGlCQUFBO0FaeUpGOztBWXRKQTs7O0VBQUE7QUFLQTtTQUNTLE1BQUE7RUFDUCxvQkFBQTtBWndKRjs7QVlySkE7O0VBQUE7QUFJQTs7OztFQUlFLDBCQUFBO0FadUpGOztBWXBKQTs7RUFBQTtBQUlBOzs7O0VBSUUsa0JBQUE7RUFDQSxVQUFBO0Fac0pGOztBWW5KQTs7RUFBQTtBQUlBOzs7O0VBSUUsOEJBQUE7QVpxSkY7O0FZbEpBOztFQUFBO0FBSUE7RUFDRSw4QkFBQTtBWm9KRjs7QVlqSkE7Ozs7O0VBQUE7QUFPQTtFQUNFLDhCQUFBO1VBQUEsc0JBQUEsRUFBQSxNQUFBO0VBQ0EsY0FBQSxFQUFBLE1BQUE7RUFDQSxjQUFBLEVBQUEsTUFBQTtFQUNBLGVBQUEsRUFBQSxNQUFBO0VBQ0EsVUFBQSxFQUFBLE1BQUE7RUFDQSxtQkFBQSxFQUFBLE1BQUE7QVptSkY7O0FZaEpBOztFQUFBO0FBSUE7RUFDRSx3QkFBQTtBWmtKRjs7QVkvSUE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QVppSkY7O0FZOUlBOzs7RUFBQTtBQUtBOztFQUVFLDhCQUFBO1VBQUEsc0JBQUEsRUFBQSxNQUFBO0VBQ0EsVUFBQSxFQUFBLE1BQUE7QVpnSkY7O0FZN0lBOztFQUFBO0FBSUE7O0VBRUUsWUFBQTtBWitJRjs7QVk1SUE7OztFQUFBO0FBS0E7RUFDRSw2QkFBQSxFQUFBLE1BQUE7RUFDQSxvQkFBQSxFQUFBLE1BQUE7QVo4SUY7O0FZM0lBOztFQUFBO0FBSUE7RUFDRSx3QkFBQTtBWjZJRjs7QVkxSUE7OztFQUFBO0FBS0E7RUFDRSwwQkFBQSxFQUFBLE1BQUE7RUFDQSxhQUFBLEVBQUEsTUFBQTtBWjRJRjs7QVl6SUE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsY0FBQTtBWjBJRjs7QVl2SUE7O0VBQUE7QUFJQTtFQUNFLGtCQUFBO0FaeUlGOztBWXRJQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRSxhQUFBO0FadUlGOztBWXBJQTs7RUFBQTtBQUlBO0VBQ0UsYUFBQTtBWnNJRjs7QWFqZUE7Ozs7O0VBQUE7QUFTSTtFQUdFLDhCQUFBO1VBQUEsc0JBQUE7QWIrZE47O0FhM2RFO0VBQ0UsU0FBQTtFQUNBLFVBQUE7QWI4ZEo7O0FhMWRBO0VBQ0UsZUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0FiNmRGOztBYzlmQTs7Ozs7RUFBQTtBQVFFOzs7Ozs7O0VBT0UsU0FBQTtFQUNBLFVBQUE7QWQrZko7O0FjNWZFOzs7Ozs7RUxlQSxnQktUNkI7RUxVN0IsbUJBSlc7QVQwZmI7O0FjN2ZFO0VMTUEsaUJQMEJTO0VPekJULG9CQUpXO0FUK2ZiOztBYzlmRTs7RUFFRSxnQkFBQTtBZGlnQko7O0FlbGlCQTs7Ozs7RUFBQTtBQVFFO0VBQ0UsaUNiWVU7RWFYVixjQUFBO0VBQ0EsZ0JYdUZjO0FKNGNsQjs7QWVuZ0JFOztFUHBDRSxlTnlCTztFTXhCUCxlQUFBO0VBRUUsY0FBQTtFTzJCQSxnQkFBQTtBZmloQk47O0FlM2dCRTs7RVBwQ0UsZU55Qk87RU14QlAsa0JBQUE7RUFFRSx5QkFBQTtFTzJCQSxnQkFBQTtBZnloQk47O0FlbmhCRTs7RVBwQ0UsZU55Qk87RU14QlAsZUFBQTtFQUVFLGdCQUFBO0VPMkJBLGdCQUFBO0FmaWlCTjs7QWUzaEJFOztFUHBDRSxlTnlCTztFTXhCUCxpQkFBQTtFQUVFLGNBQUE7RU8yQkEsZ0JBQUE7QWZ5aUJOOztBZW5pQkU7O0VQcENFLGVOeUJPO0VNeEJQLG1CQUFBO0VBRUUseUJBQUE7RU8yQkEsZ0JBQUE7QWZpakJOOztBZTNpQkU7O0VQcENFLGVOeUJPO0VNeEJQLGVBQUE7RUFFRSxnQkFBQTtFTzJCQSxnQkFBQTtBZnlqQk47O0FnQi9sQkE7Ozs7O0VBQUE7QUFRRTtFQUNFLGNBQUE7RUFDQSxxQkFBQTtBaEJnbUJKOztBZ0I3bEJFO0VBQ0UsY0FBQTtFQUNBLDBCQUFBO0FoQmdtQko7O0FnQjdsQkU7RUFBVSxvQkFBQTtBaEJpbUJaOztBZ0IvbEJFO0VBQW9CLFVBQUE7QWhCbW1CdEI7O0FpQnZuQkE7Ozs7O0VBQUE7QUFRRTs7OztFQUlFLGVBQUE7RUFDQSxZQUFBO0FqQnduQko7O0FpQnJuQkU7O0NBQUE7QUFHQTtFQUNFLFdBQUE7QWpCd25CSjs7QWlCcm5CRTs7Q0FBQTtBQUdBOztFQUVFLGVBQUE7QWpCd25CSjs7QUd6bUJBOzt5REFBQTtBZW1CQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtB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bUhGOztBZ0N4a0hBOztDQUFBO0FBS0U7RUFFSSxlQUFBO0VBQUEsZ0JBQUE7RUFBQSxpQkFBQTtFQUFBLGdCQUFBO0VBQUEsYUFBQTtBaEM0a0hOOztBZ0NsbkhJO0VBQ0UsYzlCS0c7QUZnbkhUOztBZ0NubkhJO0VBQ0UseUI5QkVHO0FGb25IVDs7QWdDMW5ISTtFQUNFLGM5QktHO0FGd25IVDs7QWdDM25ISTtFQUNFLHlCOUJFRztBRjRuSFQ7O0FnQ2xvSEk7RUFDRSxjOUJLRztBRmdvSFQ7O0FnQ25vSEk7RUFDRSx5QjlCRUc7QUZvb0hUOztBZ0Mxb0hJO0VBQ0UsYzlCS0c7QUZ3b0hUOztBZ0Mzb0hJO0VBQ0UseUI5QkVHO0FGNG9IVDs7QWdDbHBISTtFQUNFLFc5QktHO0FGZ3BIVDs7QWdDbnBISTtFQUNFLHNCOUJFRztBRm9wSFQ7O0FnQzNvSEU7RUFDRSxjQUFBO0FoQzhvSEo7O0FnQzVvSEU7RUFDRSx5QkFBQTtBaEMrb0hKOztBS2pwSEk7RTJCakJBO0lBQ0UsYzlCS0c7RUZpcUhQO0VnQ3BxSEU7SUFDRSx5QjlCRUc7RUZvcUhQO0VnQzFxSEU7SUFDRSxjOUJLRztFRnVxSFA7RWdDMXFIRTtJQUNFLHlCOUJFRztFRjBxSFA7RWdDaHJIRTtJQUNFLGM5QktHO0VGNnFIUDtFZ0NockhFO0lBQ0UseUI5QkVHO0VGZ3JIUDtFZ0N0ckhFO0lBQ0UsYzlCS0c7RUZtckhQO0VnQ3RySEU7SUFDRSx5QjlCRUc7RUZzckhQO0VnQzVySEU7SUFDRSxXOUJLRztFRnlySFA7RWdDNXJIRTtJQUNFLHNCOUJFRztFRjRySFA7RWdDbnJIQTtJQUNFLGNBQUE7RWhDcXJIRjtFZ0NuckhBO0lBQ0UseUJBQUE7RWhDcXJIRjtBQUNGO0FLeHJISTtFMkJqQkE7SUFDRSxjOUJLRztFRnVzSFA7RWdDMXNIRTtJQUNFLHlCOUJFRztFRjBzSFA7RWdDaHRIRTtJQUNFLGM5QktHO0VGNnNIUDtFZ0NodEhFO0lBQ0UseUI5QkVHO0VGZ3RIUDtFZ0N0dEhFO0lBQ0UsYzlCS0c7RUZtdEhQO0VnQ3R0SEU7SUFDRSx5QjlCRUc7RUZzdEhQO0VnQzV0SEU7SUFDRSxjOUJLRztFRnl0SFA7RWdDNXRIRTtJQUNFLHlCOUJFRztFRjR0SFA7RWdDbHVIRTtJQUNFLFc5QktHO0VGK3RIUDtFZ0NsdUhFO0lBQ0Usc0I5QkVHO0VGa3VIUDtFZ0N6dEhBO0lBQ0UsY0FBQTtFaEMydEhGO0VnQ3p0SEE7SUFDRSx5QkFBQTtFaEMydEhGO0FBQ0Y7QUs5dEhJO0UyQmpCQTtJQUNFLGM5QktHO0VGNnVIUDtFZ0NodkhFO0lBQ0UseUI5QkVHO0VGZ3ZIUDtFZ0N0dkhFO0lBQ0UsYzlCS0c7RUZtdkhQO0VnQ3R2SEU7SUFDRSx5QjlCRUc7RUZzdkhQO0VnQzV2SEU7SUFDRSxjOUJLRztFRnl2SFA7RWdDNXZIRTtJQUNFLHlCOUJFRztFRjR2SFA7RWdDbHdIRTtJQUNFLGM5QktHO0VGK3ZIUDtFZ0Nsd0hFO0lBQ0UseUI5QkVHO0VGa3dIUDtFZ0N4d0hFO0lBQ0UsVzlCS0c7RUZxd0hQO0VnQ3h3SEU7SUFDRSxzQjlCRUc7RUZ3d0hQO0VnQy92SEE7SUFDRSxjQUFBO0VoQ2l3SEY7RWdDL3ZIQTtJQUNFLHlCQUFBO0VoQ2l3SEY7QUFDRjtBS3B3SEk7RTJCakJBO0lBQ0UsYzlCS0c7RUZteEhQO0VnQ3R4SEU7SUFDRSx5QjlCRUc7RUZzeEhQO0VnQzV4SEU7SUFDRSxjOUJLRztFRnl4SFA7RWdDNXhIRTtJQUNFLHlCOUJFRztFRjR4SFA7RWdDbHlIRTtJQUNFLGM5QktHO0VGK3hIUDtFZ0NseUhFO0lBQ0UseUI5QkVHO0VGa3lIUDtFZ0N4eUhFO0lBQ0UsYzlCS0c7RUZxeUhQO0VnQ3h5SEU7SUFDRSx5QjlCRUc7RUZ3eUhQO0VnQzl5SEU7SUFDRSxXOUJLRztFRjJ5SFA7RWdDOXlIRTtJQUNFLHNCOUJFRztFRjh5SFA7RWdDcnlIQTtJQUNFLGNBQUE7RWhDdXlIRjtFZ0NyeUhBO0lBQ0UseUJBQUE7RWhDdXlIRjtBQUNGO0FLMXlISTtFMkJqQkE7SUFDRSxjOUJLRztFRnl6SFA7RWdDNXpIRTtJQUNFLHlCOUJFRztFRjR6SFA7RWdDbDBIRTtJ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QUE7QXJDcWdJVjs7QXNDdGxJQTtFQUNFLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtBdEN5bElGO0FLemtJSTtFaUNwQko7SUFNSSxnQkFBQTtFdEMybElGO0FBQ0Y7O0F1Q2ptSUU7RUFDRSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7QXZDb21JSjtBS3RsSUk7RWtDbkJGO0lBT0kscUJBQUE7UUFBQSxrQkFBQTtZQUFBLHlCQUFBO0V2Q3NtSUo7QUFDRjtBdUNybUlJO0VBQ0UsaUJyQ2lESztBRnNqSVg7QXVDcm1JSTtFQUNFLFdBQUE7QXZDdW1JTiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIHN0eWxlLnNjc3NcbiAqXG4gKiBBdXRob3I6IGlkZWVuZnJpc2NoZVxuICpcbiAqL1xuLyoqXG4gKiBiYXNpY3NzIG92ZXJyaWRlc1xuICpcbiAqIGFueSBkZWZhdWx0cyBpbiBiYXNpY3NzL2Jhc2ljc3MvX3NldHRpbmdzLnNjc3NcbiAqIG1heSBiZSBvdmVycmlkZGVuLi4uXG4gKlxuICogZS5nLiAkcHJvdG90eXBpbmc6IHRydWU7XG4gKi9cbi8qKlxuICogYmFzaWNzcyBpbXBvcnRcbiAqL1xuLyoqXG4gKiBiYXNpY3NzLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlc2V0LCBEZWZhdWx0cywgTWl4aW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlc2V0LCBEZWZhdWx0IHNldHRpbmdzXG4gKi9cbi8qKlxuICogX3NldHRpbmdzLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqL1xuLyoqXG4qIFZhcmlhYmxlcyBNb2RlXG4qL1xuLyoqXG4qIERlZmF1bHQgY29sb3JzXG4qL1xuLyoqXG4gKiBEZWZhdWx0IG9iamVjdHNcbiAqL1xuLyoqXG4gKiBEZWZhdWx0IGhlbHBlclxuICovXG4vKipcbiAqIERlZmF1bHQgZm9udHNcbiAqL1xuLyoqXG4gKiBEZWZhdWx0IGZvbnQgc2l6ZVxuICovXG4vKipcbiAqIERlZmF1bHQgaGVhZGluZ3NcbiAqL1xuLyoqXG4gKiAgRGVmYXVsdCBzcGFjaW5nXG4gKi9cbi8qKlxuICogRGVmYXVsdCBicmVha3BvaW50c1xuICovXG4vKipcbiAqIERlZmF1bHQgc3BhY2VzXG4gKi9cbi8qKlxuICogRGVmYXVsdCBjb25zdHJhaW5zXG4gKi9cbi8qKlxuICogQXJyb3dzXG4gKi9cbi8qKlxuICogR2xvYmFsIFZhcmlhYmxlc1xuICovXG4vKipcbiAqIE1peGluc1xuICovXG4vKipcbiAqIF9tZWRpYS5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpdXMgU2NoZWVsXG4gKlxuICogVXNhZ2U6XG4gKiBAaW5jbHVkZSBtZWRpYSgzMDBweCk7XG4gKiBvciBAaW5jbHVkZSBtZWRpYSgzMDBweCwgZmFsc2UpO1xuICogb3IgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoIDMwMHB4KTtcbiAqIG9yIEBpbmNsdWRlIG1lZGlhKDEwMHB4IG1heC13aWR0aCAzMDBweCk7XG4gKiBvciBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGggMTAwcHggbWF4LXdpZHRoIDMwMHB4KTtcbiAqIG9yIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAxMDBweCBtYXgtd2lkdGggMzAwcHgsIHRydWUpO1xuICpcbiAqL1xuLyoqXG4gKiBfaGRwaS5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpdXMgU2NoZWVsXG4gKlxuICogZGVmYXVsdHMgdG8gMS4zIHRvIGluY2x1ZGUgR29vZ2xlIE5leHVzIDdcbiAqIGFkYXB0ZWQgZnJvbSBib3VyYm9uOlxuICogaHR0cHM6Ly9naXRodWIuY29tL3Rob3VnaHRib3QvYm91cmJvbi9ibG9iL21hc3Rlci9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3NcbiAqIFxuICogVXNhZ2U6XG4gKiBAaW5jbHVkZSBoZHBpIHtcbiAqICAvLyB5b3VyIGNzcyBmb3IgaGRwaSBkaXNwbGF5c1xuICogfTtcbiAqXG4gKiB5b3UgY2FuIHVzZSBhIGN1c3RvbSByYXRpbywgaWYgeW91IGxpa2U6XG4gKiBAaW5jbHVkZSBoZHBpKDEuNSkge1xuICogIC8vIHlvdXIgY3NzXG4gKiB9O1xuICovXG4vKipcbiAqIF9yZXRpbmEtaW1hZ2Uuc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaXVzIFNjaGVlbFxuICpcbiAqIFVzYWdlOlxuICogLmhlcm8ge1xuICogIEBpbmNsdWRlIHJldGluYS1pbWFnZShcIi4uL3BhdGgvdG8vaGVyb1wiLCAyMDBweCA0MDBweCk7XG4gKiB9XG4gKlxuICogdG8gdXNlIGEgc3BlY2lmaWMgZmlsZW5hbWU6XG4gKiAuaGVybyB7XG4gKiAgQGluY2x1ZGUgcmV0aW5hLWltYWdlKFwiLi4vcGF0aC90by9oZXJvXCIsIDIwMHB4IDQwMHB4LCBcIi4uL3BhdGgvdG8vcmV0aW5hLWhlcm9cIik7IFxuICogfSBcbiAqXG4gKiBtb2RpZmllZCB2ZXJzaW9uIG9mIGJvdXJib24ncyByZXRpbmEtaW1hZ2UgbWl4aW4uXG4gKiBUaGUgbWl4aW4gdXNlcyBhIEAyeC5wbmcgcmV0aW5hIGZpbGVuYW1lIGJ5IGRlZmF1bHQuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vdGhvdWdodGJvdC9ib3VyYm9uL2Jsb2IvbWFzdGVyL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2Nzc1xuICovXG4vKipcbiAqIF9mb250LXNpemUuc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqL1xuLyoqXG4gKiBfcHgtdG8tcmVtLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKiBVc2FnZTpcbiAqIC5lbGVtZW50IHtcbiAqICAgQGluY2x1ZGUgcHgtdG8tcmVtKHBhZGRpbmcsIDAgMjRweClcbiAqIH1cbiAqXG4gKiBPdXRwdXQ6XG4gKiAuZWxlbWVudCB7XG4gKiAgIHBhZGRpbmc6IDAgMjRweDtcbiAqICAgcGFkZGluZzogMCAxLjVyZW07XG4gKiB9XG4gKlxuICovXG4vKipcbiAqIF9jbGVhcmZpeC5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICogVXNhZ2U6XG4gKiAuZWxlbWVudCB7XG4gKiAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICogfVxuICpcbiAqL1xuLyoqXG4gKiBfZWxsaXBzaXMuc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqIGVsbGlwc2lzIG1peGluIFxuICpcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBTdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBfbWFpbi5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICovXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pbnZpc2libGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKipcbiAqIF9iYXNlbGluZS5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICovXG5ib2R5LFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbnAsIGJsb2NrcXVvdGUsIHByZSxcbmRsLCBkZCwgb2wsIHVsLFxuZm9ybSwgZmllbGRzZXQsIGxlZ2VuZCxcbnRhYmxlLCB0aCwgdGQsIGNhcHRpb24sXG5ociB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbnVsLCBvbCwgZGwsXG5ibG9ja3F1b3RlLCBwLCBhZGRyZXNzLFxudGFibGUsXG5maWVsZHNldCwgZmlndXJlLFxucHJlIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbn1cblxudWwsIG9sLCBkZCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cblxubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKipcbiAqIF90eXBvLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmgxLFxuLmhlYWRpbmctMSB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuaDIsXG4uaGVhZGluZy0yIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbmgzLFxuLmhlYWRpbmctMyB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG5oNCxcbi5oZWFkaW5nLTQge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuaDUsXG4uaGVhZGluZy01IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG5oNixcbi5oZWFkaW5nLTYge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLyoqXG4gKiBfbGlua3Muc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqL1xuYSB7XG4gIGNvbG9yOiAjOTgxMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICBjb2xvcjogIzZFMEMwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuYTpob3ZlciwgYTphY3RpdmUge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKipcbiAqIG1lZGlhLXNyYy5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICovXG5vYmplY3QsXG5lbWJlZCxcbnZpZGVvLFxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuKiB0ZXh0IHN0eWxlcyB0byBvZmZzZXQgYWx0IHRleHRcbiovXG5pbWcge1xuICBjb2xvcjogI2MwMDtcbn1cblxuLyoqXG4qIG5vIGZsdWlkIGltYWdlcywgd2hlbiB3aWR0aCBvciBoZWlnaHQgYXJlIHNldFxuKi9cbmltZ1t3aWR0aF0sXG5pbWdbaGVpZ2h0XSB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBfZ3JpZC5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICogVXNhZ2U6XG4gKiA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICogICA8ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgd2lkdGgtLTFvZjEgIHdpZHRoLXRhYi0tMW9mMyAgd2lkdGgtZGVzay0tMW9mNFwiPlxuICogICAgICAgLi4uXG4gKiAgIDwvZGl2PjwhLS1cbiAqLS0+PGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIHdpZHRoLS0xb2YxICB3aWR0aC10YWItLTJvZjMgIHdpZHRoLWRlc2stLTNvZjRcIj5cbiAqICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICogICAgICAgPGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIHdpZHRoLS0xb2YxICB3aWR0aC10YWItLTFvZjJcIj5cbiAqICAgICAgICAgICAuLi5cbiAqICAgICAgIDwvZGl2PjwhLS1cbiAqICAgIC0tPjxkaXYgY2xhc3M9XCJncmlkX19pdGVtICB3aWR0aC0tMW9mMSAgd2lkdGgtdGFiLS0xb2YyXCI+XG4gKiAgICAgICAgICAgLi4uXG4gKiAgICAgICA8L2Rpdj5cbiAqICAgICA8L2Rpdj5cbiAqICAgPC9kaXY+XG4gKiA8L2Rpdj5cbiAqXG4gKiB0aGUgZXhhbXBsZSBhYm92ZSBjb21iaW5lcyB0aGUgZ3JpZCBpdGVtcyB3aXRoIHRoZSB3aWR0aHMgZnJvbSBoZWxwZXIvX3dpZHRoLnNjc3NcbiAqL1xuLmdyaWQsIC5tYWluIC5jZV9nYWxsZXJ5IHVsIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG59XG5cbi5ncmlkX19pdGVtLCAubWFpbiAuY2VfZ2FsbGVyeSB1bCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbi8qKlxuICogUmV2ZXJzZSB0aGUgb3JkZXIgb2YgZ3JpZCBpdGVtc1xuICovXG4uZ3JpZC0tcmV2ZXJzZWQge1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4vKipcbiAqIGFkZHMgYSBzZXBlcmF0b3IgbGluZSB0byB0aGUgZ3JpZFxuICovXG4uZ3JpZC0tc2VwZXJhdG9yIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ncmlkLS1zZXBlcmF0b3IgPiAuZ3JpZF9faXRlbTphZnRlciwgLm1haW4gLmNlX2dhbGxlcnkgdWwgLmdyaWQtLXNlcGVyYXRvciA+IGxpOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcmlnaHQ6IC0xMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCREJEQjtcbn1cbi5ncmlkLS1mbHVzaC5ncmlkLS1zZXBlcmF0b3IgPiAuZ3JpZF9faXRlbTphZnRlciwgLm1haW4gLmNlX2dhbGxlcnkgdWwgLmdyaWQtLWZsdXNoLmdyaWQtLXNlcGVyYXRvciA+IGxpOmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG59XG4uZ3JpZC0tc21hbGwuZ3JpZC0tc2VwZXJhdG9yID4gLmdyaWRfX2l0ZW06YWZ0ZXIsIC5tYWluIC5jZV9nYWxsZXJ5IHVsIC5ncmlkLS1zbWFsbC5ncmlkLS1zZXBlcmF0b3IgPiBsaTphZnRlciB7XG4gIHJpZ2h0OiAtNXB4O1xufVxuLmdyaWQtLWxhcmdlLmdyaWQtLXNlcGVyYXRvciA+IC5ncmlkX19pdGVtOmFmdGVyLCAubWFpbiAuY2VfZ2FsbGVyeSB1bCAuZ3JpZC0tbGFyZ2UuZ3JpZC0tc2VwZXJhdG9yID4gbGk6YWZ0ZXIge1xuICByaWdodDogLTIwcHg7XG59XG4uZ3JpZC0taHVnZS5ncmlkLS1zZXBlcmF0b3IgPiAuZ3JpZF9faXRlbTphZnRlciwgLm1haW4gLmNlX2dhbGxlcnkgdWwgLmdyaWQtLWh1Z2UuZ3JpZC0tc2VwZXJhdG9yID4gbGk6YWZ0ZXIge1xuICByaWdodDogLTMwcHg7XG59XG5cbi8qKlxuICogR3JpZCBpdGVtcyB3aXRob3V0IGd1dHRlcnNcbiAqL1xuLmdyaWQtLWZsdXNoIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZ3JpZC0tZmx1c2ggPiAuZ3JpZF9faXRlbSwgLm1haW4gLmNlX2dhbGxlcnkgdWwgLmdyaWQtLWZsdXNoID4gbGkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi8qKlxuICogR3JpZCBzaXplIHZhcmlhdGlvbnNcbiAqL1xuLmdyaWQtLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xufVxuLmdyaWQtLXNtYWxsID4gLmdyaWRfX2l0ZW0sIC5tYWluIC5jZV9nYWxsZXJ5IHVsIC5ncmlkLS1zbWFsbCA+IGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xufVxuXG4uZ3JpZC0tbGFyZ2Uge1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMi41cmVtO1xufVxuLmdyaWQtLWxhcmdlID4gLmdyaWRfX2l0ZW0sIC5tYWluIC5jZV9nYWxsZXJ5IHVsIC5ncmlkLS1sYXJnZSA+IGxpIHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbn1cblxuLmdyaWQtLWh1Z2Uge1xuICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMy43NXJlbTtcbn1cbi5ncmlkLS1odWdlID4gLmdyaWRfX2l0ZW0sIC5tYWluIC5jZV9nYWxsZXJ5IHVsIC5ncmlkLS1odWdlID4gbGkge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIHBhZGRpbmctbGVmdDogMy43NXJlbTtcbn1cblxuLmdyaWQtLXN0YXJ0IHtcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5ncmlkLS1lbmQge1xuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmdyaWQtLWNlbnRlciB7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmdyaWQtLWJldHdlZW4ge1xuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5ncmlkLS1hcm91bmQge1xuICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmdyaWQtLXRvcCB7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmdyaWQtLW1pZGRsZSB7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5ncmlkLS1ib3R0b20ge1xuICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5ncmlkLS1zdHJldGNoLCAuZ3JpZC0tc2VwZXJhdG9yIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gIC5ncmlkLXRhYi0tc3RhcnQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAuZ3JpZC10YWItLWVuZCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5ncmlkLXRhYi0tY2VudGVyIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5ncmlkLXRhYi0tYmV0d2VlbiB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAuZ3JpZC10YWItLWFyb3VuZCB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxuICAuZ3JpZC10YWItLXRvcCB7XG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAuZ3JpZC10YWItLW1pZGRsZSB7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLmdyaWQtdGFiLS1ib3R0b20ge1xuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIH1cbiAgLmdyaWQtdGFiLS1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgLmdyaWQtbGFwLS1zdGFydCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5ncmlkLWxhcC0tZW5kIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLmdyaWQtbGFwLS1jZW50ZXIge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmdyaWQtbGFwLS1iZXR3ZWVuIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5ncmlkLWxhcC0tYXJvdW5kIHtcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG4gIC5ncmlkLWxhcC0tdG9wIHtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5ncmlkLWxhcC0tbWlkZGxlIHtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuZ3JpZC1sYXAtLWJvdHRvbSB7XG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxuICAuZ3JpZC1sYXAtLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmdyaWQtZGVzay0tc3RhcnQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAuZ3JpZC1kZXNrLS1lbmQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAuZ3JpZC1kZXNrLS1jZW50ZXIge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmdyaWQtZGVzay0tYmV0d2VlbiB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAuZ3JpZC1kZXNrLS1hcm91bmQge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cbiAgLmdyaWQtZGVzay0tdG9wIHtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5ncmlkLWRlc2stLW1pZGRsZSB7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLmdyaWQtZGVzay0tYm90dG9tIHtcbiAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG4gIC5ncmlkLWRlc2stLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmdyaWQtZGVzay13aWRlLS1zdGFydCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5ncmlkLWRlc2std2lkZS0tZW5kIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLmdyaWQtZGVzay13aWRlLS1jZW50ZXIge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmdyaWQtZGVzay13aWRlLS1iZXR3ZWVuIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5ncmlkLWRlc2std2lkZS0tYXJvdW5kIHtcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG4gIC5ncmlkLWRlc2std2lkZS0tdG9wIHtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5ncmlkLWRlc2std2lkZS0tbWlkZGxlIHtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuZ3JpZC1kZXNrLXdpZGUtLWJvdHRvbSB7XG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxuICAuZ3JpZC1kZXNrLXdpZGUtLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgLmdyaWQtbWF4LS1zdGFydCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5ncmlkLW1heC0tZW5kIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLmdyaWQtbWF4LS1jZW50ZXIge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmdyaWQtbWF4LS1iZXR3ZWVuIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5ncmlkLW1heC0tYXJvdW5kIHtcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG4gIC5ncmlkLW1heC0tdG9wIHtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5ncmlkLW1heC0tbWlkZGxlIHtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuZ3JpZC1tYXgtLWJvdHRvbSB7XG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxuICAuZ3JpZC1tYXgtLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG59XG4vKipcbiAqIF9idG4uc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqIFVzYWdlOlxuICogPGEgY2xhc3M9XCJidG4gW2J0bi0tc2Vjb25kYXJ5XVwiIGhyZWY9XCIjXCI+YnRuPC9hPlxuICogPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJidG5cIj5cbiAqIDxidXR0b24gY2xhc3M9XCJidG5cIj5idG48L2J1dHRvbj5cbiAqL1xuLmJ0biwgLm1haW4gLmh5cGVybGlua190eHQsIC5tYWluIC5jZV90b3BsaW5rIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIENvc21ldGljcyAqL1xuICBwYWRkaW5nOiAwZW0gMjBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTgxMDAwO1xufVxuLmJ0bjpob3ZlciwgLm1haW4gLmh5cGVybGlua190eHQ6aG92ZXIsIC5tYWluIC5jZV90b3BsaW5rIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkUwQzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLS1yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmJ0bi0tcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDQ0ZW07XG59XG5cbi5idG4tLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogQnV0dG9uIGRpc2d1aXNlZCBhcyBhIGxpbmsuICovXG4uYnRuLS1saW5rIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjOTgxMDAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5idG4tLWxpbms6aG92ZXIge1xuICBjb2xvcjogIzk4MTAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qKlxuICogX2NvbnN0cmFpbi5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpdXMgU2NoZWVsXG4gKlxuICovXG4uY29uc3RyYWluIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jb25zdHJhaW4tLW1heCB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXgtd2lkdGg6IDg3LjVyZW07XG59XG5cbi8qKlxuICogX25hdi5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICogc291cmNlOiBOYXYgYWJzdHJhY3Rpb24gZnJvbSBjc3N3aXphcmRyeS5jb20vMjAxMS8wOS90aGUtbmF2LWFic3RyYWN0aW9uXG4gKlxuICogQ2FuIGJlIHVzZWQgb24gYW4gYG9sYCBvciBgdWxgIGFuZCBkaXNwbGF5cyB0aGUgbGlzdCBpdGVtcyBob3Jpem9udGFsbHkuXG4gKiBFeHRlbmQgaXQgd2l0aCB0aGUgZm9sbG93aW5nIHN1YmNsYXNzZXM6XG4gKlxuICogLSBuYXYtLXN0YWNrZWQgICAgLy8gZGlzcGxheXMgdGhlIGxpc3QgaXRlbXMgdmVydGljYWxseVxuICogLSBuYXYtLWJhbm5lciAgICAgLy8gY2VudHJlcyB0aGUgbGlzdFxuICogLSBuYXYtLWJsb2NrICAgICAgLy8gZXhwYW5kcyBsaXN0IGl0ZW1zIGNsaWNrYWJsZSBhcmVhc1xuICogLSBuYXYtLWZpdCAgICAgICAgLy8gZm9yY2VzIHRoZSBsaXN0IHRvIG9jY3VweSB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgcGFyZW50XG4gKiAtIG5hdi0ta2V5d29yZHMgICAvLyBkaXNwbGF5IGFzIGEgbGlzdCBvZiBrZXl3b3Jkc1xuICogLSBuYXYtLWJyZWFkY3J1bWIgLy8gZGlzcGxheSBhcyBicmVhZGNydW1ic1xuICogLSBuYXYtLXBhcmFsbGVsICAgLy8gZGlzcGxheSBuYXYgaXRlbXMgd2l0aCBwYXJhbGxlbCBzZXBhcmF0b3JcbiAqXG4gKiBNYXJrdXA6XG4gKlxuICogPHVsIGNsYXNzPVwibmF2XCI+XG4gKiAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICogICA8bGk+PGEgaHJlZj0jPkFib3V0PC9hPjwvbGk+XG4gKiAgIDxsaT48YSBocmVmPSM+UG9ydGZvbGlvPC9hPjwvbGk+XG4gKiAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICogPC91bD5cbiAqL1xuLyoqXG4gKiAnbmF2LXN0YWNrZWQnIGRpc3BsYXlzIHRoZSBsaXN0IGl0ZW1zIHZlcnRpY2FsbHlcbiAqL1xuLyoqXG4gKiAnbmF2LWJhbm5lcicgY2VudHJlcyB0aGUgbGlzdFxuICovXG4vKipcbiAqICduYXYtLWJsb2NrJyBleHBhbmRzIGxpc3QgaXRlbXMgY2xpY2thYmxlIGFyZWFzIHdpdGggcGFkZGluZ1xuICovXG4vKipcbiAqICduYXYtLWZpdCcgZm9yY2VzIHRoZSBsaXN0IHRvIG9jY3VweSB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgcGFyZW50XG4gKi9cbi8qKlxuICogJ25hdi0ta2V5d29yZHMnIGRpc3BsYXkgYXMgYSBsaXN0IG9mIGtleXdvcmRzXG4gKi9cbi8qKlxuICogJ25hdi0tYnJlYWRjcnVtYnMnIGRpc3BsYXkgYXMgYnJlYWRjcnVtYnNcbiAqL1xuLyoqXG4gKiAnbmF2LS1wYXJhbGxlbCcgZGlzcGxheSB3aXRoIHBhcmFsbGVsIHNlcGFyYXRvclxuICovXG4vKipcbiAqIF9ib3guc2Nzc1xuICpcbiAqIG1vZGlmaWVkIHZlcnNpb24gb2Y6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaW51aXRjc3Mvb2JqZWN0cy5ib3gvYmxvYi9tYXN0ZXIvX29iamVjdHMuYm94LnNjc3NcbiAqXG4gKi9cbi8qKlxuICogX21lZGlhLnNjc3NcbiAqXG4gKiBkaXNwbGF5cyBpbWFnZSBhbmQgdGV4dCBzaWRlIGJ5IHNpZGVcbiAqXG4gKiBFeGFtcGxlIG1hcmt1cDpcbiAqXG4gICAgPGRpdiBjbGFzcz1cIm1lZGlhIG1lZGlhLS1zbWFsbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1lZGlhX19pbWdcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZWRpYV9fYm9keVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICpcbiAqIHVzZSB0aGUgYC5tZWRpYS0tcmV2YCBtb2RpZmllciB0byByZXZlcnNlIHRoZSB0aGUgaW1hZ2UgbG9jYXRpb24gYW5kIHB1dCBpdCB0byB0aGUgcmlnaHRcbiAqIHVzZSB0aGUgYC5tZWRpYS0tc21hbGxgIG1vZGlmaWVyLCB0byBkZWNyZWFzZSB0aGUgZ3V0dGVyIHdpZHRoIGJldHdlZW4gaW1hZ2UgYW5kIGNvbnRlbnRcbiAqXG4gKiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBoYXZlIGEgbG9vayBhdDpcbiAqIHN0dWJib3JuZWxsYS5vcmcvY29udGVudC8yMDEwLzA2LzI1L3RoZS1tZWRpYS1vYmplY3Qtc2F2ZXMtaHVuZHJlZHMtb2YtbGluZXMtb2YtY29kZVxuICpcbiAqL1xuLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4ubWVkaWEtLXRhYiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAubWVkaWEtLXRhYiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLm1lZGlhLS1sYXAge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgLm1lZGlhLS1sYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi5tZWRpYS0tZGVzayB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1lZGlhLS1kZXNrIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4ubWVkaWEtLWRlc2std2lkZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1lZGlhLS1kZXNrLXdpZGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi5tZWRpYS0tbWF4IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAubWVkaWEtLW1heCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4ubWVkaWFfX2ltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG4ubWVkaWFfX2JvZHkgKyAubWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm1lZGlhLS10YWIgLm1lZGlhX19pbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLm1lZGlhLS1sYXAgLm1lZGlhX19pbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5tZWRpYS0tZGVzayAubWVkaWFfX2ltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLm1lZGlhLS1kZXNrLXdpZGUgLm1lZGlhX19pbWcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ5OXB4KSB7XG4gIC5tZWRpYS0tbWF4IC5tZWRpYV9faW1nIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbi5tZWRpYV9faW1nID4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZWRpYV9fYm9keSB7XG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubWVkaWEtLXNtYWxsIC5tZWRpYV9faW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xufVxuXG4ubWVkaWEtLWJpZyAubWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07XG59XG5cbi8qKlxuICogX2JhcmUtbGlzdC5zY3NzXG4gKlxuICovXG4vKipcbiAqIF91aS1saXN0LnNjc3NcbiAqXG4gKiBiYXNlZCBvbiBIYXJyeSBSb2JlcnRzIHVpLWxpc3Qgb2JqZWN0OlxuICogaHR0cHM6Ly9naXRodWIuY29tL2ludWl0Y3NzL29iamVjdHMudWktbGlzdC9ibG9iL21hc3Rlci9fb2JqZWN0cy51aS1saXN0LnNjc3NcbiAqXG4gKiBjcmVhdGVzIGJsb2NreSBpdGVtcywgY2FuIGJlIHVzZWQgd2l0aCBsaXN0cyBvciB0aGUgY29ycmVzcG9uZGluZyBtYXJrdXA6XG4gKlxuICogPGRpdiBjbGFzcz1cInVpLWxpc3RcIj5cbiAqICA8ZGl2IGNsYXNzPVwidWktbGlzdF9faXRlbVwiPjwvZGl2PlxuICogIDxkaXYgY2xhc3M9XCJ1aS1saXN0X19pdGVtXCI+PC9kaXY+XG4gKiAgPGRpdiBjbGFzcz1cInVpLWxpc3RfX2l0ZW1cIj48L2Rpdj5cbiAqIDwvZGl2PlxuICpcbiAqIG9yOlxuICpcbiAqIDx1bCBjbGFzcz1cInVpLWxpc3QgdWktbGlzdC0tc21hbGxcIj5cbiAqICA8bGk+PC9saT5cbiAqICA8bGk+PC9saT5cbiAqICA8bGk+PC9saT5cbiAqIDwvdWw+XG4gKlxuICogY2FuIG9wdGlvbmFsbHkgYmUgdXNlZCB3aXRoIC0tc2VwYXJhdG9yIGFuZCAtLWJvcmRlciwgd2hlcmUgLS1zZXBhcmF0b3JcbiAqIGFkZHMgYm9yZGVycyB0byB0aGUgbGlzdCBlbGVtZW50IGFuZCAtLWJvcmRlciB0byB0aGUgbGlzdCBpdHNlbGZcbiAqXG4gKiBjb21lcyB3aXRoIGRpZmZlcmVudCBzaXplIG1vZGlmaWVyc1xuICpcbiAqL1xuLyoqXG4gKiBNb2RpZmllcnMgZm9yIHNpemluZyB0aGUgbGlzdFxuICovXG4vKipcbiAqIF9hcnJvdy5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICogVXNhZ2U6XG4gKiA8ZGl2IGNsYXNzPVwiYXJyb3cgYXJyb3ctLXRvcC1sZWZ0XCI+XG4gKiAgLi4uXG4gKiA8L2Rpdj5cbiAqXG4gKi9cbi8qKlxuICogQXJyb3cgVG9wXG4gKi9cbi8qKlxuICogQXJyb3cgQm90dG9tXG4gKi9cbi8qKlxuICogQXJyb3cgTGVmdFxuICovXG4vKipcbiAqIEFycm93IFJpZ2h0XG4gKi9cbi8qKlxuICogX2ljb24uc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqIFVzYWdlOlxuICogPGkgY2xhc3M9XCJpY29uIFtpY29uLS1uYXYtdG9nZ2xlXVwiPjwvaT5cbiAqXG4gKi9cbi8qKlxuICogQWxsZSBpY29ucyB3ZXJkZW4gYWxzIC5zdmcgZXhwb3J0aWVydCB1bnRlclxuICogL2Fzc2V0cy9pbWFnZXMvaWNvbnMgYWJnZWxlZ3QgdW5kIHZvbiBncnVudC1zdmdtaW5cbiAqIHVuZCBncnVudC1ncnVudGljb24gd2VpdGVydmVyYXJiZWl0ZXQuXG4gKlxuICogT3V0cHV0IHVudGVyIC9hc3NldHMvaW1hZ2VzL2ljb25zL2dydW50aWNvblxuICovXG4uaWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBCZWlzcGllbCBmw7xyIGVpbiBJY29uXG4gKlxuICogLmljb24tLW1vYmlsZS1uYXYtdG9nZ2xlIHtcbiAqICAgQGluY2x1ZGUgYmFja2dyb3VuZC1zdmcoXCIuLi9pbWFnZXMvbmF2LXRvZ2dsZVwiKTtcbiAqIH1cbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIENsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogX3NwYWNpbmcuc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqIFVzYWdlOlxuICogPGRpdiBjbGFzcz1cInNwYWNlLS10b3AgIHNwYWNlLXRhYi0tdG9wLWRvdWJsZVwiPlxuICogICAuLi5cbiAqIDwvZGl2PlxuICpcbiAqL1xuLyoqXG4gKiBCYXNpYyAmIHNwYWNpbmdcbiAqL1xuLnNwYWNlLS10b3Atbm9uZSB7XG4gIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tbGVmdC1ub25lIHtcbiAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4uc3BhY2UtLXJpZ2h0LW5vbmUge1xuICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnNwYWNlLS1ib3R0b20tbm9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tdG9wLXF1YXJ0ZXIge1xuICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tbGVmdC1xdWFydGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tcmlnaHQtcXVhcnRlciB7XG4gIG1hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tYm90dG9tLXF1YXJ0ZXIge1xuICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tdG9wLXRoaXJkIHtcbiAgbWFyZ2luLXRvcDogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tbGVmdC10aGlyZCB7XG4gIG1hcmdpbi1sZWZ0OiA2LjY2NjY2NjY2NjZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tcmlnaHQtdGhpcmQge1xuICBtYXJnaW4tcmlnaHQ6IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tYm90dG9tLXRoaXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tdG9wLWhhbGYge1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tbGVmdC1oYWxmIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tcmlnaHQtaGFsZiB7XG4gIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tYm90dG9tLWhhbGYge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tdG9wIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tdG9wLWRvdWJsZSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMi41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tbGVmdC1kb3VibGUge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMi41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tcmlnaHQtZG91YmxlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMi41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tYm90dG9tLWRvdWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tdG9wLXRyaXBsZSB7XG4gIG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMy43NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc3BhY2UtLWxlZnQtdHJpcGxlIHtcbiAgbWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDMuNzVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNwYWNlLS1yaWdodC10cmlwbGUge1xuICBtYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAzLjc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tYm90dG9tLXRyaXBsZSB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc3BhY2UtLXRvcC1xdWFkIHtcbiAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zcGFjZS0tbGVmdC1xdWFkIHtcbiAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDVyZW0gIWltcG9ydGFudDtcbn1cblxuLnNwYWNlLS1yaWdodC1xdWFkIHtcbiAgbWFyZ2luLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc3BhY2UtLWJvdHRvbS1xdWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA1cmVtICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gIC5zcGFjZS10YWItLXRvcC1ub25lIHtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tbGVmdC1ub25lIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS1yaWdodC1ub25lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLWJvdHRvbS1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tdG9wLXF1YXJ0ZXIge1xuICAgIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLWxlZnQtcXVhcnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS1yaWdodC1xdWFydGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tYm90dG9tLXF1YXJ0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLXRvcC10aGlyZCB7XG4gICAgbWFyZ2luLXRvcDogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjQxNjY2NjY2NjdyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS1sZWZ0LXRoaXJkIHtcbiAgICBtYXJnaW4tbGVmdDogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tcmlnaHQtdGhpcmQge1xuICAgIG1hcmdpbi1yaWdodDogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNDE2NjY2NjY2N3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLWJvdHRvbS10aGlyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQxNjY2NjY2NjdyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS10b3AtaGFsZiB7XG4gICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tbGVmdC1oYWxmIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLXJpZ2h0LWhhbGYge1xuICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS1ib3R0b20taGFsZiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLXRvcC1kb3VibGUge1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS1sZWZ0LWRvdWJsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMi41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tcmlnaHQtZG91YmxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLWJvdHRvbS1kb3VibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS10b3AtdHJpcGxlIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMy43NXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLWxlZnQtdHJpcGxlIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzLjc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLXRhYi0tcmlnaHQtdHJpcGxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtdGFiLS1ib3R0b20tdHJpcGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLXRvcC1xdWFkIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLWxlZnQtcXVhZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLXJpZ2h0LXF1YWQge1xuICAgIG1hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS10YWItLWJvdHRvbS1xdWFkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjFweCkge1xuICAuc3BhY2UtbGFwLS10b3Atbm9uZSB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLWxlZnQtbm9uZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tcmlnaHQtbm9uZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1ib3R0b20tbm9uZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLXRvcC1xdWFydGVyIHtcbiAgICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1sZWZ0LXF1YXJ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tcmlnaHQtcXVhcnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLWJvdHRvbS1xdWFydGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS10b3AtdGhpcmQge1xuICAgIG1hcmdpbi10b3A6IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tbGVmdC10aGlyZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNDE2NjY2NjY2N3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLXJpZ2h0LXRoaXJkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjQxNjY2NjY2NjdyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1ib3R0b20tdGhpcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tdG9wLWhhbGYge1xuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLWxlZnQtaGFsZiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1yaWdodC1oYWxmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tYm90dG9tLWhhbGYge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS10b3AtZG91YmxlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tbGVmdC1kb3VibGUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLXJpZ2h0LWRvdWJsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1ib3R0b20tZG91YmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tdG9wLXRyaXBsZSB7XG4gICAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1sZWZ0LXRyaXBsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMy43NXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1sYXAtLXJpZ2h0LXRyaXBsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWxhcC0tYm90dG9tLXRyaXBsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS10b3AtcXVhZCB7XG4gICAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1sZWZ0LXF1YWQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1yaWdodC1xdWFkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbGFwLS1ib3R0b20tcXVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zcGFjZS1kZXNrLS10b3Atbm9uZSB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1sZWZ0LW5vbmUge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1yaWdodC1ub25lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1ib3R0b20tbm9uZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS10b3AtcXVhcnRlciB7XG4gICAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2stLWxlZnQtcXVhcnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tcmlnaHQtcXVhcnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1ib3R0b20tcXVhcnRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2stLXRvcC10aGlyZCB7XG4gICAgbWFyZ2luLXRvcDogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjQxNjY2NjY2NjdyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tbGVmdC10aGlyZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNDE2NjY2NjY2N3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1yaWdodC10aGlyZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2LjY2NjY2NjY2NjZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2stLWJvdHRvbS10aGlyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQxNjY2NjY2NjdyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tdG9wLWhhbGYge1xuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1sZWZ0LWhhbGYge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2stLXJpZ2h0LWhhbGYge1xuICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tYm90dG9tLWhhbGYge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS10b3Age1xuICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2stLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2stLXRvcC1kb3VibGUge1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tbGVmdC1kb3VibGUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1yaWdodC1kb3VibGUge1xuICAgIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMi41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2stLWJvdHRvbS1kb3VibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tdG9wLXRyaXBsZSB7XG4gICAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tbGVmdC10cmlwbGUge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tcmlnaHQtdHJpcGxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tYm90dG9tLXRyaXBsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tdG9wLXF1YWQge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2stLWxlZnQtcXVhZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLS1yaWdodC1xdWFkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay0tYm90dG9tLXF1YWQge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc3BhY2UtZGVzay13aWRlLS10b3Atbm9uZSB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLWxlZnQtbm9uZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tcmlnaHQtbm9uZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1ib3R0b20tbm9uZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLXRvcC1xdWFydGVyIHtcbiAgICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1sZWZ0LXF1YXJ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tcmlnaHQtcXVhcnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLWJvdHRvbS1xdWFydGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS10b3AtdGhpcmQge1xuICAgIG1hcmdpbi10b3A6IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tbGVmdC10aGlyZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNDE2NjY2NjY2N3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLXJpZ2h0LXRoaXJkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjQxNjY2NjY2NjdyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1ib3R0b20tdGhpcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDYuNjY2NjY2NjY2NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tdG9wLWhhbGYge1xuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLWxlZnQtaGFsZiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1yaWdodC1oYWxmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tYm90dG9tLWhhbGYge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS10b3AtZG91YmxlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tbGVmdC1kb3VibGUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLXJpZ2h0LWRvdWJsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1ib3R0b20tZG91YmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tdG9wLXRyaXBsZSB7XG4gICAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1sZWZ0LXRyaXBsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMy43NXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1kZXNrLXdpZGUtLXJpZ2h0LXRyaXBsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLWRlc2std2lkZS0tYm90dG9tLXRyaXBsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS10b3AtcXVhZCB7XG4gICAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1sZWZ0LXF1YWQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1yaWdodC1xdWFkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtZGVzay13aWRlLS1ib3R0b20tcXVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gIC5zcGFjZS1tYXgtLXRvcC1ub25lIHtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tbGVmdC1ub25lIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS1yaWdodC1ub25lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLWJvdHRvbS1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tdG9wLXF1YXJ0ZXIge1xuICAgIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLWxlZnQtcXVhcnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS1yaWdodC1xdWFydGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tYm90dG9tLXF1YXJ0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLXRvcC10aGlyZCB7XG4gICAgbWFyZ2luLXRvcDogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwLjQxNjY2NjY2NjdyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS1sZWZ0LXRoaXJkIHtcbiAgICBtYXJnaW4tbGVmdDogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC40MTY2NjY2NjY3cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tcmlnaHQtdGhpcmQge1xuICAgIG1hcmdpbi1yaWdodDogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNDE2NjY2NjY2N3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLWJvdHRvbS10aGlyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNi42NjY2NjY2NjY2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQxNjY2NjY2NjdyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS10b3AtaGFsZiB7XG4gICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tbGVmdC1oYWxmIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLXJpZ2h0LWhhbGYge1xuICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS1ib3R0b20taGFsZiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLXRvcC1kb3VibGUge1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS1sZWZ0LWRvdWJsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMi41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tcmlnaHQtZG91YmxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLWJvdHRvbS1kb3VibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS10b3AtdHJpcGxlIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMy43NXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLWxlZnQtdHJpcGxlIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzLjc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNwYWNlLW1heC0tcmlnaHQtdHJpcGxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuc3BhY2UtbWF4LS1ib3R0b20tdHJpcGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLXRvcC1xdWFkIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLWxlZnQtcXVhZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLXJpZ2h0LXF1YWQge1xuICAgIG1hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5zcGFjZS1tYXgtLWJvdHRvbS1xdWFkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbSAhaW1wb3J0YW50O1xuICB9XG59XG4vKipcbiAqIF93aWR0aC5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICogVXNhZ2U6XG4gKiA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICogICA8ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgd2lkdGgtLTFvZjEgIHdpZHRoLXRhYi0tMW9mMyAgd2lkdGgtZGVzay0tMW9mNFwiPlxuICogICAgIC4uLlxuICogICA8L2Rpdj5cbiAqICAgPGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIHdpZHRoLS0xb2YxICB3aWR0aC10YWItLTJvZjMgIHdpZHRoLWRlc2stLTNvZjRcIj5cbiAqICAgICAuLi5cbiAqICAgPC9kaXY+XG4gKiA8L2Rpdj5cbiAqXG4gKi9cbi53aWR0aC0tMCB7XG4gIG1heC13aWR0aDogMCUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZTtcbiAgLW1zLWZsZXg6IDAlO1xuICBmbGV4OiAwJTtcbn1cblxuLndpZHRoLS0xb2YxLFxuLndpZHRoLS0yb2YyLFxuLndpZHRoLS0zb2YzLFxuLndpZHRoLS00b2Y0LFxuLndpZHRoLS01b2Y1LFxuLndpZHRoLS02b2Y2IHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbXMtZmxleDogMTAwJTtcbiAgZmxleDogMTAwJTtcbn1cblxuLndpZHRoLS0xb2YyLFxuLndpZHRoLS0yb2Y0LFxuLndpZHRoLS0zb2Y2LFxuLndpZHRoLS00b2Y4LFxuLndpZHRoLS01b2YxMCxcbi53aWR0aC0tNm9mMTIge1xuICBtYXgtd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLW1zLWZsZXg6IDUwJTtcbiAgZmxleDogNTAlO1xufVxuXG4ud2lkdGgtLTFvZjMsXG4ud2lkdGgtLTJvZjYsXG4ud2lkdGgtLTNvZjksXG4ud2lkdGgtLTRvZjEyIHtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiAzMy4zMzMzMyU7XG4gIGZsZXg6IDMzLjMzMzMzJTtcbn1cblxuLndpZHRoLS0yb2YzLFxuLndpZHRoLS00b2Y2LFxuLndpZHRoLS02b2Y5LFxuLndpZHRoLS04b2YxMiB7XG4gIG1heC13aWR0aDogNjYuNjY2NjYlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbXMtZmxleDogNjYuNjY2NjYlO1xuICBmbGV4OiA2Ni42NjY2NiU7XG59XG5cbi53aWR0aC0tMW9mNCxcbi53aWR0aC0tMm9mOCxcbi53aWR0aC0tM29mMTIge1xuICBtYXgtd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLW1zLWZsZXg6IDI1JTtcbiAgZmxleDogMjUlO1xufVxuXG4ud2lkdGgtLTNvZjQsXG4ud2lkdGgtLTZvZjgsXG4ud2lkdGgtLTlvZjEyIHtcbiAgbWF4LXdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA3NSU7XG4gIGZsZXg6IDc1JTtcbn1cblxuLndpZHRoLS0xb2Y1LFxuLndpZHRoLS0yb2YxMCB7XG4gIG1heC13aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbXMtZmxleDogMjAlO1xuICBmbGV4OiAyMCU7XG59XG5cbi53aWR0aC0tMm9mNSxcbi53aWR0aC0tNG9mMTAge1xuICBtYXgtd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLW1zLWZsZXg6IDQwJTtcbiAgZmxleDogNDAlO1xufVxuXG4ud2lkdGgtLTNvZjUsXG4ud2lkdGgtLTZvZjEwIHtcbiAgbWF4LXdpZHRoOiA2MCUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA2MCU7XG4gIGZsZXg6IDYwJTtcbn1cblxuLndpZHRoLS00b2Y1LFxuLndpZHRoLS04b2YxMCB7XG4gIG1heC13aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbXMtZmxleDogODAlO1xuICBmbGV4OiA4MCU7XG59XG5cbi53aWR0aC0tMW9mNixcbi53aWR0aC0tMm9mMTIge1xuICBtYXgtd2lkdGg6IDE2LjY2NjY2JSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLW1zLWZsZXg6IDE2LjY2NjY2JTtcbiAgZmxleDogMTYuNjY2NjYlO1xufVxuXG4ud2lkdGgtLTVvZjYsXG4ud2lkdGgtLTEwb2YxMiB7XG4gIG1heC13aWR0aDogODMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbXMtZmxleDogODMuMzMzMzMlO1xuICBmbGV4OiA4My4zMzMzMyU7XG59XG5cbi53aWR0aC0tMW9mOCB7XG4gIG1heC13aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiAxMi41JTtcbiAgZmxleDogMTIuNSU7XG59XG5cbi53aWR0aC0tM29mOCB7XG4gIG1heC13aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiAzNy41JTtcbiAgZmxleDogMzcuNSU7XG59XG5cbi53aWR0aC0tNW9mOCB7XG4gIG1heC13aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA2Mi41JTtcbiAgZmxleDogNjIuNSU7XG59XG5cbi53aWR0aC0tN29mOCB7XG4gIG1heC13aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA4Ny41JTtcbiAgZmxleDogODcuNSU7XG59XG5cbi53aWR0aC0tMW9mOSB7XG4gIG1heC13aWR0aDogMTEuMTExMTExMSUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiAxMS4xMTExMTExJTtcbiAgZmxleDogMTEuMTExMTExMSU7XG59XG5cbi53aWR0aC0tMm9mOSB7XG4gIG1heC13aWR0aDogMjIuMjIyMjIyMiUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiAyMi4yMjIyMjIyJTtcbiAgZmxleDogMjIuMjIyMjIyMiU7XG59XG5cbi53aWR0aC0tNG9mOSB7XG4gIG1heC13aWR0aDogNDQuNDQ0NDQ0NCUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA0NC40NDQ0NDQ0JTtcbiAgZmxleDogNDQuNDQ0NDQ0NCU7XG59XG5cbi53aWR0aC0tNW9mOSB7XG4gIG1heC13aWR0aDogNTUuNTU1NTU1NSUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA1NS41NTU1NTU1JTtcbiAgZmxleDogNTUuNTU1NTU1NSU7XG59XG5cbi53aWR0aC0tN29mOSB7XG4gIG1heC13aWR0aDogNzcuNzc3Nzc3NyUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA3Ny43Nzc3Nzc3JTtcbiAgZmxleDogNzcuNzc3Nzc3NyU7XG59XG5cbi53aWR0aC0tOG9mOSB7XG4gIG1heC13aWR0aDogODguODg4ODg4OCUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA4OC44ODg4ODg4JTtcbiAgZmxleDogODguODg4ODg4OCU7XG59XG5cbi53aWR0aC0tMW9mMTAge1xuICBtYXgtd2lkdGg6IDEwJSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLW1zLWZsZXg6IDEwJTtcbiAgZmxleDogMTAlO1xufVxuXG4ud2lkdGgtLTNvZjEwIHtcbiAgbWF4LXdpZHRoOiAzMCUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiAzMCU7XG4gIGZsZXg6IDMwJTtcbn1cblxuLndpZHRoLS03b2YxMCB7XG4gIG1heC13aWR0aDogNzAlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbXMtZmxleDogNzAlO1xuICBmbGV4OiA3MCU7XG59XG5cbi53aWR0aC0tOW9mMTAge1xuICBtYXgtd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLW1zLWZsZXg6IDkwJTtcbiAgZmxleDogOTAlO1xufVxuXG4ud2lkdGgtLTFvZjEyIHtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbXMtZmxleDogOC4zMzMzMzMzJTtcbiAgZmxleDogOC4zMzMzMzMzJTtcbn1cblxuLndpZHRoLS01b2YxMiB7XG4gIG1heC13aWR0aDogNDEuNjY2NjY2NiUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA0MS42NjY2NjY2JTtcbiAgZmxleDogNDEuNjY2NjY2NiU7XG59XG5cbi53aWR0aC0tN29mMTIge1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbXMtZmxleDogNTguMzMzMzMzMyU7XG4gIGZsZXg6IDU4LjMzMzMzMzMlO1xufVxuXG4ud2lkdGgtLTExb2YxMiB7XG4gIG1heC13aWR0aDogOTEuNjY2NjY2NiUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tcy1mbGV4OiA5MS42NjY2NjY2JTtcbiAgZmxleDogOTEuNjY2NjY2NiU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gIC53aWR0aC10YWItLTAge1xuICAgIG1heC13aWR0aDogMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC1tcy1mbGV4OiAwJTtcbiAgICBmbGV4OiAwJTtcbiAgfVxuICAud2lkdGgtdGFiLS0xb2YxLFxuICAud2lkdGgtdGFiLS0yb2YyLFxuICAud2lkdGgtdGFiLS0zb2YzLFxuICAud2lkdGgtdGFiLS00b2Y0LFxuICAud2lkdGgtdGFiLS01b2Y1LFxuICAud2lkdGgtdGFiLS02b2Y2IHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMTAwJTtcbiAgICBmbGV4OiAxMDAlO1xuICB9XG4gIC53aWR0aC10YWItLTFvZjIsIC5tYWluIC5jZV9nYWxsZXJ5IHVsIGxpLFxuICAud2lkdGgtdGFiLS0yb2Y0LFxuICAud2lkdGgtdGFiLS0zb2Y2LFxuICAud2lkdGgtdGFiLS00b2Y4LFxuICAud2lkdGgtdGFiLS01b2YxMCxcbiAgLndpZHRoLXRhYi0tNm9mMTIge1xuICAgIG1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDUwJTtcbiAgICBmbGV4OiA1MCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMW9mMyxcbiAgLndpZHRoLXRhYi0tMm9mNixcbiAgLndpZHRoLXRhYi0tM29mOSxcbiAgLndpZHRoLXRhYi0tNG9mMTIge1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDMzLjMzMzMzJTtcbiAgICBmbGV4OiAzMy4zMzMzMyU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMm9mMyxcbiAgLndpZHRoLXRhYi0tNG9mNixcbiAgLndpZHRoLXRhYi0tNm9mOSxcbiAgLndpZHRoLXRhYi0tOG9mMTIge1xuICAgIG1heC13aWR0aDogNjYuNjY2NjYlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDY2LjY2NjY2JTtcbiAgICBmbGV4OiA2Ni42NjY2NiU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMW9mNCxcbiAgLndpZHRoLXRhYi0tMm9mOCxcbiAgLndpZHRoLXRhYi0tM29mMTIge1xuICAgIG1heC13aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDI1JTtcbiAgICBmbGV4OiAyNSU7XG4gIH1cbiAgLndpZHRoLXRhYi0tM29mNCxcbiAgLndpZHRoLXRhYi0tNm9mOCxcbiAgLndpZHRoLXRhYi0tOW9mMTIge1xuICAgIG1heC13aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDc1JTtcbiAgICBmbGV4OiA3NSU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMW9mNSxcbiAgLndpZHRoLXRhYi0tMm9mMTAge1xuICAgIG1heC13aWR0aDogMjAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDIwJTtcbiAgICBmbGV4OiAyMCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMm9mNSxcbiAgLndpZHRoLXRhYi0tNG9mMTAge1xuICAgIG1heC13aWR0aDogNDAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDQwJTtcbiAgICBmbGV4OiA0MCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tM29mNSxcbiAgLndpZHRoLXRhYi0tNm9mMTAge1xuICAgIG1heC13aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDYwJTtcbiAgICBmbGV4OiA2MCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tNG9mNSxcbiAgLndpZHRoLXRhYi0tOG9mMTAge1xuICAgIG1heC13aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDgwJTtcbiAgICBmbGV4OiA4MCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMW9mNixcbiAgLndpZHRoLXRhYi0tMm9mMTIge1xuICAgIG1heC13aWR0aDogMTYuNjY2NjYlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDE2LjY2NjY2JTtcbiAgICBmbGV4OiAxNi42NjY2NiU7XG4gIH1cbiAgLndpZHRoLXRhYi0tNW9mNixcbiAgLndpZHRoLXRhYi0tMTBvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA4My4zMzMzMyU7XG4gICAgZmxleDogODMuMzMzMzMlO1xuICB9XG4gIC53aWR0aC10YWItLTFvZjgge1xuICAgIG1heC13aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMTIuNSU7XG4gICAgZmxleDogMTIuNSU7XG4gIH1cbiAgLndpZHRoLXRhYi0tM29mOCB7XG4gICAgbWF4LXdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAzNy41JTtcbiAgICBmbGV4OiAzNy41JTtcbiAgfVxuICAud2lkdGgtdGFiLS01b2Y4IHtcbiAgICBtYXgtd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDYyLjUlO1xuICAgIGZsZXg6IDYyLjUlO1xuICB9XG4gIC53aWR0aC10YWItLTdvZjgge1xuICAgIG1heC13aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogODcuNSU7XG4gICAgZmxleDogODcuNSU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMW9mOSB7XG4gICAgbWF4LXdpZHRoOiAxMS4xMTExMTExJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAxMS4xMTExMTExJTtcbiAgICBmbGV4OiAxMS4xMTExMTExJTtcbiAgfVxuICAud2lkdGgtdGFiLS0yb2Y5IHtcbiAgICBtYXgtd2lkdGg6IDIyLjIyMjIyMjIlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDIyLjIyMjIyMjIlO1xuICAgIGZsZXg6IDIyLjIyMjIyMjIlO1xuICB9XG4gIC53aWR0aC10YWItLTRvZjkge1xuICAgIG1heC13aWR0aDogNDQuNDQ0NDQ0NCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNDQuNDQ0NDQ0NCU7XG4gICAgZmxleDogNDQuNDQ0NDQ0NCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tNW9mOSB7XG4gICAgbWF4LXdpZHRoOiA1NS41NTU1NTU1JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA1NS41NTU1NTU1JTtcbiAgICBmbGV4OiA1NS41NTU1NTU1JTtcbiAgfVxuICAud2lkdGgtdGFiLS03b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDc3Ljc3Nzc3NzclICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDc3Ljc3Nzc3NzclO1xuICAgIGZsZXg6IDc3Ljc3Nzc3NzclO1xuICB9XG4gIC53aWR0aC10YWItLThvZjkge1xuICAgIG1heC13aWR0aDogODguODg4ODg4OCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogODguODg4ODg4OCU7XG4gICAgZmxleDogODguODg4ODg4OCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMW9mMTAge1xuICAgIG1heC13aWR0aDogMTAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDEwJTtcbiAgICBmbGV4OiAxMCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tM29mMTAge1xuICAgIG1heC13aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDMwJTtcbiAgICBmbGV4OiAzMCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tN29mMTAge1xuICAgIG1heC13aWR0aDogNzAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDcwJTtcbiAgICBmbGV4OiA3MCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tOW9mMTAge1xuICAgIG1heC13aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDkwJTtcbiAgICBmbGV4OiA5MCU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMW9mMTIge1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA4LjMzMzMzMzMlO1xuICAgIGZsZXg6IDguMzMzMzMzMyU7XG4gIH1cbiAgLndpZHRoLXRhYi0tNW9mMTIge1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NiUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNDEuNjY2NjY2NiU7XG4gICAgZmxleDogNDEuNjY2NjY2NiU7XG4gIH1cbiAgLndpZHRoLXRhYi0tN29mMTIge1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNTguMzMzMzMzMyU7XG4gICAgZmxleDogNTguMzMzMzMzMyU7XG4gIH1cbiAgLndpZHRoLXRhYi0tMTFvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjYlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDkxLjY2NjY2NjYlO1xuICAgIGZsZXg6IDkxLjY2NjY2NjYlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjFweCkge1xuICAud2lkdGgtbGFwLS0wIHtcbiAgICBtYXgtd2lkdGg6IDAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAtbXMtZmxleDogMCU7XG4gICAgZmxleDogMCU7XG4gIH1cbiAgLndpZHRoLWxhcC0tMW9mMSxcbiAgLndpZHRoLWxhcC0tMm9mMixcbiAgLndpZHRoLWxhcC0tM29mMyxcbiAgLndpZHRoLWxhcC0tNG9mNCxcbiAgLndpZHRoLWxhcC0tNW9mNSxcbiAgLndpZHRoLWxhcC0tNm9mNiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDEwMCU7XG4gICAgZmxleDogMTAwJTtcbiAgfVxuICAud2lkdGgtbGFwLS0xb2YyLFxuICAud2lkdGgtbGFwLS0yb2Y0LFxuICAud2lkdGgtbGFwLS0zb2Y2LFxuICAud2lkdGgtbGFwLS00b2Y4LFxuICAud2lkdGgtbGFwLS01b2YxMCxcbiAgLndpZHRoLWxhcC0tNm9mMTIge1xuICAgIG1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDUwJTtcbiAgICBmbGV4OiA1MCU7XG4gIH1cbiAgLndpZHRoLWxhcC0tMW9mMywgLm1haW4gLmNlX2dhbGxlcnkgdWwgbGksXG4gIC53aWR0aC1sYXAtLTJvZjYsXG4gIC53aWR0aC1sYXAtLTNvZjksXG4gIC53aWR0aC1sYXAtLTRvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAzMy4zMzMzMyU7XG4gICAgZmxleDogMzMuMzMzMzMlO1xuICB9XG4gIC53aWR0aC1sYXAtLTJvZjMsXG4gIC53aWR0aC1sYXAtLTRvZjYsXG4gIC53aWR0aC1sYXAtLTZvZjksXG4gIC53aWR0aC1sYXAtLThvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA2Ni42NjY2NiU7XG4gICAgZmxleDogNjYuNjY2NjYlO1xuICB9XG4gIC53aWR0aC1sYXAtLTFvZjQsXG4gIC53aWR0aC1sYXAtLTJvZjgsXG4gIC53aWR0aC1sYXAtLTNvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAyNSU7XG4gICAgZmxleDogMjUlO1xuICB9XG4gIC53aWR0aC1sYXAtLTNvZjQsXG4gIC53aWR0aC1sYXAtLTZvZjgsXG4gIC53aWR0aC1sYXAtLTlvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA3NSU7XG4gICAgZmxleDogNzUlO1xuICB9XG4gIC53aWR0aC1sYXAtLTFvZjUsXG4gIC53aWR0aC1sYXAtLTJvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAyMCU7XG4gICAgZmxleDogMjAlO1xuICB9XG4gIC53aWR0aC1sYXAtLTJvZjUsXG4gIC53aWR0aC1sYXAtLTRvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA0MCU7XG4gICAgZmxleDogNDAlO1xuICB9XG4gIC53aWR0aC1sYXAtLTNvZjUsXG4gIC53aWR0aC1sYXAtLTZvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA2MCU7XG4gICAgZmxleDogNjAlO1xuICB9XG4gIC53aWR0aC1sYXAtLTRvZjUsXG4gIC53aWR0aC1sYXAtLThvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA4MCU7XG4gICAgZmxleDogODAlO1xuICB9XG4gIC53aWR0aC1sYXAtLTFvZjYsXG4gIC53aWR0aC1sYXAtLTJvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAxNi42NjY2NiU7XG4gICAgZmxleDogMTYuNjY2NjYlO1xuICB9XG4gIC53aWR0aC1sYXAtLTVvZjYsXG4gIC53aWR0aC1sYXAtLTEwb2YxMiB7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogODMuMzMzMzMlO1xuICAgIGZsZXg6IDgzLjMzMzMzJTtcbiAgfVxuICAud2lkdGgtbGFwLS0xb2Y4IHtcbiAgICBtYXgtd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDEyLjUlO1xuICAgIGZsZXg6IDEyLjUlO1xuICB9XG4gIC53aWR0aC1sYXAtLTNvZjgge1xuICAgIG1heC13aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMzcuNSU7XG4gICAgZmxleDogMzcuNSU7XG4gIH1cbiAgLndpZHRoLWxhcC0tNW9mOCB7XG4gICAgbWF4LXdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA2Mi41JTtcbiAgICBmbGV4OiA2Mi41JTtcbiAgfVxuICAud2lkdGgtbGFwLS03b2Y4IHtcbiAgICBtYXgtd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDg3LjUlO1xuICAgIGZsZXg6IDg3LjUlO1xuICB9XG4gIC53aWR0aC1sYXAtLTFvZjkge1xuICAgIG1heC13aWR0aDogMTEuMTExMTExMSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMTEuMTExMTExMSU7XG4gICAgZmxleDogMTEuMTExMTExMSU7XG4gIH1cbiAgLndpZHRoLWxhcC0tMm9mOSB7XG4gICAgbWF4LXdpZHRoOiAyMi4yMjIyMjIyJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAyMi4yMjIyMjIyJTtcbiAgICBmbGV4OiAyMi4yMjIyMjIyJTtcbiAgfVxuICAud2lkdGgtbGFwLS00b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDQ0LjQ0NDQ0NDQlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDQ0LjQ0NDQ0NDQlO1xuICAgIGZsZXg6IDQ0LjQ0NDQ0NDQlO1xuICB9XG4gIC53aWR0aC1sYXAtLTVvZjkge1xuICAgIG1heC13aWR0aDogNTUuNTU1NTU1NSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNTUuNTU1NTU1NSU7XG4gICAgZmxleDogNTUuNTU1NTU1NSU7XG4gIH1cbiAgLndpZHRoLWxhcC0tN29mOSB7XG4gICAgbWF4LXdpZHRoOiA3Ny43Nzc3Nzc3JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA3Ny43Nzc3Nzc3JTtcbiAgICBmbGV4OiA3Ny43Nzc3Nzc3JTtcbiAgfVxuICAud2lkdGgtbGFwLS04b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDg4Ljg4ODg4ODglICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDg4Ljg4ODg4ODglO1xuICAgIGZsZXg6IDg4Ljg4ODg4ODglO1xuICB9XG4gIC53aWR0aC1sYXAtLTFvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDEwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAxMCU7XG4gICAgZmxleDogMTAlO1xuICB9XG4gIC53aWR0aC1sYXAtLTNvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAzMCU7XG4gICAgZmxleDogMzAlO1xuICB9XG4gIC53aWR0aC1sYXAtLTdvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA3MCU7XG4gICAgZmxleDogNzAlO1xuICB9XG4gIC53aWR0aC1sYXAtLTlvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA5MCU7XG4gICAgZmxleDogOTAlO1xuICB9XG4gIC53aWR0aC1sYXAtLTFvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogOC4zMzMzMzMzJTtcbiAgICBmbGV4OiA4LjMzMzMzMzMlO1xuICB9XG4gIC53aWR0aC1sYXAtLTVvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjYlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDQxLjY2NjY2NjYlO1xuICAgIGZsZXg6IDQxLjY2NjY2NjYlO1xuICB9XG4gIC53aWR0aC1sYXAtLTdvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDU4LjMzMzMzMzMlO1xuICAgIGZsZXg6IDU4LjMzMzMzMzMlO1xuICB9XG4gIC53aWR0aC1sYXAtLTExb2YxMiB7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA5MS42NjY2NjY2JTtcbiAgICBmbGV4OiA5MS42NjY2NjY2JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC53aWR0aC1kZXNrLS0wIHtcbiAgICBtYXgtd2lkdGg6IDAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAtbXMtZmxleDogMCU7XG4gICAgZmxleDogMCU7XG4gIH1cbiAgLndpZHRoLWRlc2stLTFvZjEsXG4gIC53aWR0aC1kZXNrLS0yb2YyLFxuICAud2lkdGgtZGVzay0tM29mMyxcbiAgLndpZHRoLWRlc2stLTRvZjQsXG4gIC53aWR0aC1kZXNrLS01b2Y1LFxuICAud2lkdGgtZGVzay0tNm9mNiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDEwMCU7XG4gICAgZmxleDogMTAwJTtcbiAgfVxuICAud2lkdGgtZGVzay0tMW9mMixcbiAgLndpZHRoLWRlc2stLTJvZjQsXG4gIC53aWR0aC1kZXNrLS0zb2Y2LFxuICAud2lkdGgtZGVzay0tNG9mOCxcbiAgLndpZHRoLWRlc2stLTVvZjEwLFxuICAud2lkdGgtZGVzay0tNm9mMTIge1xuICAgIG1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDUwJTtcbiAgICBmbGV4OiA1MCU7XG4gIH1cbiAgLndpZHRoLWRlc2stLTFvZjMsXG4gIC53aWR0aC1kZXNrLS0yb2Y2LFxuICAud2lkdGgtZGVzay0tM29mOSxcbiAgLndpZHRoLWRlc2stLTRvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAzMy4zMzMzMyU7XG4gICAgZmxleDogMzMuMzMzMzMlO1xuICB9XG4gIC53aWR0aC1kZXNrLS0yb2YzLFxuICAud2lkdGgtZGVzay0tNG9mNixcbiAgLndpZHRoLWRlc2stLTZvZjksXG4gIC53aWR0aC1kZXNrLS04b2YxMiB7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NiUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNjYuNjY2NjYlO1xuICAgIGZsZXg6IDY2LjY2NjY2JTtcbiAgfVxuICAud2lkdGgtZGVzay0tMW9mNCwgLm1haW4gLmNlX2dhbGxlcnkgdWwgbGksXG4gIC53aWR0aC1kZXNrLS0yb2Y4LFxuICAud2lkdGgtZGVzay0tM29mMTIge1xuICAgIG1heC13aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDI1JTtcbiAgICBmbGV4OiAyNSU7XG4gIH1cbiAgLndpZHRoLWRlc2stLTNvZjQsXG4gIC53aWR0aC1kZXNrLS02b2Y4LFxuICAud2lkdGgtZGVzay0tOW9mMTIge1xuICAgIG1heC13aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDc1JTtcbiAgICBmbGV4OiA3NSU7XG4gIH1cbiAgLndpZHRoLWRlc2stLTFvZjUsXG4gIC53aWR0aC1kZXNrLS0yb2YxMCB7XG4gICAgbWF4LXdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMjAlO1xuICAgIGZsZXg6IDIwJTtcbiAgfVxuICAud2lkdGgtZGVzay0tMm9mNSxcbiAgLndpZHRoLWRlc2stLTRvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA0MCU7XG4gICAgZmxleDogNDAlO1xuICB9XG4gIC53aWR0aC1kZXNrLS0zb2Y1LFxuICAud2lkdGgtZGVzay0tNm9mMTAge1xuICAgIG1heC13aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDYwJTtcbiAgICBmbGV4OiA2MCU7XG4gIH1cbiAgLndpZHRoLWRlc2stLTRvZjUsXG4gIC53aWR0aC1kZXNrLS04b2YxMCB7XG4gICAgbWF4LXdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogODAlO1xuICAgIGZsZXg6IDgwJTtcbiAgfVxuICAud2lkdGgtZGVzay0tMW9mNixcbiAgLndpZHRoLWRlc2stLTJvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAxNi42NjY2NiU7XG4gICAgZmxleDogMTYuNjY2NjYlO1xuICB9XG4gIC53aWR0aC1kZXNrLS01b2Y2LFxuICAud2lkdGgtZGVzay0tMTBvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA4My4zMzMzMyU7XG4gICAgZmxleDogODMuMzMzMzMlO1xuICB9XG4gIC53aWR0aC1kZXNrLS0xb2Y4IHtcbiAgICBtYXgtd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDEyLjUlO1xuICAgIGZsZXg6IDEyLjUlO1xuICB9XG4gIC53aWR0aC1kZXNrLS0zb2Y4IHtcbiAgICBtYXgtd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDM3LjUlO1xuICAgIGZsZXg6IDM3LjUlO1xuICB9XG4gIC53aWR0aC1kZXNrLS01b2Y4IHtcbiAgICBtYXgtd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDYyLjUlO1xuICAgIGZsZXg6IDYyLjUlO1xuICB9XG4gIC53aWR0aC1kZXNrLS03b2Y4IHtcbiAgICBtYXgtd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDg3LjUlO1xuICAgIGZsZXg6IDg3LjUlO1xuICB9XG4gIC53aWR0aC1kZXNrLS0xb2Y5IHtcbiAgICBtYXgtd2lkdGg6IDExLjExMTExMTElICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDExLjExMTExMTElO1xuICAgIGZsZXg6IDExLjExMTExMTElO1xuICB9XG4gIC53aWR0aC1kZXNrLS0yb2Y5IHtcbiAgICBtYXgtd2lkdGg6IDIyLjIyMjIyMjIlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDIyLjIyMjIyMjIlO1xuICAgIGZsZXg6IDIyLjIyMjIyMjIlO1xuICB9XG4gIC53aWR0aC1kZXNrLS00b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDQ0LjQ0NDQ0NDQlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDQ0LjQ0NDQ0NDQlO1xuICAgIGZsZXg6IDQ0LjQ0NDQ0NDQlO1xuICB9XG4gIC53aWR0aC1kZXNrLS01b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDU1LjU1NTU1NTUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDU1LjU1NTU1NTUlO1xuICAgIGZsZXg6IDU1LjU1NTU1NTUlO1xuICB9XG4gIC53aWR0aC1kZXNrLS03b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDc3Ljc3Nzc3NzclICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDc3Ljc3Nzc3NzclO1xuICAgIGZsZXg6IDc3Ljc3Nzc3NzclO1xuICB9XG4gIC53aWR0aC1kZXNrLS04b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDg4Ljg4ODg4ODglICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDg4Ljg4ODg4ODglO1xuICAgIGZsZXg6IDg4Ljg4ODg4ODglO1xuICB9XG4gIC53aWR0aC1kZXNrLS0xb2YxMCB7XG4gICAgbWF4LXdpZHRoOiAxMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMTAlO1xuICAgIGZsZXg6IDEwJTtcbiAgfVxuICAud2lkdGgtZGVzay0tM29mMTAge1xuICAgIG1heC13aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDMwJTtcbiAgICBmbGV4OiAzMCU7XG4gIH1cbiAgLndpZHRoLWRlc2stLTdvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA3MCU7XG4gICAgZmxleDogNzAlO1xuICB9XG4gIC53aWR0aC1kZXNrLS05b2YxMCB7XG4gICAgbWF4LXdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogOTAlO1xuICAgIGZsZXg6IDkwJTtcbiAgfVxuICAud2lkdGgtZGVzay0tMW9mMTIge1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA4LjMzMzMzMzMlO1xuICAgIGZsZXg6IDguMzMzMzMzMyU7XG4gIH1cbiAgLndpZHRoLWRlc2stLTVvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjYlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDQxLjY2NjY2NjYlO1xuICAgIGZsZXg6IDQxLjY2NjY2NjYlO1xuICB9XG4gIC53aWR0aC1kZXNrLS03b2YxMiB7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA1OC4zMzMzMzMzJTtcbiAgICBmbGV4OiA1OC4zMzMzMzMzJTtcbiAgfVxuICAud2lkdGgtZGVzay0tMTFvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjYlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDkxLjY2NjY2NjYlO1xuICAgIGZsZXg6IDkxLjY2NjY2NjYlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLndpZHRoLWRlc2std2lkZS0tMCB7XG4gICAgbWF4LXdpZHRoOiAwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLW1zLWZsZXg6IDAlO1xuICAgIGZsZXg6IDAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTFvZjEsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTJvZjIsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTNvZjMsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTRvZjQsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTVvZjUsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTZvZjYge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAxMDAlO1xuICAgIGZsZXg6IDEwMCU7XG4gIH1cbiAgLndpZHRoLWRlc2std2lkZS0tMW9mMixcbiAgLndpZHRoLWRlc2std2lkZS0tMm9mNCxcbiAgLndpZHRoLWRlc2std2lkZS0tM29mNixcbiAgLndpZHRoLWRlc2std2lkZS0tNG9mOCxcbiAgLndpZHRoLWRlc2std2lkZS0tNW9mMTAsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTZvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA1MCU7XG4gICAgZmxleDogNTAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTFvZjMsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTJvZjYsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTNvZjksXG4gIC53aWR0aC1kZXNrLXdpZGUtLTRvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAzMy4zMzMzMyU7XG4gICAgZmxleDogMzMuMzMzMzMlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTJvZjMsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTRvZjYsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTZvZjksXG4gIC53aWR0aC1kZXNrLXdpZGUtLThvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA2Ni42NjY2NiU7XG4gICAgZmxleDogNjYuNjY2NjYlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTFvZjQsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTJvZjgsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTNvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAyNSU7XG4gICAgZmxleDogMjUlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTNvZjQsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTZvZjgsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTlvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA3NSU7XG4gICAgZmxleDogNzUlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTFvZjUsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTJvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAyMCU7XG4gICAgZmxleDogMjAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTJvZjUsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTRvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA0MCU7XG4gICAgZmxleDogNDAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTNvZjUsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTZvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA2MCU7XG4gICAgZmxleDogNjAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTRvZjUsXG4gIC53aWR0aC1kZXNrLXdpZGUtLThvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA4MCU7XG4gICAgZmxleDogODAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTFvZjYsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTJvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAxNi42NjY2NiU7XG4gICAgZmxleDogMTYuNjY2NjYlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTVvZjYsXG4gIC53aWR0aC1kZXNrLXdpZGUtLTEwb2YxMiB7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogODMuMzMzMzMlO1xuICAgIGZsZXg6IDgzLjMzMzMzJTtcbiAgfVxuICAud2lkdGgtZGVzay13aWRlLS0xb2Y4IHtcbiAgICBtYXgtd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDEyLjUlO1xuICAgIGZsZXg6IDEyLjUlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTNvZjgge1xuICAgIG1heC13aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMzcuNSU7XG4gICAgZmxleDogMzcuNSU7XG4gIH1cbiAgLndpZHRoLWRlc2std2lkZS0tNW9mOCB7XG4gICAgbWF4LXdpZHRoOiA2Mi41JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA2Mi41JTtcbiAgICBmbGV4OiA2Mi41JTtcbiAgfVxuICAud2lkdGgtZGVzay13aWRlLS03b2Y4IHtcbiAgICBtYXgtd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDg3LjUlO1xuICAgIGZsZXg6IDg3LjUlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTFvZjkge1xuICAgIG1heC13aWR0aDogMTEuMTExMTExMSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMTEuMTExMTExMSU7XG4gICAgZmxleDogMTEuMTExMTExMSU7XG4gIH1cbiAgLndpZHRoLWRlc2std2lkZS0tMm9mOSB7XG4gICAgbWF4LXdpZHRoOiAyMi4yMjIyMjIyJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAyMi4yMjIyMjIyJTtcbiAgICBmbGV4OiAyMi4yMjIyMjIyJTtcbiAgfVxuICAud2lkdGgtZGVzay13aWRlLS00b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDQ0LjQ0NDQ0NDQlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDQ0LjQ0NDQ0NDQlO1xuICAgIGZsZXg6IDQ0LjQ0NDQ0NDQlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTVvZjkge1xuICAgIG1heC13aWR0aDogNTUuNTU1NTU1NSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNTUuNTU1NTU1NSU7XG4gICAgZmxleDogNTUuNTU1NTU1NSU7XG4gIH1cbiAgLndpZHRoLWRlc2std2lkZS0tN29mOSB7XG4gICAgbWF4LXdpZHRoOiA3Ny43Nzc3Nzc3JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA3Ny43Nzc3Nzc3JTtcbiAgICBmbGV4OiA3Ny43Nzc3Nzc3JTtcbiAgfVxuICAud2lkdGgtZGVzay13aWRlLS04b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDg4Ljg4ODg4ODglICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDg4Ljg4ODg4ODglO1xuICAgIGZsZXg6IDg4Ljg4ODg4ODglO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTFvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDEwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAxMCU7XG4gICAgZmxleDogMTAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTNvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAzMCU7XG4gICAgZmxleDogMzAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTdvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA3MCU7XG4gICAgZmxleDogNzAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTlvZjEwIHtcbiAgICBtYXgtd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA5MCU7XG4gICAgZmxleDogOTAlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTFvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogOC4zMzMzMzMzJTtcbiAgICBmbGV4OiA4LjMzMzMzMzMlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTVvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjYlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDQxLjY2NjY2NjYlO1xuICAgIGZsZXg6IDQxLjY2NjY2NjYlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTdvZjEyIHtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDU4LjMzMzMzMzMlO1xuICAgIGZsZXg6IDU4LjMzMzMzMzMlO1xuICB9XG4gIC53aWR0aC1kZXNrLXdpZGUtLTExb2YxMiB7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA5MS42NjY2NjY2JTtcbiAgICBmbGV4OiA5MS42NjY2NjY2JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gIC53aWR0aC1tYXgtLTAge1xuICAgIG1heC13aWR0aDogMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC1tcy1mbGV4OiAwJTtcbiAgICBmbGV4OiAwJTtcbiAgfVxuICAud2lkdGgtbWF4LS0xb2YxLFxuICAud2lkdGgtbWF4LS0yb2YyLFxuICAud2lkdGgtbWF4LS0zb2YzLFxuICAud2lkdGgtbWF4LS00b2Y0LFxuICAud2lkdGgtbWF4LS01b2Y1LFxuICAud2lkdGgtbWF4LS02b2Y2IHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMTAwJTtcbiAgICBmbGV4OiAxMDAlO1xuICB9XG4gIC53aWR0aC1tYXgtLTFvZjIsXG4gIC53aWR0aC1tYXgtLTJvZjQsXG4gIC53aWR0aC1tYXgtLTNvZjYsXG4gIC53aWR0aC1tYXgtLTRvZjgsXG4gIC53aWR0aC1tYXgtLTVvZjEwLFxuICAud2lkdGgtbWF4LS02b2YxMiB7XG4gICAgbWF4LXdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNTAlO1xuICAgIGZsZXg6IDUwJTtcbiAgfVxuICAud2lkdGgtbWF4LS0xb2YzLFxuICAud2lkdGgtbWF4LS0yb2Y2LFxuICAud2lkdGgtbWF4LS0zb2Y5LFxuICAud2lkdGgtbWF4LS00b2YxMiB7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMzMuMzMzMzMlO1xuICAgIGZsZXg6IDMzLjMzMzMzJTtcbiAgfVxuICAud2lkdGgtbWF4LS0yb2YzLFxuICAud2lkdGgtbWF4LS00b2Y2LFxuICAud2lkdGgtbWF4LS02b2Y5LFxuICAud2lkdGgtbWF4LS04b2YxMiB7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NiUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNjYuNjY2NjYlO1xuICAgIGZsZXg6IDY2LjY2NjY2JTtcbiAgfVxuICAud2lkdGgtbWF4LS0xb2Y0LFxuICAud2lkdGgtbWF4LS0yb2Y4LFxuICAud2lkdGgtbWF4LS0zb2YxMiB7XG4gICAgbWF4LXdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMjUlO1xuICAgIGZsZXg6IDI1JTtcbiAgfVxuICAud2lkdGgtbWF4LS0zb2Y0LFxuICAud2lkdGgtbWF4LS02b2Y4LFxuICAud2lkdGgtbWF4LS05b2YxMiB7XG4gICAgbWF4LXdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNzUlO1xuICAgIGZsZXg6IDc1JTtcbiAgfVxuICAud2lkdGgtbWF4LS0xb2Y1LFxuICAud2lkdGgtbWF4LS0yb2YxMCB7XG4gICAgbWF4LXdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMjAlO1xuICAgIGZsZXg6IDIwJTtcbiAgfVxuICAud2lkdGgtbWF4LS0yb2Y1LFxuICAud2lkdGgtbWF4LS00b2YxMCB7XG4gICAgbWF4LXdpZHRoOiA0MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNDAlO1xuICAgIGZsZXg6IDQwJTtcbiAgfVxuICAud2lkdGgtbWF4LS0zb2Y1LFxuICAud2lkdGgtbWF4LS02b2YxMCB7XG4gICAgbWF4LXdpZHRoOiA2MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNjAlO1xuICAgIGZsZXg6IDYwJTtcbiAgfVxuICAud2lkdGgtbWF4LS00b2Y1LFxuICAud2lkdGgtbWF4LS04b2YxMCB7XG4gICAgbWF4LXdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogODAlO1xuICAgIGZsZXg6IDgwJTtcbiAgfVxuICAud2lkdGgtbWF4LS0xb2Y2LFxuICAud2lkdGgtbWF4LS0yb2YxMiB7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NiUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMTYuNjY2NjYlO1xuICAgIGZsZXg6IDE2LjY2NjY2JTtcbiAgfVxuICAud2lkdGgtbWF4LS01b2Y2LFxuICAud2lkdGgtbWF4LS0xMG9mMTIge1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDgzLjMzMzMzJTtcbiAgICBmbGV4OiA4My4zMzMzMyU7XG4gIH1cbiAgLndpZHRoLW1heC0tMW9mOCB7XG4gICAgbWF4LXdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiAxMi41JTtcbiAgICBmbGV4OiAxMi41JTtcbiAgfVxuICAud2lkdGgtbWF4LS0zb2Y4IHtcbiAgICBtYXgtd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDM3LjUlO1xuICAgIGZsZXg6IDM3LjUlO1xuICB9XG4gIC53aWR0aC1tYXgtLTVvZjgge1xuICAgIG1heC13aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNjIuNSU7XG4gICAgZmxleDogNjIuNSU7XG4gIH1cbiAgLndpZHRoLW1heC0tN29mOCB7XG4gICAgbWF4LXdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA4Ny41JTtcbiAgICBmbGV4OiA4Ny41JTtcbiAgfVxuICAud2lkdGgtbWF4LS0xb2Y5IHtcbiAgICBtYXgtd2lkdGg6IDExLjExMTExMTElICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDExLjExMTExMTElO1xuICAgIGZsZXg6IDExLjExMTExMTElO1xuICB9XG4gIC53aWR0aC1tYXgtLTJvZjkge1xuICAgIG1heC13aWR0aDogMjIuMjIyMjIyMiUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMjIuMjIyMjIyMiU7XG4gICAgZmxleDogMjIuMjIyMjIyMiU7XG4gIH1cbiAgLndpZHRoLW1heC0tNG9mOSB7XG4gICAgbWF4LXdpZHRoOiA0NC40NDQ0NDQ0JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA0NC40NDQ0NDQ0JTtcbiAgICBmbGV4OiA0NC40NDQ0NDQ0JTtcbiAgfVxuICAud2lkdGgtbWF4LS01b2Y5IHtcbiAgICBtYXgtd2lkdGg6IDU1LjU1NTU1NTUlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDU1LjU1NTU1NTUlO1xuICAgIGZsZXg6IDU1LjU1NTU1NTUlO1xuICB9XG4gIC53aWR0aC1tYXgtLTdvZjkge1xuICAgIG1heC13aWR0aDogNzcuNzc3Nzc3NyUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNzcuNzc3Nzc3NyU7XG4gICAgZmxleDogNzcuNzc3Nzc3NyU7XG4gIH1cbiAgLndpZHRoLW1heC0tOG9mOSB7XG4gICAgbWF4LXdpZHRoOiA4OC44ODg4ODg4JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA4OC44ODg4ODg4JTtcbiAgICBmbGV4OiA4OC44ODg4ODg4JTtcbiAgfVxuICAud2lkdGgtbWF4LS0xb2YxMCB7XG4gICAgbWF4LXdpZHRoOiAxMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMTAlO1xuICAgIGZsZXg6IDEwJTtcbiAgfVxuICAud2lkdGgtbWF4LS0zb2YxMCB7XG4gICAgbWF4LXdpZHRoOiAzMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogMzAlO1xuICAgIGZsZXg6IDMwJTtcbiAgfVxuICAud2lkdGgtbWF4LS03b2YxMCB7XG4gICAgbWF4LXdpZHRoOiA3MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogNzAlO1xuICAgIGZsZXg6IDcwJTtcbiAgfVxuICAud2lkdGgtbWF4LS05b2YxMCB7XG4gICAgbWF4LXdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogOTAlO1xuICAgIGZsZXg6IDkwJTtcbiAgfVxuICAud2lkdGgtbWF4LS0xb2YxMiB7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1zLWZsZXg6IDguMzMzMzMzMyU7XG4gICAgZmxleDogOC4zMzMzMzMzJTtcbiAgfVxuICAud2lkdGgtbWF4LS01b2YxMiB7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA0MS42NjY2NjY2JTtcbiAgICBmbGV4OiA0MS42NjY2NjY2JTtcbiAgfVxuICAud2lkdGgtbWF4LS03b2YxMiB7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tcy1mbGV4OiA1OC4zMzMzMzMzJTtcbiAgICBmbGV4OiA1OC4zMzMzMzMzJTtcbiAgfVxuICAud2lkdGgtbWF4LS0xMW9mMTIge1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NiUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbXMtZmxleDogOTEuNjY2NjY2NiU7XG4gICAgZmxleDogOTEuNjY2NjY2NiU7XG4gIH1cbn1cbi8qKlxuICogX3R5cG8uc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqIEFsdCBUZXh0IFN0eWxlcy5cbiAqXG4gKiAjIyBhbGlnbm1lbnRcbiAqIC0gdGV4dC0tbGVmdFxuICogLSB0ZXh0LS1yaWdodFxuICogLSB0ZXh0LS1jZW50ZXJcbiAqXG4gKiAjIyB1dGlsaXRpZXNcbiAqIC0gdGV4dC0tc2Vjb25kYXJ5XG4gKiAtIHRleHQtLWluaGVyaXQtY29sb3JcbiAqIC0gdGV4dC0tbm8td3JhcFxuICogLSB0ZXh0LS1sYXJnZVxuICpcbiAqIFVzYWdlOlxuICogPGRpdiBjbGFzcz1cInRleHQtLWxhcmdlXCI+XG4gKiAgIDxoMT5Mb3JlbSBJcHN1bTwvaDE+XG4gKiAgIDxwPkxvcmVtIGlwc3VtPC9wPlxuICogPC9kaXY+XG4gKlxuICovXG4vKipcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nXG4gKi9cbi50ZXh0LS1uby13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIERpc3BsYXkgdGV4dCBpbiBzZWNvbmRhcnkgZm9udFxuICovXG4udGV4dC0tc2Vjb25kYXJ5IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBEaXNwbGF5IGxhcmdlciB0ZXh0XG4gKi9cbi50ZXh0LS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50ZXh0LS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gIC50ZXh0LXRhYi0tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAudGV4dC10YWItLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAudGV4dC10YWItLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjFweCkge1xuICAudGV4dC1sYXAtLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnRleHQtbGFwLS1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnRleHQtbGFwLS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50ZXh0LWRlc2stLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnRleHQtZGVzay0tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC50ZXh0LWRlc2stLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQtZGVzay13aWRlLS1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50ZXh0LWRlc2std2lkZS0tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC50ZXh0LWRlc2std2lkZS0tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAudGV4dC1tYXgtLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnRleHQtbWF4LS1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnRleHQtbWF4LS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmNsZWFyZml4IHtcbiAgLyoqXG4gICAqIEZvciBJRSA2Lzcgb25seVxuICAgKiBJbmNsdWRlIHRoaXMgcnVsZSB0byB0cmlnZ2VyIGhhc0xheW91dCBhbmQgY29udGFpbiBmbG9hdHMuXG4gICAqL1xuICAqem9vbTogMTtcbn1cbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKipcbiogX2NvbG9yLnNjc3NcbiovXG46cm9vdCB7XG4gIC0tbGluazogIzk4MTAwMDtcbiAgLS1ob3ZlcjogIzZFMEMwMDtcbiAgLS1ib3JkZXI6ICNEQkRCREI7XG4gIC0tYmxhY2s6ICMxNTE1MTU7XG4gIC0td2hpdGU6ICNGRkY7XG59XG5cbi5jLS1saW5rIHtcbiAgY29sb3I6ICM5ODEwMDA7XG59XG5cbi5iZy0tbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ODEwMDA7XG59XG5cbi5jLS1ob3ZlciB7XG4gIGNvbG9yOiAjNkUwQzAwO1xufVxuXG4uYmctLWhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZFMEMwMDtcbn1cblxuLmMtLWJvcmRlciB7XG4gIGNvbG9yOiAjREJEQkRCO1xufVxuXG4uYmctLWJvcmRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQkRCREI7XG59XG5cbi5jLS1ibGFjayB7XG4gIGNvbG9yOiAjMTUxNTE1O1xufVxuXG4uYmctLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MTUxNTtcbn1cblxuLmMtLXdoaXRlIHtcbiAgY29sb3I6ICNGRkY7XG59XG5cbi5iZy0td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xufVxuXG4uYy0taW5oZXJpdCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uYmctLWluaGVyaXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAuYy10YWItLWxpbmsge1xuICAgIGNvbG9yOiAjOTgxMDAwO1xuICB9XG4gIC5iZy10YWItLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ODEwMDA7XG4gIH1cbiAgLmMtdGFiLS1ob3ZlciB7XG4gICAgY29sb3I6ICM2RTBDMDA7XG4gIH1cbiAgLmJnLXRhYi0taG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTBDMDA7XG4gIH1cbiAgLmMtdGFiLS1ib3JkZXIge1xuICAgIGNvbG9yOiAjREJEQkRCO1xuICB9XG4gIC5iZy10YWItLWJvcmRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCREJEQjtcbiAgfVxuICAuYy10YWItLWJsYWNrIHtcbiAgICBjb2xvcjogIzE1MTUxNTtcbiAgfVxuICAuYmctdGFiLS1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1MTUxNTtcbiAgfVxuICAuYy10YWItLXdoaXRlIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgfVxuICAuYmctdGFiLS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgfVxuICAuYy10YWItLWluaGVyaXQge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG4gIC5iZy10YWItLWluaGVyaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gIC5jLWxhcC0tbGluayB7XG4gICAgY29sb3I6ICM5ODEwMDA7XG4gIH1cbiAgLmJnLWxhcC0tbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk4MTAwMDtcbiAgfVxuICAuYy1sYXAtLWhvdmVyIHtcbiAgICBjb2xvcjogIzZFMEMwMDtcbiAgfVxuICAuYmctbGFwLS1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFMEMwMDtcbiAgfVxuICAuYy1sYXAtLWJvcmRlciB7XG4gICAgY29sb3I6ICNEQkRCREI7XG4gIH1cbiAgLmJnLWxhcC0tYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJEQkRCO1xuICB9XG4gIC5jLWxhcC0tYmxhY2sge1xuICAgIGNvbG9yOiAjMTUxNTE1O1xuICB9XG4gIC5iZy1sYXAtLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNTE1O1xuICB9XG4gIC5jLWxhcC0td2hpdGUge1xuICAgIGNvbG9yOiAjRkZGO1xuICB9XG4gIC5iZy1sYXAtLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICB9XG4gIC5jLWxhcC0taW5oZXJpdCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLmJnLWxhcC0taW5oZXJpdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jLWRlc2stLWxpbmsge1xuICAgIGNvbG9yOiAjOTgxMDAwO1xuICB9XG4gIC5iZy1kZXNrLS1saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTgxMDAwO1xuICB9XG4gIC5jLWRlc2stLWhvdmVyIHtcbiAgICBjb2xvcjogIzZFMEMwMDtcbiAgfVxuICAuYmctZGVzay0taG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTBDMDA7XG4gIH1cbiAgLmMtZGVzay0tYm9yZGVyIHtcbiAgICBjb2xvcjogI0RCREJEQjtcbiAgfVxuICAuYmctZGVzay0tYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJEQkRCO1xuICB9XG4gIC5jLWRlc2stLWJsYWNrIHtcbiAgICBjb2xvcjogIzE1MTUxNTtcbiAgfVxuICAuYmctZGVzay0tYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTE1MTU7XG4gIH1cbiAgLmMtZGVzay0td2hpdGUge1xuICAgIGNvbG9yOiAjRkZGO1xuICB9XG4gIC5iZy1kZXNrLS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgfVxuICAuYy1kZXNrLS1pbmhlcml0IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAuYmctZGVzay0taW5oZXJpdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jLWRlc2std2lkZS0tbGluayB7XG4gICAgY29sb3I6ICM5ODEwMDA7XG4gIH1cbiAgLmJnLWRlc2std2lkZS0tbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk4MTAwMDtcbiAgfVxuICAuYy1kZXNrLXdpZGUtLWhvdmVyIHtcbiAgICBjb2xvcjogIzZFMEMwMDtcbiAgfVxuICAuYmctZGVzay13aWRlLS1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFMEMwMDtcbiAgfVxuICAuYy1kZXNrLXdpZGUtLWJvcmRlciB7XG4gICAgY29sb3I6ICNEQkRCREI7XG4gIH1cbiAgLmJnLWRlc2std2lkZS0tYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJEQkRCO1xuICB9XG4gIC5jLWRlc2std2lkZS0tYmxhY2sge1xuICAgIGNvbG9yOiAjMTUxNTE1O1xuICB9XG4gIC5iZy1kZXNrLXdpZGUtLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNTE1O1xuICB9XG4gIC5jLWRlc2std2lkZS0td2hpdGUge1xuICAgIGNvbG9yOiAjRkZGO1xuICB9XG4gIC5iZy1kZXNrLXdpZGUtLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICB9XG4gIC5jLWRlc2std2lkZS0taW5oZXJpdCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLmJnLWRlc2std2lkZS0taW5oZXJpdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gIC5jLW1heC0tbGluayB7XG4gICAgY29sb3I6ICM5ODEwMDA7XG4gIH1cbiAgLmJnLW1heC0tbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk4MTAwMDtcbiAgfVxuICAuYy1tYXgtLWhvdmVyIHtcbiAgICBjb2xvcjogIzZFMEMwMDtcbiAgfVxuICAuYmctbWF4LS1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFMEMwMDtcbiAgfVxuICAuYy1tYXgtLWJvcmRlciB7XG4gICAgY29sb3I6ICNEQkRCREI7XG4gIH1cbiAgLmJnLW1heC0tYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJEQkRCO1xuICB9XG4gIC5jLW1heC0tYmxhY2sge1xuICAgIGNvbG9yOiAjMTUxNTE1O1xuICB9XG4gIC5iZy1tYXgtLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNTE1O1xuICB9XG4gIC5jLW1heC0td2hpdGUge1xuICAgIGNvbG9yOiAjRkZGO1xuICB9XG4gIC5iZy1tYXgtLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICB9XG4gIC5jLW1heC0taW5oZXJpdCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLmJnLW1heC0taW5oZXJpdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuaHRtbCwgYm9keSB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgY29sb3I6ICMxNTE1MTU7XG59XG5cbi53cmFwcGVyIHtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG5zcGFuLmNlX2hlYWRsaW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZWRpYS0tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIxcHgpIHtcbiAgLm1lZGlhLS1sYXAgLm1lZGlhX19pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAzMHB4IDA7XG59XG4uaGVhZGVyX19sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjFweCkge1xuICAuaGVhZGVyX19sb2dvIHtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgaGVpZ2h0OiA2MnB4O1xuICB9XG59XG4uaGVhZGVyX19sb2dvOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5oZWFkZXJfX25hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXJfX25hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uaGVhZGVyX19tb2JpbGUtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXJfX21vYmlsZS1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaGVhZGVyX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5oZWFkZXJfX2J1cmdlciB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRlcl9fYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaGVhZGVyX19idXJnZXI6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmhlYWRlcl9fYnVyZ2VyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MTUxNTtcbiAgYm94LXNoYWRvdzogMCAtNXB4IDAgMCAjMTUxNTE1LCAwIDVweCAwIDAgIzE1MTUxNTtcbn1cbmJvZHkubmF2aWdhdGlvbi1hY3RpdmUgLmhlYWRlcl9fYnVyZ2VyOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLmhlYWRlcl9fYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTE1MTU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5ib2R5Lm5hdmlnYXRpb24tYWN0aXZlIC5oZWFkZXJfX2J1cmdlcjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdi1wcmltYXJ5IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbmJvZHkubmF2aWdhdGlvbi1hY3RpdmUgLm5hdi1wcmltYXJ5IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubmF2LXByaW1hcnkgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi5uYXYtcHJpbWFyeSB1bCBsaSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm5hdi1wcmltYXJ5IHVsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG59XG4ubmF2LXByaW1hcnkgdWwgbGkgYSB7XG4gIGNvbG9yOiAjMTUxNTE1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMTlweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAubmF2LXByaW1hcnkgdWwgbGkgYSB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICB9XG59XG4ubmF2LXByaW1hcnkgdWwgbGkgYS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTgxMDAwO1xuICBjb2xvcjogI0ZGRjtcbn1cbi5uYXYtcHJpbWFyeSB1bCBsaSBhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5uYXYtcHJpbWFyeSB1bCBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZFMEMwMDtcbiAgY29sb3I6ICNGRkY7XG59XG5cbi5tYWluIHtcbiAgcGFkZGluZzogNDBweCAwO1xufVxuLm1haW4gc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbi5tYWluIHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEQkRCREI7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG4ubWFpbiB0YWJsZSB0aCwgLm1haW4gdGFibGUgdGQge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RCREJEQjtcbn1cbi5tYWluIHRhYmxlIHRmb290IHtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cbi5tYWluIHRhYmxlIGNhcHRpb24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5tYWluIGRsIGR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubWFpbiBkbCBkZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5tYWluIC5oeXBlcmxpbmtfdHh0LCAubWFpbiAuY2VfdG9wbGluayBhIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5tYWluIC5jZV9kb3dubG9hZHMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLm1haW4gLmNlX2Rvd25sb2FkcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5tYWluIC5kb3dubG9hZC1lbGVtZW50IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAwIDAgNDBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG59XG4ubWFpbiAuaW1hZ2VfY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEQkRCREI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1haW4gLmltYWdlX2NvbnRhaW5lciBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMS43Nzc3Nzc3Nzc4O1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLm1haW4gLmltYWdlX2NvbnRhaW5lciAuY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1haW4gLmNlX2dhbGxlcnkgdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk4MTAwMDtcbiAgY29sb3I6ICNGRkY7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4ubmF2LWZvb3RlciB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjFweCkge1xuICAubmF2LWZvb3RlciB1bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuLm5hdi1mb290ZXIgdWwgbGkge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cbi5uYXYtZm9vdGVyIHVsIGEge1xuICBjb2xvcjogI0ZGRjtcbn0iLCIvKipcbiAqIHN0eWxlLnNjc3NcbiAqXG4gKiBBdXRob3I6IGlkZWVuZnJpc2NoZVxuICpcbiAqL1xuXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcblxuXG4vKipcbiAqIGJhc2ljc3MgaW1wb3J0XG4gKi9cblxuQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jhc2ljc3MvYmFzaWNzcyc7XG4vL0BpbXBvcnQgJ25vZGVfbW9kdWxlcy9jb29raWUvc3JjL2Nzcy9zdHlsZSc7XG5cbkBpbXBvcnQgJ2dlbmVyYWwnO1xuQGltcG9ydCAnbWVkaWEnO1xuQGltcG9ydCAnaGVhZGVyJztcbkBpbXBvcnQgJ25hdi1wcmltYXJ5JztcbkBpbXBvcnQgJ21haW4nO1xuQGltcG9ydCAnZm9vdGVyJztcbkBpbXBvcnQgJ25hdi1mb290ZXInOyIsIi8qKlxuICogYmFzaWNzcyBvdmVycmlkZXNcbiAqXG4gKiBhbnkgZGVmYXVsdHMgaW4gYmFzaWNzcy9iYXNpY3NzL19zZXR0aW5ncy5zY3NzXG4gKiBtYXkgYmUgb3ZlcnJpZGRlbi4uLlxuICpcbiAqIGUuZy4gJHByb3RvdHlwaW5nOiB0cnVlO1xuICovXG5cbiRjb2xvcnM6IChcbiAgXCJsaW5rXCI6ICM5ODEwMDAsXG4gIFwiaG92ZXJcIjogIzZFMEMwMCxcbiAgXCJib3JkZXJcIjogI0RCREJEQixcbiAgXCJibGFja1wiOiAjMTUxNTE1LFxuICBcIndoaXRlXCI6ICNGRkZcbik7XG5cbiRncmlkT2JqZWN0OiB0cnVlO1xuJGJ1dHRvbk9iamVjdDogdHJ1ZTtcbiRjb25zdHJhaW5PYmplY3Q6IHRydWU7XG4kbWVkaWFPYmplY3Q6IHRydWU7XG5cbiRmb250UHJpbWFyeTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4kZm9udFNlY29uZGFyeTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG5cbiAkYnJlYWtzOiAoXG4gICB0YWI6IDQ4MXB4LFxuICAgbGFwOiA3MjFweCxcbiAgIGRlc2s6IDEwMjRweCxcbiAgIGRlc2std2lkZTogMTIwMHB4LFxuICAgbWF4OiAxNTAwcHhcbiApO1xuXG4kaGVhZGluZ3M6IChcbiAgJzEnOiAoXG4gICAgJ2ZvbnQtc2l6ZSc6IDQ4cHgsXG4gICAgJ2ZvbnQtd2VpZ2h0JzogOTAwXG4gICksXG4gICcyJzogKFxuICAgICdmb250LXNpemUnOiAzNnB4LFxuICAgICdmb250LXdlaWdodCc6IDkwMFxuICApLFxuICAnMyc6IChcbiAgICAnZm9udC1zaXplJzogMzJweCxcbiAgICAnZm9udC13ZWlnaHQnOiA5MDBcbiAgKSxcbiAgJzQnOiAoXG4gICAgJ2ZvbnQtc2l6ZSc6IDI0cHgsXG4gICAgJ2ZvbnQtd2VpZ2h0JzogOTAwXG4gICksXG4gICc1JzogKFxuICAgICdmb250LXNpemUnOiAxOHB4LFxuICAgICdmb250LXdlaWdodCc6IDkwMFxuICApLFxuICAnNic6IChcbiAgICAnZm9udC1zaXplJzogMTZweCxcbiAgICAnZm9udC13ZWlnaHQnOiA5MDBcbiAgKSxcbik7XG5cbiRiYXNlVW5pdDogMjBweDtcblxuJGNvbnN0cmFpbjogKFxuICBtYXg6ICAgICAxNDAwcHhcbik7IiwiLyoqXG4gKiBiYXNpY3NzLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzZXQsIERlZmF1bHRzLCBNaXhpbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZXNldCwgRGVmYXVsdCBzZXR0aW5nc1xuICovXG5cbkBpbXBvcnQgXCJiYXNpY3NzL3NldHRpbmdzXCI7XG5cbi8qKlxuICogTWl4aW5zXG4gKi9cblxuQGltcG9ydCBcImJhc2ljc3MvbWl4aW5zL2NvbG9yXCI7XG5AaW1wb3J0IFwiYmFzaWNzcy9taXhpbnMvYnJlYWtcIjtcbkBpbXBvcnQgXCJiYXNpY3NzL21peGlucy9tZWRpYVwiO1xuQGltcG9ydCBcImJhc2ljc3MvbWl4aW5zL2hkcGlcIjtcbkBpbXBvcnQgXCJiYXNpY3NzL21peGlucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJiYXNpY3NzL21peGlucy9mb250LXNpemVcIjtcbkBpbXBvcnQgXCJiYXNpY3NzL21peGlucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJiYXNpY3NzL21peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImJhc2ljc3MvbWl4aW5zL2VsbGlwc2lzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemVcIjtcblxuQGltcG9ydCBcImJhc2ljc3MvYmFzZS9tYWluXCI7XG5AaW1wb3J0IFwiYmFzaWNzcy9iYXNlL2Jhc2VsaW5lXCI7XG5AaW1wb3J0IFwiYmFzaWNzcy9iYXNlL3R5cG9cIjtcbkBpbXBvcnQgXCJiYXNpY3NzL2Jhc2UvbGlua3NcIjtcbkBpbXBvcnQgXCJiYXNpY3NzL2Jhc2UvbWVkaWEtc3JjXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9iamVjdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCBcImJhc2ljc3Mvb2JqZWN0cy9ncmlkXCI7XG5AaW1wb3J0IFwiYmFzaWNzcy9vYmplY3RzL2J0blwiO1xuQGltcG9ydCBcImJhc2ljc3Mvb2JqZWN0cy9jb25zdHJhaW5cIjtcbkBpbXBvcnQgXCJiYXNpY3NzL29iamVjdHMvbmF2XCI7XG5AaW1wb3J0IFwiYmFzaWNzcy9vYmplY3RzL2JveFwiO1xuQGltcG9ydCBcImJhc2ljc3Mvb2JqZWN0cy9tZWRpYVwiO1xuQGltcG9ydCBcImJhc2ljc3Mvb2JqZWN0cy9iYXJlLWxpc3RcIjtcbkBpbXBvcnQgXCJiYXNpY3NzL29iamVjdHMvdWktbGlzdFwiO1xuQGltcG9ydCBcImJhc2ljc3Mvb2JqZWN0cy9hcnJvd1wiO1xuQGltcG9ydCBcImJhc2ljc3Mvb2JqZWN0cy9pY29uXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlciBDbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgXCJiYXNpY3NzL2hlbHBlci9zcGFjaW5nXCI7XG5AaW1wb3J0IFwiYmFzaWNzcy9oZWxwZXIvd2lkdGhcIjtcbkBpbXBvcnQgXCJiYXNpY3NzL2hlbHBlci90eXBvXCI7XG5AaW1wb3J0IFwiYmFzaWNzcy9oZWxwZXIvbGF5b3V0XCI7XG5AaW1wb3J0IFwiYmFzaWNzcy9oZWxwZXIvY29sb3JcIjtcbiIsIi8qKlxuICogX3NldHRpbmdzLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqL1xuXG4vKipcbiogVmFyaWFibGVzIE1vZGVcbiovXG4kYWRkQ3NzOiB0cnVlICFkZWZhdWx0O1xuXG4vKipcbiogRGVmYXVsdCBjb2xvcnNcbiovXG4kX2xpbms6ICMwMDc0ZDk7XG4kX2hvdmVyOiBkYXJrZW4oJF9saW5rLCAxMCUpO1xuJF9ib3JkZXI6ICNDQ0M7XG5cbiRjb2xvcnM6IChcbiAgXCJsaW5rXCI6ICRfbGluayxcbiAgXCJob3ZlclwiOiAkX2hvdmVyLFxuICBcImJvcmRlclwiOiAkX2JvcmRlclxuKSFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmF1bHQgb2JqZWN0c1xuICovXG5cbiRhcnJvd09iamVjdDogZmFsc2UhZGVmYXVsdDtcbiRib3hPYmplY3Q6IGZhbHNlIWRlZmF1bHQ7XG4kbmF2T2JqZWN0OiBmYWxzZSFkZWZhdWx0O1xuJGdyaWRPYmplY3Q6IGZhbHNlIWRlZmF1bHQ7XG4kYnV0dG9uT2JqZWN0OiBmYWxzZSFkZWZhdWx0O1xuJGNvbnN0cmFpbk9iamVjdDogZmFsc2UhZGVmYXVsdDtcbiRtZWRpYU9iamVjdDogZmFsc2UhZGVmYXVsdDtcbiRiYXJlTGlzdE9iamVjdDogZmFsc2UhZGVmYXVsdDtcbiR1aUxpc3RPYmplY3Q6IGZhbHNlIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmYXVsdCBoZWxwZXJcbiAqL1xuXG4kc3BhY2luZ0hlbHBlcjogdHJ1ZSFkZWZhdWx0O1xuJHR5cG9IZWxwZXI6IHRydWUhZGVmYXVsdDtcbiR3aWR0aEhlbHBlcjogdHJ1ZSFkZWZhdWx0O1xuJGxheW91dEhlbHBlcjogdHJ1ZSFkZWZhdWx0O1xuJGNvbG9ySGVscGVyOiB0cnVlIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmYXVsdCBmb250c1xuICovXG5cbiRmb250UHJpbWFyeTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmIWRlZmF1bHQ7XG4kZm9udFNlY29uZGFyeTogR2VvcmdpYSwgc2VyaWYhZGVmYXVsdDtcblxuLyoqXG4gKiBEZWZhdWx0IGZvbnQgc2l6ZVxuICovXG5cbiRiYXNlRm9udFNpemU6IDE2cHghZGVmYXVsdDtcbiRiYXNlTGluZUhlaWdodDogMjRweCFkZWZhdWx0O1xuXG4vKipcbiAqIERlZmF1bHQgaGVhZGluZ3NcbiAqL1xuXG4kaGVhZGluZ1NpemUxOiA0OHB4IWRlZmF1bHQ7XG4kaGVhZGluZ1NpemUyOiAzNnB4IWRlZmF1bHQ7XG4kaGVhZGluZ1NpemUzOiAzMnB4IWRlZmF1bHQ7XG4kaGVhZGluZ1NpemU0OiAyNHB4IWRlZmF1bHQ7XG4kaGVhZGluZ1NpemU1OiAxOHB4IWRlZmF1bHQ7XG4kaGVhZGluZ1NpemU2OiAxNnB4IWRlZmF1bHQ7XG5cbiRoZWFkaW5nczogKFxuICAnMSc6IChcbiAgICAnZm9udC1zaXplJzogJGhlYWRpbmdTaXplMVxuICApLFxuICAnMic6IChcbiAgICAnZm9udC1zaXplJzogJGhlYWRpbmdTaXplMlxuICApLFxuICAnMyc6IChcbiAgICAnZm9udC1zaXplJzogJGhlYWRpbmdTaXplM1xuICApLFxuICAnNCc6IChcbiAgICAnZm9udC1zaXplJzogJGhlYWRpbmdTaXplNFxuICApLFxuICAnNSc6IChcbiAgICAnZm9udC1zaXplJzogJGhlYWRpbmdTaXplNVxuICApLFxuICAnNic6IChcbiAgICAnZm9udC1zaXplJzogJGhlYWRpbmdTaXplNlxuICApLFxuKSFkZWZhdWx0O1xuXG4vKipcbiAqICBEZWZhdWx0IHNwYWNpbmdcbiAqL1xuXG4kYmFzZVVuaXQ6ICRiYXNlTGluZUhlaWdodCFkZWZhdWx0O1xuJGxpbmVIZWlnaHRSYXRpbzogY2FsYygkYmFzZUxpbmVIZWlnaHQgLyAkYmFzZUZvbnRTaXplKTtcblxuLyoqXG4gKiBEZWZhdWx0IGJyZWFrcG9pbnRzXG4gKi9cblxuICRicmVha3M6IChcbiAgIHRhYjogNDgxcHgsXG4gICBsYXA6IDcyMXB4LFxuICAgZGVzazogMTAyNHB4LFxuICAgZGVzay13aWRlOiAxMjAwcHhcbiApIWRlZmF1bHQ7XG5cbiAvKipcbiAgKiBEZWZhdWx0IHNwYWNlc1xuICAqL1xuXG4kc3BhY2U6IChcbiAgbm9uZTogIDAsXG4gIHF1YXJ0ZXI6IC4yNSxcbiAgdGhpcmQ6IC4zMzMzMzMzMzMzMyxcbiAgaGFsZjogLjUsXG4gIGRlZmF1bHQ6IDEsXG4gIGRvdWJsZTogMixcbiAgdHJpcGxlOiAzLFxuICBxdWFkOiA0XG4pIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmYXVsdCBjb25zdHJhaW5zXG4gKi9cblxuICRjb25zdHJhaW46IChcbiAgIHNtYWxsOiAgIDM4MHB4LFxuICAgbWVkaXVtOiAgNDgwcHgsXG4gICBsYXJnZTogICA3MjBweCxcbiAgIG1heDogICAgIDk4MHB4XG4gKSFkZWZhdWx0O1xuXG4vKipcbiAqIEFycm93c1xuICovXG5cbiRhcnJvd1NpemU6IDEwcHghZGVmYXVsdDtcblxuLyoqXG4gKiBHbG9iYWwgVmFyaWFibGVzXG4gKi9cblxuJGJvcmRlclJhZGl1czogNHB4IWRlZmF1bHQ7XG4iLCIvKipcbiAqIF9tZWRpYS5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpdXMgU2NoZWVsXG4gKlxuICogVXNhZ2U6XG4gKiBAaW5jbHVkZSBtZWRpYSgzMDBweCk7XG4gKiBvciBAaW5jbHVkZSBtZWRpYSgzMDBweCwgZmFsc2UpO1xuICogb3IgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoIDMwMHB4KTtcbiAqIG9yIEBpbmNsdWRlIG1lZGlhKDEwMHB4IG1heC13aWR0aCAzMDBweCk7XG4gKiBvciBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGggMTAwcHggbWF4LXdpZHRoIDMwMHB4KTtcbiAqIG9yIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAxMDBweCBtYXgtd2lkdGggMzAwcHgsIHRydWUpO1xuICpcbiAqL1xuXG4kZGVmYXVsdC1mZWF0dXJlOiBtaW4td2lkdGg7XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6JGZlYXR1cmUgJHZhbHVlLCAkc2VydmVUb09sZElFOiBmYWxzZSkge1xuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDMge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkgYW5kIChudGgoJHF1ZXJ5LCAyKTogbnRoKCRxdWVyeSwgMykpICB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA0IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSBhbmQgKG50aCgkcXVlcnksIDMpOiBudGgoJHF1ZXJ5LCA0KSkgIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkc2VydmVUb09sZElFIHtcbiAgICAubHQtaWU5ICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIF9oZHBpLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcml1cyBTY2hlZWxcbiAqXG4gKiBkZWZhdWx0cyB0byAxLjMgdG8gaW5jbHVkZSBHb29nbGUgTmV4dXMgN1xuICogYWRhcHRlZCBmcm9tIGJvdXJib246XG4gKiBodHRwczovL2dpdGh1Yi5jb20vdGhvdWdodGJvdC9ib3VyYm9uL2Jsb2IvbWFzdGVyL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2Nzc1xuICogXG4gKiBVc2FnZTpcbiAqIEBpbmNsdWRlIGhkcGkge1xuICogIC8vIHlvdXIgY3NzIGZvciBoZHBpIGRpc3BsYXlzXG4gKiB9O1xuICpcbiAqIHlvdSBjYW4gdXNlIGEgY3VzdG9tIHJhdGlvLCBpZiB5b3UgbGlrZTpcbiAqIEBpbmNsdWRlIGhkcGkoMS41KSB7XG4gKiAgLy8geW91ciBjc3NcbiAqIH07XG4gKi9cblxuQG1peGluIGhkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7cm91bmQoJHJhdGlvKjk2KX1kcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8qKlxuICogX3JldGluYS1pbWFnZS5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpdXMgU2NoZWVsXG4gKlxuICogVXNhZ2U6XG4gKiAuaGVybyB7XG4gKiAgQGluY2x1ZGUgcmV0aW5hLWltYWdlKFwiLi4vcGF0aC90by9oZXJvXCIsIDIwMHB4IDQwMHB4KTtcbiAqIH1cbiAqXG4gKiB0byB1c2UgYSBzcGVjaWZpYyBmaWxlbmFtZTpcbiAqIC5oZXJvIHtcbiAqICBAaW5jbHVkZSByZXRpbmEtaW1hZ2UoXCIuLi9wYXRoL3RvL2hlcm9cIiwgMjAwcHggNDAwcHgsIFwiLi4vcGF0aC90by9yZXRpbmEtaGVyb1wiKTsgXG4gKiB9IFxuICpcbiAqIG1vZGlmaWVkIHZlcnNpb24gb2YgYm91cmJvbidzIHJldGluYS1pbWFnZSBtaXhpbi5cbiAqIFRoZSBtaXhpbiB1c2VzIGEgQDJ4LnBuZyByZXRpbmEgZmlsZW5hbWUgYnkgZGVmYXVsdC5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS90aG91Z2h0Ym90L2JvdXJib24vYmxvYi9tYXN0ZXIvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzXG4gKi9cblxuQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcblxuICBAaW5jbHVkZSBoZHBpIHtcbiAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfUAyeC4jeyRleHRlbnNpb259XCIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBfZm9udC1zaXplLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKi9cblxuQG1peGluIGZvbnQtc2l6ZSgkZm9udFNpemUsICRsaW5lSGVpZ2h0OnRydWUpe1xuICAgIGZvbnQtc2l6ZTokZm9udFNpemU7XG4gICAgZm9udC1zaXplOiBjYWxjKCRmb250U2l6ZSAvICRiYXNlRm9udFNpemUpKjFyZW07XG4gICAgQGlmICRsaW5lSGVpZ2h0ID09IHRydWUge1xuICAgICAgbGluZS1oZWlnaHQ6Y2VpbChjYWxjKCRmb250U2l6ZSAvICRiYXNlTGluZUhlaWdodCkpICogY2FsYygkYmFzZUxpbmVIZWlnaHQgLyAkZm9udFNpemUpO1xuICAgIH1cbn1cbiIsIi8qKlxuICogX3B4LXRvLXJlbS5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICogVXNhZ2U6XG4gKiAuZWxlbWVudCB7XG4gKiAgIEBpbmNsdWRlIHB4LXRvLXJlbShwYWRkaW5nLCAwIDI0cHgpXG4gKiB9XG4gKlxuICogT3V0cHV0OlxuICogLmVsZW1lbnQge1xuICogICBwYWRkaW5nOiAwIDI0cHg7XG4gKiAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICogfVxuICpcbiAqL1xuXG5AZnVuY3Rpb24gdG9SZW0oJHB4KSB7XG4gICRyZW06IGNhbGMoJHB4IC8gJGJhc2VGb250U2l6ZSk7XG4gIEByZXR1cm4gI3skcmVtfXJlbTtcbn1cblxuQG1peGluIHB4LXRvLXJlbSgkcHJvcCwgJHZhbHVlcykge1xuXG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiB0b1JlbSgkdmFsdWUpO1xuICAgIH1cbiAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJHZhbHVlKTtcbiAgfVxuXG4gICN7JHByb3B9OiAkdmFsdWVzOyAvLyBGYWxsYmFja1xuICAjeyRwcm9wfTogJG91dHB1dDtcbn1cbiIsIi8qKlxuICogX2NsZWFyZml4LnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKiBVc2FnZTpcbiAqIC5lbGVtZW50IHtcbiAqICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gKiB9XG4gKlxuICovXG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvciBJRSA2Lzcgb25seVxuICAgKiBJbmNsdWRlIHRoaXMgcnVsZSB0byB0cmlnZ2VyIGhhc0xheW91dCBhbmQgY29udGFpbiBmbG9hdHMuXG4gICAqL1xuICAqem9vbTogMTtcbn1cblxuIiwiLyoqXG4gKiBfZWxsaXBzaXMuc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqIGVsbGlwc2lzIG1peGluIFxuICpcbiAqL1xuXG5AbWl4aW4gZWxsaXBzaXMge1xuICB3aWR0aDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyoqXG4gKiBfbWFpbi5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICovXG5cbkBpZiAkYWRkQ3NzIHtcbiAgKiB7XG4gICAgJixcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICB9XG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuJWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG59XG5cbkBpZiAkYWRkQ3NzIHtcbiAgLmludmlzaWJsZSB7XG4gICAgQGV4dGVuZCAlaW52aXNpYmxlO1xuICB9XG59IiwiLyoqXG4gKiBfYmFzZWxpbmUuc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaWFuIEZyaWVkbWFublxuICpcbiAqL1xuXG5AaWYgJGFkZENzcyB7XG4gIGJvZHksXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4gIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgZGwsIGRkLCBvbCwgdWwsXG4gIGZvcm0sIGZpZWxkc2V0LCBsZWdlbmQsXG4gIHRhYmxlLCB0aCwgdGQsIGNhcHRpb24sXG4gIGhyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4gIHVsLCBvbCwgZGwsXG4gIGJsb2NrcXVvdGUsIHAsIGFkZHJlc3MsXG4gIHRhYmxlLFxuICBmaWVsZHNldCwgZmlndXJlLFxuICBwcmUge1xuICAgIEBpbmNsdWRlIHB4LXRvLXJlbShtYXJnaW4sIDAgMCAkYmFzZVVuaXQpO1xuICB9XG5cbiAgdWwsIG9sLCBkZCB7XG4gICAgQGluY2x1ZGUgcHgtdG8tcmVtKG1hcmdpbi1sZWZ0LCAkYmFzZVVuaXQpO1xuICB9XG5cbiAgbGkgPiB1bCxcbiAgbGkgPiBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufSIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG4vKipcbiAqIF90eXBvLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKi9cblxuQGlmICRhZGRDc3Mge1xuICBodG1sIHtcbiAgICBmb250LWZhbWlseTogJGZvbnRQcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogY2FsYygkYmFzZUZvbnRTaXplIC8gMTZweCkgKiAxZW07XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0UmF0aW87XG4gIH1cbn1cblxuQG1peGluIGhlYWRpbmdBdHRyaWJ1dGVzKCRhdHRyaWJ1dGVzKXtcbiAgQGVhY2ggJGF0dE5hbWUsJGF0dFZhbHVlIGluICRhdHRyaWJ1dGVzIHtcbiAgICBAaWYgJGF0dE5hbWUgPT0gcmVzcG9uc2l2ZSB7XG4gICAgICBAZWFjaCAkbWVkaWEsJGF0dHMgaW4gJGF0dFZhbHVlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoYnJlYWsoJG1lZGlhKSl7XG4gICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ0F0dHJpYnV0ZXMoJGF0dHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfUBlbHNlIGlmICRhdHROYW1lID09IGZvbnQtc2l6ZSB7XG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGF0dHJpYnV0ZXMsJ2xpbmUtaGVpZ2h0Jykge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGF0dFZhbHVlLGZhbHNlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGF0dFZhbHVlLHRydWUpO1xuICAgICAgfVxuICAgIH1AZWxzZSBpZiAkYXR0TmFtZSA9PSBsaW5lLWhlaWdodCB7XG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGF0dHJpYnV0ZXMsJ2ZvbnQtc2l6ZScpIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgZm9udC1zaXplKCRhdHRWYWx1ZSxmYWxzZSk7XG4gICAgICAgICN7JGF0dE5hbWV9OiBtYXRoLmRpdigkYXR0VmFsdWUsbWFwLWdldCgkYXR0cmlidXRlcywnZm9udC1zaXplJykpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JGF0dE5hbWV9OiAjeyRhdHRWYWx1ZX07XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAjeyRhdHROYW1lfTogI3skYXR0VmFsdWV9O1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAka2V5LCRhdHRyaWJ1dGVzIGluICRoZWFkaW5ncyB7XG4gICVoZWFkaW5nLSN7JGtleX0ge1xuICAgIEBpbmNsdWRlIGhlYWRpbmdBdHRyaWJ1dGVzKCRhdHRyaWJ1dGVzKTtcbiAgfVxuICBAaWYgJGFkZENzcyB7XG4gICAgaCN7JGtleX0sXG4gICAgLmhlYWRpbmctI3ska2V5fSB7XG4gICAgICBAZXh0ZW5kICVoZWFkaW5nLSN7JGtleX07XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIF9saW5rcy5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICovXG5cbkBpZiAkYWRkQ3NzIHtcbiAgYSB7XG4gICAgY29sb3I6IGNvbG9yKCdsaW5rJyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yKCdob3ZlcicpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgYTpmb2N1cyB7IG91dGxpbmU6IHRoaW4gZG90dGVkOyB9XG5cbiAgYTpob3ZlciwgYTphY3RpdmUgeyBvdXRsaW5lOiAwOyB9XG59XG4iLCIvKipcbiAqIG1lZGlhLXNyYy5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICovXG5cbkBpZiAkYWRkQ3NzIHtcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8sXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAqIHRleHQgc3R5bGVzIHRvIG9mZnNldCBhbHQgdGV4dFxuICAqL1xuICBpbWcge1xuICAgIGNvbG9yOiAjYzAwO1xuICB9XG5cbiAgLyoqXG4gICogbm8gZmx1aWQgaW1hZ2VzLCB3aGVuIHdpZHRoIG9yIGhlaWdodCBhcmUgc2V0XG4gICovXG4gIGltZ1t3aWR0aF0sXG4gIGltZ1toZWlnaHRdIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn0iLCJAbWl4aW4gZ3JpZF9tb2RpZmllcnMoJHNjb3BlOiAnJykge1xuICBAaWYgJHNjb3BlICE9ICcnIHsgJHNjb3BlOiAtI3skc2NvcGV9OyB9XG5cbiAgJG1vZGlmaWVyLXNlcGVyYXRvcjogJy0tJztcblxuICAlZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1zdGFydCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gICVncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfWVuZCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gICVncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfWNlbnRlciB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAlZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1iZXR3ZWVuIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gICVncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfWFyb3VuZCB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxuICAlZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn10b3Age1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgJWdyaWQjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9bWlkZGxlIHtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAlZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1ib3R0b20ge1xuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIH1cbiAgJWdyaWQjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9c3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGFkZENzcyBhbmQgJGdyaWRPYmplY3Qge1xuICAgIC5ncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfXN0YXJ0IHtAZXh0ZW5kICVncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfXN0YXJ0O31cbiAgICAuZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1lbmQge0BleHRlbmQgJWdyaWQjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9ZW5kO31cbiAgICAuZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1jZW50ZXIge0BleHRlbmQgJWdyaWQjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Y2VudGVyO31cbiAgICAuZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1iZXR3ZWVuIHtAZXh0ZW5kICVncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfWJldHdlZW47fVxuICAgIC5ncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfWFyb3VuZCB7QGV4dGVuZCAlZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1hcm91bmQ7fVxuICAgIC5ncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfXRvcCB7QGV4dGVuZCAlZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn10b3A7fVxuICAgIC5ncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfW1pZGRsZSB7QGV4dGVuZCAlZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1taWRkbGU7fVxuICAgIC5ncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfWJvdHRvbSB7QGV4dGVuZCAlZ3JpZCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn1ib3R0b207fVxuICAgIC5ncmlkI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfXN0cmV0Y2gge0BleHRlbmQgJWdyaWQjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9c3RyZXRjaDt9XG4gIH1cbn1cblxuJHdpZHRoSGVscGVyOiB0cnVlO1xuLyoqXG4gKiBfZ3JpZC5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICogVXNhZ2U6XG4gKiA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICogICA8ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgd2lkdGgtLTFvZjEgIHdpZHRoLXRhYi0tMW9mMyAgd2lkdGgtZGVzay0tMW9mNFwiPlxuICogICAgICAgLi4uXG4gKiAgIDwvZGl2PjwhLS1cbiAqLS0+PGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIHdpZHRoLS0xb2YxICB3aWR0aC10YWItLTJvZjMgIHdpZHRoLWRlc2stLTNvZjRcIj5cbiAqICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICogICAgICAgPGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIHdpZHRoLS0xb2YxICB3aWR0aC10YWItLTFvZjJcIj5cbiAqICAgICAgICAgICAuLi5cbiAqICAgICAgIDwvZGl2PjwhLS1cbiAqICAgIC0tPjxkaXYgY2xhc3M9XCJncmlkX19pdGVtICB3aWR0aC0tMW9mMSAgd2lkdGgtdGFiLS0xb2YyXCI+XG4gKiAgICAgICAgICAgLi4uXG4gKiAgICAgICA8L2Rpdj5cbiAqICAgICA8L2Rpdj5cbiAqICAgPC9kaXY+XG4gKiA8L2Rpdj5cbiAqXG4gKiB0aGUgZXhhbXBsZSBhYm92ZSBjb21iaW5lcyB0aGUgZ3JpZCBpdGVtcyB3aXRoIHRoZSB3aWR0aHMgZnJvbSBoZWxwZXIvX3dpZHRoLnNjc3NcbiAqL1xuXG4lZ3JpZCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDA7XG4gIEBpbmNsdWRlIHB4LXRvLXJlbShtYXJnaW4tbGVmdCwgLSRiYXNlVW5pdCk7XG5cbn1cbiVncmlkX19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICBAaW5jbHVkZSBweC10by1yZW0ocGFkZGluZy1sZWZ0LCAkYmFzZVVuaXQpO1xuXG59XG5cbi8qKlxuICogUmV2ZXJzZSB0aGUgb3JkZXIgb2YgZ3JpZCBpdGVtc1xuICovXG4lZ3JpZC0tcmV2ZXJzZWQge1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG5cbi8qKlxuICogYWRkcyBhIHNlcGVyYXRvciBsaW5lIHRvIHRoZSBncmlkXG4gKi9cbiAlZ3JpZC0tc2VwZXJhdG9yIHtcbiAgIEBleHRlbmQgJWdyaWQtLXN0cmV0Y2g7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuICAgPiAuZ3JpZF9faXRlbSB7XG4gICAgICY6YWZ0ZXIge1xuICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICB0b3A6IDA7XG4gICAgICAgd2lkdGg6IDFweDtcbiAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgcmlnaHQ6IGNhbGMoJGJhc2VVbml0LzIpICogLTE7XG4gICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2JvcmRlcicpO1xuICAgICB9XG4gICB9XG4gICAmLmdyaWQtLWZsdXNoIHtcbiAgICA+IC5ncmlkX19pdGVtOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwXG4gICAgfVxuICAgfVxuICAgJi5ncmlkLS1zbWFsbCB7XG4gICAgPiAuZ3JpZF9faXRlbTphZnRlciB7XG4gICAgICByaWdodDogY2FsYygkYmFzZVVuaXQvNCkgKiAtMTtcbiAgICB9XG4gICB9XG4gICAmLmdyaWQtLWxhcmdlIHtcbiAgICA+IC5ncmlkX19pdGVtOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkYmFzZVVuaXQgKiAtMTtcbiAgICB9XG4gICB9XG4gICAmLmdyaWQtLWh1Z2Uge1xuICAgID4gLmdyaWRfX2l0ZW06YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRiYXNlVW5pdCAqIC0xLjU7XG4gICAgfVxuICAgfVxuIH1cblxuXG5cbi8qKlxuICogR3JpZCBpdGVtcyB3aXRob3V0IGd1dHRlcnNcbiAqL1xuJWdyaWQtLWZsdXNoIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgPiAuZ3JpZF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi8qKlxuICogR3JpZCBzaXplIHZhcmlhdGlvbnNcbiAqL1xuJWdyaWQtLXNtYWxsIHtcbiAgQGluY2x1ZGUgcHgtdG8tcmVtKG1hcmdpbi1sZWZ0LCAtKGNhbGMoJGJhc2VVbml0LzIpKSk7XG4gID4gLmdyaWRfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHB4LXRvLXJlbShwYWRkaW5nLWxlZnQsIGNhbGMoJGJhc2VVbml0LzIpKTtcbiAgfVxufVxuXG4lZ3JpZC0tbGFyZ2Uge1xuICBAaW5jbHVkZSBweC10by1yZW0obWFyZ2luLWxlZnQsICgtKCRiYXNlVW5pdCoyKSkpO1xuXG4gID4gLmdyaWRfX2l0ZW0sXG4gID4gJWdyaWRfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHB4LXRvLXJlbShwYWRkaW5nLWxlZnQsICRiYXNlVW5pdCoyKTtcbiAgfVxufVxuXG4lZ3JpZC0taHVnZSB7XG4gIEBpbmNsdWRlIHB4LXRvLXJlbShtYXJnaW4tbGVmdCwgKC0oJGJhc2VVbml0KjMpKSk7XG4gID4gLmdyaWRfX2l0ZW0sXG4gID4gJWdyaWRfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHB4LXRvLXJlbShwYWRkaW5nLWxlZnQsICRiYXNlVW5pdCozKTtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIGdyaWRfbW9kaWZpZXJzKCk7XG5cbkBlYWNoICRrZXksJGJyZWFrIGluICRicmVha3Mge1xuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWspIHtcbiAgICBAaW5jbHVkZSBncmlkX21vZGlmaWVycygka2V5KTtcbiAgfVxufVxuQGlmICRhZGRDc3MgYW5kICRncmlkT2JqZWN0IHtcbiAgLmdyaWQge0BleHRlbmQgJWdyaWQ7fVxuICAuZ3JpZF9faXRlbSB7QGV4dGVuZCAlZ3JpZF9faXRlbTt9XG4gIC5ncmlkLS1yZXZlcnNlZCB7QGV4dGVuZCAlZ3JpZC0tcmV2ZXJzZWQ7fVxuICAuZ3JpZC0tc2VwZXJhdG9yIHtAZXh0ZW5kICVncmlkLS1zZXBlcmF0b3I7fVxuICAuZ3JpZC0tZmx1c2gge0BleHRlbmQgJWdyaWQtLWZsdXNoO31cbiAgLmdyaWQtLXNtYWxsIHtAZXh0ZW5kICVncmlkLS1zbWFsbDt9XG4gIC5ncmlkLS1sYXJnZSB7QGV4dGVuZCAlZ3JpZC0tbGFyZ2U7fVxuICAuZ3JpZC0taHVnZSB7QGV4dGVuZCAlZ3JpZC0taHVnZTt9XG59Ly9AaWZcbiIsIi8qKlxuICogX2J0bi5zY3NzXG4gKlxuICogQXV0aG9yOiBNYXJpYW4gRnJpZWRtYW5uXG4gKlxuICogVXNhZ2U6XG4gKiA8YSBjbGFzcz1cImJ0biBbYnRuLS1zZWNvbmRhcnldXCIgaHJlZj1cIiNcIj5idG48L2E+XG4gKiA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImJ0blwiPlxuICogPGJ1dHRvbiBjbGFzcz1cImJ0blwiPmJ0bjwvYnV0dG9uPlxuICovXG5cbiVidG4ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAkYmFzZUxpbmVIZWlnaHQqMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8qIENvc21ldGljcyAqL1xuICBwYWRkaW5nOiAwZW0gJGJhc2VVbml0O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCdsaW5rJyk7XG4gICY6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2hvdmVyJyk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbiVidG4tLXJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1cztcbn1cblxuJWJ0bi0tcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDQ0ZW07XG59XG5cbiVidG4tLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogQnV0dG9uIGRpc2d1aXNlZCBhcyBhIGxpbmsuICovXG5cbiVidG4tLWxpbmsge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IGNvbG9yKCdsaW5rJyk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IoJ2xpbmsnKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG5AaWYgJGFkZENzcyBhbmQgJGJ1dHRvbk9iamVjdCB7XG4gIC5idG4ge0BleHRlbmQgJWJ0bn07XG4gIC5idG4tLXJvdW5kIHtAZXh0ZW5kICVidG4tLXJvdW5kfTtcbiAgLmJ0bi0tcGlsbCB7QGV4dGVuZCAlYnRuLS1waWxsfTtcbiAgLmJ0bi0tZnVsbCB7QGV4dGVuZCAlYnRuLS1mdWxsfTtcbiAgLmJ0bi0tbGluayB7QGV4dGVuZCAlYnRuLS1saW5rfTtcbn0vL0BpZlxuIiwiXG4vKipcbiAqIF9jb25zdHJhaW4uc2Nzc1xuICpcbiAqIEF1dGhvcjogTWFyaXVzIFNjaGVlbFxuICpcbiAqL1xuXG4lY29uc3RyYWluIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBlYWNoICRrLCRjIGluICRjb25zdHJhaW4ge1xuICAlY29uc3RyYWluLS0jeyRrfSB7XG4gICAgQGluY2x1ZGUgcHgtdG8tcmVtKG1heC13aWR0aCwgJGMpO1xuICB9XG59XG5AaWYgJGFkZENzcyBhbmQgJGNvbnN0cmFpbk9iamVjdCB7XG4gIC5jb25zdHJhaW4ge1xuICAgIEBleHRlbmQgJWNvbnN0cmFpbjtcbiAgfVxuICBAZWFjaCAkaywkYyBpbiAkY29uc3RyYWluIHtcbiAgICAuY29uc3RyYWluLS0jeyRrfSB7XG4gICAgICBAZXh0ZW5kICVjb25zdHJhaW4tLSN7JGt9O1xuICAgIH1cbiAgfVxufSAvLyBlbmRpZlxuIiwiLyoqXG4gKiBfbmF2LnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKiBzb3VyY2U6IE5hdiBhYnN0cmFjdGlvbiBmcm9tIGNzc3dpemFyZHJ5LmNvbS8yMDExLzA5L3RoZS1uYXYtYWJzdHJhY3Rpb25cbiAqXG4gKiBDYW4gYmUgdXNlZCBvbiBhbiBgb2xgIG9yIGB1bGAgYW5kIGRpc3BsYXlzIHRoZSBsaXN0IGl0ZW1zIGhvcml6b250YWxseS5cbiAqIEV4dGVuZCBpdCB3aXRoIHRoZSBmb2xsb3dpbmcgc3ViY2xhc3NlczpcbiAqXG4gKiAtIG5hdi0tc3RhY2tlZCAgICAvLyBkaXNwbGF5cyB0aGUgbGlzdCBpdGVtcyB2ZXJ0aWNhbGx5XG4gKiAtIG5hdi0tYmFubmVyICAgICAvLyBjZW50cmVzIHRoZSBsaXN0XG4gKiAtIG5hdi0tYmxvY2sgICAgICAvLyBleHBhbmRzIGxpc3QgaXRlbXMgY2xpY2thYmxlIGFyZWFzXG4gKiAtIG5hdi0tZml0ICAgICAgICAvLyBmb3JjZXMgdGhlIGxpc3QgdG8gb2NjdXB5IHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBwYXJlbnRcbiAqIC0gbmF2LS1rZXl3b3JkcyAgIC8vIGRpc3BsYXkgYXMgYSBsaXN0IG9mIGtleXdvcmRzXG4gKiAtIG5hdi0tYnJlYWRjcnVtYiAvLyBkaXNwbGF5IGFzIGJyZWFkY3J1bWJzXG4gKiAtIG5hdi0tcGFyYWxsZWwgICAvLyBkaXNwbGF5IG5hdiBpdGVtcyB3aXRoIHBhcmFsbGVsIHNlcGFyYXRvclxuICpcbiAqIE1hcmt1cDpcbiAqXG4gKiA8dWwgY2xhc3M9XCJuYXZcIj5cbiAqICAgPGxpPjxhIGhyZWY9Iz5Ib21lPC9hPjwvbGk+XG4gKiAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAqICAgPGxpPjxhIGhyZWY9Iz5Qb3J0Zm9saW88L2E+PC9saT5cbiAqICAgPGxpPjxhIGhyZWY9Iz5Db250YWN0PC9hPjwvbGk+XG4gKiA8L3VsPlxuICovXG5cbiVuYXYge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBAaW5jbHVkZSBweC10by1yZW0obWFyZ2luLCAwIDAgJGJhc2VVbml0IDApO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgPiBsaSB7XG4gICAgJixcbiAgICA+IGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqICduYXYtc3RhY2tlZCcgZGlzcGxheXMgdGhlIGxpc3QgaXRlbXMgdmVydGljYWxseVxuICovXG5cbiVuYXYtLXN0YWNrZWQge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqICduYXYtYmFubmVyJyBjZW50cmVzIHRoZSBsaXN0XG4gKi9cblxuJW5hdi0tYmFubmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqICduYXYtLWJsb2NrJyBleHBhbmRzIGxpc3QgaXRlbXMgY2xpY2thYmxlIGFyZWFzIHdpdGggcGFkZGluZ1xuICovXG5cbiVuYXYtLWJsb2NrIHtcbiAgLy9saW5lLWhlaWdodDoxO1xuICAvKiByZW1vdmVzIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjMxZW07XG4gIHdvcmQtc3BhY2luZzogLTAuNDNlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgPiBsaSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgPiBhIHtcbiAgICAgIHBhZGRpbmc6IC43NWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqICduYXYtLWZpdCcgZm9yY2VzIHRoZSBsaXN0IHRvIG9jY3VweSB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgcGFyZW50XG4gKi9cblxuJW5hdi0tZml0IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogJ25hdi0ta2V5d29yZHMnIGRpc3BsYXkgYXMgYSBsaXN0IG9mIGtleXdvcmRzXG4gKi9cblxuJW5hdi0ta2V5d29yZHMge1xuICA+IGxpIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMDJDXCIgXCJcXDAwQTBcIjtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogJ25hdi0tYnJlYWRjcnVtYnMnIGRpc3BsYXkgYXMgYnJlYWRjcnVtYnNcbiAqL1xuXG4lbmF2LS1icmVhZGNydW1icyB7XG4gID4gbGkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDI3RTlcIiBcIlxcMDBBMFwiO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkOmJlZm9yZXtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogJ25hdi0tcGFyYWxsZWwnIGRpc3BsYXkgd2l0aCBwYXJhbGxlbCBzZXBhcmF0b3JcbiAqL1xuXG4lbmF2LS1wYXJhbGxlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBweC10by1yZW0ocGFkZGluZy1sZWZ0LCBjYWxjKCRiYXNlVW5pdC80KSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMDA3Q1wiO1xuICAgICAgQGluY2x1ZGUgcHgtdG8tcmVtKG1hcmdpbi1yaWdodCwgY2FsYygkYmFzZVVuaXQvNCkpO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQGlmICRhZGRDc3MgYW5kICRuYXZPYmplY3Qge1xuICAubmF2IHtAZXh0ZW5kICVuYXY7fVxuICAubmF2LS1zdGFja2VkIHtAZXh0ZW5kICVuYXYtLXN0YWNrZWQ7fVxuICAubmF2LS1iYW5uZXIge0BleHRlbmQgJW5hdi0tYmFubmVyO31cbiAgLm5hdi0tYmxvY2sge0BleHRlbmQgJW5hdi0tYmxvY2s7fVxuICAubmF2LS1maXQge0BleHRlbmQgJW5hdi0tZml0O31cbiAgLm5hdi0ta2V5d29yZHMge0BleHRlbmQgJW5hdi0ta2V5d29yZHM7fVxuICAubmF2LS1icmVhZGNydW1icyB7QGV4dGVuZCAlbmF2LS1icmVhZGNydW1iczt9XG4gIC5uYXYtLXBhcmFsbGVsIHtAZXh0ZW5kICVuYXYtLXBhcmFsbGVsO31cbn0vL0BpZlxuIiwiXG4vKipcbiAqIF9ib3guc2Nzc1xuICpcbiAqIG1vZGlmaWVkIHZlcnNpb24gb2Y6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaW51aXRjc3Mvb2JqZWN0cy5ib3gvYmxvYi9tYXN0ZXIvX29iamVjdHMuYm94LnNjc3NcbiAqXG4gKi9cblxuJWJveCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgcHgtdG8tcmVtKHBhZGRpbmcsIGNhbGMoJGJhc2VVbml0LzIpKTtcblxuICA+ICo6bGFzdC1jaGlsZCxcbiAgPiAqOmxhc3QtY2hpbGQgPiAqOmxhc3QtY2hpbGQsXG4gID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbiVib3gtLXNtYWxsIHtcbiAgQGluY2x1ZGUgcHgtdG8tcmVtKHBhZGRpbmcsIGNhbGMoJGJhc2VVbml0LzQpKTtcbn1cblxuJWJveC0tbGFyZ2Uge1xuICBAaW5jbHVkZSBweC10by1yZW0ocGFkZGluZywgJGJhc2VVbml0KTtcbn1cblxuQGlmICRhZGRDc3MgYW5kICRib3hPYmplY3Qge1xuICAuYm94IHtAZXh0ZW5kICVib3g7fVxuICAuYm94LS1zbWFsbCB7QGV4dGVuZCAlYm94LS1zbWFsbDt9XG4gIC5ib3gtLWxhcmdlIHtAZXh0ZW5kICVib3gtLWxhcmdlO31cbn0vL0BpZiAkYm94T2JqZWN0XG4iLCJcbi8qKlxuICogX21lZGlhLnNjc3NcbiAqXG4gKiBkaXNwbGF5cyBpbWFnZSBhbmQgdGV4dCBzaWRlIGJ5IHNpZGVcbiAqXG4gKiBFeGFtcGxlIG1hcmt1cDpcbiAqXG4gICAgPGRpdiBjbGFzcz1cIm1lZGlhIG1lZGlhLS1zbWFsbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1lZGlhX19pbWdcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZWRpYV9fYm9keVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICpcbiAqIHVzZSB0aGUgYC5tZWRpYS0tcmV2YCBtb2RpZmllciB0byByZXZlcnNlIHRoZSB0aGUgaW1hZ2UgbG9jYXRpb24gYW5kIHB1dCBpdCB0byB0aGUgcmlnaHRcbiAqIHVzZSB0aGUgYC5tZWRpYS0tc21hbGxgIG1vZGlmaWVyLCB0byBkZWNyZWFzZSB0aGUgZ3V0dGVyIHdpZHRoIGJldHdlZW4gaW1hZ2UgYW5kIGNvbnRlbnRcbiAqXG4gKiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBoYXZlIGEgbG9vayBhdDpcbiAqIHN0dWJib3JuZWxsYS5vcmcvY29udGVudC8yMDEwLzA2LzI1L3RoZS1tZWRpYS1vYmplY3Qtc2F2ZXMtaHVuZHJlZHMtb2YtbGluZXMtb2YtY29kZVxuICpcbiAqL1xuXG4lbWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgQGVhY2ggJGtleSwkYnJlYWsgaW4gJGJyZWFrcyB7XG4gICAgJi0tI3ska2V5fXtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWspe1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lbWVkaWFfX2ltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGluY2x1ZGUgcHgtdG8tcmVtKG1hcmdpbi1yaWdodCwgJGJhc2VVbml0KTtcbiAgLm1lZGlhX19ib2R5ICsgJntcbiAgICBAaW5jbHVkZSBweC10by1yZW0obWFyZ2luLWxlZnQsICRiYXNlVW5pdCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlYWNoICRrZXksJGJyZWFrIGluICRicmVha3Mge1xuICAgIC5tZWRpYS0tI3ska2V5fSAmIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAkYnJlYWsgLSAxKXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuJW1lZGlhX19ib2R5IHtcbiAgZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuJW1lZGlhLS1zbWFsbCB7XG4gIC5tZWRpYV9faW1nIHtcbiAgICBAaW5jbHVkZSBweC10by1yZW0obWFyZ2luLXJpZ2h0LCBjYWxjKCRiYXNlVW5pdC8yKSk7XG4gIH1cbn1cbiVtZWRpYS0tYmlnIHtcbiAgLm1lZGlhX19pbWcge1xuICAgIEBpbmNsdWRlIHB4LXRvLXJlbShtYXJnaW4tcmlnaHQsICRiYXNlVW5pdCoyKTtcbiAgfVxufVxuQGlmICRhZGRDc3MgYW5kICRtZWRpYU9iamVjdCB7XG4gIC5tZWRpYSB7QGV4dGVuZCAlbWVkaWE7fVxuICBAZWFjaCAka2V5LCRicmVhayBpbiAkYnJlYWtzIHtcbiAgICAubWVkaWEtLSN7JGtleX17XG4gICAgICBAZXh0ZW5kICVtZWRpYS0tI3ska2V5fTtcbiAgICB9XG4gIH1cbiAgLm1lZGlhX19pbWcge0BleHRlbmQgJW1lZGlhX19pbWc7fVxuICAubWVkaWFfX2JvZHkge0BleHRlbmQgJW1lZGlhX19ib2R5O31cbiAgLm1lZGlhLS1zbWFsbCB7QGV4dGVuZCAlbWVkaWEtLXNtYWxsO31cbiAgLm1lZGlhLS1iaWcge0BleHRlbmQgJW1lZGlhLS1iaWc7fVxufVxuIiwiXG4vKipcbiAqIF9iYXJlLWxpc3Quc2Nzc1xuICpcbiAqL1xuXG4lYmFyZS1saXN0IHtcbiAgbWFyZ2luOiAgMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuQGlmICRhZGRDc3MgYW5kICRiYXJlTGlzdE9iamVjdCB7XG4gIC5iYXJlLWxpc3Qge1xuICAgIEBleHRlbmQgJWJhcmUtbGlzdDtcbiAgfVxufVxuIiwiLyoqXG4gKiBfdWktbGlzdC5zY3NzXG4gKlxuICogYmFzZWQgb24gSGFycnkgUm9iZXJ0cyB1aS1saXN0IG9iamVjdDpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9pbnVpdGNzcy9vYmplY3RzLnVpLWxpc3QvYmxvYi9tYXN0ZXIvX29iamVjdHMudWktbGlzdC5zY3NzXG4gKlxuICogY3JlYXRlcyBibG9ja3kgaXRlbXMsIGNhbiBiZSB1c2VkIHdpdGggbGlzdHMgb3IgdGhlIGNvcnJlc3BvbmRpbmcgbWFya3VwOlxuICpcbiAqIDxkaXYgY2xhc3M9XCJ1aS1saXN0XCI+XG4gKiAgPGRpdiBjbGFzcz1cInVpLWxpc3RfX2l0ZW1cIj48L2Rpdj5cbiAqICA8ZGl2IGNsYXNzPVwidWktbGlzdF9faXRlbVwiPjwvZGl2PlxuICogIDxkaXYgY2xhc3M9XCJ1aS1saXN0X19pdGVtXCI+PC9kaXY+XG4gKiA8L2Rpdj5cbiAqXG4gKiBvcjpcbiAqXG4gKiA8dWwgY2xhc3M9XCJ1aS1saXN0IHVpLWxpc3QtLXNtYWxsXCI+XG4gKiAgPGxpPjwvbGk+XG4gKiAgPGxpPjwvbGk+XG4gKiAgPGxpPjwvbGk+XG4gKiA8L3VsPlxuICpcbiAqIGNhbiBvcHRpb25hbGx5IGJlIHVzZWQgd2l0aCAtLXNlcGFyYXRvciBhbmQgLS1ib3JkZXIsIHdoZXJlIC0tc2VwYXJhdG9yXG4gKiBhZGRzIGJvcmRlcnMgdG8gdGhlIGxpc3QgZWxlbWVudCBhbmQgLS1ib3JkZXIgdG8gdGhlIGxpc3QgaXRzZWxmXG4gKlxuICogY29tZXMgd2l0aCBkaWZmZXJlbnQgc2l6ZSBtb2RpZmllcnNcbiAqXG4gKi9cblxuJXVpLWxpc3Qge1xuICBtYXJnaW46ICAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gID4gbGkge1xuICAgIEBleHRlbmQgJXVpLWxpc3RfX2l0ZW07XG4gIH1cbn1cblxuICAldWktbGlzdF9faXRlbSB7XG4gICAgQGluY2x1ZGUgcHgtdG8tcmVtKHBhZGRpbmcsIGNhbGMoJGJhc2VVbml0LzIpKTtcbiAgfVxuXG4ldWktbGlzdC0tc2VwYXJhdG9yLFxuICAldWktbGlzdF9faXRlbSB7XG4gICAgYm9yZGVyOiAwIHNvbGlkIGNvbG9yKCdib3JkZXInKTtcbiAgfVxuXG4ldWktbGlzdC0tc2VwYXJhdG9yIHtcbiAgPiBsaSxcbiAgPiAudWktbGlzdF9faXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICB9XG5cbiAgPiBsaTpmaXJzdC1jaGlsZCxcbiAgPiAudWktbGlzdF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG5cbiV1aS1saXN0LS1ib3JkZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbn1cblxuLyoqXG4gKiBNb2RpZmllcnMgZm9yIHNpemluZyB0aGUgbGlzdFxuICovXG4ldWktbGlzdC0tc21hbGwge1xuICA+IC51aS1saXN0X19pdGVtIHtcbiAgICBAaW5jbHVkZSBweC10by1yZW0ocGFkZGluZywgY2FsYygkYmFzZVVuaXQvNCkpO1xuICB9XG59XG5cbiV1aS1saXN0LS1sYXJnZSB7XG4gID4gLnVpLWxpc3RfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHB4LXRvLXJlbShwYWRkaW5nLCAkYmFzZVVuaXQpO1xuICB9XG59XG5AaWYgJGFkZENzcyBhbmQgJHVpTGlzdE9iamVjdCB7XG4gIC51aS1saXN0IHtAZXh0ZW5kICV1aS1saXN0O31cbiAgLnVpLWxpc3RfX2l0ZW0ge0BleHRlbmQgJXVpLWxpc3RfX2l0ZW07fVxuICAudWktbGlzdC0tc2VwYXJhdG9yIHtAZXh0ZW5kICV1aS1saXN0LS1zZXBhcmF0b3I7fVxuICAudWktbGlzdC0tYm9yZGVye0BleHRlbmQgJXVpLWxpc3QtLWJvcmRlcjt9XG4gIC51aS1saXN0LS1zbWFsbHtAZXh0ZW5kICV1aS1saXN0LS1zbWFsbDt9XG4gIC51aS1saXN0LS1sYXJnZXtAZXh0ZW5kICV1aS1saXN0LS1sYXJnZTt9XG59XG4iLCJcbi8qKlxuICogX2Fycm93LnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKiBVc2FnZTpcbiAqIDxkaXYgY2xhc3M9XCJhcnJvdyBhcnJvdy0tdG9wLWxlZnRcIj5cbiAqICAuLi5cbiAqIDwvZGl2PlxuICpcbiAqL1xuXG4lYXJyb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG59XG5cbi8qKlxuICogQXJyb3cgVG9wXG4gKi9cblxuJWFycm93LS10b3AsXG4lYXJyb3ctLXRvcC1sZWZ0LFxuJWFycm93LS10b3AtcmlnaHQge1xuICAmOmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6ICRhcnJvd1NpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkYXJyb3dTaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRhcnJvd1NpemUgc29saWQgI2ZmZjtcbiAgICB0b3A6IC0kYXJyb3dTaXplO1xuICB9XG4gIEBlYWNoICRrZXksJGNvbG9yIGluICRjb2xvcnN7XG4gICAgJi5hcnJvdy0tY29sb3ItI3ska2V5fSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuJWFycm93LS10b3Age1xuICAmOmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGFycm93U2l6ZTtcbiAgfVxufVxuXG4lYXJyb3ctLXRvcC1sZWZ0IHtcbiAgJjpiZWZvcmUge1xuICAgIGxlZnQ6ICRiYXNlVW5pdDtcbiAgICBsZWZ0OiB0b1JlbSgkYmFzZVVuaXQpO1xuICB9XG59XG5cbiVhcnJvdy0tdG9wLXJpZ2h0IHtcbiAgJjpiZWZvcmUge1xuICAgIHJpZ2h0OiAkYmFzZVVuaXQ7XG4gICAgcmlnaHQ6IHRvUmVtKCRiYXNlVW5pdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBBcnJvdyBCb3R0b21cbiAqL1xuXG4lYXJyb3ctLWJvdHRvbSxcbiVhcnJvdy0tYm90dG9tLWxlZnQsXG4lYXJyb3ctLWJvdHRvbS1yaWdodCB7XG4gICY6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdDogJGFycm93U2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6ICRhcnJvd1NpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogJGFycm93U2l6ZSBzb2xpZCAjZmZmO1xuICAgIGJvdHRvbTogLSRhcnJvd1NpemU7XG4gIH1cbiAgQGVhY2ggJGtleSwkY29sb3IgaW4gJGNvbG9yc3tcbiAgICAmLmFycm93LS1jb2xvci0jeyRrZXl9IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lYXJyb3ctLWJvdHRvbSB7XG4gICY6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYXJyb3dTaXplO1xuICB9XG59XG5cbiVhcnJvdy0tYm90dG9tLWxlZnQge1xuICAmOmJlZm9yZSB7XG4gICAgbGVmdDogJGJhc2VVbml0O1xuICAgIGxlZnQ6IHRvUmVtKCRiYXNlVW5pdCk7XG4gIH1cbn1cblxuJWFycm93LS1ib3R0b20tcmlnaHQge1xuICAmOmJlZm9yZSB7XG4gICAgcmlnaHQ6ICRiYXNlVW5pdDtcbiAgICByaWdodDogdG9SZW0oJGJhc2VVbml0KTtcbiAgfVxufVxuXG4vKipcbiAqIEFycm93IExlZnRcbiAqL1xuXG4lYXJyb3ctLWxlZnQsXG4lYXJyb3ctLWxlZnQtdG9wLFxuJWFycm93LS1sZWZ0LWJvdHRvbSB7XG4gICY6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiAkYXJyb3dTaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRhcnJvd1NpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkYXJyb3dTaXplIHNvbGlkICNmZmY7XG4gICAgbGVmdDogLSRhcnJvd1NpemU7XG4gIH1cbiAgQGVhY2ggJGtleSwkY29sb3IgaW4gJGNvbG9yc3tcbiAgICAmLmFycm93LS1jb2xvci0jeyRrZXl9IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiVhcnJvdy0tbGVmdCB7XG4gICY6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtJGFycm93U2l6ZTtcbiAgfVxufVxuXG4lYXJyb3ctLWxlZnQtdG9wIHtcbiAgJjpiZWZvcmUge1xuICAgIHRvcDogJGJhc2VVbml0O1xuICAgIHRvcDogdG9SZW0oJGJhc2VVbml0KTtcbiAgfVxufVxuXG4lYXJyb3ctLWxlZnQtYm90dG9tIHtcbiAgJjpiZWZvcmUge1xuICAgIGJvdHRvbTogJGJhc2VVbml0O1xuICAgIGJvdHRvbTogdG9SZW0oJGJhc2VVbml0KTtcbiAgfVxufVxuXG4vKipcbiAqIEFycm93IFJpZ2h0XG4gKi9cblxuJWFycm93LS1yaWdodCxcbiVhcnJvdy0tcmlnaHQtdG9wLFxuJWFycm93LS1yaWdodC1ib3R0b20ge1xuICAmOmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcDogJGFycm93U2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkYXJyb3dTaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAkYXJyb3dTaXplIHNvbGlkICNmZmY7XG4gICAgcmlnaHQ6IC0kYXJyb3dTaXplO1xuICB9XG4gIEBlYWNoICRrZXksJGNvbG9yIGluICRjb2xvcnN7XG4gICAgJi5hcnJvdy0tY29sb3ItI3ska2V5fSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiVhcnJvdy0tcmlnaHQge1xuICAmOmJlZm9yZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLSRhcnJvd1NpemU7XG4gIH1cbn1cblxuJWFycm93LS1yaWdodC10b3Age1xuICAmOmJlZm9yZSB7XG4gICAgdG9wOiAkYmFzZVVuaXQ7XG4gICAgdG9wOiB0b1JlbSgkYmFzZVVuaXQpO1xuICB9XG59XG5cbiVhcnJvdy0tcmlnaHQtYm90dG9tIHtcbiAgJjpiZWZvcmUge1xuICAgIGJvdHRvbTogJGJhc2VVbml0O1xuICAgIGJvdHRvbTogdG9SZW0oJGJhc2VVbml0KTtcbiAgfVxufVxuQGlmICRhZGRDc3MgYW5kICRhcnJvd09iamVjdCB7XG4gIC5hcnJvdyB7QGV4dGVuZCAlYXJyb3c7fVxuXG4gIC5hcnJvdy0tdG9wIHtAZXh0ZW5kICVhcnJvdy0tdG9wO31cbiAgLmFycm93LS10b3AtbGVmdCB7QGV4dGVuZCAlYXJyb3ctLXRvcC1sZWZ0O31cbiAgLmFycm93LS10b3AtcmlnaHQge0BleHRlbmQgJWFycm93LS10b3AtcmlnaHQ7fVxuXG4gIC5hcnJvdy0tYm90dG9tIHtAZXh0ZW5kICVhcnJvdy0tYm90dG9tO31cbiAgLmFycm93LS1ib3R0b20tbGVmdCB7QGV4dGVuZCAlYXJyb3ctLWJvdHRvbS1sZWZ0O31cbiAgLmFycm93LS1ib3R0b20tcmlnaHQge0BleHRlbmQgJWFycm93LS1ib3R0b20tcmlnaHQ7fVxuXG4gIC5hcnJvdy0tbGVmdCB7QGV4dGVuZCAlYXJyb3ctLWxlZnQ7fVxuICAuYXJyb3ctLWxlZnQtdG9wIHtAZXh0ZW5kICVhcnJvdy0tbGVmdC10b3A7fVxuICAuYXJyb3ctLWxlZnQtYm90dG9tIHtAZXh0ZW5kICVhcnJvdy0tbGVmdC1ib3R0b207fVxuXG4gIC5hcnJvdy0tcmlnaHQge0BleHRlbmQgJWFycm93LS1yaWdodDt9XG4gIC5hcnJvdy0tcmlnaHQtdG9wIHtAZXh0ZW5kICVhcnJvdy0tcmlnaHQtdG9wO31cbiAgLmFycm93LS1yaWdodC1ib3R0b20ge0BleHRlbmQgJWFycm93LS1yaWdodC1ib3R0b207fVxufS8vQGlmXG4iLCIvKipcbiAqIF9pY29uLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKiBVc2FnZTpcbiAqIDxpIGNsYXNzPVwiaWNvbiBbaWNvbi0tbmF2LXRvZ2dsZV1cIj48L2k+XG4gKlxuICovXG5cbi8qKlxuICogQWxsZSBpY29ucyB3ZXJkZW4gYWxzIC5zdmcgZXhwb3J0aWVydCB1bnRlclxuICogL2Fzc2V0cy9pbWFnZXMvaWNvbnMgYWJnZWxlZ3QgdW5kIHZvbiBncnVudC1zdmdtaW5cbiAqIHVuZCBncnVudC1ncnVudGljb24gd2VpdGVydmVyYXJiZWl0ZXQuXG4gKlxuICogT3V0cHV0IHVudGVyIC9hc3NldHMvaW1hZ2VzL2ljb25zL2dydW50aWNvblxuICovXG5cbiVpY29uIHtcbiAgd2lkdGg6ICRiYXNlVW5pdDtcbiAgaGVpZ2h0OiAkYmFzZVVuaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQGlmICRhZGRDc3Mge1xuICAuaWNvbiB7XG4gICAgQGV4dGVuZCAlaWNvbjtcbiAgfVxufVxuXG4vKipcbiAqIEJlaXNwaWVsIGbDvHIgZWluIEljb25cbiAqXG4gKiAuaWNvbi0tbW9iaWxlLW5hdi10b2dnbGUge1xuICogICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXN2ZyhcIi4uL2ltYWdlcy9uYXYtdG9nZ2xlXCIpO1xuICogfVxuICovXG4iLCJAbWl4aW4gc3BhY2UoJG11bHRpcGxpZXI6IDEsICRuYW1lOiAnJywgJHNjb3BlOiAnJykge1xuICBAaWYgJG5hbWUgPT0gJ2RlZmF1bHQnIHskbmFtZTogJyd9XG5cbiAgQGlmICRzY29wZSAhPSAnJyB7ICRzY29wZTogLSN7JHNjb3BlfTsgfVxuICBAaWYgJG5hbWUgICE9ICcnIHsgJG5hbWU6IC0jeyRuYW1lfTsgfVxuXG4gICVzcGFjZSN7JHNjb3BlfS0tdG9wI3skbmFtZX0ge1xuICAgIG1hcmdpbi10b3A6ICRiYXNlVW5pdCAqICRtdWx0aXBsaWVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogdG9SZW0oJGJhc2VVbml0ICogJG11bHRpcGxpZXIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAlc3BhY2UjeyRzY29wZX0tLWxlZnQjeyRuYW1lfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRiYXNlVW5pdCAqICRtdWx0aXBsaWVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IHRvUmVtKCRiYXNlVW5pdCAqICRtdWx0aXBsaWVyKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJXNwYWNlI3skc2NvcGV9LS1yaWdodCN7JG5hbWV9IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlVW5pdCAqICRtdWx0aXBsaWVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiB0b1JlbSgkYmFzZVVuaXQgKiAkbXVsdGlwbGllcikgIWltcG9ydGFudDtcbiAgfVxuXG4gICVzcGFjZSN7JHNjb3BlfS0tYm90dG9tI3skbmFtZX0ge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlVW5pdCAqICRtdWx0aXBsaWVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogdG9SZW0oJGJhc2VVbml0ICogJG11bHRpcGxpZXIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaWYgJGFkZENzcyBhbmQgJHNwYWNpbmdIZWxwZXIge1xuICAgIC5zcGFjZSN7JHNjb3BlfS0tdG9wI3skbmFtZX0ge1xuICAgICAgQGV4dGVuZCAlc3BhY2UjeyRzY29wZX0tLXRvcCN7JG5hbWV9O1xuICAgIH1cbiAgICAuc3BhY2UjeyRzY29wZX0tLWxlZnQjeyRuYW1lfSB7XG4gICAgICBAZXh0ZW5kICVzcGFjZSN7JHNjb3BlfS0tbGVmdCN7JG5hbWV9O1xuICAgIH1cbiAgICAuc3BhY2UjeyRzY29wZX0tLXJpZ2h0I3skbmFtZX0ge1xuICAgICAgQGV4dGVuZCAlc3BhY2UjeyRzY29wZX0tLXJpZ2h0I3skbmFtZX07XG4gICAgfVxuICAgIC5zcGFjZSN7JHNjb3BlfS0tYm90dG9tI3skbmFtZX0ge1xuICAgICAgQGV4dGVuZCAlc3BhY2UjeyRzY29wZX0tLWJvdHRvbSN7JG5hbWV9O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIF9zcGFjaW5nLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKiBVc2FnZTpcbiAqIDxkaXYgY2xhc3M9XCJzcGFjZS0tdG9wICBzcGFjZS10YWItLXRvcC1kb3VibGVcIj5cbiAqICAgLi4uXG4gKiA8L2Rpdj5cbiAqXG4gKi9cblxuLyoqXG4gKiBCYXNpYyAmIHNwYWNpbmdcbiAqL1xuXG5AZWFjaCAkaywkcyBpbiAkc3BhY2Uge1xuICBAaW5jbHVkZSBzcGFjZSgkcywkayk7XG59XG5AZWFjaCAka2V5LCRicmVhayBpbiAkYnJlYWtzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrKSB7XG4gICAgQGVhY2ggJGssJHMgaW4gJHNwYWNlIHtcbiAgICAgIEBpbmNsdWRlIHNwYWNlKCRzLCRrLCRrZXkpO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHdpZHRocygkc2NvcGU6ICcnKSB7XG4gIEBpZiAkc2NvcGUgIT0gJycgeyAkc2NvcGU6IC0jeyRzY29wZX07IH1cblxuICAkbW9kaWZpZXItc2VwZXJhdG9yOiAnLS0nO1xuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MCAgICAgICAgICB7IG1heC13aWR0aDogMCUgIWltcG9ydGFudDsgZGlzcGxheTogbm9uZTsgLW1zLWZsZXg6IDAlOyBmbGV4OiAwJTt9XG5cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjEsXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0yb2YyLFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mMyxcbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTRvZjQsXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn01b2Y1LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Nm9mNiwgICAgICB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDEwMCU7IGZsZXg6IDEwMCU7fVxuXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2YyLFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mNCxcbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTNvZjYsXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn00b2Y4LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9NW9mMTAsXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn02b2YxMiAgICAgIHsgbWF4LXdpZHRoOiA1MCUgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2s7IC1tcy1mbGV4OiA1MCU7IGZsZXg6IDUwJTt9XG5cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjMsXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0yb2Y2LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mOSxcbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTRvZjEyICAgICAgeyBtYXgtd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDMzLjMzMzMzJTsgZmxleDogMzMuMzMzMzMlO31cblxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mMyxcbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTRvZjYsXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn02b2Y5LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9OG9mMTIgICAgICB7IG1heC13aWR0aDogNjYuNjY2NjYlICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyAtbXMtZmxleDogNjYuNjY2NjYlOyBmbGV4OiA2Ni42NjY2NiU7fVxuXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2Y0LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mOCxcbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTNvZjEyICAgICAgeyBtYXgtd2lkdGg6IDI1JSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDI1JTsgZmxleDogMjUlO31cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTNvZjQsXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn02b2Y4LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9OW9mMTIgICAgICB7IG1heC13aWR0aDogNzUlICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyAtbXMtZmxleDogNzUlOyBmbGV4OiA3NSU7fVxuXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2Y1LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mMTAgICAgICB7IG1heC13aWR0aDogMjAlICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyAtbXMtZmxleDogMjAlOyBmbGV4OiAyMCU7fVxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mNSxcbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTRvZjEwICAgICAgeyBtYXgtd2lkdGg6IDQwJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDQwJTsgZmxleDogNDAlO31cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTNvZjUsXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn02b2YxMCAgICAgIHsgbWF4LXdpZHRoOiA2MCUgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2s7IC1tcy1mbGV4OiA2MCU7IGZsZXg6IDYwJTt9XG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn00b2Y1LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9OG9mMTAgICAgICB7IG1heC13aWR0aDogODAlICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyAtbXMtZmxleDogODAlOyBmbGV4OiA4MCU7fVxuXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2Y2LFxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mMTIgICAgICB7IG1heC13aWR0aDogMTYuNjY2NjYlICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyAtbXMtZmxleDogMTYuNjY2NjYlOyBmbGV4OiAxNi42NjY2NiU7fVxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9NW9mNixcbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTEwb2YxMiAgICAgeyBtYXgtd2lkdGg6IDgzLjMzMzMzJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDgzLjMzMzMzJTsgZmxleDogODMuMzMzMzMlO31cblxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mOCAgICAgICB7IG1heC13aWR0aDogMTIuNSUgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2s7IC1tcy1mbGV4OiAxMi41JTsgZmxleDogMTIuNSU7fVxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mOCAgICAgICB7IG1heC13aWR0aDogMzcuNSUgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2s7IC1tcy1mbGV4OiAzNy41JTsgZmxleDogMzcuNSU7fVxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9NW9mOCAgICAgICB7IG1heC13aWR0aDogNjIuNSUgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2s7IC1tcy1mbGV4OiA2Mi41JTsgZmxleDogNjIuNSU7fVxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9N29mOCAgICAgICB7IG1heC13aWR0aDogODcuNSUgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2s7IC1tcy1mbGV4OiA4Ny41JTsgZmxleDogODcuNSU7fVxuXG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2Y5ICAgICAgIHsgbWF4LXdpZHRoOiAxMS4xMTExMTExJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDExLjExMTExMTElOyBmbGV4OiAxMS4xMTExMTExJTt9XG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0yb2Y5ICAgICAgIHsgbWF4LXdpZHRoOiAyMi4yMjIyMjIyJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDIyLjIyMjIyMjIlOyBmbGV4OiAyMi4yMjIyMjIyJTt9XG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn00b2Y5ICAgICAgIHsgbWF4LXdpZHRoOiA0NC40NDQ0NDQ0JSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDQ0LjQ0NDQ0NDQlOyBmbGV4OiA0NC40NDQ0NDQ0JTt9XG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn01b2Y5ICAgICAgIHsgbWF4LXdpZHRoOiA1NS41NTU1NTU1JSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDU1LjU1NTU1NTUlOyBmbGV4OiA1NS41NTU1NTU1JTt9XG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn03b2Y5ICAgICAgIHsgbWF4LXdpZHRoOiA3Ny43Nzc3Nzc3JSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDc3Ljc3Nzc3NzclOyBmbGV4OiA3Ny43Nzc3Nzc3JTt9XG4gICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn04b2Y5ICAgICAgIHsgbWF4LXdpZHRoOiA4OC44ODg4ODg4JSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDg4Ljg4ODg4ODglOyBmbGV4OiA4OC44ODg4ODg4JTt9XG5cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjEwICAgICAgeyBtYXgtd2lkdGg6IDEwJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDEwJTsgZmxleDogMTAlO31cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTNvZjEwICAgICAgeyBtYXgtd2lkdGg6IDMwJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDMwJTsgZmxleDogMzAlO31cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTdvZjEwICAgICAgeyBtYXgtd2lkdGg6IDcwJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDcwJTsgZmxleDogNzAlO31cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTlvZjEwICAgICAgeyBtYXgtd2lkdGg6IDkwJSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jazsgLW1zLWZsZXg6IDkwJTsgZmxleDogOTAlO31cblxuICAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mMTIgICAgICB7IG1heC13aWR0aDogIDguMzMzMzMzMyUgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2s7IC1tcy1mbGV4OiA4LjMzMzMzMzMlOyBmbGV4OiA4LjMzMzMzMzMlO31cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTVvZjEyICAgICAgeyBtYXgtd2lkdGg6IDQxLjY2NjY2NjYlICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyAtbXMtZmxleDogNDEuNjY2NjY2NiU7IGZsZXg6IDQxLjY2NjY2NjYlO31cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTdvZjEyICAgICAgeyBtYXgtd2lkdGg6IDU4LjMzMzMzMzMlICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyAtbXMtZmxleDogNTguMzMzMzMzMyU7IGZsZXg6IDU4LjMzMzMzMzMlO31cbiAgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTExb2YxMiAgICAgeyBtYXgtd2lkdGg6IDkxLjY2NjY2NjYlICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrOyAtbXMtZmxleDogOTEuNjY2NjY2NiU7IGZsZXg6IDkxLjY2NjY2NjYlO31cblxuICBAaWYgJGFkZENzcyBhbmQgJHdpZHRoSGVscGVyIHtcbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MCB7QGV4dGVuZCAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MDt9XG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjEsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTJvZjIsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTNvZjMsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTRvZjQsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTVvZjUsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTZvZjYge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjE7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2YyLFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0yb2Y0LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0zb2Y2LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn00b2Y4LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn01b2YxMCxcbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Nm9mMTIge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjI7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2YzLFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0yb2Y2LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0zb2Y5LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn00b2YxMiB7QGV4dGVuZCAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mMzt9XG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTJvZjMsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTRvZjYsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTZvZjksXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfThvZjEyIHtAZXh0ZW5kICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0yb2YzO31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mNCxcbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mOCxcbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mMTIge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjQ7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0zb2Y0LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn02b2Y4LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn05b2YxMiB7QGV4dGVuZCAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mNDt9XG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjUsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTJvZjEwIHtAZXh0ZW5kICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2Y1O31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mNSxcbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9NG9mMTAge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTJvZjU7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0zb2Y1LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn02b2YxMCB7QGV4dGVuZCAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mNTt9XG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTRvZjUsXG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfThvZjEwIHtAZXh0ZW5kICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn00b2Y1O31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mNixcbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9Mm9mMTIge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjY7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn01b2Y2LFxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xMG9mMTIge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTVvZjY7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2Y4IHtAZXh0ZW5kICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xb2Y4O31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mOCB7QGV4dGVuZCAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mODt9XG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTVvZjgge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTVvZjg7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn03b2Y4IHtAZXh0ZW5kICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn03b2Y4O31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mOSB7QGV4dGVuZCAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mOTt9XG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTJvZjkge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTJvZjk7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn00b2Y5IHtAZXh0ZW5kICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn00b2Y5O31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9NW9mOSB7QGV4dGVuZCAld2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9NW9mOTt9XG4gICAgLndpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTdvZjkge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTdvZjk7fVxuICAgIC53aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn04b2Y5IHtAZXh0ZW5kICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn04b2Y5O31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mMTAge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjEwO31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9M29mMTAge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTNvZjEwO31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9N29mMTAge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTdvZjEwO31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9OW9mMTAge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTlvZjEwO31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MW9mMTIge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTFvZjEyO31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9NW9mMTIge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTVvZjEyO31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9N29mMTIge0BleHRlbmQgJXdpZHRoI3skc2NvcGV9I3skbW9kaWZpZXItc2VwZXJhdG9yfTdvZjEyO31cbiAgICAud2lkdGgjeyRzY29wZX0jeyRtb2RpZmllci1zZXBlcmF0b3J9MTFvZjEyIHtAZXh0ZW5kICV3aWR0aCN7JHNjb3BlfSN7JG1vZGlmaWVyLXNlcGVyYXRvcn0xMW9mMTI7fVxuICB9XG59XG5cbi8qKlxuICogX3dpZHRoLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKiBVc2FnZTpcbiAqIDxkaXYgY2xhc3M9XCJncmlkXCI+XG4gKiAgIDxkaXYgY2xhc3M9XCJncmlkX19pdGVtICB3aWR0aC0tMW9mMSAgd2lkdGgtdGFiLS0xb2YzICB3aWR0aC1kZXNrLS0xb2Y0XCI+XG4gKiAgICAgLi4uXG4gKiAgIDwvZGl2PlxuICogICA8ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgd2lkdGgtLTFvZjEgIHdpZHRoLXRhYi0tMm9mMyAgd2lkdGgtZGVzay0tM29mNFwiPlxuICogICAgIC4uLlxuICogICA8L2Rpdj5cbiAqIDwvZGl2PlxuICpcbiAqL1xuXG5AaW5jbHVkZSB3aWR0aHMoKTtcblxuQGVhY2ggJGtleSwkYnJlYWsgaW4gJGJyZWFrcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVhaykge1xuICAgIEBpbmNsdWRlIHdpZHRocygka2V5KTtcbiAgfVxufVxuIiwiQG1peGluIHRleHQoJHNjb3BlOiAnJykge1xuICBAaWYgJHNjb3BlICE9ICcnIHsgJHNjb3BlOiAtI3skc2NvcGV9OyB9XG5cbiAgJXRleHQjeyRzY29wZX0tLWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgJXRleHQjeyRzY29wZX0tLXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICV0ZXh0I3skc2NvcGV9LS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQGlmICRhZGRDc3MgYW5kICR0eXBvSGVscGVyIHtcbiAgICAudGV4dCN7JHNjb3BlfS0tbGVmdCAgIHsgQGV4dGVuZCAldGV4dCN7JHNjb3BlfS0tbGVmdDsgfVxuICAgIC50ZXh0I3skc2NvcGV9LS1yaWdodCAgeyBAZXh0ZW5kICV0ZXh0I3skc2NvcGV9LS1yaWdodDsgfVxuICAgIC50ZXh0I3skc2NvcGV9LS1jZW50ZXIgeyBAZXh0ZW5kICV0ZXh0I3skc2NvcGV9LS1jZW50ZXI7IH1cbiAgfVxufVxuXG4vKipcbiAqIF90eXBvLnNjc3NcbiAqXG4gKiBBdXRob3I6IE1hcmlhbiBGcmllZG1hbm5cbiAqXG4gKiBBbHQgVGV4dCBTdHlsZXMuXG4gKlxuICogIyMgYWxpZ25tZW50XG4gKiAtIHRleHQtLWxlZnRcbiAqIC0gdGV4dC0tcmlnaHRcbiAqIC0gdGV4dC0tY2VudGVyXG4gKlxuICogIyMgdXRpbGl0aWVzXG4gKiAtIHRleHQtLXNlY29uZGFyeVxuICogLSB0ZXh0LS1pbmhlcml0LWNvbG9yXG4gKiAtIHRleHQtLW5vLXdyYXBcbiAqIC0gdGV4dC0tbGFyZ2VcbiAqXG4gKiBVc2FnZTpcbiAqIDxkaXYgY2xhc3M9XCJ0ZXh0LS1sYXJnZVwiPlxuICogICA8aDE+TG9yZW0gSXBzdW08L2gxPlxuICogICA8cD5Mb3JlbSBpcHN1bTwvcD5cbiAqIDwvZGl2PlxuICpcbiAqL1xuXG4vKipcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nXG4gKi9cbiV0ZXh0LS1uby13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIERpc3BsYXkgdGV4dCBpbiBzZWNvbmRhcnkgZm9udFxuICovXG4ldGV4dC0tc2Vjb25kYXJ5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250U2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogRGlzcGxheSBsYXJnZXIgdGV4dFxuICovXG4ldGV4dC0tbGFyZ2Uge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGhlYWRpbmdTaXplNCwgZmFsc2UpO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuQGlmICRhZGRDc3MgYW5kICR0eXBvSGVscGVyIHtcbiAgLnRleHQtLW5vLXdyYXAge1xuICAgIEBleHRlbmQgJXRleHQtLW5vLXdyYXA7XG4gIH1cbiAgLnRleHQtLXNlY29uZGFyeSB7XG4gICAgQGV4dGVuZCAldGV4dC0tc2Vjb25kYXJ5O1xuICB9XG4gIC50ZXh0LS1sYXJnZSB7XG4gICAgQGV4dGVuZCAldGV4dC0tbGFyZ2U7XG4gIH1cbn1cblxuQGluY2x1ZGUgdGV4dCgpO1xuQGVhY2ggJGtleSwkYnJlYWsgaW4gJGJyZWFrcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRicmVhaykge1xuICAgIEBpbmNsdWRlIHRleHQoJGtleSk7XG4gIH1cbn1cbiIsIiVjbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4OyBcbn1cblxuJXB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4lcHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuQGlmICRhZGRDc3MgYW5kICRsYXlvdXRIZWxwZXIge1xuICAuY2xlYXJmaXgge1xuICAgIEBleHRlbmQgJWNsZWFyZml4O1xuICB9XG5cbiAgLnB1bGwtbGVmdCB7XG4gICAgQGV4dGVuZCAlcHVsbC1sZWZ0O1xuICB9XG5cbiAgLnB1bGwtcmlnaHQge1xuICAgIEBleHRlbmQgJXB1bGwtcmlnaHQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBjb2xvckNsYXNzKCRzY29wZTogJycpIHtcbiAgQGlmICRzY29wZSAhPSAnJyB7ICRzY29wZTogLSN7JHNjb3BlfTsgfVxuICBAZWFjaCAka2V5LCRjb2xvciBpbiAkY29sb3Jze1xuICAgICVjI3skc2NvcGV9LS0jeyRrZXl9IHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICAgICViZyN7JHNjb3BlfS0tI3ska2V5fSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICAgIEBpZiAkYWRkQ3NzIGFuZCAkY29sb3JIZWxwZXIge1xuICAgICAgLmMjeyRzY29wZX0tLSN7JGtleX0ge1xuICAgICAgICBAZXh0ZW5kICVjI3skc2NvcGV9LS0jeyRrZXl9O1xuICAgICAgfVxuICAgICAgLmJnI3skc2NvcGV9LS0jeyRrZXl9IHtcbiAgICAgICAgQGV4dGVuZCAlYmcjeyRzY29wZX0tLSN7JGtleX07XG4gICAgICB9XG4gICAgfVxuICB9XG4gICVjI3skc2NvcGV9LS1pbmhlcml0IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAlYmcjeyRzY29wZX0tLWluaGVyaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgQGlmICRhZGRDc3MgYW5kICRjb2xvckhlbHBlciB7XG4gICAgLmMjeyRzY29wZX0tLWluaGVyaXQge1xuICAgICAgQGV4dGVuZCAlYyN7JHNjb3BlfS0taW5oZXJpdDtcbiAgICB9XG4gICAgLmJnI3skc2NvcGV9LS1pbmhlcml0IHtcbiAgICAgIEBleHRlbmQgJWJnI3skc2NvcGV9LS1pbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiogX2NvbG9yLnNjc3NcbiovXG5cbkBpZiAkYWRkQ3NzIGFuZCAkY29sb3JIZWxwZXIge1xuICA6cm9vdCB7XG4gICAgQGVhY2ggJGtleSwkY29sb3IgaW4gJGNvbG9yc3tcbiAgICAgIC0tI3ska2V5fTogI3skY29sb3J9O1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgY29sb3JDbGFzcygpO1xuXG5AZWFjaCAka2V5LCRicmVhayBpbiAkYnJlYWtzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrKSB7XG4gICAgQGluY2x1ZGUgY29sb3JDbGFzcygka2V5KTtcbiAgfVxufVxuXG4iLCJodG1sLGJvZHkge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuYm9keSB7XG4gIGNvbG9yOiBjb2xvcignYmxhY2snKTtcbn1cblxuLndyYXBwZXIge1xuICBwYWRkaW5nOiAwICRiYXNlVW5pdDtcbn1cblxuc3Bhbi5jZV9oZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlVW5pdDtcbiAgZGlzcGxheTogYmxvY2s7XG59IiwiLm1lZGlhLS1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1lZGlhLS1sYXAge1xuICAubWVkaWFfX2ltZyB7XG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoIGJyZWFrKCdsYXAnKSl7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufSIsIi5oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAkYmFzZVVuaXQqMS41IDA7XG4gICZfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIEBpbmNsdWRlIG1lZGlhKGJyZWFrKCdsYXAnKSl7XG4gICAgICB3aWR0aDogMjgwcHg7XG4gICAgICBoZWlnaHQ6IDYycHg7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgJl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtZWRpYShicmVhaygnZGVzaycpKXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAmX19tb2JpbGUtbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgbWVkaWEoYnJlYWsoJ2Rlc2snKSl7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAmX19idXJnZXIge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbWVkaWEoYnJlYWsoJ2Rlc2snKSl7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2JsYWNrJyk7XG4gICAgICBib3gtc2hhZG93OiAwIC01cHggMCAwIGNvbG9yKCdibGFjaycpLCAwIDVweCAwIDAgY29sb3IoJ2JsYWNrJyk7XG4gICAgICBib2R5Lm5hdmlnYXRpb24tYWN0aXZlICYge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignYmxhY2snKTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBib2R5Lm5hdmlnYXRpb24tYWN0aXZlICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIubmF2LXByaW1hcnkge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tdG9wOiAkYmFzZVVuaXQgKjI7IFxuICAgIGJvZHkubmF2aWdhdGlvbi1hY3RpdmUgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShicmVhaygnZGVzaycpKXtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAkYmFzZVVuaXQqLjU7XG4gICAgICBAaW5jbHVkZSBtZWRpYShicmVhaygnZGVzaycpKXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogY29sb3IoJ2JsYWNrJyk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogJGJhc2VVbml0Ki41ICRiYXNlVW5pdCouNzU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE5cHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGJyZWFrKCdtYXgnKSl7XG4gICAgICAgICAgcGFkZGluZzogJGJhc2VVbml0Ki41ICRiYXNlVW5pdDtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2xpbmsnKTtcbiAgICAgICAgICBjb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignaG92ZXInKTtcbiAgICAgICAgICBjb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIubWFpbiB7XG4gIHBhZGRpbmc6ICRiYXNlVW5pdCoyIDA7XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgfVxuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoJ2JvcmRlcicpO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgdGgsdGQge1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoJ2JvcmRlcicpO1xuICAgIH1cbiAgICB0Zm9vdCB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgICBjYXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZVVuaXQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbiAgZGwge1xuICAgIGR0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICBkZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2VVbml0O1xuICAgIH1cbiAgfVxuICAuaHlwZXJsaW5rX3R4dCwgLmNlX3RvcGxpbmsgYSB7XG4gICAgQGV4dGVuZCAuYnRuO1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlVW5pdDtcbiAgfVxuICAuY2VfZG93bmxvYWRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZVVuaXQ7XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIC5kb3dubG9hZC1lbGVtZW50IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMCAwICRiYXNlVW5pdCoyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICB9XG4gIC5pbWFnZV9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKCdib3JkZXInKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDAgMCAkYmFzZVVuaXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiBjYWxjKDE2LzkpO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gICAgLmNhcHRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogJGJhc2VVbml0Ki41ICRiYXNlVW5pdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3IoJ3doaXRlJyksLjgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgLmNlX2dhbGxlcnkge1xuICAgIHVsIHtcbiAgICAgIEBleHRlbmQgLmdyaWQ7XG4gICAgICBsaSB7XG4gICAgICAgIEBleHRlbmQgLmdyaWRfX2l0ZW07XG4gICAgICAgIEBleHRlbmQgLndpZHRoLXRhYi0tMW9mMjtcbiAgICAgICAgQGV4dGVuZCAud2lkdGgtbGFwLS0xb2YzO1xuICAgICAgICBAZXh0ZW5kIC53aWR0aC1kZXNrLS0xb2Y0O1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2xpbmsnKTtcbiAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICBwYWRkaW5nOiAkYmFzZVVuaXQgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtZWRpYShicmVhaygnbGFwJykpe1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn0iLCIubmF2LWZvb3RlciB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbWVkaWEoYnJlYWsoJ2xhcCcpKXtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYmFzZVVuaXQ7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICAgIH1cbiAgfVxufSJdfQ== */

