@charset "UTF-8";
/*------------------------------------*\
    VARS.SCSS
\*------------------------------------*/
/**
 * Any variables you find set in inuit.css’ `_vars.scss` that you do not wish to
 * keep, simply redefine here. This means that if inuit.css, for example, sets
 * your `$base-font-size` at 16px and you wish it to be 14px, simply redeclare
 * that variable in this file. inuit.css ignores its own variables in favour of
 * using your own, so you can completely modify how inuit.css works without ever
 * having to alter the framework itself.
 */
/*------------------------------------*\
    $OBJECTS-AND-ABSTRACTIONS
\*------------------------------------*/
/**
 * All of inuit.css’ objects and abstractions are initially turned off by
 * default. This means that you start any project with as little as possible,
 * and introducing objects and abstractions is as simple as switching the
 * following variables to `true`.
 */
/*------------------------------------*\
    $CUSTOM
\*------------------------------------*/
/**
 * Place any of your own variables that sit on top of inuit.css here.
 */
.secondary-footer {
  display: none;
}

.secondary-footer.home {
  display: block;
}

/*------------------------------------*\
    INUIT.CSS
\*------------------------------------*/
/*!*
 *
 * inuitcss.com -- @inuitcss -- @csswizardry
 *
 */
/**
 * inuit.css acts as a base stylesheet which you should extend with your own
 * theme stylesheet.
 *
 * inuit.css aims to do the heavy lifting; sorting objects and abstractions,
 * design patterns and fiddly bits of CSS, whilst leaving as much design as
 * possible to you. inuit.css is the scaffolding to your decorator.
 *
 * This stylesheet is heavily documented and contains lots of comments, please
 * take care to read and refer to them as you build. For further support please
 * tweet at @inuitcss.
 *
 * Owing to the amount of comments please only ever use minified CSS in
 * production. This file is purely a dev document.
 *
 * The table of contents below maps to section titles of the same name, to jump
 * to any section simply run a find for $[SECTION-TITLE].
 *
 * Most objects and abstractions come with a chunk of markup that you should be
 * able to paste into any view to quickly see how the CSS works in conjunction
 * with the correct HTML.
 *
 * inuit.css is written to this standard: github.com/csswizardry/CSS-Guidelines
 *
 * LICENSE
 *
 * Copyright 2013 Harry Roberts
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Thank you for choosing inuit.css. May your web fonts render perfectly.
 */
/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............You’re reading it!
 * WARNING.............Here be dragons!
 * IMPORTS.............Begin importing the sections below
 *
 * MIXINS..............Super-simple Sass stuff
 * NORMALIZE...........normalize.css
 * RESET...............Set some defaults
 * CLEARFIX............
 * SHARED..............Shared declarations
 *
 * MAIN................High-level elements like `html`, `body`, etc.
 * HEADINGS............Double-stranded heading hierarchy
 * PARAGRAPHS..........
 * SMALLPRINT..........Smaller text elements like `small`
 * QUOTES..............
 * CODE................
 * LISTS...............
 * IMAGES..............
 * TABLES..............
 * FORMS...............
 *
 * GRIDS...............Fluid, proportional and nestable grids
 * FLEXBOX.............Crudely emulate flexbox
 * COLUMNS.............CSS3 columns
 * NAV.................A simple abstraction to put a list in horizontal nav mode
 * OPTIONS.............Grouped nav items
 * PAGINATION..........Very stripped back, basic paginator
 * BREADCRUMB..........Simple breadcrumb trail object
 * MEDIA...............Media object
 * MARGINALIA..........Simple marginalia content
 * ISLAND..............Boxed off content
 * BLOCK-LIST..........Blocky lists of content
 * MATRIX..............Gridded lists
 * SPLIT...............A simple split-in-two object
 * THIS-OR-THIS........Options object
 * LINK-COMPLEX........
 * FLYOUT..............Flyout-on-hover object
 * ARROWS..............CSS arrows
 * SPRITE..............Generic spriting element
 * ICON-TEXT...........Icon and text couplings
 * BEAUTONS............Use the beautons micro library
 * LOZENGES............Basic lozenge styles
 * RULES...............Horizontal rules
 * STATS...............Simple stats object
 * GREYBOX.............Wireframing styles
 *
 * WIDTHS..............Width classes for use alongside the grid system etc.
 * PUSH................Push classes for manipulating grids
 * PULL................Pull classes for manipulating grids
 * BRAND...............Helper class to apply brand treatment to elements
 * HELPER..............A series of helper classes to use arbitrarily
 * DEBUG...............Enable to add visual flags for debugging purposes
 */
/*------------------------------------*\
    $WARNING
\*------------------------------------*/
/*
 * inuit.css, being an OO framework, works in keeping with the open/closed
 * principle. The variables you set previously are now being used throughout
 * inuit.css to style everything we need for a base. Any custom styles SHOULD
 * NOT be added or modified in inuit.css directly, but added via your theme
 * stylesheet as per the open/closed principle:
 *
 * csswizardry.com/2012/06/the-open-closed-principle-applied-to-css
 *
 * Try not to edit any CSS beyond this point; if you find you need to do so
 * it is a failing of the framework so please tweet at @inuitcss.
 */
/*------------------------------------*\
    $IMPORTS
\*------------------------------------*/
/**
 * Generic utility styles etc.
 */
/*------------------------------------*\
    $DEFAULTS
\*------------------------------------*/
/**
 * inuit.css’ default variables. Redefine these in your `_vars.scss` file (found
 * in the inuit.css-web-template) to override them.
 */
/*------------------------------------*\
    $DEBUG
\*------------------------------------*/
/**
 * Debug mode will visually highlight any potential markup/accessibility quirks
 * in the browser. Set to `true` or `false`.
 */
/*------------------------------------*\
    $BORDER-BOX
\*------------------------------------*/
/**
 * Do you want all elements to adopt `box-sizing:border-box;` as per
 * paulirish.com/2012/box-sizing-border-box-ftw ?
 */
/*------------------------------------*\
    $BASE
\*------------------------------------*/
/**
 * Base stuff
 */
/**
 * Base font-family.
 */
/**
 * Default colour for objects’ borders etc.
 */
/*------------------------------------*\
    $RESPONSIVE
\*------------------------------------*/
/**
 * Responsiveness?
 */
/**
 * Responsiveness for widescreen/high resolution desktop monitors and beyond?
 * Note: `$responsive` variable above must be set to true before enabling this.
 */
/**
 * Responsive push and pull produce a LOT of code, only turn them on if you
 * definitely need them.
 */
/**
 * Note: `$push` variable above must be set to true before enabling these.
 */
/**
 * Note: `$pull` variable above must be set to true before enabling these.
 */
/**
 * Tell inuit.css when breakpoints start.
 */
/*------------------------------------*\
    $FONT-SIZES
\*------------------------------------*/
/**
 * Font-sizes (in pixels). Refer to relevant sections for their implementations.
 */
/*------------------------------------*\
    $QUOTES
\*------------------------------------*/
/**
 * English quote marks?
 */
/**
 * If you want English quotes then please do not edit these; they’re only here
 * because Sass needs them.
 */
/**
 * If you need non-English quotes, please alter the following values accordingly:
 */
/*------------------------------------*\
    $BRAND
\*------------------------------------*/
/**
 * Brand stuff
 */
/**
 * How big would you like round corners to be by default?
 */
/*------------------------------------*\
    $OBJECTS AND ABSTRACTIONS
\*------------------------------------*/
/**
 * Which objects and abstractions would you like to use?
 */
/*------------------------------------*\
    $FRAMEWORK
\*------------------------------------*/
/**
 * inuit.css will work these next ones out for use within the framework.
 *
 * Assign our `$base-line-height` to a new spacing var for more transparency.
 */
/*------------------------------------*\
    $MIXINS
\*------------------------------------*/
/**
 * Create a fully formed type style (sizing and vertical rhythm) by passing in a
 * single value, e.g.:
 *
   `@include font-size(10px);`
 *
 * Thanks to @redclov3r for the `line-height` Sass:
 * twitter.com/redclov3r/status/250301539321798657
 */
/**
 * Style any number of headings in one fell swoop, e.g.:
 *
   .foo{
       @include headings(1, 3){
           color:#BADA55;
       }
    }
 *
 * With thanks to @lar_zzz, @paranoida, @rowanmanning and ultimately
 * @thierrylemoulec for refining and improving my initial mixin.
 */
/**
 * Create vendor-prefixed CSS in one go, e.g.
 *
   `@include vendor(border-radius, 4px);`
 *
 */
/**
 * Create CSS keyframe animations for all vendors in one go, e.g.:
 *
   .foo{
       @include vendor(animation, shrink 3s);
   }

   @include keyframe(shrink){
       from{
           font-size:5em;
       }
   }
 *
 * Courtesy of @integralist: twitter.com/integralist/status/260484115315437569
 */
/**
 * Force overly long spans of text to truncate, e.g.:
 *
   `@include truncate(100%);`
 *
 * Where `$truncation-boundary` is a united measurement.
 */
/**
 * CSS arrows!!! But... before you read on, you might want to grab a coffee...
 *
 * This mixin creates a CSS arrow on a given element. We can have the arrow
 * appear in one of 12 locations, thus:
 *
 *       01    02    03
 *    +------------------+
 * 12 |                  | 04
 *    |                  |
 * 11 |                  | 05
 *    |                  |
 * 10 |                  | 06
 *    +------------------+
 *       09    08    07
 *
 * You pass this position in along with a desired arrow color and optional
 * border color, for example:
 *
 * `@include arrow(top, left, red)`
 *
 * for just a single, red arrow, or:
 *
 * `@include arrow(bottom, center, red, black)`
 *
 * which will create a red triangle with a black border which sits at the bottom
 * center of the element. Call the mixin thus:
 *
   .foo{
       background-color:#BADA55;
       border:1px solid #ACE;
       @include arrow(top, left, #BADA55, #ACE);
   }
 *
 */
/**
 * Media query mixin.
 *
 * It’s not great practice to define solid breakpoints up-front, preferring to
 * modify your design when it needs it, rather than assuming you’ll want a
 * change at ‘mobile’. However, as inuit.css is required to take a hands off
 * approach to design decisions, this is the closest we can get to baked-in
 * responsiveness. It’s flexible enough to allow you to set your own breakpoints
 * but solid enough to be frameworkified.
 *
 * We define some broad breakpoints in our vars file that are picked up here
 * for use in a simple media query mixin. Our options are:
 *
 * palm
 * lap
 * lap-and-up
 * portable
 * desk
 * desk-wide
 *
 * Not using a media query will, naturally, serve styles to all devices.
 *
 * `@include media-query(palm){ [styles here] }`
 *
 * We work out your end points for you:
 */
/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/*
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Address styling not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/*
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/*
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/*
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/*
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: 600;
}

/*
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/*
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/*
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/*
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/*
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/*
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/*
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/*
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled],
select[disabled] {
  cursor: default;
}

/*
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/*
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*------------------------------------*\
    $RESET
\*------------------------------------*/
/**
 * A more considered reset; more of a restart...
 * As per: csswizardry.com/2011/10/reset-restarted
 */
/**
    * Let’s make the box model all nice, shall we...?
    */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

/**
 * The usual...
 */
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;
}

/**
 * Give a help cursor to elements that give extra info on `:hover`.
 */
abbr[title], dfn[title] {
  cursor: help;
}

/**
 * Remove underlines from potentially troublesome elements.
 */
u, ins {
  text-decoration: none;
}

/**
 * Apply faux underline via `border-bottom`.
 */
ins {
  border-bottom: 1px solid;
}

/**
 * So that `alt` text is visually offset if images don’t load.
 */
img {
  font-style: italic;
}

/**
 * Give form elements some cursor interactions...
 */
label,
input,
textarea,
button,
select,
option {
  cursor: pointer;
}

.text-input:active,
.text-input:focus,
textarea:active,
textarea:focus {
  cursor: text;
  outline: none;
}

/*------------------------------------*\
    $CLEARFIX
\*------------------------------------*/
/**
 * Micro clearfix, as per: css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
 * Extend the clearfix class with Sass to avoid the `.cf` class appearing over
 * and over in your markup.
 */
.cf:after, .nav:after, .media:after {
  content: "";
  display: table;
  clear: both;
}

/*------------------------------------*\
    $SHARED
\*------------------------------------*/
/**
 * Where `margin-bottom` is concerned, this value will be the same as the
 * base line-height. This allows us to keep a consistent vertical rhythm.
 * As per: csswizardry.com/2012/06/single-direction-margin-declarations
 */
/**
 * Base elements
 */
h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dl,
blockquote, p, address,
table,
fieldset, figure,
pre,
.form-fields > li,
.media,
.island,
.infographics,
.islet {
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.islet h1, .islet h2, .islet h3, .islet h4, .islet h5, .islet h6, .islet hgroup, .islet
ul, .islet ol, .islet dl, .islet
blockquote, .islet p, .islet address, .islet
table, .islet
fieldset, .islet figure, .islet
pre, .islet .form-fields > li, .islet
.media, .islet
.island, .islet
.infographics, .islet
.islet {
  margin-bottom: 12px;
  margin-bottom: 0.75rem;
}

/**
 * Doubled up `margin-bottom` helper class.
 */
.landmark {
  margin-bottom: 48px;
  margin-bottom: 3rem;
}

/**
 * `hr` elements only take up a few pixels, so we need to give them special
 * treatment regarding vertical rhythm.
 */
hr {
  margin-bottom: 22px;
  margin-bottom: 1.375rem;
}

/**
 * Where `margin-left` is concerned we want to try and indent certain elements
 * by a consistent amount. Define that amount once, here.
 */
ul, ol, dd {
  margin-left: 48px;
  margin-left: 3rem;
}

/**
 * Base styles; unclassed HTML elements etc.
 */
/*------------------------------------*\
    $MAIN
\*------------------------------------*/
html {
  font: 1em/1.5 sans-serif;
  overflow-y: scroll;
  min-height: 100%;
  height: 100%;
  position: relative;
}

/*------------------------------------*\
    $HEADINGS
\*------------------------------------*/
/**
 * As per: csswizardry.com/2012/02/pragmatic-practical-font-sizing-in-css
 *
 * When we define a heading we also define a corresponding class to go with it.
 * This allows us to apply, say, `class=alpha` to a `h3`; a double-stranded
 * heading hierarchy.
 */
h1, .alpha {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.33333;
}

h2, .beta {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.6;
}

h3, .gamma {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
}

h4, .delta {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2;
}

h5, .epsilon {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

h6, .zeta {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
}

/**
 * Heading groups and generic any-heading class.
 * To target any heading of any level simply apply a class of `.hN`, e.g.:
 *
   <hgroup>
       <h1 class=hN>inuit.css</h1>
       <h2 class=hN>Best. Framework. Ever!</h2>
   </hgroup>
 *
 */
hgroup .hN {
  margin-bottom: 0;
}

/**
 * A series of classes for setting massive type; for use in heroes, mastheads,
 * promos, etc.
 */
.giga {
  font-size: 96px;
  font-size: 6rem;
  line-height: 1;
}

.mega {
  font-size: 72px;
  font-size: 4.5rem;
  line-height: 1;
}

.kilo {
  font-size: 48px;
  font-size: 3rem;
  line-height: 1;
}

/*------------------------------------*\
    $PARAGRAPHS
\*------------------------------------*/
/**
 * The `.lede` class is used to make the introductory text (usually a paragraph)
 * of a document slightly larger.
 */
.lede,
.lead {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.33333;
}

/*------------------------------------*\
    $SMALLPRINT
\*------------------------------------*/
/**
 * A series of classes for setting tiny type; for use in smallprint etc.
 */
.smallprint,
.milli {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
}

.micro {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 2.4;
}

/*------------------------------------*\
    $QUOTES
\*------------------------------------*/
/**
 * If English quotes are set in `_vars.scss`, define them here.
 */
/**
 * Big up @boblet: html5doctor.com/blockquote-q-cite
 */
/**
 * Inline quotes.
 */
q {
  quotes: "‘" "’" "“" "”";
}

q:before {
  content: "\2018";
  content: open-quote;
}

q:after {
  content: "\2019";
  content: close-quote;
}

q q:before {
  content: "\201C";
  content: open-quote;
}

q q:after {
  content: "\201D";
  content: close-quote;
}

blockquote {
  quotes: "“" "”";
}

blockquote p:before {
  content: "“";
  content: open-quote;
}

blockquote p:after {
  content: "";
  content: no-close-quote;
}

blockquote p:last-of-type:after {
  content: "”";
  content: close-quote;
}

blockquote q:before {
  content: "\2018";
  content: open-quote;
}

blockquote q:after {
  content: "\2019";
  content: close-quote;
}

/**
 *
   <blockquote>
       <p>Insanity: doing the same thing over and over again and expecting
       different results.</p>
       <b class=source>Albert Einstein</b>
   </blockquote>
 *
 */
blockquote {
  /**
     * .4em is roughly equal to the width of the opening “ that we wish to hang.
     */
  text-indent: -0.41em;
}

blockquote p:last-of-type {
  margin-bottom: 0;
}

.source {
  display: block;
  text-indent: 0;
}

.source:before {
  content: "\2014";
}

/*------------------------------------*\
    $CODE
\*------------------------------------*/
/**
 * Use an explicit font stack to ensure browsers render correct `line-height`.
 */
pre {
  overflow: auto;
}

pre mark {
  background: none;
  border-bottom: 1px solid;
  color: inherit;
}

/**
 * Add comments to your code examples, e.g.:
 *
   <code>&lt;/div&gt;<span class=code-comment>&lt;!-- /wrapper --&gt;</span></code>
 *
 */
.code-comment {
  /**
     * Override this setting in your theme stylesheet
     */
  opacity: 0.75;
  filter: alpha(opacity=75);
}

/**
 * You can add line numbers to your code examples but be warned, it requires
 * some pretty funky looking markup, e.g.:
 *
   <ol class=line-numbers>
       <li><code>.nav{</code></li>
       <li><code>    list-style:none;</code></li>
       <li><code>    margin-left:0;</code></li>
       <li><code>}</code></li>
       <li><code>    .nav > li,</code></li>
       <li><code>        .nav > li > a{</code></li>
       <li><code>            display:inline-block;</code></li>
       <li><code>           *display:inline-block;</code></li>
       <li><code>            zoom:1;</code></li>
       <li><code>        }</code></li>
   </ol>
 *
 * 1. Make the list look like code.
 * 2. Give the list flush numbers with a leading zero.
 * 3. Make sure lines of code don’t wrap.
 * 4. Give the code form by forcing the `code` to honour white-space.
 */
.line-numbers {
  font-family: monospace, serif;
  /* [1] */
  list-style: decimal-leading-zero inside;
  /* [2] */
  white-space: nowrap;
  /* [3] */
  overflow: auto;
  /* [3] */
  margin-left: 0;
}

.line-numbers code {
  white-space: pre;
  /* [4] */
}

/*------------------------------------*\
    $IMAGES
\*------------------------------------*/
/**
 * Demo: jsfiddle.net/inuitcss/yMtur
 */
/**
 * Fluid images.
 */
img {
  max-width: 100%;
}

/**
 * Non-fluid images if you specify `width` and/or `height` attributes.
 */
img[width],
img[height] {
  max-width: none;
}

/**
 * Rounded images.
 */
.img--round {
  border-radius: 4px;
}

/**
 * Image placement variations.
 */
.img--right {
  float: right;
  margin-bottom: 24px;
  margin-left: 24px;
}

.img--left {
  float: left;
  margin-right: 24px;
  margin-bottom: 24px;
}

.img--center {
  display: block;
  margin-right: auto;
  margin-bottom: 24px;
  margin-left: auto;
}

/**
 * Keep your images on your baseline.
 *
 * Please note, these will not work too nicely with fluid images and will
 * distort when resized below a certain width. Use with caution.
 */
.img--short {
  height: 120px;
}

.img--medium {
  height: 240px;
}

.img--tall {
  height: 360px;
}

/**
 * Images in `figure` elements.
 */
figure > img {
  display: block;
}

/*------------------------------------*\
    $LISTS
\*------------------------------------*/
/**
 * Remove vertical spacing from nested lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/**
 * Have a numbered `ul` without the semantics implied by using an `ol`.
 */
/*ul*/
.numbered-list {
  list-style-type: decimal;
}

/*------------------------------------*\
    $TABLES
\*------------------------------------*/
/**
 * We have a lot at our disposal for making very complex table constructs, e.g.:
 *
   <table class="table--bordered  table--striped  table--data">
       <colgroup>
           <col class=t10>
           <col class=t10>
           <col class=t10>
           <col>
       </colgroup>
       <thead>
           <tr>
               <th colspan=3>Foo</th>
               <th>Bar</th>
           </tr>
           <tr>
               <th>Lorem</th>
               <th>Ipsum</th>
               <th class=numerical>Dolor</th>
               <th>Sit</th>
           </tr>
       </thead>
       <tbody>
           <tr>
               <th rowspan=3>Sit</th>
               <td>Dolor</td>
               <td class=numerical>03.788</td>
               <td>Lorem</td>
           </tr>
           <tr>
               <td>Dolor</td>
               <td class=numerical>32.210</td>
               <td>Lorem</td>
           </tr>
           <tr>
               <td>Dolor</td>
               <td class=numerical>47.797</td>
               <td>Lorem</td>
           </tr>
           <tr>
               <th rowspan=2>Sit</th>
               <td>Dolor</td>
               <td class=numerical>09.640</td>
               <td>Lorem</td>
           </tr>
           <tr>
               <td>Dolor</td>
               <td class=numerical>12.117</td>
               <td>Lorem</td>
           </tr>
       </tbody>
   </table>
 *
 */
table {
  width: 100%;
}

th,
td {
  padding: 6px;
  text-align: left;
}

@media screen and (min-width: 480px) {
  th,
  td {
    padding: 12px;
  }
}

/**
 * Cell alignments
 */
[colspan] {
  text-align: center;
}

[colspan="1"] {
  text-align: left;
}

[rowspan] {
  vertical-align: middle;
}

[rowspan="1"] {
  vertical-align: top;
}

.numerical {
  text-align: right;
}

/**
 * In the HTML above we see several `col` elements with classes whose numbers
 * represent a percentage width for that column. We leave one column free of a
 * class so that column can soak up the effects of any accidental breakage in
 * the table.
 */
.t5 {
  width: 5%;
}

.t10 {
  width: 10%;
}

.t12 {
  width: 12.5%;
}

/* 1/8 */
.t15 {
  width: 15%;
}

.t20 {
  width: 20%;
}

.t25 {
  width: 25%;
}

/* 1/4 */
.t30 {
  width: 30%;
}

.t33 {
  width: 33.333%;
}

/* 1/3 */
.t35 {
  width: 35%;
}

.t37 {
  width: 37.5%;
}

/* 3/8 */
.t40 {
  width: 40%;
}

.t45 {
  width: 45%;
}

.t50 {
  width: 50%;
}

/* 1/2 */
.t55 {
  width: 55%;
}

.t60 {
  width: 60%;
}

.t62 {
  width: 62.5%;
}

/* 5/8 */
.t65 {
  width: 65%;
}

.t66 {
  width: 66.666%;
}

/* 2/3 */
.t70 {
  width: 70%;
}

.t75 {
  width: 75%;
}

/* 3/4*/
.t80 {
  width: 80%;
}

.t85 {
  width: 85%;
}

.t87 {
  width: 87.5%;
}

/* 7/8 */
.t90 {
  width: 90%;
}

.t95 {
  width: 95%;
}

/**
 * Bordered tables
 */
.table--bordered th,
.table--bordered td {
  border: 1px solid #ccc;
}

.table--bordered th:empty,
.table--bordered td:empty {
  border: none;
}

.table--bordered thead tr:last-child th {
  border-bottom-width: 2px;
}

.table--bordered tbody tr th:last-of-type {
  border-right-width: 2px;
}

/**
 * Striped tables
 */
.table--striped tbody tr:nth-of-type(odd) {
  background-color: #ffc;
  /* Override this color in your theme stylesheet */
}

/**
 * Data table
 */
.table--data {
  font: 12px/1.5 sans-serif;
}

/*------------------------------------*\
    $FORMS
\*------------------------------------*/
/**
 *
 * Demo: jsfiddle.net/inuitcss/MhHHU
 *
 */
fieldset {
  padding: 24px;
}

/**
 * Text inputs
 *
 * Instead of a `[type]` selector for each kind of form input, we just use a
 * class to target any/every one, e.g.:
   <input type=text class=text-input>
   <input type=email class=text-input>
   <input type=password class=text-input>
 *
 */
.text-input,
textarea {
  /**
     * Style these via your theme stylesheet.
     */
}

/**
 * Group sets of form fields in a list, e.g.:
 *
   <ul class=form-fields>
       <li>
           <label />
           <input />
       </li>
       <li>
           <label />
           <select />
       </li>
       <li>
           <label />
           <input />
       </li>
   </ul>
 *
 */
.form-fields {
  list-style: none;
  margin: 0;
}

.form-fields > li:last-child {
  margin-bottom: 0;
}

/**
 * Labels
 *
 * Define a `.label` class as well as a `label` element. This means we can apply
 * label-like styling to meta-labels for groups of options where a `label`
 * element is not suitable, e.g.:
 *
   <li>
       <span class=label>Select an option below:</span>
       <ul class="multi-list  four-cols">
           <li>
               <input /> <label />
           </li>
           <li>
               <input /> <label />
           </li>
           <li>
               <input /> <label />
           </li>
           <li>
               <input /> <label />
           </li>
       </ul>
   </li>
 *
 */
label,
.label {
  display: block;
}

/**
     * Extra help text in `label`s, e.g.:
     *
       <label>Card number <small class=additional>No spaces</small></label>
     *
     */
.additional {
  display: block;
  font-weight: normal;
}

/*
 * Groups of checkboxes and radios, e.g.:
 *
   <li>
       <ul class=check-list>
           <li>
               <input /> <label />
           </li>
           <li>
               <input /> <label />
           </li>
       </ul>
   </li>
 *
 */
.check-list {
  list-style: none;
  margin: 0;
}

/*
     * Labels in check-lists
     */
.check-label,
.check-list label,
.check-list .label {
  display: inline-block;
}

/**
 * Spoken forms are for forms that read like spoken word, e.g.:
 *
   <li class=spoken-form>
       Hello, my <label for=spoken-name>name</label> is
       <input type=text class=text-input id=spoken-name>. My home
       <label for=country>country</label> is
       <select id=country>
           <option>UK</option>
           <option>US</option>
           <option>Other</option>
       </select>
   </li>
 *
 */
.spoken-form label {
  display: inline-block;
  font: inherit;
}

/**
 * Extra help text displayed after a field when that field is in focus, e.g.:
 *
   <label for=email>Email:</label>
   <input type=email class=text-input id=email>
   <small class=extra-help>.edu emails only</small>
 *
 * We leave the help text in the document flow and merely set it to
 * `visibility:hidden;`. This means that it won’t interfere with anything once
 * it reappears.
 *
 */
/*small*/
.extra-help {
  display: inline-block;
  visibility: hidden;
}

.text-input:active + .extra-help,
.text-input:focus + .extra-help {
  visibility: visible;
}

/**
 * Objects and abstractions
 */
/*------------------------------------*\
    $GRIDS
\*------------------------------------*/
/**
 * Fluid and nestable grid system, e.g.:
 *
   <div class="grid">

       <div class="grid__item  one-third">
           <p>One third grid</p>
       </div><!--

    --><div class="grid__item  two-thirds">
           <p>Two thirds grid</p>
       </div><!--

    --><div class="grid__item  one-half">
           <p>One half grid</p>
       </div><!--

    --><div class="grid__item  one-quarter">
           <p>One quarter grid</p>
       </div><!--

    --><div class="grid__item  one-quarter">
           <p>One quarter grid</p>
       </div>

   </div>
 *
 * Demo: jsfiddle.net/inuitcss/CLYUC
 *
 */
/**
 * Grid wrapper
 */
.grid {
  margin-left: -24px;
  list-style: none;
  margin-bottom: 0;
}

/**
     * Very infrequently occuring grid wrappers as children of grid wrappers.
     */
.grid > .grid {
  margin-left: 0;
}

/**
     * Grid
     */
.grid__item {
  display: inline-block;
  width: 100%;
  padding-left: 24px;
  vertical-align: top;
}

/*------------------------------------*\
    $NAV
\*------------------------------------*/
/**
 * Nav abstraction as per: csswizardry.com/2011/09/the-nav-abstraction
 * When used on an `ol` or `ul`, this class throws the list into horizontal mode
 * e.g.:
 *
   <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>
 *
 * Demo: jsfiddle.net/inuitcss/Vnph4
 *
 */
.nav {
  list-style: none;
  margin-left: 0;
}

.nav > li,
.nav > li > a {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

/**
 * `.nav--stacked` extends `.nav` and throws the list into vertical mode, e.g.:
 *
   <ul class="nav  nav--stacked">
       <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 > li {
  display: list-item;
}

.nav--stacked > li > a {
  display: block;
}

/**
 * `.nav--banner` extends `.nav` and centres the list, e.g.:
 *
   <ul class="nav  nav--banner">
       <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--banner {
  text-align: center;
}

/**
 * Give nav links a big, blocky hit area. Extends `.nav`, e.g.:
 *
   <ul class="nav  nav--block">
       <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--block {
  line-height: 1;
  /**
     * Remove whitespace caused by `inline-block`.
     */
  letter-spacing: -0.31em;
  word-spacing: -0.43em;
  white-space: nowrap;
}

.nav--block > li {
  letter-spacing: normal;
  word-spacing: normal;
}

.nav--block > li > a {
  padding: 12px;
}

/**
 * Force a nav to occupy 100% of the available width of its parent. Extends
 * `.nav`, e.g.:
 *
   <ul class="nav  nav--fit">
       <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>
 *
 * Thanks to @pimpl for this idea!
 */
.nav--fit {
  display: table;
  width: 100%;
}

.nav--fit > li {
  display: table-cell;
}

.nav--fit > li > a {
  display: block;
}

/**
 * Make a list of keywords. Extends `.nav`, e.g.:
 *
   `<ul class="nav  nav--keywords>`
 *
 */
.nav--keywords > li:after {
  content: "\002C" "\00A0";
}

.nav--keywords > li:last-child:after {
  display: none;
}

/*------------------------------------*\
    $MEDIA
\*------------------------------------*/
/**
 * Place any image- and text-like content side-by-side, as per:
 * stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code
 * E.g.:
 *
   <div class=media>
       <img src=http://placekitten.com/200/300 alt="" class=media__img>
       <p class=media__body>Lorem ipsum dolor sit amet, consectetur adipisicing elit,
       sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
   </div>
 *
 * Demo: jsfiddle.net/inuitcss/cf4Qs
 *
 */
.media {
  display: block;
}

.media__img {
  float: left;
  margin-right: 24px;
}

/**
     * Reversed image location (right instead of left).
     */
.media__img--rev {
  float: right;
  margin-left: 24px;
}

.media__img img,
.media__img--rev img {
  display: block;
}

.media__body {
  overflow: hidden;
}

.media__body,
.media__body > :last-child {
  margin-bottom: 0;
}

/**
     * `.img`s in `.islet`s need an appropriately sized margin.
     */
.islet .media__img {
  margin-right: 12px;
}

.islet .media__img--rev {
  margin-left: 12px;
}

/**
 * Style trumps; helper and brand classes
 */
/*------------------------------------*\
    $WIDTHS
\*------------------------------------*/
/**
 * Sizes in human readable format. These are used in conjunction with other
 * objects and abstractions found in inuit.css, most commonly the grid system
 * and faux flexbox.
 *
 * We have a mixin to generate our widths and their breakpoint-specific
 * variations.
 */
/**
    * Whole
    */
.one-whole {
  width: 100%;
}

/**
    * Halves
    */
.one-half, .two-quarters, .three-sixths, .four-eighths, .five-tenths, .six-twelfths {
  width: 50%;
}

/**
    * Thirds
    */
.one-third, .two-sixths, .four-twelfths {
  width: 33.333%;
}

.two-thirds, .four-sixths, .eight-twelfths {
  width: 66.666%;
}

/**
    * Quarters
    */
.one-quarter, .two-eighths, .three-twelfths {
  width: 25%;
}

.three-quarters, .six-eighths, .nine-twelfths {
  width: 75%;
}

/**
    * Fifths
    */
.one-fifth, .two-tenths {
  width: 20%;
}

.two-fifths, .four-tenths {
  width: 40%;
}

.three-fifths, .six-tenths {
  width: 60%;
}

.four-fifths, .eight-tenths {
  width: 80%;
}

/**
    * Sixths
    */
.one-sixth, .two-twelfths {
  width: 16.666%;
}

.five-sixths, .ten-twelfths {
  width: 83.333%;
}

/**
    * Eighths
    */
.one-eighth {
  width: 12.5%;
}

.three-eighths {
  width: 37.5%;
}

.five-eighths {
  width: 62.5%;
}

.seven-eighths {
  width: 87.5%;
}

/**
    * Tenths
    */
.one-tenth {
  width: 10%;
}

.three-tenths {
  width: 30%;
}

.seven-tenths {
  width: 70%;
}

.nine-tenths {
  width: 90%;
}

/**
    * Twelfths
    */
.one-twelfth {
  width: 8.333%;
}

.five-twelfths {
  width: 41.666%;
}

.seven-twelfths {
  width: 58.333%;
}

.eleven-twelfths {
  width: 91.666%;
}

/**
 * If you have set `$responsive` to ‘true’ in `_vars.scss` then you now have
 * access to these classes. You can define at which breakpoint you’d like an
 * element to be a certain size, e.g.:
 *
 * `<div class="g  one-quarter  lap-one-half  palm-one-whole"> ... </div>`
 *
 * This would create a `div` that, at ‘desktop’ sizes, takes up a quarter of the
 * horizontal space, a half of that space at ‘tablet’ sizes, and goes full width
 * at ‘mobile’ sizes.
 *
 * Demo: jsfiddle.net/inuitcss/WS4Ge
 *
 */
@media only screen and (max-width: 719px) {
  /**
    * Whole
    */
  .palm-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .palm-one-half, .palm-two-quarters, .palm-three-sixths, .palm-four-eighths, .palm-five-tenths, .palm-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .palm-one-third, .palm-two-sixths, .palm-four-twelfths {
    width: 33.333%;
  }
  .palm-two-thirds, .palm-four-sixths, .palm-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .palm-one-quarter, .palm-two-eighths, .palm-three-twelfths {
    width: 25%;
  }
  .palm-three-quarters, .palm-six-eighths, .palm-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .palm-one-fifth, .palm-two-tenths {
    width: 20%;
  }
  .palm-two-fifths, .palm-four-tenths {
    width: 40%;
  }
  .palm-three-fifths, .palm-six-tenths {
    width: 60%;
  }
  .palm-four-fifths, .palm-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .palm-one-sixth, .palm-two-twelfths {
    width: 16.666%;
  }
  .palm-five-sixths, .palm-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .palm-one-eighth {
    width: 12.5%;
  }
  .palm-three-eighths {
    width: 37.5%;
  }
  .palm-five-eighths {
    width: 62.5%;
  }
  .palm-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .palm-one-tenth {
    width: 10%;
  }
  .palm-three-tenths {
    width: 30%;
  }
  .palm-seven-tenths {
    width: 70%;
  }
  .palm-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .palm-one-twelfth {
    width: 8.333%;
  }
  .palm-five-twelfths {
    width: 41.666%;
  }
  .palm-seven-twelfths {
    width: 58.333%;
  }
  .palm-eleven-twelfths {
    width: 91.666%;
  }
}

@media only screen and (min-width: 720px) and (max-width: 899px) {
  /**
    * Whole
    */
  .lap-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .lap-one-half, .lap-two-quarters, .lap-three-sixths, .lap-four-eighths, .lap-five-tenths, .lap-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .lap-one-third, .lap-two-sixths, .lap-four-twelfths {
    width: 33.333%;
  }
  .lap-two-thirds, .lap-four-sixths, .lap-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .lap-one-quarter, .lap-two-eighths, .lap-three-twelfths {
    width: 25%;
  }
  .lap-three-quarters, .lap-six-eighths, .lap-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .lap-one-fifth, .lap-two-tenths {
    width: 20%;
  }
  .lap-two-fifths, .lap-four-tenths {
    width: 40%;
  }
  .lap-three-fifths, .lap-six-tenths {
    width: 60%;
  }
  .lap-four-fifths, .lap-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .lap-one-sixth, .lap-two-twelfths {
    width: 16.666%;
  }
  .lap-five-sixths, .lap-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .lap-one-eighth {
    width: 12.5%;
  }
  .lap-three-eighths {
    width: 37.5%;
  }
  .lap-five-eighths {
    width: 62.5%;
  }
  .lap-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .lap-one-tenth {
    width: 10%;
  }
  .lap-three-tenths {
    width: 30%;
  }
  .lap-seven-tenths {
    width: 70%;
  }
  .lap-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .lap-one-twelfth {
    width: 8.333%;
  }
  .lap-five-twelfths {
    width: 41.666%;
  }
  .lap-seven-twelfths {
    width: 58.333%;
  }
  .lap-eleven-twelfths {
    width: 91.666%;
  }
}

@media only screen and (min-width: 720px) {
  /**
    * Whole
    */
  .lap-and-up-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .lap-and-up-one-half, .lap-and-up-two-quarters, .lap-and-up-three-sixths, .lap-and-up-four-eighths, .lap-and-up-five-tenths, .lap-and-up-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .lap-and-up-one-third, .lap-and-up-two-sixths, .lap-and-up-four-twelfths {
    width: 33.333%;
  }
  .lap-and-up-two-thirds, .lap-and-up-four-sixths, .lap-and-up-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .lap-and-up-one-quarter, .lap-and-up-two-eighths, .lap-and-up-three-twelfths {
    width: 25%;
  }
  .lap-and-up-three-quarters, .lap-and-up-six-eighths, .lap-and-up-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .lap-and-up-one-fifth, .lap-and-up-two-tenths {
    width: 20%;
  }
  .lap-and-up-two-fifths, .lap-and-up-four-tenths {
    width: 40%;
  }
  .lap-and-up-three-fifths, .lap-and-up-six-tenths {
    width: 60%;
  }
  .lap-and-up-four-fifths, .lap-and-up-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .lap-and-up-one-sixth, .lap-and-up-two-twelfths {
    width: 16.666%;
  }
  .lap-and-up-five-sixths, .lap-and-up-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .lap-and-up-one-eighth {
    width: 12.5%;
  }
  .lap-and-up-three-eighths {
    width: 37.5%;
  }
  .lap-and-up-five-eighths {
    width: 62.5%;
  }
  .lap-and-up-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .lap-and-up-one-tenth {
    width: 10%;
  }
  .lap-and-up-three-tenths {
    width: 30%;
  }
  .lap-and-up-seven-tenths {
    width: 70%;
  }
  .lap-and-up-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .lap-and-up-one-twelfth {
    width: 8.333%;
  }
  .lap-and-up-five-twelfths {
    width: 41.666%;
  }
  .lap-and-up-seven-twelfths {
    width: 58.333%;
  }
  .lap-and-up-eleven-twelfths {
    width: 91.666%;
  }
}

@media only screen and (max-width: 899px) {
  /**
    * Whole
    */
  .portable-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .portable-one-half, .portable-two-quarters, .portable-three-sixths, .portable-four-eighths, .portable-five-tenths, .portable-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .portable-one-third, .portable-two-sixths, .portable-four-twelfths {
    width: 33.333%;
  }
  .portable-two-thirds, .portable-four-sixths, .portable-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .portable-one-quarter, .portable-two-eighths, .portable-three-twelfths {
    width: 25%;
  }
  .portable-three-quarters, .portable-six-eighths, .portable-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .portable-one-fifth, .portable-two-tenths {
    width: 20%;
  }
  .portable-two-fifths, .portable-four-tenths {
    width: 40%;
  }
  .portable-three-fifths, .portable-six-tenths {
    width: 60%;
  }
  .portable-four-fifths, .portable-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .portable-one-sixth, .portable-two-twelfths {
    width: 16.666%;
  }
  .portable-five-sixths, .portable-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .portable-one-eighth {
    width: 12.5%;
  }
  .portable-three-eighths {
    width: 37.5%;
  }
  .portable-five-eighths {
    width: 62.5%;
  }
  .portable-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .portable-one-tenth {
    width: 10%;
  }
  .portable-three-tenths {
    width: 30%;
  }
  .portable-seven-tenths {
    width: 70%;
  }
  .portable-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .portable-one-twelfth {
    width: 8.333%;
  }
  .portable-five-twelfths {
    width: 41.666%;
  }
  .portable-seven-twelfths {
    width: 58.333%;
  }
  .portable-eleven-twelfths {
    width: 91.666%;
  }
}

@media only screen and (min-width: 900px) {
  /**
    * Whole
    */
  .desk-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .desk-one-half, .desk-two-quarters, .desk-three-sixths, .desk-four-eighths, .desk-five-tenths, .desk-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .desk-one-third, .desk-two-sixths, .desk-four-twelfths {
    width: 33.333%;
  }
  .desk-two-thirds, .desk-four-sixths, .desk-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .desk-one-quarter, .desk-two-eighths, .desk-three-twelfths {
    width: 25%;
  }
  .desk-three-quarters, .desk-six-eighths, .desk-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .desk-one-fifth, .desk-two-tenths {
    width: 20%;
  }
  .desk-two-fifths, .desk-four-tenths {
    width: 40%;
  }
  .desk-three-fifths, .desk-six-tenths {
    width: 60%;
  }
  .desk-four-fifths, .desk-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .desk-one-sixth, .desk-two-twelfths {
    width: 16.666%;
  }
  .desk-five-sixths, .desk-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .desk-one-eighth {
    width: 12.5%;
  }
  .desk-three-eighths {
    width: 37.5%;
  }
  .desk-five-eighths {
    width: 62.5%;
  }
  .desk-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .desk-one-tenth {
    width: 10%;
  }
  .desk-three-tenths {
    width: 30%;
  }
  .desk-seven-tenths {
    width: 70%;
  }
  .desk-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .desk-one-twelfth {
    width: 8.333%;
  }
  .desk-five-twelfths {
    width: 41.666%;
  }
  .desk-seven-twelfths {
    width: 58.333%;
  }
  .desk-eleven-twelfths {
    width: 91.666%;
  }
}

/**
 * If you have set the additional `$responsive-extra` variable to ‘true’ in
 * `_vars.scss` then you now have access to the following class available to
 * accomodate much larger screen resolutions.
 */
/* endif */
/*------------------------------------*\
    $PUSH
\*------------------------------------*/
/**
 * Push classes, to move grid items over to the right by certain amounts.
 */
/*------------------------------------*\
    $PULL
\*------------------------------------*/
/**
 * Pull classes, to move grid items over to the right by certain amounts.
 */
/*------------------------------------*\
    $BRAND
\*------------------------------------*/
/**
 * `.brand` is a quick and simple way to apply your brand face and/or color to
 * any element using a handy helper class.
 */
.brand {
  font-family: "Helvetica Neue", sans-serif!important;
  color: #4a8ec2!important;
}

.brand-face {
  font-family: "Helvetica Neue", sans-serif!important;
}

.brand-color,
.brand-colour {
  color: #4a8ec2!important;
}

/*------------------------------------*\
    $HELPER
\*------------------------------------*/
/**
 * A series of helper classes to use arbitrarily. Only use a helper class if an
 * element/component doesn’t already have a class to which you could apply this
 * styling, e.g. if you need to float `.main-nav` left then add `float:left;` to
 * that ruleset as opposed to adding the `.float--left` class to the markup.
 *
 * A lot of these classes carry `!important` as you will always want them to win
 * out over other selectors.
 */
/**
 * Add/remove floats
 */
.float--right {
  float: right !important;
}

.float--left {
  float: left !important;
}

.float--none {
  float: none !important;
}

/**
 * Text alignment
 */
.text--left {
  text-align: left  !important;
}

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

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

/**
 * Font weights
 */
.weight--light {
  font-weight: 300 !important;
}

.weight--normal {
  font-weight: 400 !important;
}

.weight--semibold {
  font-weight: 600 !important;
}

/**
 * Add/remove margins
 */
.push {
  margin: 24px !important;
}

.push--top {
  margin-top: 24px !important;
}

.push--right {
  margin-right: 24px !important;
}

.push--bottom {
  margin-bottom: 24px !important;
}

.push--left {
  margin-left: 24px !important;
}

.push--ends {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.push--sides {
  margin-right: 24px !important;
  margin-left: 24px !important;
}

.push-half {
  margin: 12px !important;
}

.push-half--top {
  margin-top: 12px !important;
}

.push-half--right {
  margin-right: 12px !important;
}

.push-half--bottom {
  margin-bottom: 12px !important;
}

.push-half--left {
  margin-left: 12px !important;
}

.push-half--ends {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.push-half--sides {
  margin-right: 12px !important;
  margin-left: 12px !important;
}

.flush {
  margin: 0 !important;
}

.flush--top {
  margin-top: 0 !important;
}

.flush--right {
  margin-right: 0 !important;
}

.flush--bottom {
  margin-bottom: 0 !important;
}

.flush--left {
  margin-left: 0 !important;
}

.flush--ends {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.flush--sides {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/**
 * Add/remove paddings
 */
.soft {
  padding: 24px !important;
}

.soft--top {
  padding-top: 24px !important;
}

.soft--right {
  padding-right: 24px !important;
}

.soft--bottom {
  padding-bottom: 24px !important;
}

.soft--left {
  padding-left: 24px !important;
}

.soft--ends {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.soft--sides {
  padding-right: 24px !important;
  padding-left: 24px !important;
}

.soft-half {
  padding: 12px !important;
}

.soft-half--top {
  padding-top: 12px !important;
}

.soft-half--right {
  padding-right: 12px !important;
}

.soft-half--bottom {
  padding-bottom: 12px !important;
}

.soft-half--left {
  padding-left: 12px !important;
}

.soft-half--ends {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.soft-half--sides {
  padding-right: 12px !important;
  padding-left: 12px !important;
}

.hard {
  padding: 0 !important;
}

.hard--top {
  padding-top: 0 !important;
}

.hard--right {
  padding-right: 0 !important;
}

.hard--bottom {
  padding-bottom: 0 !important;
}

.hard--left {
  padding-left: 0 !important;
}

.hard--ends {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.hard--sides {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/**
 * Pull items full width of `.island` parents.
 */
.full-bleed {
  margin-right: -24px !important;
  margin-left: -24px !important;
}

.islet .full-bleed {
  margin-right: -12px !important;
  margin-left: -12px !important;
}

/**
 * Add a help cursor to any element that gives the user extra information on
 * `:hover`.
 */
.informative {
  cursor: help !important;
}

/**
 * Mute an object by reducing its opacity.
 */
.muted {
  opacity: 0.5 !important;
  filter: alpha(opacity=50) !important;
}

/**
 * Align items to the right where they imply progression/movement forward, e.g.:
 *
   <p class=proceed><a href=#>Read more...</a></p>
 *
 */
.proceed {
  text-align: right !important;
}

/**
 * Add a right-angled quote to links that imply movement, e.g.:
 *
   <a href=# class=go>Read more</a>
 *
 */
.go:after {
  content: " " "»" !important;
}

/**
 * Apply capital case to an element (usually a `strong`).
 */
.caps {
  text-transform: uppercase !important;
}

/**
 * Hide content off-screen without resorting to `display:none;`, also provide
 * breakpoint specific hidden elements.
 */
.accessibility,
.visuallyhidden {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

@media only screen and (max-width: 719px) {
  .accessibility--palm,
  .visuallyhidden--palm {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (min-width: 720px) and (max-width: 899px) {
  .accessibility--lap,
  .visuallyhidden--lap {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (min-width: 720px) {
  .accessibility--lap-and-up,
  .visuallyhidden--lap-and-up {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (max-width: 899px) {
  .accessibility--portable,
  .visuallyhidden--portable {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (min-width: 900px) {
  .accessibility--desk,
  .visuallyhidden--desk {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (min-width: 1160px) {
  .accessibility--desk-wide,
  .visuallyhidden--desk-wide {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

/* endif */
/*=====================================*\
    CONTENTS
    --------
    - svg
    - clearfix
    - break-text
    - triangle
    - transition
    - aspect-ratio
    - tile-right-border
    - font-light
    - font-strong
    - font-bold
    - tint
    - ribbon
\*=====================================*/
/* 
* @include triangle within a pseudo element and add positioning properties (ie. top, left)
* $direction: up, down, left, right
*/
/* Ribbon style */
html {
  height: auto;
}

html body {
  display: block;
  table-layout: auto;
  overflow: visible;
}

html body .default-block.eguide-layout .main-content .general-page .general-page__body {
  padding-right: 0;
  padding-left: 0;
}

html body .default-block:not(.eguide-search-layout) {
  padding-bottom: 0 !important;
}

html body .default-block:not(.eguide-search-layout) .main-content {
  position: static;
  float: none;
}

html body .default-block:not(.eguide-search-layout) .main-content .general-page .general-page__head {
  margin: 0;
}

html body .default-block:not(.eguide-search-layout) .main-content .general-page .general-page__body {
  padding-top: 0;
  display: block;
}

html body .default-block.eguide-compare-layout .main-content .container {
  margin: 0;
}

html body footer {
  position: relative !important;
}

@media only screen and (max-width: 720px) {
  .default-block.eguide-layout .main-content .general-page {
    padding-right: 0;
    padding-left: 0;
  }
  .main-block .sidebar.main-block__part {
    width: 100%;
    margin: auto;
  }
}

@media screen and (min-width: 720px) {
  html body .mobile-container {
    right: 125px;
  }
  html body .default-block.eguide-compare-layout.main-block {
    padding-top: 24px;
  }
  html body .default-block.main-block {
    padding-bottom: 24px !important;
  }
  html body .default-block:not(.eguide-search-layout) .main-content .general-page {
    position: relative;
  }
  html body .default-block:not(.eguide-search-layout) .main-content .general-page .general-page__body {
    padding: 0;
  }
}

@media screen and (min-width: 900px) {
  html body .default-block.eguide-layout .container .container-inner {
    display: flex;
    flex-wrap: wrap;
  }
  html body .default-block.eguide-compare-layout {
    display: flex;
  }
  html body .default-block.eguide-compare-layout .main-content {
    flex: 3 0;
  }
  html body .default-block.eguide-compare-layout .container {
    flex: 1 0;
    padding: 0;
  }
  html body .default-block.eguide-compare-layout .container .sidebar {
    width: 100%;
  }
}

@media screen and (min-width: 1160px) {
  html body .default-block.eguide-compare-layout {
    flex-direction: row;
    justify-content: center;
  }
  html body .default-block.eguide-compare-layout .main-content {
    flex: 3 0 1000px;
    max-width: 1000px;
  }
  html body .default-block.eguide-compare-layout .container {
    flex: 1 0 280px;
    max-width: 280px;
    margin: 0;
  }
}

.eguide-compare .eguide--nav {
  background: white;
  padding: 24px;
  align-items: center;
  flex-wrap: nowrap;
}

.eguide-compare .eguide--nav select.wm-jurisdiction-set {
  display: none;
}

.eguide-compare .eguide--nav .ete-breadcrumb {
  padding: 0;
  margin: 0;
}

.eguide-compare .eguide--nav:nth-child(3) {
  margin-top: 12px;
}

.eguide-compare .eguide--nav.open .page-container {
  height: auto;
}

.eguide-compare .eguide--nav.open .page-container {
  color: #abb300;
}

.eguide-compare .eguide--nav.open .page-container:after {
  transform: rotate(-180deg);
}

@media (max-width: 720px) {
  .eguide-compare .eguide--nav a.crumb {
    text-decoration: none;
    margin-right: 10px;
  }
  .eguide-compare .eguide--nav a.crumb span {
    text-decoration: underline;
  }
  .eguide-compare .eguide--nav a.crumb.crumb-divider:after {
    content: '/';
  }
}

.eguide-compare .eguide--nav .page-container {
  height: 0;
  overflow: hidden;
  background-color: white;
}

.eguide-compare .eguide--nav .page-container nav {
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  padding-top: 20px;
}

.eguide-compare .eguide--nav .page-container nav ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  width: 100%;
}

.eguide-compare .eguide--nav .page-container nav li {
  list-style: none;
  padding: 3px;
}

.eguide-compare .eguide--nav .page-container nav li a {
  display: inline-block;
  padding-left: 15px;
}

.eguide-compare .eguide--nav .page-container nav li.active::before {
  content: "";
  display: inline-block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #abb300;
}

.eguide-compare .eguide--nav .page-container nav li.active span {
  color: #abb300;
  font-weight: 600;
  padding-left: 9px;
  display: inline-block;
}

.eguide-compare .eguide--nav .page-container nav li a {
  text-decoration: none;
  color: #666;
}

.eguide-compare .eguide--nav > div:nth-child(1) {
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  flex-wrap: wrap;
}

.eguide-compare .eguide--nav .page-selector {
  font-weight: 600;
  color: #abb300;
}

.eguide-compare .eguide--nav .page-selector span {
  display: inline-block;
  padding-right: 7px;
}

.eguide-compare .eguide--nav .page-selector.page-selector-trigger {
  cursor: pointer;
}

@media (max-width: 720px) {
  .eguide-compare .eguide--nav .page-selector.page-selector-trigger {
    margin-bottom: 5px;
  }
}

.eguide-compare .eguide--nav .page-selector.page-selector-trigger:after {
  content: "";
  display: inline-block;
  padding-bottom: 2px;
  border-top: 7px solid #abb300;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  transition: all 300ms;
}

.eguide-compare .eguide--nav .page-selector.page-selector-trigger.open:after {
  border-bottom: 7px solid #abb300;
  border-top: none;
}

@media (max-width: 720px) {
  .eguide-compare .eguide--nav {
    align-items: flex-start;
    flex-wrap: wrap;
    overflow: hidden;
  }
  .eguide-compare .eguide--nav a.crumb {
    width: auto;
    float: left;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .eguide-compare .eguide--nav a.crumb.crumb-root {
    width: 10%;
  }
  .eguide-compare .eguide--nav a.crumb.crumb-root:before {
    top: -2px !important;
    transition: transform 0.2s linear;
    vertical-align: middle;
    height: 0;
    width: 0;
    display: inline-block;
    content: '';
    position: relative;
    top: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid currentColor;
    margin-right: 12px;
  }
  .eguide-compare .eguide--nav a.crumb.crumb-root span {
    display: none;
  }
  .eguide-compare .eguide--nav .breadcrumb__separator {
    display: none !important;
  }
}

@media (min-width: 720px) {
  .eguide-compare .eguide--nav .crumb {
    white-space: nowrap;
  }
}

.eguide-compare .eguide--nav .crumb:nth-of-type(2) {
  overflow: hidden;
  text-overflow: ellipsis;
}

.eguide-compare .eguide--nav .breadcrumb__separator {
  display: inline-block;
  padding: 2px 5px;
}

.eguide-compare .compare-list .compare-jurisdictions {
  height: 60px;
  top: 85px;
  display: flex;
  z-index: 10;
  overflow-x: hidden;
  background-color: white;
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--wrapp {
  flex: 1 0;
  display: flex;
  overflow: hidden;
}

.eguide-compare .compare-list .compare-jurisdictions .eguide-table-of-contents {
  display: none;
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item {
  overflow: hidden;
  padding: 0 15px;
  position: relative;
  flex: 1 0 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item.pdf {
  width: 100%;
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--next,
.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev,
.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdiction--add {
  position: absolute;
  opacity: 0;
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--next,
.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev {
  display: flex;
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--next svg,
.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev svg {
  width: 20px;
  height: 24px;
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev {
  left: 15px;
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev svg {
  transform: rotate(180deg);
}

.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--next,
.eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdiction--add {
  right: 15px;
}

.eguide-compare .compare-list .compare-jurisdictions .ps__scrollbar-x-rail,
.eguide-compare .compare-list .compare-jurisdictions .ps__scrollbar-y-rail {
  display: none;
}

@media screen and (max-width: 1159px) {
  .eguide-compare .compare-list .compare-jurisdictions .eguide-table-of-contents {
    display: none !important;
  }
}

@media screen and (min-width: 500px) {
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item {
    transition: padding 0.2s ease-out;
    flex: 1 0 50%;
    padding-right: 39px;
    justify-content: flex-start;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev {
    left: 0;
  }
}

@media screen and (min-width: 720px) {
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev {
    left: -2px;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--next,
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdiction--add {
    right: 25px;
  }
}

@media screen and (min-width: 1160px) {
  .eguide-compare .compare-list .compare-jurisdictions {
    height: auto;
    padding-top: 25px;
    padding-bottom: 36px;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item {
    flex: 1 0;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--next,
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev {
    display: none;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdiction--add {
    right: 45px;
  }
}

.eguide-compare .sc-definition--definition {
  padding: 20px;
}

.eguide-compare .dl-box .dl-box__link {
  display: flex;
  margin: 0;
  align-items: center;
}

.eguide-compare blockquote {
  padding: 10px 40px !important;
  margin-bottom: 0;
}

.eguide-compare .video-player {
  display: inline-block;
  width: 100%;
}

@media screen and (min-width: 500px) {
  .eguide-compare blockquote {
    padding: 10px 25px !important;
  }
  .eguide-compare blockquote:before, .eguide-compare blockquote:after {
    text-align: center;
    position: static;
  }
  .eguide-compare blockquote:before {
    margin-bottom: -18px;
  }
  .eguide-compare blockquote:after {
    margin-top: 18px;
  }
  .eguide-compare .eguide-table-of-contents {
    display: block;
    position: absolute;
    right: 23px;
    margin-top: 4px;
    align-self: center;
  }
}

.eguide-compare .sidebar-block.sidebar-eguide-expertise h3,
.eguide-compare .sidebar-block.sidebar-eguide-key-contacts h3 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.33333;
  padding-bottom: 15px;
}

.eguide-compare .sidebar-block.sidebar-eguide-expertise .sidebar-block,
.eguide-compare .sidebar-block.sidebar-eguide-key-contacts .sidebar-block {
  padding: 0;
}

.eguide-compare .sidebar-block.sidebar-eguide-expertise .sidebar-block h3,
.eguide-compare .sidebar-block.sidebar-eguide-key-contacts .sidebar-block h3 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.33333;
  padding-bottom: 15px;
}

@media only screen and (min-width: 720px) and (max-width: 899px) {
  .eguide-compare .sidebar-block.sidebar-eguide-expertise h3,
  .eguide-compare .sidebar-block.sidebar-eguide-expertise .sidebar-block,
  .eguide-compare .sidebar-block.sidebar-eguide-expertise .person-list,
  .eguide-compare .sidebar-block.sidebar-eguide-key-contacts h3,
  .eguide-compare .sidebar-block.sidebar-eguide-key-contacts .sidebar-block,
  .eguide-compare .sidebar-block.sidebar-eguide-key-contacts .person-list {
    width: 100%;
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--next,
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdictions--prev {
    top: 20px;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdiction--add {
    top: 12px;
  }
  .compare-item--content-jurisdiction {
    -ms-word-break: break-word !important;
    word-break: break-word !important;
  }
  .compare-jurisdiction-form .eguide-select.add-jurisdiction .eguide-select--header .eguide-select--header-name {
    margin-top: 5px;
  }
}

@media screen and (-ms-high-contrast: active) and (min-width: 1160px), screen and (-ms-high-contrast: none) and (min-width: 1160px) {
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item .compare-jurisdiction--add {
    top: 0;
  }
}

.eguide-compare .toc-dropdown {
  cursor: pointer;
  background-color: white;
  z-index: 6;
}

.eguide-compare .toc-dropdown a.toc-header {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  border-bottom: 1px solid #bbbbbb;
  padding: 14px 0;
}

@media screen and (min-width: 1160px) {
  .eguide-compare .toc-dropdown a.toc-header {
    padding: 17px 0 18px;
  }
}

.eguide-compare .toc-dropdown a.toc-header:after {
  position: absolute;
  right: 14px;
  content: "";
  width: 0;
  height: 0;
  margin-top: 0;
  border-top: 5px solid #11355E;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}

.eguide-compare .toc {
  z-index: 1000;
  overflow-y: auto;
  position: fixed;
  top: 87px;
  right: 0;
  left: 0;
  border-bottom: 2px solid #11355E;
  background-color: #F3F4F6;
  max-height: 0;
  padding: 0 52px;
  opacity: 0;
  transition: opacity 0.4s ease-out, max-height 0.3s ease-out, padding-top 0.3s ease-out, padding-bottom 0.3s ease-out;
}

.eguide-compare .toc .toc--header {
  position: relative;
}

.eguide-compare .toc .toc--header .toc--header__title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
  color: #11355E;
  font-weight: bold;
  margin-bottom: 32px;
}

.eguide-compare .toc .toc--header .toc--header__close {
  position: absolute;
  right: -35px;
  top: 0;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 23'%3e%3cg%3e%3cg fill='%23000' transform='translate(0 .5)'%3e%3cpath d='M19.484 0l2.165 2.165-8.66 8.66 8.66 8.659-2.165 2.165-8.66-8.66-8.66 8.66L0 19.484l8.659-8.66L0 2.164 2.165 0l8.66 8.659z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center no-repeat;
}

.eguide-compare .toc ol {
  margin-left: 0;
  list-style-type: none;
  margin-bottom: 0;
}

.eguide-compare .toc ol li {
  display: flex;
  flex-wrap: wrap;
  font-weight: 400;
}

.eguide-compare .toc ol li .toc--contents__content {
  margin-bottom: 14px;
  display: block;
  flex: 1;
  text-decoration: none;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  color: #11355E;
}

.eguide-compare .toc ol li ol {
  flex: 1 0 100%;
}

.eguide-compare .toc ol li ol li:before,
.eguide-compare .toc ol li ol li .toc--contents__content {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
}

.eguide-compare .toc .toc--type-1 ol,
.eguide-compare .toc .toc--type-2 ol {
  counter-reset: item;
}

.eguide-compare .toc .toc--type-1 ol li:before,
.eguide-compare .toc .toc--type-2 ol li:before {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  color: #11355E;
  font-weight: 600;
  content: counters(item, ".") " ";
  counter-increment: item;
}

.eguide-compare .toc .toc--type-1 ol li ol,
.eguide-compare .toc .toc--type-2 ol li ol {
  margin-left: 7px;
}

.eguide-compare .toc .toc--type-1 ol li .toc--contents__content,
.eguide-compare .toc .toc--type-2 ol li .toc--contents__content {
  margin-left: 10px;
}

.eguide-compare .toc .toc--type-2 ol li ol,
.eguide-compare .toc .toc--type-4 ol li ol {
  margin-left: 7px;
}

.eguide-compare .toc .toc--type-2 ol li .toc--contents__content,
.eguide-compare .toc .toc--type-4 ol li .toc--contents__content {
  margin-left: 10px;
}

.eguide-compare .toc.show {
  max-height: 100%;
  margin-top: 1px;
  padding: 25px 52px 36px;
  opacity: 1;
  transition: max-height 0.3s ease-out, padding-top 0.3s ease-out, padding-bottom 0.3s ease-out;
}

@media screen and (min-width: 720px) {
  .eguide-compare .toc {
    margin-right: 25px;
    margin-left: 25px;
  }
  .eguide-compare .toc .toc--header .toc--header__close {
    right: 0;
  }
  .eguide-compare .toc.show {
    padding: 25px 25px 50px;
  }
}

@media screen and (min-width: 1160px) {
  .eguide-compare .toc {
    margin-right: 0;
    margin-left: 0;
    left: auto;
    right: auto;
  }
  .eguide-compare .toc.show {
    padding-right: 60px;
    padding-bottom: 50px;
    padding-left: 48px;
  }
  .eguide-compare .toc .toc--type-2 ol li .toc--contents__content,
  .eguide-compare .toc .toc--type-4 ol li .toc--contents__content {
    margin-left: 30px;
  }
}

.eguide-compare .compare-list .compare-item {
  margin-bottom: 25px;
}

.eguide-compare .compare-list .compare-item .compare-item--header {
  padding: 0 15px 13px;
  border-bottom: 1px solid #bbbbbb;
  background-color: white;
  z-index: 5;
  top: 145px;
}

.eguide-compare .compare-list .compare-item .compare-item--header h3 {
  margin-bottom: 0;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.33333;
  font-weight: 600;
  color: #11355E;
}

.eguide-compare .compare-list .compare-item .compare-item--content {
  overflow-x: auto;
  display: flex;
  position: relative;
}

.eguide-compare .compare-list .compare-item .compare-item--content .compare-item--content-jurisdiction {
  min-height: 50px;
  padding: 4px 15px;
  flex: 1 0 100%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

.eguide-compare .compare-list .compare-item .compare-item--content .compare-item--content-jurisdiction > *:last-child {
  margin-bottom: 0;
}

.eguide-compare .compare-list .compare-item .compare-item--content .ps__scrollbar-x-rail,
.eguide-compare .compare-list .compare-item .compare-item--content .ps__scrollbar-y-rail {
  display: none;
}

.eguide-compare.eguide .compare-list .compare-item .compare-item--header {
  padding-top: 15px;
}

@media screen and (min-width: 500px) {
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--wrapp {
    margin-right: 11px;
    margin-left: 11px;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--wrapp.pdf {
    flex: 1 0;
    display: flex;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--wrapp.pdf .compare-jurisdictions--item {
    width: 100%;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item {
    padding-left: 30px;
  }
  .eguide-compare .compare-list .compare-item .compare-item--header {
    transition: padding 0.2s ease-out;
    padding-left: 41px;
    padding-right: 41px;
  }
  .eguide-compare .compare-list .compare-item .compare-item--content {
    margin-right: 11px;
    margin-left: 11px;
  }
  .eguide-compare .compare-list .compare-item .compare-item--content .compare-item--content-jurisdiction {
    padding-right: 30px;
    padding-left: 30px;
    transition: padding 0.2s ease-out;
    flex: 1 0 50%;
  }
  .eguide-compare .compare-list[data-page="0"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(1) .compare-jurisdictions--next {
    display: none;
  }
  .eguide-compare .compare-list[data-page="0"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(2) .compare-jurisdictions--prev {
    display: none;
  }
  .eguide-compare .compare-list[data-page="1"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(2) .compare-jurisdictions--next,
  .eguide-compare .compare-list[data-page="2"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(2) .compare-jurisdictions--next {
    display: none;
  }
  .eguide-compare .compare-list[data-page="1"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(3) .compare-jurisdictions--prev,
  .eguide-compare .compare-list[data-page="2"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(3) .compare-jurisdictions--prev {
    display: none;
  }
}

@media screen and (min-width: 720px) {
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--wrapp {
    margin-right: 23px;
    margin-left: 23px;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item {
    padding-left: 27px;
  }
  .eguide-compare .compare-list .compare-item {
    margin-bottom: 0;
  }
  .eguide-compare .compare-list .compare-item .compare-item--header {
    padding: 0 50px 14px;
  }
  .eguide-compare .compare-list .compare-item .compare-item--content {
    margin-right: 23px;
    margin-left: 23px;
  }
  .eguide-compare .compare-list .compare-item .compare-item--content .compare-item--content-jurisdiction {
    padding: 13px 27px 30px;
  }
  .eguide-compare .compare-list[data-page="0"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(1) .compare-jurisdiction--add,
  .eguide-compare .compare-list[data-page="0"] .compare-item .compare-item--content .compare-item--content-jurisdiction:nth-of-type(1) .compare-jurisdiction--add {
    position: static;
    width: 180px;
  }
  .eguide-compare .compare-list[data-page="0"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(1) .compare-jurisdiction--add .add-button,
  .eguide-compare .compare-list[data-page="0"] .compare-item .compare-item--content .compare-item--content-jurisdiction:nth-of-type(1) .compare-jurisdiction--add .add-button {
    margin-left: 10px;
    position: relative;
  }
  .eguide-compare .compare-list[data-page="0"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(1) .compare-jurisdiction--add .add-button:after,
  .eguide-compare .compare-list[data-page="0"] .compare-item .compare-item--content .compare-item--content-jurisdiction:nth-of-type(1) .compare-jurisdiction--add .add-button:after {
    position: absolute;
    right: 10px;
    content: '+';
    border: none;
  }
  .eguide-compare .compare-list[data-page="0"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(1) .compare-jurisdiction--add .add-button-icon,
  .eguide-compare .compare-list[data-page="0"] .compare-item .compare-item--content .compare-item--content-jurisdiction:nth-of-type(1) .compare-jurisdiction--add .add-button-icon {
    display: none;
  }
  .eguide-compare .compare-list[data-page="0"] .compare-jurisdictions .compare-jurisdictions--item:nth-of-type(1) .compare-jurisdiction--add span,
  .eguide-compare .compare-list[data-page="0"] .compare-item .compare-item--content .compare-item--content-jurisdiction:nth-of-type(1) .compare-jurisdiction--add span {
    display: inline-block;
  }
}

@media screen and (min-width: 1160px) {
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--wrapp {
    margin-right: 35px !important;
    margin-left: 35px !important;
  }
  .eguide-compare .compare-list .compare-jurisdictions .compare-jurisdictions--item {
    padding-left: 15px !important;
  }
  .eguide-compare .compare-list .compare-item .compare-item--header {
    padding-left: 50px;
    padding-bottom: 20px;
  }
  .eguide-compare .compare-list .compare-item .compare-item--content {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .eguide-compare .compare-list .compare-item .compare-item--content .compare-item--content-jurisdiction {
    padding-bottom: 30px;
    flex: 1 0;
  }
  .eguide-compare .compare-list .compare-jurisdictions--item,
  .eguide-compare .compare-list .compare-item--content-jurisdiction {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

.eguide-compare .compare-list .compare-item.compare-item--author {
  background-color: #d0d4db;
  padding-top: 20px;
  margin-top: 24px;
  padding-bottom: 48px;
}

.eguide-compare .compare-list .compare-item.compare-item--author .compare-item--header {
  padding-top: 14px;
  padding-bottom: 30px;
  border-bottom: 0;
  background-color: #d0d4db;
  display: flex;
  justify-items: center;
  justify-content: space-between;
}

.eguide-compare .compare-list .compare-item.compare-item--author .compare-item--header h3 {
  font-size: 24px;
  font-weight: 400;
}

.eguide-compare .compare-list .compare-item.compare-item--author .compare-item--header .expand-toggle {
  margin-bottom: 0;
}

.eguide-compare .compare-list .compare-item.compare-item--author .compare-item--header .expand-toggle:before {
  content: none;
}

.eguide-compare .compare-list .compare-item.compare-item--author .compare-item--content-jurisdiction {
  margin-top: 0;
  padding-top: 0 !important;
}

.eguide-compare .compare-list .compare-item.compare-item--author .compare-item--content-jurisdiction .grid__item {
  padding: 0;
}

@media screen and (min-width: 500px) {
  .eguide-compare .compare-list[data-items="1"] .compare-item.compare-item--author .compare-item--content-jurisdiction {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .eguide-compare .compare-list[data-items="1"] .compare-item.compare-item--author .compare-item--content-jurisdiction .grid__item {
    flex: 1 0 50%;
    max-width: 50%;
  }
}

@media screen and (min-width: 1160px) {
  .eguide-compare .compare-list[data-items="1"] .compare-item.compare-item--author .compare-item--content-jurisdiction {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .eguide-compare .compare-list[data-items="1"] .compare-item.compare-item--author .compare-item--content-jurisdiction .grid__item {
    flex: 1 0 33%;
    max-width: 33%;
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .eguide-compare .compare-list .compare-item .compare-item--content .compare-item--content-jurisdiction {
    word-break: normal;
  }
}

@media screen and (-ms-high-contrast: active) and (min-width: 500px), screen and (-ms-high-contrast: none) and (min-width: 500px) {
  .eguide-compare .compare-list[data-items="1"] .compare-item .compare-item--content .compare-item--content-jurisdiction,
  .eguide-compare .compare-list[data-items="1"] .compare-jurisdictions .compare-jurisdictions--item {
    max-width: 100%;
  }
}

@media screen and (-ms-high-contrast: active) and (min-width: 720px), screen and (-ms-high-contrast: none) and (min-width: 720px) {
  .eguide-compare [data-page='0'].compare-list .compare-jurisdictions :nth-of-type(1).compare-jurisdictions--item .compare-jurisdiction--add .add-button::after,
  .eguide-compare [data-page='0'].compare-list .compare-item .compare-item--content :nth-of-type(1).compare-item--content-jurisdiction .compare-jurisdiction--add .add-button::after {
    top: 6px;
  }
}

@media screen and (-ms-high-contrast: active) and (min-width: 1160px), screen and (-ms-high-contrast: none) and (min-width: 1160px) {
  .eguide-compare .compare-list[data-items="1"] .compare-item .compare-item--content .compare-item--content-jurisdiction,
  .eguide-compare .compare-list[data-items="1"] .compare-jurisdictions .compare-jurisdictions--item {
    max-width: 100%;
  }
  .eguide-compare .compare-list[data-items="2"] .compare-item .compare-item--content .compare-item--content-jurisdiction,
  .eguide-compare .compare-list[data-items="2"] .compare-jurisdictions .compare-jurisdictions--item {
    max-width: 50%;
  }
}

@supports (-ms-ime-align: auto) {
  .eguide-compare .compare-list .compare-item .compare-item--content .compare-item--content-jurisdiction {
    word-break: normal;
  }
}

.eguide-select .eguide-select--header {
  width: 180px;
  min-height: 33px;
  margin-right: 25px;
  position: relative;
  display: flex;
  align-items: center;
  background-color: #F3F4F6;
  border-bottom: 2px solid #11355E;
}

.eguide-select .eguide-select--header .eguide-select--header-name {
  cursor: pointer;
  margin-left: 10px;
  width: 100%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

.eguide-select .eguide-select--header:after {
  position: absolute;
  right: 14px;
  content: "";
  width: 0;
  height: 0;
  margin-top: 0;
  border-top: 5px solid #11355E;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}

.eguide-select .eguide-select--header.pdf:after {
  display: none;
}

.eguide-select .eguide-select--header .select--close {
  width: 12px;
  height: 12px;
  position: absolute;
  right: -25px;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 23'%3e%3cg%3e%3cg fill='%23000' transform='translate(0 .5)'%3e%3cpath d='M19.484 0l2.165 2.165-8.66 8.66 8.66 8.659-2.165 2.165-8.66-8.66-8.66 8.66L0 19.484l8.659-8.66L0 2.164 2.165 0l8.66 8.659z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center no-repeat;
}

.eguide-select.open .eguide-select--header {
  background-color: #11355E;
  border-bottom: 2px solid #11355E;
}

.eguide-select.open .eguide-select--header .eguide-select--header-name {
  color: white;
}

.eguide-select.open .eguide-select--header:after {
  position: absolute;
  right: 14px;
  content: "";
  width: 0;
  height: 0;
  margin-top: -3px;
  border-bottom: 5px solid white;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}

@media screen and (min-width: 500px) {
  .eguide-select .eguide-select--header {
    width: 160px;
  }
}

@media screen and (min-width: 720px) {
  .eguide-select {
    width: 50%;
  }
  .eguide-select .eguide-select--header {
    width: 180px;
  }
}

@media screen and (min-width: 1160px) {
  .eguide-select {
    width: 35%;
  }
}

.eguide-select .eguide-select--content-wrapper {
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  position: fixed;
  right: auto;
  left: 0;
  z-index: 101;
  overflow-y: auto;
  border-bottom: 2px solid #11355E;
  max-height: 0;
  opacity: 0;
  transition: opacity 0.4s ease-out, max-height 0.3s ease-out;
}

.eguide-select .eguide-select--content-wrapper .eguide-select--content {
  background-color: #F3F4F6;
}

.eguide-select .eguide-select--content-wrapper .eguide-select--content ul {
  margin-left: 0;
  list-style-type: none;
  margin-bottom: 0;
}

.eguide-select .eguide-select--content-wrapper .eguide-select--content ul li {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

.eguide-select .eguide-select--content-wrapper .eguide-select--content ul li div,
.eguide-select .eguide-select--content-wrapper .eguide-select--content ul li a {
  padding: 5px 30px;
  display: block;
}

.eguide-select .eguide-select--content-wrapper .eguide-select--content ul li a {
  color: #11355E;
  text-decoration: none;
}

.eguide-select .eguide-select--content-wrapper .eguide-select--content ul li a.active, .eguide-select .eguide-select--content-wrapper .eguide-select--content ul li a.disabled {
  color: #666;
  background-color: #fcfcfc;
}

.eguide-select .eguide-select--content-wrapper .eguide-select--content ul li a.empty-option {
  color: #666;
}

.eguide-select .eguide-select--content-wrapper .eguide-select--content ul {
  flex: 1 0 100%;
}

.eguide-select .eguide-select--content-wrapper.open {
  max-height: 100%;
  opacity: 1;
  transition: max-height 0.3s ease-out;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .eguide-select .eguide-select--content-wrapper {
    display: none;
  }
  .eguide-select .eguide-select--content-wrapper.open {
    display: block;
  }
}

#jurisdictions-list-wrapper {
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  position: fixed;
  right: auto;
  left: 0;
  z-index: 101;
  overflow-y: auto;
  border-bottom: 2px solid #11355E;
  max-height: 0;
  opacity: 0;
  transition: opacity 0.4s ease-out, max-height 0.3s ease-out;
}

#jurisdictions-list-wrapper .eguide-select--content {
  background-color: #F3F4F6;
}

#jurisdictions-list-wrapper .eguide-select--content ul {
  margin-left: 0;
  list-style-type: none;
  margin-bottom: 0;
}

#jurisdictions-list-wrapper .eguide-select--content ul li {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

#jurisdictions-list-wrapper .eguide-select--content ul li div,
#jurisdictions-list-wrapper .eguide-select--content ul li a {
  padding: 5px 30px;
  display: block;
}

#jurisdictions-list-wrapper .eguide-select--content ul li a {
  color: #11355E;
  text-decoration: none;
}

#jurisdictions-list-wrapper .eguide-select--content ul li a.active, #jurisdictions-list-wrapper .eguide-select--content ul li a.disabled {
  color: #666;
  background-color: #fcfcfc;
}

#jurisdictions-list-wrapper .eguide-select--content ul li a.empty-option {
  color: #666;
}

#jurisdictions-list-wrapper .eguide-select--content ul {
  flex: 1 0 100%;
}

#jurisdictions-list-wrapper.open {
  max-height: 100%;
  opacity: 1;
  transition: max-height 0.3s ease-out;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  #jurisdictions-list-wrapper {
    display: none;
  }
  #jurisdictions-list-wrapper.open {
    display: block;
  }
}

.compare-jurisdiction--add {
  background-color: #abb300;
  width: 34px;
  height: 34px;
}

.compare-jurisdiction--add .add-button {
  height: 100%;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: white;
}

.compare-jurisdiction--add .add-button .add-button-icon {
  position: absolute;
  top: 12px;
  left: 12px;
  content: "";
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 23'%3e%3cg%3e%3cg fill='%23fff' transform='translate(0 .5)'%3e%3cpath d='M19.484 0l2.165 2.165-8.66 8.66 8.66 8.659-2.165 2.165-8.66-8.66-8.66 8.66L0 19.484l8.659-8.66L0 2.164 2.165 0l8.66 8.659z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center no-repeat;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
}

.compare-jurisdiction--add .add-button span {
  display: none;
}

.compare-jurisdiction--add .eguide-select--content {
  display: none;
  padding: 25px 0;
}

#jurisdictions-list-wrapper.overlay-mode {
  margin-top: 10px;
  right: 0;
}

#jurisdictions-list-wrapper.overlay-mode .add-jurisdiction-overlay {
  padding: 25px 52px 36px;
}

#jurisdictions-list-wrapper.overlay-mode .add-jurisdiction-overlay .select--header {
  position: relative;
}

#jurisdictions-list-wrapper.overlay-mode .add-jurisdiction-overlay .select--header .select--content-title {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
  line-height: 36px;
  color: #11355E;
  font-weight: bold;
  margin-bottom: 32px;
}

#jurisdictions-list-wrapper.overlay-mode .add-jurisdiction-overlay .select--header .select--content-close {
  position: absolute;
  top: 0;
  right: -35px;
  cursor: pointer;
  width: 12px;
  height: 12px;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 23'%3e%3cg%3e%3cg fill='%23000' transform='translate(0 .5)'%3e%3cpath d='M19.484 0l2.165 2.165-8.66 8.66 8.66 8.659-2.165 2.165-8.66-8.66-8.66 8.66L0 19.484l8.659-8.66L0 2.164 2.165 0l8.66 8.659z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center no-repeat;
}

@media screen and (min-width: 720px) {
  #jurisdictions-list-wrapper.overlay-mode {
    margin-right: 25px;
    margin-left: 25px;
    right: 0;
  }
  #jurisdictions-list-wrapper.overlay-mode .eguide-select--content.add-jurisdiction-overlay {
    padding: 25px 25px 50px;
  }
  #jurisdictions-list-wrapper.overlay-mode .eguide-select--content.add-jurisdiction-overlay .select--header .select--content-close {
    right: 0;
  }
  #jurisdictions-list-wrapper.overlay-mode .eguide-select--content.add-jurisdiction-overlay ul {
    column-gap: 68px;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    -countcolumn: 2;
  }
}

@media screen and (min-width: 1160px) {
  .compare-jurisdiction--add.eguide-select--overlay-mode.open:after {
    position: absolute;
    margin-left: 86px;
    content: "";
    width: 0;
    height: 0;
    margin-top: -7px;
    border-bottom: 7px solid #F3F4F6;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
  }
  #jurisdictions-list-wrapper.overlay-mode {
    margin-top: 0;
    margin-left: 0;
    margin-right: 5px;
  }
  #jurisdictions-list-wrapper.overlay-mode .eguide-select--content.add-jurisdiction-overlay ul {
    column-gap: 68px;
    -webkit-column-count: 3;
    -moz-column-count: 3;
    -countcolumn: 3;
  }
}

.compare-jurisdiction-form {
  margin-top: 50px;
  padding: 0 72px 50px 48px;
}

.compare-jurisdiction-form h3 {
  margin-bottom: 23px;
}

.compare-jurisdiction-form h3::first-letter {
  text-transform: capitalize;
}

.compare-jurisdiction-form p {
  margin-bottom: 18px;
}

.compare-jurisdiction-form .wide-devices-titles {
  display: none;
}

.compare-jurisdiction-form .eguide-select .eguide-select--header {
  margin-bottom: 23px;
  min-height: 33px;
  width: 220px;
}

.compare-jurisdiction-form .eguide-select.extra-jurisdiction {
  display: none;
}

.compare-jurisdiction-form .eguide-select.add-jurisdiction .eguide-select--header {
  display: flex;
  justify-content: center;
}

.compare-jurisdiction-form .eguide-select.add-jurisdiction .eguide-select--header .eguide-select--header-name {
  margin: 0;
  width: auto;
}

.compare-jurisdiction-form .eguide-select.add-jurisdiction .eguide-select--header:after {
  margin-left: 10px;
  position: static;
  height: 100%;
}

.compare-jurisdiction-form .eguide-select.add-jurisdiction:not(.selected):not(.open) {
  display: none;
}

.compare-jurisdiction-form .eguide-select.add-jurisdiction:not(.selected):not(.open) .eguide-select--header {
  color: white;
  background-color: #abb300;
  border-bottom: 2px solid #abb300;
}

.compare-jurisdiction-form .eguide-select.add-jurisdiction:not(.selected):not(.open) .eguide-select--header:after {
  content: '+';
  border: none;
  top: 3px;
  right: 23px;
}

.compare-jurisdiction-form .open-comparison {
  display: none;
  width: 220px;
  height: 35px;
  position: relative;
  text-decoration: none;
  background-color: #abb300;
  color: white;
}

.compare-jurisdiction-form .open-comparison:after {
  position: absolute;
  right: 14px;
  content: "";
  width: 0;
  height: 0;
  margin-top: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid white;
  position: static;
  margin-left: 10px;
}

.compare-jurisdiction-form .open-comparison.show {
  display: flex;
  justify-content: center;
  align-items: center;
}

.compare-jurisdiction-form .wide-device-titles {
  display: none;
}

@media screen and (min-width: 720px) {
  .compare-jurisdiction-form .compare-dropdowns-block,
  .compare-jurisdiction-form .wide-device-titles {
    display: flex;
  }
  .compare-jurisdiction-form .compare-dropdowns-block .col1,
  .compare-jurisdiction-form .compare-dropdowns-block .col2,
  .compare-jurisdiction-form .wide-device-titles .col1,
  .compare-jurisdiction-form .wide-device-titles .col2 {
    flex: 1 0 50%;
  }
  .compare-jurisdiction-form .small-device-title {
    display: none;
  }
  .compare-jurisdiction-form .eguide-select {
    width: 100%;
  }
  .compare-jurisdiction-form .open-comparison,
  .compare-jurisdiction-form .eguide-select .eguide-select--header {
    width: auto;
    margin-right: 25px;
  }
}

@media screen and (min-width: 1160px) {
  .compare-jurisdiction-form .compare-dropdowns-block .eguide-select--header,
  .compare-jurisdiction-form .wide-device-titles .eguide-select--header {
    margin-right: 30px;
  }
  .compare-jurisdiction-form .compare-dropdowns-block .col1,
  .compare-jurisdiction-form .wide-device-titles .col1 {
    flex: 1 0 33%;
  }
  .compare-jurisdiction-form .compare-dropdowns-block .col2,
  .compare-jurisdiction-form .wide-device-titles .col2 {
    flex: 1 0 67%;
    display: flex;
    align-items: flex-start;
  }
  .compare-jurisdiction-form .compare-dropdowns-block .col2 .eguide-select,
  .compare-jurisdiction-form .wide-device-titles .col2 .eguide-select {
    max-width: 50%;
    align-items: flex-start;
  }
  .compare-jurisdiction-form .compare-dropdowns-block .col2 .eguide-select .eguide-select--header,
  .compare-jurisdiction-form .wide-device-titles .col2 .eguide-select .eguide-select--header {
    margin-bottom: 0;
  }
  .compare-jurisdiction-form .open-comparison,
  .compare-jurisdiction-form .eguide-select .eguide-select--header {
    margin-right: 30px;
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .compare-jurisdiction-form .eguide-select.add-jurisdiction .eguide-select--header .eguide-select--header-name {
    margin-top: 5px;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZWd1aWRlcy1jb21wYXJlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvX3ZhcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvX2ludWl0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL19kZWZhdWx0cy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvZ2VuZXJpYy9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX3NoYXJlZC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX2hlYWRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX3BhcmFncmFwaHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fc21hbGxwcmludC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19xdW90ZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fY29kZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL29iamVjdHMvX2dyaWRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL29iamVjdHMvX25hdi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9vYmplY3RzL19tZWRpYS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL193aWR0aHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvZ2VuZXJpYy9fcHVzaC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19wdWxsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2JyYW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2hlbHBlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19kZWJ1Zy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2dsb2JhbHMvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL3BhcnRpYWxzL19lZ3VpZGUtY29tcGFyZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL3BhcnRpYWxzL19lZ3VpZGUtYnJlYWRjcnVtYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9wYXJ0aWFscy9fZWd1aWRlLWNvbXBhcmUtdG9jLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvcGFydGlhbHMvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvcGFydGlhbHMvX2VndWlkZS1jb21wYXJlLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9wYXJ0aWFscy9fZWd1aWRlLWNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7O3VDREd1QztBQ0F2Qzs7Ozs7OztFRFFFO0FDQ0Y7O3VDREV1QztBQ0N2Qzs7Ozs7RURLRTtBQzBCRjs7dUNEdkJ1QztBQzBCdkM7O0VEdkJFO0FDd0ZGO0VBQW1CLGFBQWE7QURyRmhDOztBQ3FGQTtFQUNVLGNBQWM7QURsRnhCOztBRWpDQTs7dUNGcUN1QztBRWxDdkM7Ozs7RUZ1Q0U7QUVsQ0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VGNEVFO0FFN0JGOzt1Q0ZnQ3VDO0FFN0J2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUZtRkU7QUV4QkY7O3VDRjJCdUM7QUV4QnZDOzs7Ozs7Ozs7OztFRm9DRTtBRW5CRjs7dUNGc0J1QztBRW5CdkM7O0VGc0JFO0FHbEtGOzt1Q0hxS3VDO0FHbEt2Qzs7O0VIc0tFO0FHN0pGOzt1Q0hnS3VDO0FHN0p2Qzs7O0VIaUtFO0FHdkpGOzt1Q0gwSnVDO0FHdkp2Qzs7O0VIMkpFO0FHakpGOzt1Q0hvSnVDO0FHakp2Qzs7RUhvSkU7QUc5SUY7O0VIaUpFO0FHNUlGOztFSCtJRTtBR3RJRjs7dUNIeUl1QztBR3RJdkM7O0VIeUlFO0FHcElGOzs7RUh3SUU7QUdsSUY7OztFSHNJRTtBR2pJRjs7RUhvSUU7QUcxSEY7O0VINkhFO0FHcEhGOztFSHVIRTtBRzNHRjs7dUNIOEd1QztBRzNHdkM7O0VIOEdFO0FHekZGOzt1Q0g0RnVDO0FHekZ2Qzs7RUg0RkU7QUd2RkY7OztFSDJGRTtBR3BGRjs7RUh1RkU7QUczRUY7O3VDSDhFdUM7QUczRXZDOztFSDhFRTtBR3hFRjs7RUgyRUU7QUdsRUY7O3VDSHFFdUM7QUdsRXZDOztFSHFFRTtBR3JDRjs7dUNId0N1QztBR3JDdkM7Ozs7RUgwQ0U7QUlwUUY7O3VDSnVRdUM7QUlwUXZDOzs7Ozs7OztFSjZRRTtBSTNQRjs7Ozs7Ozs7Ozs7RUp1UUU7QUk1T0Y7Ozs7O0VKa1BFO0FJbk9GOzs7Ozs7Ozs7Ozs7OztFSmtQRTtBSTVNRjs7Ozs7O0VKbU5FO0FJcE1GOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VKdU9FO0FJdkZGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VKaUhFO0FLclhGO0FBRUE7OytFTHVYK0U7QUtuWC9FOztFTHNYRTtBS2xYRjs7Ozs7Ozs7Ozs7O0VBWUksY0FBYztBTG9YbEI7O0FLalhBOztFTHFYRTtBS2pYRjs7O0VBR0kscUJBQXFCO0FMbVh6Qjs7QUtoWEE7OztFTHFYRTtBS2hYRjtFQUNJLGFBQWE7RUFDYixTQUFTO0FMa1hiOztBSy9XQTs7RUxtWEU7QUFDRjtFSy9XSSxhQUFhO0FMaVhqQjs7QUs5V0E7OytFTGtYK0U7QUs5Vy9FOzs7O0VMbVhFO0FLN1dGO0VBQ0ksdUJBQXVCO0VBQUU7RUFDekIsOEJBQThCO0VBQUU7RUFDaEMsMEJBQTBCO0VBQUU7QUxrWGhDOztBSy9XQTs7RUxtWEU7QUsvV0Y7RUFDSSxTQUFTO0FMaVhiOztBSzlXQTs7K0VMa1grRTtBSzlXL0U7O0VMaVhFO0FLN1dGO0VBQ0ksb0JBQW9CO0FMK1d4Qjs7QUs1V0E7O0VMZ1hFO0FLNVdGOztFQUVJLFVBQVU7QUw4V2Q7O0FLM1dBOzsrRUwrVytFO0FLM1cvRTs7O0VMK1dFO0FLMVdGO0VBQ0ksY0FBYztFQUNkLGdCQUFnQjtBTDRXcEI7O0FLeldBOztFTDZXRTtBS3pXRjtFQUNJLHlCQUF5QjtBTDJXN0I7O0FLeFdBOztFTDRXRTtBS3hXRjs7RUFFSSxnQkFBZ0I7QUwwV3BCOztBS3ZXQTs7RUwyV0U7QUt2V0Y7RUFDSSxrQkFBa0I7QUx5V3RCOztBS3RXQTs7RUwwV0U7QUt0V0Y7RUFDSSw0QkFBNEI7RUFDNUIsdUJBQXVCO0VBQ3ZCLFNBQVM7QUx3V2I7O0FLcldBOztFTHlXRTtBS3JXRjtFQUNJLGdCQUFnQjtFQUNoQixXQUFXO0FMdVdmOztBS3BXQTs7RUx3V0U7QUtwV0Y7Ozs7RUFJSSw2QkFBNkI7RUFDN0IsY0FBYztBTHNXbEI7O0FLbldBOztFTHVXRTtBS25XRjtFQUNJLHFCQUFxQjtBTHFXekI7O0FLbFdBOztFTHNXRTtBS2xXRjtFQUNJLHVDQUF1QztBTG9XM0M7O0FLaldBOztFTHFXRTtBS2pXRjtFQUNJLGNBQWM7QUxtV2xCOztBS2hXQTs7RUxvV0U7QUtoV0Y7O0VBRUksY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCO0FMa1c1Qjs7QUsvVkE7RUFDSSxXQUFXO0FMa1dmOztBSy9WQTtFQUNJLGVBQWU7QUxrV25COztBSy9WQTs7K0VMbVcrRTtBSy9WL0U7O0VMa1dFO0FLOVZGO0VBQ0ksU0FBUztBTGdXYjs7QUs3VkE7O0VMaVdFO0FLN1ZGO0VBQ0ksZ0JBQWdCO0FMK1ZwQjs7QUs1VkE7OytFTGdXK0U7QUs1Vi9FOztFTCtWRTtBSzNWRjtFQUNJLFNBQVM7QUw2VmI7O0FLMVZBOzsrRUw4VitFO0FLMVYvRTs7RUw2VkU7QUt6VkY7RUFDSSx5QkFBeUI7RUFDekIsYUFBYTtFQUNiLDhCQUE4QjtBTDJWbEM7O0FLeFZBOzs7RUw2VkU7QUt4VkY7RUFDSSxTQUFTO0VBQUU7RUFDWCxVQUFVO0VBQUU7QUw0VmhCOztBS3pWQTs7OztFTCtWRTtBS3pWRjs7OztFQUlJLG9CQUFvQjtFQUFFO0VBQ3RCLGVBQWU7RUFBRTtFQUNqQixTQUFTO0VBQUU7QUw4VmY7O0FLM1ZBOzs7RUxnV0U7QUszVkY7O0VBRUksbUJBQW1CO0FMNlZ2Qjs7QUsxVkE7Ozs7O0VMaVdFO0FLMVZGOztFQUVJLG9CQUFvQjtBTDRWeEI7O0FLelZBOzs7Ozs7RUxpV0U7QUt6VkY7Ozs7RUFJSSwwQkFBMEI7RUFBRTtFQUM1QixlQUFlO0VBQUU7QUw2VnJCOztBSzFWQTs7RUw4VkU7QUsxVkY7OztFQUdJLGVBQWU7QUw0Vm5COztBS3pWQTs7O0VMOFZFO0FLelZGOztFQUVJLHNCQUFzQjtFQUFFO0VBQ3hCLFVBQVU7RUFBRTtBTDZWaEI7O0FLMVZBOzs7O0VMZ1dFO0FLMVZGO0VBQ0ksNkJBQTZCO0VBQUU7RUFDL0IsNEJBQTRCO0VBQzVCLCtCQUErQjtFQUFFO0VBQ2pDLHVCQUF1QjtBTDhWM0I7O0FLM1ZBOzs7RUxnV0U7QUszVkY7O0VBRUksd0JBQXdCO0FMNlY1Qjs7QUsxVkE7O0VMOFZFO0FLMVZGOztFQUVJLFNBQVM7RUFDVCxVQUFVO0FMNFZkOztBS3pWQTs7O0VMOFZFO0FLelZGO0VBQ0ksY0FBYztFQUFFO0VBQ2hCLG1CQUFtQjtFQUFFO0FMNlZ6Qjs7QUsxVkE7OytFTDhWK0U7QUsxVi9FOztFTDZWRTtBS3pWRjtFQUNJLHlCQUF5QjtFQUN6QixpQkFBaUI7QUwyVnJCOztBTXR1QkE7O3VDTjB1QnVDO0FNdnVCdkM7OztFTjJ1QkU7QU1ydUJFOztLTnd1QkM7QU1ydUJEO0VGMkNBLDhCRXZDOEM7RUZ3QzNDLDJCRXhDMkM7RUZ5QzFDLDBCRXpDMEM7RUYwQ3pDLHlCRTFDeUM7RUYyQ3RDLHNCRTNDc0M7QU53dUJsRDs7QU1udUJBOztFTnV1QkU7QU1wdUJGOzs7Ozs7RUFNSSxTQUFRO0VBQ1IsVUFBUztBTnN1QmI7O0FNbnVCQTs7RU51dUJFO0FNcHVCRjtFQUNJLFlBQVc7QU5zdUJmOztBTW51QkE7O0VOdXVCRTtBTXB1QkY7RUFDSSxxQkFBb0I7QU5zdUJ4Qjs7QU1udUJBOztFTnV1QkU7QU1wdUJGO0VBQ0ksd0JBQXVCO0FOc3VCM0I7O0FNbnVCQTs7RU51dUJFO0FLbGtCRjtFQ2pLSSxrQkFBaUI7QU5zdUJyQjs7QU1udUJBOztFTnV1QkU7QU1wdUJGOzs7Ozs7RUFNSSxlQUFjO0FOc3VCbEI7O0FNcHVCSTs7OztFQUlJLFlBQVc7RUFDWCxhQUFZO0FOdXVCcEI7O0FPcnpCQTs7dUNQeXpCdUM7QU90ekJ2Qzs7OztFUDJ6QkU7QU90ekJGO0VBRVEsV0FBVTtFQUNWLGNBQWE7RUFDYixXQUFVO0FQdXpCbEI7O0FRbjBCQTs7dUNSdTBCdUM7QVFwMEJ2Qzs7OztFUnkwQkU7QVFwMEJGOztFUnUwQkU7QVFwMEJGOzs7Ozs7Ozs7OztFQWNJLG1CUGlJbUI7RU9oSW5CLHFCQUF5RDtBUm0wQjdEOztBUWowQkk7Ozs7Ozs7Ozs7RUFDSSxtQkFBb0M7RUFDcEMsc0JBQStEO0FSNjBCdkU7O0FReDBCQTs7RVI0MEJFO0FRejBCRjtFQUNJLG1CQUFvQztFQUNwQyxtQkFBNkQ7QVIyMEJqRTs7QVF2MEJBOzs7RVI0MEJFO0FLM3VCRjtFRzVGSSxtQkFBc0M7RUFDdEMsdUJBQWlFO0FSMDBCckU7O0FRdDBCQTs7O0VSMjBCRTtBUXYwQkY7RUFDSSxpQkFBa0M7RUFDbEMsaUJBQTJEO0FSeTBCL0Q7O0FFM3VCQTs7RUYrdUJFO0FTejRCRjs7dUNUNDRCdUM7QUs3MEJ2QztFSTNESSx3Qk44QzBCO0VNN0MxQixrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZixZQUFZO0VBQ1osa0JBQWtCO0FUMjRCdEI7O0FVbjVCQTs7dUNWdTVCdUM7QVVwNUJ2Qzs7Ozs7O0VWMjVCRTtBVXA1QkY7RU5HSSxlRDRHb0I7RUMzR3BCLGtCQUE2QztFQUV6QyxvQkFBZ0I7QUptNUJ4Qjs7QVV0NUJBO0VOQUksZUQ2R29CO0VDNUdwQixtQkFBNkM7RUFFekMsZ0JBQWdCO0FKeTVCeEI7O0FVejVCQTtFTkhJLGVEOEdvQjtFQzdHcEIsaUJBQTZDO0VBRXpDLGNBQWdCO0FKKzVCeEI7O0FVNTVCQTtFTk5JLGVEK0dvQjtFQzlHcEIsa0JBQTZDO0VBRXpDLGdCQUFnQjtBSnE2QnhCOztBVS81QkE7RU5USSxlRGdIb0I7RUMvR3BCLGVBQTZDO0VBRXpDLGdCQUFnQjtBSjI2QnhCOztBVWw2QkE7RU5aSSxlRGlIb0I7RUNoSHBCLG1CQUE2QztFQUV6QyxvQkFBZ0I7QUppN0J4Qjs7QVVuNkJBOzs7Ozs7Ozs7RVY4NkJFO0FVbDZCRjtFQUNJLGdCQUFlO0FWbzZCbkI7O0FVaDZCQTs7O0VWcTZCRTtBVWo2QkY7RU50Q0ksZUR3R29CO0VDdkdwQixlQUE2QztFQUV6QyxjQUFnQjtBSnk4QnhCOztBVW42QkE7RU56Q0ksZUR5R29CO0VDeEdwQixpQkFBNkM7RUFFekMsY0FBZ0I7QUorOEJ4Qjs7QVV0NkJBO0VONUNJLGVEMEdvQjtFQ3pHcEIsZUFBNkM7RUFFekMsY0FBZ0I7QUpxOUJ4Qjs7QVdyK0JBOzt1Q1h5K0J1QztBV3QrQnZDOzs7RVgwK0JFO0FXdCtCRjs7RVBNSSxlT0owQztFUEsxQyxtQkFBNkM7RUFFekMsb0JBQWdCO0FKbStCeEI7O0FZbi9CQTs7dUNadS9CdUM7QVlwL0J2Qzs7RVp1L0JFO0FZcC9CRjs7RVJPSSxlRG1Ib0I7RUNsSHBCLGtCQUE2QztFQUV6QyxjQUFnQjtBSmcvQnhCOztBWXQvQkE7RVJHSSxlRG9Ib0I7RUNuSHBCLG1CQUE2QztFQUV6QyxnQkFBZ0I7QUpzL0J4Qjs7QWF0Z0NBOzt1Q2IwZ0N1QztBYXZnQ3ZDOztFYjBnQ0U7QWFqZ0NGOztFYm9nQ0U7QWFoZ0NGOztFYm1nQ0U7QUsvMUJGO0VRaEtJLHVCQUF3QztBYmtnQzVDOztBYW5nQ0E7RUFJUSxnQkFBZTtFQUNmLG1CQUFrQjtBYm1nQzFCOztBYXhnQ0E7RUFRUSxnQkFBZTtFQUNmLG9CQUFtQjtBYm9nQzNCOztBYTdnQ0E7RUFhUSxnQkFBZTtFQUNmLG1CQUFrQjtBYm9nQzFCOztBYWxoQ0E7RUFpQlEsZ0JBQWU7RUFDZixvQkFBbUI7QWJxZ0MzQjs7QWFqZ0NBO0VBQ0ksZUFBd0I7QWJvZ0M1Qjs7QWFyZ0NBO0VBSVEsWUFBUTtFQUNSLG1CQUFrQjtBYnFnQzFCOztBYTFnQ0E7RUFRUSxXQUFVO0VBQ1YsdUJBQXNCO0Fic2dDOUI7O0FhL2dDQTtFQVlRLFlBQVE7RUFDUixvQkFBbUI7QWJ1Z0MzQjs7QWFwaENBO0VBaUJRLGdCQUFlO0VBQ2YsbUJBQWtCO0FidWdDMUI7O0FhemhDQTtFQXFCUSxnQkFBZTtFQUNmLG9CQUFtQjtBYndnQzNCOztBYW5nQ0E7Ozs7Ozs7O0ViNmdDRTtBYXhpQ0Y7RUFxQ0k7O01idWdDRTtFYXBnQ0Ysb0JBQW1CO0Fic2dDdkI7O0FhMWdDQTtFQU9RLGdCQUFlO0FidWdDdkI7O0FhbmdDQTtFQUNJLGNBQWE7RUFDYixjQUFhO0Fic2dDakI7O0FheGdDQTtFQUtRLGdCQUFlO0FidWdDdkI7O0FjcG1DQTs7dUNkd21DdUM7QWNybUN2Qzs7RWR3bUNFO0FLLzdCRjtFU3JLSSxjQUFhO0FkdW1DakI7O0Fjcm1DSTtFQUNJLGdCQUFlO0VBQ2Ysd0JBQXVCO0VBQ3ZCLGNBQWE7QWR3bUNyQjs7QWNwbUNBOzs7OztFZDJtQ0U7QWNybUNGO0VBQ0k7O01kd21DRTtFY3JtQ0YsYUFBWTtFQUNaLHlCQUF3QjtBZHVtQzVCOztBY25tQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFZDBuQ0U7QWNwbUNGO0VBQ0ksNkJBQTRCO0VBQVk7RUFDeEMsdUNBQXNDO0VBQUU7RUFDeEMsbUJBQWtCO0VBQXNCO0VBQ3hDLGNBQWE7RUFBMkI7RUFDeEMsY0FBYTtBZDBtQ2pCOztBY3htQ0k7RUFDSSxnQkFBZTtFQUFxQjtBZDRtQzVDOztBZXpxQ0E7O3VDZjZxQ3VDO0FlMXFDdkM7O0VmNnFDRTtBZTFxQ0Y7O0VmNnFDRTtBS3Y5QkY7RVVsTkksZUFBYztBZjRxQ2xCOztBZXhxQ0E7O0VmNHFDRTtBZXpxQ0Y7O0VBRUksZUFBYztBZjJxQ2xCOztBZXZxQ0E7O0VmMnFDRTtBZXhxQ0Y7RUFBYyxrQlpvSlU7QUh1aEN4Qjs7QWV4cUNBOztFZjRxQ0U7QWV6cUNGO0VBQ0ksWUFBVztFQUNYLG1CZHdIbUI7RWN2SG5CLGlCZHVIbUI7QURvakN2Qjs7QWV6cUNBO0VBQ0ksV0FBVTtFQUNWLGtCZG1IbUI7RWNsSG5CLG1CZGtIbUI7QUQwakN2Qjs7QWUxcUNBO0VBQ0ksY0FBYTtFQUNiLGtCQUFpQjtFQUNqQixtQmQ2R21CO0VjNUduQixpQkFBZ0I7QWY2cUNwQjs7QWV6cUNBOzs7OztFZmdyQ0U7QWUxcUNGO0VBQ0ksYUFBNkI7QWY0cUNqQzs7QWUxcUNBO0VBQ0ksYUFBOEI7QWY2cUNsQzs7QWUzcUNBO0VBQ0ksYUFBOEI7QWY4cUNsQzs7QWUxcUNBOztFZjhxQ0U7QWUzcUNGO0VBQ0ksY0FBYTtBZjZxQ2pCOztBZ0JwdkNBOzt1Q2hCd3ZDdUM7QWdCcnZDdkM7O0VoQnd2Q0U7QWdCcnZDRjs7RUFHUyxnQkFBZTtBaEJzdkN4Qjs7QWdCbHZDQTs7RWhCc3ZDRTtBZ0JudkNGO0FBQU07RUFDRix3QkFBdUI7QWhCc3ZDM0I7O0FpQnZ3Q0E7O3VDakIyd0N1QztBaUJ4d0N2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RWpCOHpDRTtBS3g3QkY7RVkvVUksV0FBVTtBakIwd0NkOztBaUJ4d0NBOztFQUVJLFlBQThCO0VBSTlCLGdCQUFlO0FqQnd3Q25COztBaUIzd0NJO0VBSEo7O0lBSVEsYWRnS2tDO0VIZ25DeEM7QUFDRjs7QWlCM3dDQTs7RWpCK3dDRTtBQUNGO0VpQjV3Q0ksa0JBQWlCO0FqQjh3Q3JCOztBQUVBO0VpQjd3Q0ksZ0JBQWU7QWpCK3dDbkI7O0FBRUE7RWlCOXdDSSxzQkFBcUI7QWpCZ3hDekI7O0FBRUE7RWlCL3dDSSxtQkFBa0I7QWpCaXhDdEI7O0FpQi93Q0E7RUFDSSxpQkFBZ0I7QWpCa3hDcEI7O0FpQi93Q0E7Ozs7O0VqQnN4Q0U7QWlCaHhDRjtFQUFVLFNBQVU7QWpCbXhDcEI7O0FpQmx4Q0E7RUFBVSxVQUFVO0FqQnN4Q3BCOztBaUJyeENBO0VBQVUsWUFBWTtBakJ5eEN0Qjs7QWlCenhDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQjZ4Q3BCOztBaUI1eENBO0VBQVUsVUFBVTtBakJneUNwQjs7QWlCL3hDQTtFQUFVLFVBQVU7QWpCbXlDcEI7O0FpQm55QzRCO0FBQzVCO0VBQVUsVUFBVTtBakJ1eUNwQjs7QWlCdHlDQTtFQUFVLGNBQWM7QWpCMHlDeEI7O0FpQjF5QzRCO0FBQzVCO0VBQVUsVUFBVTtBakI4eUNwQjs7QWlCN3lDQTtFQUFVLFlBQVk7QWpCaXpDdEI7O0FpQmp6QzRCO0FBQzVCO0VBQVUsVUFBVTtBakJxekNwQjs7QWlCcHpDQTtFQUFVLFVBQVU7QWpCd3pDcEI7O0FpQnZ6Q0E7RUFBVSxVQUFVO0FqQjJ6Q3BCOztBaUIzekM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCK3pDcEI7O0FpQjl6Q0E7RUFBVSxVQUFVO0FqQmswQ3BCOztBaUJqMENBO0VBQVUsWUFBWTtBakJxMEN0Qjs7QWlCcjBDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQnkwQ3BCOztBaUJ4MENBO0VBQVUsY0FBYztBakI0MEN4Qjs7QWlCNTBDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQmcxQ3BCOztBaUIvMENBO0VBQVUsVUFBVTtBakJtMUNwQjs7QWlCbjFDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQnUxQ3BCOztBaUJ0MUNBO0VBQVUsVUFBVTtBakIwMUNwQjs7QWlCejFDQTtFQUFVLFlBQVk7QWpCNjFDdEI7O0FpQjcxQzRCO0FBQzVCO0VBQVUsVUFBVTtBakJpMkNwQjs7QWlCaDJDQTtFQUFVLFVBQVU7QWpCbzJDcEI7O0FpQmoyQ0E7O0VqQnEyQ0U7QWlCbDJDRjs7RUFJUSxzQmQxRWdCO0FINDZDeEI7O0FpQnQyQ0E7O0VBT1ksWUFBVztBakJvMkN2Qjs7QWlCMzJDQTtFQVlRLHdCQUF1QjtBakJtMkMvQjs7QWlCLzJDQTtFQWdCUSx1QkFBc0I7QWpCbTJDOUI7O0FpQjkxQ0E7O0VqQmsyQ0U7QWlCLzFDRjtFQUdRLHNCQUFxQjtFQUFFO0FqQmcyQy9COztBaUIzMUNBOztFakIrMUNFO0FpQjUxQ0Y7RUFDSSx5QkFBd0I7QWpCODFDNUI7O0FrQi8vQ0E7O3VDbEJtZ0R1QztBa0JoZ0R2Qzs7OztFbEJxZ0RFO0FLNXdDRjtFYW5QSSxhakJpSm1CO0FEaTNDdkI7O0FrQjkvQ0E7Ozs7Ozs7OztFbEJ5Z0RFO0FrQi8vQ0Y7O0VBRUk7O01sQmtnREU7QUFDTjs7QWtCNy9DQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VsQmloREU7QWtCOS9DRjtFQUNJLGdCQUFlO0VBQ2YsU0FBUTtBbEJnZ0RaOztBa0IzL0NJO0VBQ0ksZ0JBQWU7QWxCOC9DdkI7O0FrQjEvQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RWxCcWhERTtBa0IzL0NGOztFQUVJLGNBQWE7QWxCNi9DakI7O0FrQjMvQ0k7Ozs7O01sQmtnREU7QWtCNS9DRjtFQUNJLGNBQWE7RUFDYixtQkFBa0I7QWxCOC9DMUI7O0FrQjEvQ0E7Ozs7Ozs7Ozs7Ozs7O0VsQjBnREU7QWtCMy9DRjtFQUNJLGdCQUFlO0VBQ2YsU0FBUTtBbEI2L0NaOztBa0IzL0NJOztNbEIrL0NFO0FrQjUvQ0Y7OztFQUdJLHFCQUFvQjtBbEI4L0M1Qjs7QWtCMS9DQTs7Ozs7Ozs7Ozs7Ozs7RWxCMGdERTtBa0IzL0NGO0VBQ0kscUJBQW9CO0VBQ3BCLGFBQVk7QWxCNi9DaEI7O0FrQnovQ0E7Ozs7Ozs7Ozs7O0VsQnNnREU7QWtCMS9DRjtBQUFTO0VBQ0wscUJBQW9CO0VBQ3BCLGtCQUFpQjtBbEI2L0NyQjs7QWtCMy9DQTs7RUFFSSxtQkFBa0I7QWxCOC9DdEI7O0FFOS9DQTs7RUZrZ0RFO0FtQjVxREY7O3VDbkIrcUR1QztBbUI1cUR2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RW5CMHNERTtBbUIxcURGOztFbkI2cURFO0FtQjFxREY7RUFDSSxrQmxCaUhtQjtFa0JoSG5CLGdCQUFlO0VBQ2YsZ0JBQWU7QW5CNHFEbkI7O0FtQnhxREk7O01uQjRxREU7QW1CenFERjtFQUNJLGNBQWE7QW5CMnFEckI7O0FtQnZxREk7O01uQjJxREU7QW1CeHFERjtFQUNJLHFCQUFvQjtFQUNwQixXQUFVO0VBQ1Ysa0JsQjZGZTtFa0I1RmYsbUJBQWtCO0FuQjBxRDFCOztBb0J0dURBOzt1Q3BCMHVEdUM7QW9CdnVEdkM7Ozs7Ozs7Ozs7Ozs7O0VwQnN2REU7QW9CdnVERjtFQUNJLGdCQUFlO0VBQ2YsY0FBYTtBcEJ5dURqQjs7QW9CM3VEQTs7RUFTWSxxQkFBb0I7R0FDckIsZUFBZTtFQUNkLE9BQU07QXBCdXVEbEI7O0FvQmp1REE7Ozs7Ozs7Ozs7RXBCNnVERTtBb0JsdURGO0VBR1Esa0JBQWlCO0FwQmt1RHpCOztBb0JydURBO0VBTVksY0FBYTtBcEJtdUR6Qjs7QW9CN3REQTs7Ozs7Ozs7OztFcEJ5dURFO0FvQjl0REY7RUFDSSxrQkFBaUI7QXBCZ3VEckI7O0FvQjV0REE7Ozs7Ozs7Ozs7RXBCd3VERTtBb0I3dERGO0VBQ0ksY0FBYTtFQUNiOztNcEJndURFO0VvQjd0REYsdUJBQXNCO0VBQ3RCLHFCQUFvQjtFQUNwQixtQkFBa0I7QXBCK3REdEI7O0FvQnR1REE7RUFVUSxzQkFBcUI7RUFDckIsb0JBQW1CO0FwQmd1RDNCOztBb0IzdURBO0VBY1ksYWpCMkg4QjtBSHNtRDFDOztBb0IzdERBOzs7Ozs7Ozs7Ozs7RXBCeXVERTtBb0I1dERGO0VBQ0ksY0FBYTtFQUNiLFdBQVU7QXBCOHREZDs7QW9CaHVEQTtFQUtRLG1CQUFrQjtBcEIrdEQxQjs7QW9CcHVEQTtFQVFZLGNBQWE7QXBCZ3VEekI7O0FvQjF0REE7Ozs7O0VwQml1REU7QW9CM3RERjtFQUtZLHdCQUF1QjtBcEJ5dERuQzs7QW9COXREQTtFQVNZLGFBQVk7QXBCeXREeEI7O0FxQjUyREE7O3VDckJnM0R1QztBcUI3MkR2Qzs7Ozs7Ozs7Ozs7OztFckIyM0RFO0FxQjcyREY7RUFDSSxjQUFhO0FyQisyRGpCOztBcUI1MkRJO0VBQ0ksV0FBVTtFQUNWLGtCcEJpSWU7QUQ4dUR2Qjs7QXFCNzJESTs7TXJCaTNERTtBcUI5MkRGO0VBQ0ksWUFBVztFQUNYLGlCcEIwSGU7QURzdkR2Qjs7QXFCNzJEUTs7RUFFSSxjQUFhO0FyQmczRHpCOztBcUI3MkRJO0VBQ0ksZ0JBQWU7QXJCZzNEdkI7O0FxQjkyRFE7O0VBRUksZ0JBQWU7QXJCaTNEM0I7O0FxQjcyREk7O01yQmkzREU7QXFCOTJERjtFQUNJLGtCbEIyS2tDO0FIcXNEMUM7O0FxQjkyREk7RUFDSSxpQmxCd0trQztBSHlzRDFDOztBRTd0REE7O0VGaXVERTtBc0I3NkRGOzt1Q3RCZzdEdUM7QXNCNzZEdkM7Ozs7Ozs7RXRCcTdERTtBc0IzNkRFOztLdEI4NkRDO0FzQjM2REQ7RUFBa0MsV0FBVTtBdEI4NkRoRDs7QXNCMzZESTs7S3RCKzZEQztBc0I1NkREO0VBQWtDLFVBQVM7QXRCKzZEL0M7O0FzQjU2REk7O0t0Qmc3REM7QXNCNzZERDtFQUFrQyxjQUFhO0F0Qmc3RG5EOztBc0IvNkRJO0VBQWtDLGNBQWE7QXRCbTdEbkQ7O0FzQmg3REk7O0t0Qm83REM7QXNCajdERDtFQUFrQyxVQUFTO0F0Qm83RC9DOztBc0JsN0RJO0VBQWtDLFVBQVM7QXRCczdEL0M7O0FzQm43REk7O0t0QnU3REM7QXNCcDdERDtFQUFrQyxVQUFTO0F0QnU3RC9DOztBc0J0N0RJO0VBQWtDLFVBQVM7QXRCMDdEL0M7O0FzQno3REk7RUFBa0MsVUFBUztBdEI2N0QvQzs7QXNCNTdESTtFQUFrQyxVQUFTO0F0Qmc4RC9DOztBc0I3N0RJOztLdEJpOERDO0FzQjk3REQ7RUFBa0MsY0FBYTtBdEJpOERuRDs7QXNCNzdESTtFQUFrQyxjQUFhO0F0Qmk4RG5EOztBc0I5N0RJOztLdEJrOERDO0FzQi83REQ7RUFBa0MsWUFBVztBdEJrOERqRDs7QXNCaDhESTtFQUFrQyxZQUFXO0F0Qm84RGpEOztBc0JsOERJO0VBQWtDLFlBQVc7QXRCczhEakQ7O0FzQnA4REk7RUFBa0MsWUFBVztBdEJ3OERqRDs7QXNCcjhESTs7S3RCeThEQztBc0J0OEREO0VBQWtDLFVBQVM7QXRCeThEL0M7O0FzQnY4REk7RUFBa0MsVUFBUztBdEIyOEQvQzs7QXNCdjhESTtFQUFrQyxVQUFTO0F0QjI4RC9DOztBc0J6OERJO0VBQWtDLFVBQVM7QXRCNjhEL0M7O0FzQjE4REk7O0t0Qjg4REM7QXNCMzhERDtFQUFrQyxhQUFZO0F0Qjg4RGxEOztBc0IxOERJO0VBQWtDLGNBQWM7QXRCODhEcEQ7O0FzQjU4REk7RUFBa0MsY0FBYTtBdEJnOURuRDs7QXNCNThESTtFQUFrQyxjQUFhO0F0Qmc5RG5EOztBc0J6OERBOzs7Ozs7Ozs7Ozs7O0V0Qnc5REU7QUk3eERNO0VrQnZSSjs7S3RCd2pFQztFc0JyakVEO0lBQWtDLFdBQVU7RXRCd2pFOUM7RXNCcmpFRTs7S3RCd2pFQztFc0JyakVEO0lBQWtDLFVBQVM7RXRCd2pFN0M7RXNCcmpFRTs7S3RCd2pFQztFc0JyakVEO0lBQWtDLGNBQWE7RXRCd2pFakQ7RXNCdmpFRTtJQUFrQyxjQUFhO0V0QjBqRWpEO0VzQnZqRUU7O0t0QjBqRUM7RXNCdmpFRDtJQUFrQyxVQUFTO0V0QjBqRTdDO0VzQnhqRUU7SUFBa0MsVUFBUztFdEIyakU3QztFc0J4akVFOztLdEIyakVDO0VzQnhqRUQ7SUFBa0MsVUFBUztFdEIyakU3QztFc0IxakVFO0lBQWtDLFVBQVM7RXRCNmpFN0M7RXNCNWpFRTtJQUFrQyxVQUFTO0V0QitqRTdDO0VzQjlqRUU7SUFBa0MsVUFBUztFdEJpa0U3QztFc0I5akVFOztLdEJpa0VDO0VzQjlqRUQ7SUFBa0MsY0FBYTtFdEJpa0VqRDtFc0I3akVFO0lBQWtDLGNBQWE7RXRCZ2tFakQ7RXNCN2pFRTs7S3RCZ2tFQztFc0I3akVEO0lBQWtDLFlBQVc7RXRCZ2tFL0M7RXNCOWpFRTtJQUFrQyxZQUFXO0V0QmlrRS9DO0VzQi9qRUU7SUFBa0MsWUFBVztFdEJra0UvQztFc0Joa0VFO0lBQWtDLFlBQVc7RXRCbWtFL0M7RXNCaGtFRTs7S3RCbWtFQztFc0Joa0VEO0lBQWtDLFVBQVM7RXRCbWtFN0M7RXNCamtFRTtJQUFrQyxVQUFTO0V0Qm9rRTdDO0VzQmhrRUU7SUFBa0MsVUFBUztFdEJta0U3QztFc0Jqa0VFO0lBQWtDLFVBQVM7RXRCb2tFN0M7RXNCamtFRTs7S3RCb2tFQztFc0Jqa0VEO0lBQWtDLGFBQVk7RXRCb2tFaEQ7RXNCaGtFRTtJQUFrQyxjQUFjO0V0Qm1rRWxEO0VzQmprRUU7SUFBa0MsY0FBYTtFdEJva0VqRDtFc0Joa0VFO0lBQWtDLGNBQWE7RXRCbWtFakQ7QUFDRjs7QUk1M0RRO0VrQjdSSjs7S3RCOHBFQztFc0IzcEVEO0lBQWtDLFdBQVU7RXRCOHBFOUM7RXNCM3BFRTs7S3RCOHBFQztFc0IzcEVEO0lBQWtDLFVBQVM7RXRCOHBFN0M7RXNCM3BFRTs7S3RCOHBFQztFc0IzcEVEO0lBQWtDLGNBQWE7RXRCOHBFakQ7RXNCN3BFRTtJQUFrQyxjQUFhO0V0QmdxRWpEO0VzQjdwRUU7O0t0QmdxRUM7RXNCN3BFRDtJQUFrQyxVQUFTO0V0QmdxRTdDO0VzQjlwRUU7SUFBa0MsVUFBUztFdEJpcUU3QztFc0I5cEVFOztLdEJpcUVDO0VzQjlwRUQ7SUFBa0MsVUFBUztFdEJpcUU3QztFc0JocUVFO0lBQWtDLFVBQVM7RXRCbXFFN0M7RXNCbHFFRTtJQUFrQyxVQUFTO0V0QnFxRTdDO0VzQnBxRUU7SUFBa0MsVUFBUztFdEJ1cUU3QztFc0JwcUVFOztLdEJ1cUVDO0VzQnBxRUQ7SUFBa0MsY0FBYTtFdEJ1cUVqRDtFc0JucUVFO0lBQWtDLGNBQWE7RXRCc3FFakQ7RXNCbnFFRTs7S3RCc3FFQztFc0JucUVEO0lBQWtDLFlBQVc7RXRCc3FFL0M7RXNCcHFFRTtJQUFrQyxZQUFXO0V0QnVxRS9DO0VzQnJxRUU7SUFBa0MsWUFBVztFdEJ3cUUvQztFc0J0cUVFO0lBQWtDLFlBQVc7RXRCeXFFL0M7RXNCdHFFRTs7S3RCeXFFQztFc0J0cUVEO0lBQWtDLFVBQVM7RXRCeXFFN0M7RXNCdnFFRTtJQUFrQyxVQUFTO0V0QjBxRTdDO0VzQnRxRUU7SUFBa0MsVUFBUztFdEJ5cUU3QztFc0J2cUVFO0lBQWtDLFVBQVM7RXRCMHFFN0M7RXNCdnFFRTs7S3RCMHFFQztFc0J2cUVEO0lBQWtDLGFBQVk7RXRCMHFFaEQ7RXNCdHFFRTtJQUFrQyxjQUFjO0V0QnlxRWxEO0VzQnZxRUU7SUFBa0MsY0FBYTtFdEIwcUVqRDtFc0J0cUVFO0lBQWtDLGNBQWE7RXRCeXFFakQ7QUFDRjs7QUk1OURRO0VrQm5TSjs7S3RCb3dFQztFc0Jqd0VEO0lBQWtDLFdBQVU7RXRCb3dFOUM7RXNCandFRTs7S3RCb3dFQztFc0Jqd0VEO0lBQWtDLFVBQVM7RXRCb3dFN0M7RXNCandFRTs7S3RCb3dFQztFc0Jqd0VEO0lBQWtDLGNBQWE7RXRCb3dFakQ7RXNCbndFRTtJQUFrQyxjQUFhO0V0QnN3RWpEO0VzQm53RUU7O0t0QnN3RUM7RXNCbndFRDtJQUFrQyxVQUFTO0V0QnN3RTdDO0VzQnB3RUU7SUFBa0MsVUFBUztFdEJ1d0U3QztFc0Jwd0VFOztLdEJ1d0VDO0VzQnB3RUQ7SUFBa0MsVUFBUztFdEJ1d0U3QztFc0J0d0VFO0lBQWtDLFVBQVM7RXRCeXdFN0M7RXNCeHdFRTtJQUFrQyxVQUFTO0V0QjJ3RTdDO0VzQjF3RUU7SUFBa0MsVUFBUztFdEI2d0U3QztFc0Ixd0VFOztLdEI2d0VDO0VzQjF3RUQ7SUFBa0MsY0FBYTtFdEI2d0VqRDtFc0J6d0VFO0lBQWtDLGNBQWE7RXRCNHdFakQ7RXNCendFRTs7S3RCNHdFQztFc0J6d0VEO0lBQWtDLFlBQVc7RXRCNHdFL0M7RXNCMXdFRTtJQUFrQyxZQUFXO0V0QjZ3RS9DO0VzQjN3RUU7SUFBa0MsWUFBVztFdEI4d0UvQztFc0I1d0VFO0lBQWtDLFlBQVc7RXRCK3dFL0M7RXNCNXdFRTs7S3RCK3dFQztFc0I1d0VEO0lBQWtDLFVBQVM7RXRCK3dFN0M7RXNCN3dFRTtJQUFrQyxVQUFTO0V0Qmd4RTdDO0VzQjV3RUU7SUFBa0MsVUFBUztFdEIrd0U3QztFc0I3d0VFO0lBQWtDLFVBQVM7RXRCZ3hFN0M7RXNCN3dFRTs7S3RCZ3hFQztFc0I3d0VEO0lBQWtDLGFBQVk7RXRCZ3hFaEQ7RXNCNXdFRTtJQUFrQyxjQUFjO0V0Qit3RWxEO0VzQjd3RUU7SUFBa0MsY0FBYTtFdEJneEVqRDtFc0I1d0VFO0lBQWtDLGNBQWE7RXRCK3dFakQ7QUFDRjs7QUk1akVRO0VrQnpTSjs7S3RCMDJFQztFc0J2MkVEO0lBQWtDLFdBQVU7RXRCMDJFOUM7RXNCdjJFRTs7S3RCMDJFQztFc0J2MkVEO0lBQWtDLFVBQVM7RXRCMDJFN0M7RXNCdjJFRTs7S3RCMDJFQztFc0J2MkVEO0lBQWtDLGNBQWE7RXRCMDJFakQ7RXNCejJFRTtJQUFrQyxjQUFhO0V0QjQyRWpEO0VzQnoyRUU7O0t0QjQyRUM7RXNCejJFRDtJQUFrQyxVQUFTO0V0QjQyRTdDO0VzQjEyRUU7SUFBa0MsVUFBUztFdEI2MkU3QztFc0IxMkVFOztLdEI2MkVDO0VzQjEyRUQ7SUFBa0MsVUFBUztFdEI2MkU3QztFc0I1MkVFO0lBQWtDLFVBQVM7RXRCKzJFN0M7RXNCOTJFRTtJQUFrQyxVQUFTO0V0QmkzRTdDO0VzQmgzRUU7SUFBa0MsVUFBUztFdEJtM0U3QztFc0JoM0VFOztLdEJtM0VDO0VzQmgzRUQ7SUFBa0MsY0FBYTtFdEJtM0VqRDtFc0IvMkVFO0lBQWtDLGNBQWE7RXRCazNFakQ7RXNCLzJFRTs7S3RCazNFQztFc0IvMkVEO0lBQWtDLFlBQVc7RXRCazNFL0M7RXNCaDNFRTtJQUFrQyxZQUFXO0V0Qm0zRS9DO0VzQmozRUU7SUFBa0MsWUFBVztFdEJvM0UvQztFc0JsM0VFO0lBQWtDLFlBQVc7RXRCcTNFL0M7RXNCbDNFRTs7S3RCcTNFQztFc0JsM0VEO0lBQWtDLFVBQVM7RXRCcTNFN0M7RXNCbjNFRTtJQUFrQyxVQUFTO0V0QnMzRTdDO0VzQmwzRUU7SUFBa0MsVUFBUztFdEJxM0U3QztFc0JuM0VFO0lBQWtDLFVBQVM7RXRCczNFN0M7RXNCbjNFRTs7S3RCczNFQztFc0JuM0VEO0lBQWtDLGFBQVk7RXRCczNFaEQ7RXNCbDNFRTtJQUFrQyxjQUFjO0V0QnEzRWxEO0VzQm4zRUU7SUFBa0MsY0FBYTtFdEJzM0VqRDtFc0JsM0VFO0lBQWtDLGNBQWE7RXRCcTNFakQ7QUFDRjs7QUk1cEVRO0VrQi9TSjs7S3RCZzlFQztFc0I3OEVEO0lBQWtDLFdBQVU7RXRCZzlFOUM7RXNCNzhFRTs7S3RCZzlFQztFc0I3OEVEO0lBQWtDLFVBQVM7RXRCZzlFN0M7RXNCNzhFRTs7S3RCZzlFQztFc0I3OEVEO0lBQWtDLGNBQWE7RXRCZzlFakQ7RXNCLzhFRTtJQUFrQyxjQUFhO0V0Qms5RWpEO0VzQi84RUU7O0t0Qms5RUM7RXNCLzhFRDtJQUFrQyxVQUFTO0V0Qms5RTdDO0VzQmg5RUU7SUFBa0MsVUFBUztFdEJtOUU3QztFc0JoOUVFOztLdEJtOUVDO0VzQmg5RUQ7SUFBa0MsVUFBUztFdEJtOUU3QztFc0JsOUVFO0lBQWtDLFVBQVM7RXRCcTlFN0M7RXNCcDlFRTtJQUFrQyxVQUFTO0V0QnU5RTdDO0VzQnQ5RUU7SUFBa0MsVUFBUztFdEJ5OUU3QztFc0J0OUVFOztLdEJ5OUVDO0VzQnQ5RUQ7SUFBa0MsY0FBYTtFdEJ5OUVqRDtFc0JyOUVFO0lBQWtDLGNBQWE7RXRCdzlFakQ7RXNCcjlFRTs7S3RCdzlFQztFc0JyOUVEO0lBQWtDLFlBQVc7RXRCdzlFL0M7RXNCdDlFRTtJQUFrQyxZQUFXO0V0Qnk5RS9DO0VzQnY5RUU7SUFBa0MsWUFBVztFdEIwOUUvQztFc0J4OUVFO0lBQWtDLFlBQVc7RXRCMjlFL0M7RXNCeDlFRTs7S3RCMjlFQztFc0J4OUVEO0lBQWtDLFVBQVM7RXRCMjlFN0M7RXNCejlFRTtJQUFrQyxVQUFTO0V0QjQ5RTdDO0VzQng5RUU7SUFBa0MsVUFBUztFdEIyOUU3QztFc0J6OUVFO0lBQWtDLFVBQVM7RXRCNDlFN0M7RXNCejlFRTs7S3RCNDlFQztFc0J6OUVEO0lBQWtDLGFBQVk7RXRCNDlFaEQ7RXNCeDlFRTtJQUFrQyxjQUFjO0V0QjI5RWxEO0VzQno5RUU7SUFBa0MsY0FBYTtFdEI0OUVqRDtFc0J4OUVFO0lBQWtDLGNBQWE7RXRCMjlFakQ7QUFDRjs7QXNCLzZFQTs7OztFdEJxN0VFO0FzQnY2RUE7QUM3SkY7O3VDdkJ3a0Z1QztBdUJya0Z2Qzs7RXZCd2tGRTtBd0Iza0ZGOzt1Q3hCOGtGdUM7QXdCM2tGdkM7O0V4QjhrRkU7QXlCamxGRjs7dUN6Qm9sRnVDO0F5QmpsRnZDOzs7RXpCcWxGRTtBeUJqbEZGO0VBQ0ksbURBQW1DO0VBQ25DLHdCQUE4QjtBekJtbEZsQzs7QXlCamxGQTtFQUNJLG1EQUFtQztBekJvbEZ2Qzs7QXlCbGxGQTs7RUFFSSx3QkFBOEI7QXpCcWxGbEM7O0EwQnJtRkE7O3VDMUJ5bUZ1QztBMEJ0bUZ2Qzs7Ozs7Ozs7RTFCK21GRTtBMEJwbUZGOztFMUJ1bUZFO0EwQnBtRkY7RUFBa0IsdUJBQXFCO0ExQnVtRnZDOztBMEJ0bUZBO0VBQWtCLHNCQUFxQjtBMUIwbUZ2Qzs7QTBCem1GQTtFQUFrQixzQkFBcUI7QTFCNm1GdkM7O0EwQjFtRkE7O0UxQjhtRkU7QTBCM21GRjtFQUFrQiw0QkFBMkI7QTFCOG1GN0M7O0EwQjdtRkE7RUFBa0IsNkJBQTJCO0ExQmluRjdDOztBMEJobkZBO0VBQWtCLDRCQUEyQjtBMUJvbkY3Qzs7QTBCam5GQTs7RTFCcW5GRTtBMEJsbkZGO0VBQXNCLDJCQUF5QjtBMUJxbkYvQzs7QTBCcG5GQTtFQUFzQiwyQkFBeUI7QTFCd25GL0M7O0EwQnZuRkE7RUFBc0IsMkJBQXlCO0ExQjJuRi9DOztBMEJ4bkZBOztFMUI0bkZFO0EwQnpuRkY7RUFBa0IsdUJBQTBDO0ExQjRuRjVEOztBMEIzbkZBO0VBQWtCLDJCQUEwQztBMUIrbkY1RDs7QTBCOW5GQTtFQUFrQiw2QkFBMEM7QTFCa29GNUQ7O0EwQmpvRkE7RUFBa0IsOEJBQTBDO0ExQnFvRjVEOztBMEJwb0ZBO0VBQWtCLDRCQUEwQztBMUJ3b0Y1RDs7QTBCdm9GQTtFQUFrQiwyQkFBMEM7RUFBRSw4QkFBMEM7QTFCNG9GeEc7O0EwQjNvRkE7RUFBa0IsNkJBQTBDO0VBQUUsNEJBQTBDO0ExQmdwRnhHOztBMEI5b0ZBO0VBQXNCLHVCQUEwQztBMUJrcEZoRTs7QTBCanBGQTtFQUFzQiwyQkFBMEM7QTFCcXBGaEU7O0EwQnBwRkE7RUFBc0IsNkJBQTBDO0ExQndwRmhFOztBMEJ2cEZBO0VBQXNCLDhCQUEwQztBMUIycEZoRTs7QTBCMXBGQTtFQUFzQiw0QkFBMEM7QTFCOHBGaEU7O0EwQjdwRkE7RUFBc0IsMkJBQTBDO0VBQUUsOEJBQTBDO0ExQmtxRjVHOztBMEJqcUZBO0VBQXNCLDZCQUEwQztFQUFFLDRCQUEwQztBMUJzcUY1Rzs7QTBCcHFGQTtFQUFrQixvQkFBeUI7QTFCd3FGM0M7O0EwQnZxRkE7RUFBa0Isd0JBQXlCO0ExQjJxRjNDOztBMEIxcUZBO0VBQWtCLDBCQUF5QjtBMUI4cUYzQzs7QTBCN3FGQTtFQUFrQiwyQkFBeUI7QTFCaXJGM0M7O0EwQmhyRkE7RUFBa0IseUJBQXlCO0ExQm9yRjNDOztBMEJuckZBO0VBQWtCLHdCQUF5QjtFQUFFLDJCQUF5QjtBMUJ3ckZ0RTs7QTBCdnJGQTtFQUFrQiwwQkFBeUI7RUFBRSx5QkFBeUI7QTFCNHJGdEU7O0EwQnpyRkE7O0UxQjZyRkU7QTBCMXJGRjtFQUFrQix3QkFBMkM7QTFCNnJGN0Q7O0EwQjVyRkE7RUFBa0IsNEJBQTJDO0ExQmdzRjdEOztBMEIvckZBO0VBQWtCLDhCQUEyQztBMUJtc0Y3RDs7QTBCbHNGQTtFQUFrQiwrQkFBMkM7QTFCc3NGN0Q7O0EwQnJzRkE7RUFBa0IsNkJBQTJDO0ExQnlzRjdEOztBMEJ4c0ZBO0VBQWtCLDRCQUEyQztFQUFFLCtCQUEyQztBMUI2c0YxRzs7QTBCNXNGQTtFQUFrQiw4QkFBMkM7RUFBRSw2QkFBMkM7QTFCaXRGMUc7O0EwQi9zRkE7RUFBdUIsd0JBQTJDO0ExQm10RmxFOztBMEJsdEZBO0VBQXVCLDRCQUEyQztBMUJzdEZsRTs7QTBCcnRGQTtFQUF1Qiw4QkFBMkM7QTFCeXRGbEU7O0EwQnh0RkE7RUFBdUIsK0JBQTJDO0ExQjR0RmxFOztBMEIzdEZBO0VBQXVCLDZCQUEyQztBMUIrdEZsRTs7QTBCOXRGQTtFQUF1Qiw0QkFBMkM7RUFBRSwrQkFBMkM7QTFCbXVGL0c7O0EwQmx1RkE7RUFBdUIsOEJBQTJDO0VBQUUsNkJBQTJDO0ExQnV1Ri9HOztBMEJydUZBO0VBQWtCLHFCQUEwQjtBMUJ5dUY1Qzs7QTBCeHVGQTtFQUFrQix5QkFBMEI7QTFCNHVGNUM7O0EwQjN1RkE7RUFBa0IsMkJBQTBCO0ExQit1RjVDOztBMEI5dUZBO0VBQWtCLDRCQUEwQjtBMUJrdkY1Qzs7QTBCanZGQTtFQUFrQiwwQkFBMEI7QTFCcXZGNUM7O0EwQnB2RkE7RUFBa0IseUJBQTBCO0VBQUUsNEJBQTBCO0ExQnl2RnhFOztBMEJ4dkZBO0VBQWtCLDJCQUEwQjtFQUFFLDBCQUEwQjtBMUI2dkZ4RTs7QTBCMXZGQTs7RTFCOHZGRTtBMEIzdkZGO0VBQ0ksOEJBQTBDO0VBQzFDLDZCQUEwQztBMUI2dkY5Qzs7QTBCM3ZGSTtFQUNJLDhCQUE0QztFQUM1Qyw2QkFBNEM7QTFCOHZGcEQ7O0EwQnp2RkE7OztFMUI4dkZFO0EwQjF2RkY7RUFDSSx1QkFBcUI7QTFCNHZGekI7O0EwQnh2RkE7O0UxQjR2RkU7QTBCenZGRjtFQUNJLHVCQUFxQjtFQUNyQixvQ0FBb0M7QTFCMnZGeEM7O0EwQnZ2RkE7Ozs7O0UxQjh2RkU7QTBCeHZGRjtFQUNJLDRCQUEwQjtBMUIwdkY5Qjs7QTBCdHZGQTs7Ozs7RTFCNnZGRTtBMEJ2dkZGO0VBQ0ksMkJBQWlDO0ExQnl2RnJDOztBMEJydkZBOztFMUJ5dkZFO0EwQnR2RkY7RUFDSSxvQ0FBa0M7QTFCd3ZGdEM7O0EwQnB2RkE7OztFMUJ5dkZFO0EwQjN1RkY7O0VBVEksb0JBQWtCO0VBQ2xCLDhCQUE0QjtFQUM1QixzQkFBb0I7RUFDcEIsdUJBQXFCO0VBQ3JCLDJCQUF5QjtFQUN6QixxQkFBbUI7RUFDbkIsNkJBQTRCO0VBQzVCLHFCQUFtQjtBMUJ3dkZ2Qjs7QUk1bkZRO0VzQm5ISTs7SUFoQlIsb0JBQWtCO0lBQ2xCLDhCQUE0QjtJQUM1QixzQkFBb0I7SUFDcEIsdUJBQXFCO0lBQ3JCLDJCQUF5QjtJQUN6QixxQkFBbUI7SUFDbkIsNkJBQTRCO0lBQzVCLHFCQUFtQjtFMUJxd0ZyQjtBQUNGOztBSXBvRlE7RXNCekhJOztJQWhCUixvQkFBa0I7SUFDbEIsOEJBQTRCO0lBQzVCLHNCQUFvQjtJQUNwQix1QkFBcUI7SUFDckIsMkJBQXlCO0lBQ3pCLHFCQUFtQjtJQUNuQiw2QkFBNEI7SUFDNUIscUJBQW1CO0UxQm14RnJCO0FBQ0Y7O0FJNW9GUTtFc0IvSEk7O0lBaEJSLG9CQUFrQjtJQUNsQiw4QkFBNEI7SUFDNUIsc0JBQW9CO0lBQ3BCLHVCQUFxQjtJQUNyQiwyQkFBeUI7SUFDekIscUJBQW1CO0lBQ25CLDZCQUE0QjtJQUM1QixxQkFBbUI7RTFCaXlGckI7QUFDRjs7QUlwcEZRO0VzQnJJSTs7SUFoQlIsb0JBQWtCO0lBQ2xCLDhCQUE0QjtJQUM1QixzQkFBb0I7SUFDcEIsdUJBQXFCO0lBQ3JCLDJCQUF5QjtJQUN6QixxQkFBbUI7SUFDbkIsNkJBQTRCO0lBQzVCLHFCQUFtQjtFMUIreUZyQjtBQUNGOztBSTVwRlE7RXNCM0lJOztJQWhCUixvQkFBa0I7SUFDbEIsOEJBQTRCO0lBQzVCLHNCQUFvQjtJQUNwQix1QkFBcUI7SUFDckIsMkJBQXlCO0lBQ3pCLHFCQUFtQjtJQUNuQiw2QkFBNEI7SUFDNUIscUJBQW1CO0UxQjZ6RnJCO0FBQ0Y7O0FJcHFGUTtFc0JqSkk7O0lBaEJSLG9CQUFrQjtJQUNsQiw4QkFBNEI7SUFDNUIsc0JBQW9CO0lBQ3BCLHVCQUFxQjtJQUNyQiwyQkFBeUI7SUFDekIscUJBQW1CO0lBQ25CLDZCQUE0QjtJQUM1QixxQkFBbUI7RTFCMjBGckI7QUFDRjs7QTJCNzBGQztBQ3ZLRDs7Ozs7Ozs7Ozs7Ozs7O3dDNUJzZ0d3QztBNEI1NkZ4Qzs7O0M1Qmc3RkM7QTRCMXBGRDtBdkJqVEE7RXdCeERFLFlBQVk7QTdCdWdHZDs7QTZCeGdHQTtFQUlJLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsaUJBQWlCO0E3QndnR3JCOztBNkI5Z0dBO0VBU00sZ0JBQWdCO0VBQ2hCLGVBQWU7QTdCeWdHckI7O0E2Qm5oR0E7RUFjTSw0QkFBNEI7QTdCeWdHbEM7O0E2QnZoR0E7RUFpQlEsZ0JBQWdCO0VBQ2hCLFdBQVc7QTdCMGdHbkI7O0E2QjVoR0E7RUFzQlksU0FBUztBN0IwZ0dyQjs7QTZCaGlHQTtFQTBCWSxjQUFjO0VBQ2QsY0FBYztBN0IwZ0cxQjs7QTZCcmlHQTtFQWtDTSxTQUFTO0E3QnVnR2Y7O0E2QnppR0E7RUFzQ00sNkJBQTZCO0E3QnVnR25DOztBNkJsZ0dBO0VBQ0U7SUFDRSxnQkFBZ0I7SUFDaEIsZUFBZTtFN0JxZ0dqQjtFNkJuZ0dBO0lBQ0UsV0FBVztJQUNYLFlBQVk7RTdCcWdHZDtBQUNGOztBNkJsZ0dBO0VBQ0U7SUFJSSxZQUFZO0U3QmtnR2hCO0U2QnRnR0E7SUFRSSxpQkFBaUI7RTdCaWdHckI7RTZCemdHQTtJQVlJLCtCQUErQjtFN0JnZ0duQztFNkI1Z0dBO0lBa0JNLGtCQUFrQjtFN0I2L0Z4QjtFNkJ0a0dGO0lBMkVVLFVBQVU7RTdCOC9GbEI7QUFDRjs7QTZCeC9GQTtFQUNFO0lBR00sYUFBYTtJQUNiLGVBQWU7RTdCeS9GckI7RTZCNy9GQTtJQVNJLGFBQWE7RTdCdS9GakI7RTZCaGdHQTtJQVlNLFNBQVM7RTdCdS9GZjtFNkJuZ0dBO0lBZ0JNLFNBQVM7SUFDVCxVQUFVO0U3QnMvRmhCO0U2QnZnR0E7SUFvQlEsV0FBVztFN0JzL0ZuQjtBQUNGOztBNkJoL0ZBO0VBM0JFO0lBOEJJLG1CQUFtQjtJQUNuQix1QkFBdUI7RTdCay9GM0I7RTZCamhHQTtJQWtDTSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0U3QmsvRnZCO0U2QnJoR0E7SUF1Q00sZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixTQUFTO0U3QmkvRmY7QUFDRjs7QTZCMytGQTtFQ0dFLGlCQUFpQjtFQUNqQixhN0JhcUI7RTZCWHJCLG1CQUFtQjtFQUNuQixpQkFBaUI7QTlCMitGbkI7O0E4QnZuR0U7RUFDRSxhQUFhO0E5QjBuR2pCOztBOEJ4bkdFO0VBQ0UsVUFBVTtFQUNWLFNBQVM7QTlCMm5HYjs7QThCeG5HRTtFQUNFLGdCQUErQjtBOUIybkduQzs7QThCdm5HSTtFQUNFLFlBQVk7QTlCMG5HbEI7O0E4QjNuR0k7RUFLRSxjN0IwRWU7QURnakdyQjs7QThCem5HTTtFQUNFLDBCQUEwQjtBOUI0bkdsQzs7QThCdG5HRTtFQUNFO0lBQ0UscUJBQXFCO0lBQ3JCLGtCQUFrQjtFOUJ5bkd0QjtFOEJ4bkdJO0lBQ0UsMEJBQTBCO0U5QjBuR2hDO0U4QnhuR0k7SUFDRSxZQUFZO0U5QjBuR2xCO0FBQ0Y7O0E4QnRuR0U7RUFDRSxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtBOUJ5bkczQjs7QThCdm5HSTtFQUNFLG9CQUFvQjtFQUFPO0VBQzNCLGlCQUFpQjtFQUFVO0VBQzNCLG9CQUFvQjtFQUFPO0VBQzNCLHFCQUFxQjtFQUFNO0VBQzNCLGFBQWE7RUFBYztFQUMzQixpQkFBaUI7QTlCK25HdkI7O0E4QjduR007RUFDRSxVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixXQUFXO0E5QmdvR25COztBOEI3bkdNO0VBdUJFLGdCQUFnQjtFQUNoQixZQUFZO0E5QjBtR3BCOztBOEJqb0dRO0VBQ0UscUJBQXFCO0VBQ3JCLGtCQUFrQjtBOUJvb0c1Qjs7QThCaG9HVTtFQUNFLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsaUNBQWdEO0VBQ2hELG9DQUFtRDtFQUNuRCw4QjdCcUJTO0FEOG1HckI7O0E4QmpvR1U7RUFDRSxjN0JrQlM7RTZCakJULGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIscUJBQXFCO0E5Qm9vR2pDOztBOEJycEdRO0VBMEJFLHFCQUFxQjtFQUNyQixXQUFXO0E5QituR3JCOztBOEJ6bkdFO0VBQ0Usb0JBQW9CO0VBQU87RUFDM0IsaUJBQWlCO0VBQVU7RUFDM0Isb0JBQW9CO0VBQU87RUFDM0IscUJBQXFCO0VBQU07RUFDM0IsYUFBYTtFQUFjO0VBQzNCLGVBQWU7QTlCaW9HbkI7O0E4QjluR0U7RUFDRSxnQkFBZ0I7RUFDaEIsYzdCWmlCO0FENm9HckI7O0E4QmhvR0k7RUFDRSxxQkFBcUI7RUFDckIsa0JBN0dhO0E5Qmd2R25COztBOEJob0dJO0VBQ0UsZUFBZTtBOUJtb0dyQjs7QThCam9HTTtFQUhGO0lBSUksa0JBQWtCO0U5QnFvR3hCO0FBQ0Y7O0E4Qm5vR007RUFDRSxXQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQiw2QjdCN0JhO0U2QjhCYixrQ0FBMkM7RUFDM0MsbUNBQTRDO0VBQzVDLHFCQUFxQjtBOUJzb0c3Qjs7QThCbG9HUTtFQUNFLGdDN0JyQ1c7RTZCc0NYLGdCQUFnQjtBOUJxb0cxQjs7QThCem5HRTtFRFRGO0lDVUksdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixnQkFBZ0I7RTlCNm5HbEI7RThCbnZHRTtJQXlIRSxXQUFXO0lBQ1gsV0FBVztJQUNYLGdCQUFnQjtJQUNoQix1QkFBdUI7RTlCNm5HM0I7RThCM25HSTtJQUNFLFVBQVU7RTlCNm5HaEI7RThCM25HTTtJQUNFLG9CQUFvQjtJRitGMUIsaUNBdEl5QztJQUN6QyxzQkFBc0I7SUFDdEIsU0FBUztJQUFFLFFBQVE7SUFDbkIscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsTUFBTTtJQVlGLGlDQUFtQztJQUNuQyxvQ0FBc0M7SUFDdEMsb0NBU2tFO0lBRXRFLGtCQUFzQjtFNUJpcEd4QjtFOEJyb0dNO0lBQ0UsYUFBYTtFOUJ1b0dyQjtFOEJsb0dFO0lBQ0Usd0JBQXdCO0U5Qm9vRzVCO0FBQ0Y7O0E4QmhvR0k7RUFERjtJQUVJLG1CQUFtQjtFOUJvb0d2QjtBQUNGOztBOEJub0dJO0VBQ0UsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtBOUJzb0c3Qjs7QThCanBHSTtFQWdCQSxxQkFBcUI7RUFDckIsZ0JBQWdCO0E5QnFvR3BCOztBNkJuckdBO0VBQ0UsWUFBWTtFQUdaLFM1Qm9EMEI7RTRCbEQxQixhQUFhO0VBQ2IsV0FBVztFQUNYLGtCQUFrQjtFQUVsQix1QkFBdUI7QTdCa3JHekI7O0E2QjVyR0E7RUFhSSxTQUFTO0VBQ1QsYUFBYTtFQUNiLGdCQUFnQjtBN0JtckdwQjs7QTZCbHNHQTtFQW1CSSxhQUFhO0E3Qm1yR2pCOztBNkJ0c0dBO0VBdUJJLGdCQUFnQjtFQUNoQixlQUFlO0VBRWYsa0JBQWtCO0VBQ2xCLGNBQWM7RUFFZCxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtBN0Jpckd2Qjs7QTZCaHRHQTtFQWtDTSxXQUFXO0E3QmtyR2pCOztBNkJwdEdBOzs7RUF1Q00sa0JBQWtCO0VBQ2xCLFVBQVU7QTdCbXJHaEI7O0E2QjN0R0E7O0VBNkNNLGFBQWE7QTdCbXJHbkI7O0E2Qmh1R0E7O0VBZ0RRLFdBQVc7RUFDWCxZQUFZO0E3QnFyR3BCOztBNkJ0dUdBO0VBc0RNLFVBQVU7QTdCb3JHaEI7O0E2QjF1R0E7RUF5RFEseUJBQXlCO0E3QnFyR2pDOztBNkI5dUdBOztFQStETSxXQUFXO0E3Qm9yR2pCOztBNkJudkdBOztFQXFFSSxhQUFhO0E3Qm1yR2pCOztBNkIvcUdBO0VBekVBO0lBMkVJLHdCQUF3QjtFN0JrckcxQjtBQUNGOztBNkIvcUdBO0VBL0VBO0lEa0hJLGlDQ2pDeUM7SUFDekMsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiwyQkFBMkI7RTdCa3JHN0I7RTZCdHdHRjtJQXVGTSxPQUFPO0U3QmtyR1g7QUFDRjs7QTZCOXFHQTtFQTVGQTtJQStGTSxVQUFVO0U3QmdyR2Q7RTZCL3dHRjs7SUFvR00sV0FBVztFN0IrcUdmO0FBQ0Y7O0E2QjNxR0E7RUF6R0E7SUEyR0ksWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixvQkFBb0I7RTdCOHFHdEI7RTZCM3hHRjtJQWdITSxTQUFTO0U3QjhxR2I7RTZCOXhHRjs7SUFvSFEsYUFBYTtFN0I4cUduQjtFNkJ4ckdBO0lBY00sV0FBVztFN0I2cUdqQjtBQUNGOztBNkJ0cUdBO0VBRUksYUFBYTtBN0J3cUdqQjs7QTZCMXFHQTtFQU9NLGFBQWE7RUFDYixTQUFTO0VBQ1QsbUJBQW1CO0E3QnVxR3pCOztBNkJockdBO0VBY0ksNkJBQTZCO0VBQzdCLGdCQUFnQjtBN0JzcUdwQjs7QTZCcnJHQTtFQW1CSSxxQkFBcUI7RUFDckIsV0FBVztBN0JzcUdmOztBNkJscUdBO0VBeEJBO0lBMkJNLDZCQUE2QjtFN0JvcUdqQztFNkJ0cUdBO0lBTU0sa0JBQWtCO0lBQ2xCLGdCQUFnQjtFN0JtcUd0QjtFNkIxcUdBO0lBV00sb0JBQW9CO0U3QmtxRzFCO0U2QjdxR0E7SUFlTSxnQkFBZ0I7RTdCaXFHdEI7RTZCaHJHQTtJQW9CSSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxlQUFlO0lBQ2Ysa0JBQWtCO0U3QitwR3RCO0FBQ0Y7O0E2QjNwR0E7O0V6QnZUSSxleUIyVHlCO0V6QjFUekIsbUJBQTZDO0VBRXpDLG9CQUFnQjtFeUJ5VGxCLG9CQUFvQjtBN0I4cEcxQjs7QTZCbnFHQTs7RUFTTSxVQUFVO0E3QitwR2hCOztBNkJ4cUdBOztFekJ2VEksZXlCbVUyQjtFekJsVTNCLG1CQUE2QztFQUV6QyxvQkFBZ0I7RXlCaVVoQixvQkFBb0I7QTdCbXFHNUI7O0E2QjdwR0E7RUFDRTs7Ozs7O0lBTU0sV0FBVztFN0JncUdqQjtBQUNGOztBNkIxcEdBO0VBdk5BOztJQTJOTSxTQUFTO0U3QjRwR2I7RTZCN3dHQTtJQXFISSxTQUFTO0U3QjJwR2I7RTZCdnBHRTtJQUNFLHFDQUFxQztJQUNyQyxpQ0FBaUM7RTdCeXBHckM7RTZCdHBHQTtJQUVJLGVBQWU7RTdCdXBHbkI7QUFDRjs7QTZCcHBHRTtFQXBJQTtJQXNJSSxNQUFNO0U3QnVwR1Y7QUFDRjs7QStCdGhIQTtFQUNFLGVBQWU7RUFDZix1QkFBdUI7RUFDdkIsVUFBVTtBL0J5aEhaOztBK0I1aEhBO0VBS0ksYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGdDQUFnQztFSCtmaEMsZUc5ZnVDO0EvQjJoSDNDOztBNEI3Z0dJO0VHeGhCSjtJSHloQk0sb0JHL2dCOEQ7RS9CZ2lIbEU7QUFDRjs7QStCM2lIQTtFSHlqQkUsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxXQUFXO0VBQ1gsUUFBUTtFQUNSLFNBQVM7RUFVUCxhQUFhO0VBQ2IsNkIzQnhmb0I7RTJCeWZwQixtQ0FBbUM7RUFDbkMsa0NBQWtDO0E1QjYrRnRDOztBK0JsaUhBO0VBQ0UsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsU0FBUztFQUNULFFBQVE7RUFDUixPQUFPO0VBRVAsZ0M5Qm1Ec0I7RThCbER0Qix5QjlCcUdvQjtFOEJScEIsYUFBYTtFSDZZWCxlM0I3UXlCO0U4QjlIM0IsVUFBVTtFSG1JUixvSEdsSTBIO0EvQnc4RzlIOztBK0JqakhBO0VBWUksa0JBQWtCO0EvQnlpSHRCOztBK0JyakhBO0UzQlJJLGUyQnVCeUI7RTNCdEJ6QixpQkFBNkM7RUFFekMsY0FBZ0I7RTJCcUJsQixjOUIyQ2tCO0U4QjFDbEIsaUJBQWlCO0VBQ2pCLG1COUJzTjBCO0FEczFHaEM7O0ErQjlqSEE7RUFzQk0sa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixNQUFNO0VBQ04sV0FBVztFQUNYLFlBQVk7RUN1Z0JkLG1WQUF5QztBaENzaUc3Qzs7QStCdmtIQTtFQWlDSSxjQUFjO0VBQ2QscUJBQXFCO0VBQ3JCLGdCQUFnQjtBL0IwaUhwQjs7QStCN2tIQTtFQXNDTSxhQUFhO0VBQ2IsZUFBZTtFQUNmLGdCQUFnQjtBL0IyaUh0Qjs7QStCbmxIQTtFQTJDUSxtQkFBbUI7RUFFbkIsY0FBYztFQUNkLE9BQU87RUFFUCxxQkFBcUI7RTNCeER6QixlMkJ5RDJCO0UzQnhEM0IsZUFBNkM7RUFFekMsZ0JBQWdCO0UyQnVEaEIsYzlCU2dCO0FEbWlIeEI7O0ErQjlsSEE7RUF1RFEsY0FBYztBL0IyaUh0Qjs7QStCbG1IQTs7RTNCUkksZTJCa0U2QjtFM0JqRTdCLG1CQUE2QztFQUV6QyxvQkFBZ0I7QUo4bUh4Qjs7QStCem1IQTs7RUFtRU0sbUJBQW1CO0EvQjJpSHpCOztBK0I5bUhBOztFM0JSSSxlMkI4RTZCO0UzQjdFN0IsZUFBNkM7RUFFekMsZ0JBQWdCO0UyQjRFZCxjOUJaYztFOEJhZCxnQkFBZ0I7RUFDaEIsZ0NBQWdDO0VBQ2hDLHVCQUF1QjtBL0IraUhqQzs7QStCem5IQTs7RUE4RVUsZ0JBQWdCO0EvQmdqSDFCOztBK0I5bkhBOztFQWtGVSxpQkFBaUI7QS9CaWpIM0I7O0ErQm5vSEE7O0VBNEZRLGdCQUFnQjtBL0I0aUh4Qjs7QStCeG9IQTs7RUFnR1EsaUJBQWlCO0EvQjZpSHpCOztBK0I3b0hBO0VBNEdJLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsdUJBQTJEO0VBQzNELFVBQVU7RUg0SFYsNkZHM0hxRztBL0JxaUh6Rzs7QStCamlIQTtFQXBIQTtJQXNISSxrQkFBa0I7SUFDbEIsaUJBQWlCO0UvQm9pSG5CO0UrQjNwSEY7SUEwSE0sUUFBUTtFL0JvaUhaO0UrQjlwSEY7SUE4SE0sdUJBQXVCO0UvQm1pSDNCO0FBQ0Y7O0ErQi9oSEE7RUFuSUE7SUFzSU0sZUFBZTtJQUNmLGNBQWM7SUFDZCxVQUFVO0lBQ1YsV0FBVztFL0JpaUhmO0UrQjFxSEY7SUE0SVEsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixrQkFBa0I7RS9CaWlIeEI7RStCL3FIRjs7SUFvSlUsaUJBQWlCO0UvQitoSHpCO0FBQ0Y7O0FpQ3pzSEE7RUFDRSxtQkFBbUI7QWpDNHNIckI7O0FpQzdzSEE7RUFJSSxvQkFBb0I7RUFDcEIsZ0NBQWdDO0VBQ2hDLHVCQUF1QjtFQUN2QixVQUFVO0VBR1YsVUFBZ0M7QWpDMnNIcEM7O0FpQ3J0SEE7RUFhTSxnQkFBZ0I7RTdCQWxCLGU2QkN5QjtFN0JBekIsbUJBQTZDO0VBRXpDLG9CQUFnQjtFNkJEbEIsZ0JBQWdCO0VBQ2hCLGNoQ2dFa0I7QUQ4b0h4Qjs7QWlDOXRIQTtFQXFCSSxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLGtCQUFrQjtBakM2c0h0Qjs7QWlDcHVIQTtFQTBCTSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBRWpCLGNBQWM7RTdCaEJoQixlNkJrQnlCO0U3QmpCekIsZUFBNkM7RUFFekMsZ0JBQWdCO0V3QmtFdkIseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNwQixzQkFBc0I7RUFDdkIscUJBQXFCO0VBQ2xCLGtCQUFrQjtFQUNiLGFBQWE7QTVCNHBIdEI7O0FpQ252SEE7RUFtQ1EsZ0JBQWdCO0FqQ290SHhCOztBaUN2dkhBOztFQXlDTSxhQUFhO0FqQ210SG5COztBaUMvc0hBO0VBQ0UsaUJBQWlCO0FqQ2t0SG5COztBaUMzc0hBO0VKeUZBO0lJckZRLGtCQUEyRTtJQUMzRSxpQkFBMEU7RWpDNHNIaEY7RWlDaHRIQTtJQU9RLFNBQVM7SUFDVCxhQUFhO0VqQzRzSHJCO0VpQ3B0SEE7SUFXVSxXQUFXO0VqQzRzSHJCO0U2Qi9uSEY7SUl4RVEsa0JBbkI4QjtFakM2dEhwQztFaUNoeEhGO0lMZ1FJLGlDS3BMNkM7SUFDekMsa0JBM0J3QjtJQTRCeEIsbUJBNUJ3QjtFakNtdUg5QjtFaUNyeEhGO0lBa0ZRLGtCQUEyRTtJQUMzRSxpQkFBMEU7RWpDc3NIaEY7RWlDenhIRjtJQXNGVSxtQkFuQzRCO0lBb0M1QixrQkFwQzRCO0lMNk1sQyxpQ0t2SytDO0lBQ3pDLGFBQWE7RWpDcXNIckI7RWlDL3JIQTtJQUdNLGFBQWE7RWpDK3JIbkI7RWlDbHNIQTtJQVFNLGFBQWE7RWpDNnJIbkI7RWlDenJIQTs7SUFJTSxhQUFhO0VqQ3lySG5CO0VpQzdySEE7O0lBU00sYUFBYTtFakN3ckhuQjtBQUNGOztBaUM3cUhBO0VKYUE7SUlUUSxrQkFBcUU7SUFDckUsaUJBQW9FO0VqQzhxSDFFO0U2QnRxSEY7SUlMUSxrQkFWMkI7RWpDd3JIakM7RWlDdnpIRjtJQThJTSxnQkFBZ0I7RWpDNHFIcEI7RWlDMXpIRjtJQWdKUSxvQkFBdUM7RWpDNnFIN0M7RWlDN3pIRjtJQW1KUSxrQkFBcUU7SUFDckUsaUJBQW9FO0VqQzZxSDFFO0VpQ2owSEY7SUFzSlUsdUJBQWdEO0VqQzhxSHhEO0VpQ3ZxSEE7O0lBSU0sZ0JBQWdCO0lBQ2hCLFlBQVk7RWpDdXFIbEI7RWlDNXFIQTs7SUFPUSxpQkFBaUI7SUFDakIsa0JBQWtCO0VqQ3lxSDFCO0VpQ2pySEE7O0lBVVUsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0lBQ1osWUFBWTtFakMycUh0QjtFaUN4ckhBOztJQWlCUSxhQUFhO0VqQzJxSHJCO0VpQzVySEE7O0lBb0JRLHFCQUFxQjtFakM0cUg3QjtBQUNGOztBaUNqcUhBO0VKL0NBO0lJbURRLDZCQUFrRjtJQUNsRiw0QkFBaUY7RWpDa3FIdkY7RTZCdHRIRjtJSXVEUSw2QkFBdUQ7RWpDa3FIN0Q7RWlDdjJIRjtJQTBNUSxrQkFoQnNCO0lBaUJ0QixvQkFBb0I7RWpDZ3FIMUI7RWlDMzJIRjtJQThNUSw2QkFBdUQ7SUFDdkQsOEJBQXdEO0VqQ2dxSDlEO0VpQy8ySEY7SUFpTlUsb0JBQW9CO0lBQ3BCLFNBQVM7RWpDaXFIakI7RWlDM3BIQTs7SUFJTSw2QkFBdUQ7SUFDdkQsOEJBQXdEO0VqQzJwSDlEO0FBQ0Y7O0FpQ3RwSEE7RUFDRSx5QmhDaktrQjtFZ0NrS2xCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0FqQ3lwSHRCOztBaUM3cEhBO0VBTUksaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIseUJoQ3pLZ0I7RWdDMEtoQixhQUFhO0VBQ2IscUJBQXFCO0VBQ3JCLDhCQUE4QjtBakMycEhsQzs7QWlDdnFIQTtFQWNNLGVBQWU7RUFDZixnQkFBZ0I7QWpDNnBIdEI7O0FpQzVxSEE7RUFrQk0sZ0JBQWdCO0FqQzhwSHRCOztBaUNockhBO0VBb0JRLGFBQWE7QWpDZ3FIckI7O0FpQ3BySEE7RUEwQkksYUFBYTtFQUNiLHlCQUF5QjtBakM4cEg3Qjs7QWlDenJIQTtFQTZCTSxVQUFVO0FqQ2dxSGhCOztBaUMzcEhBO0VBQ0U7SUFFSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLDJCQUEyQjtFakM2cEgvQjtFaUNqcUhBO0lBTU0sYUFBYTtJQUNiLGNBQWM7RWpDOHBIcEI7QUFDRjs7QWlDenBIQTtFQWJFO0lBZ0JJLGFBQWE7SUFDYixlQUFlO0lBQ2YsMkJBQTJCO0VqQzJwSC9CO0VpQzdxSEE7SUFvQk0sYUFBYTtJQUNiLGNBQWM7RWpDNHBIcEI7QUFDRjs7QWlDdHBIQTtFQWxTQTtJQW9TSSxrQkFBa0I7RWpDeXBIcEI7QUFDRjs7QWlDdnBIRTtFQUNFOztJQUdJLGVBQWU7RWpDeXBIckI7QUFDRjs7QWlDcnBIRTtFQUNFOztJQUdJLFFBQVE7RWpDdXBIZDtBQUNGOztBaUNucEhFO0VBakJFOztJQXFCSSxlQUFlO0VqQ3FwSHJCO0VpQ2xwSEU7O0lBR0ksY0FBYztFakNtcEhwQjtBQUNGOztBaUM5b0g4QjtFQXpVOUI7SUEyVUksa0JBQWtCO0VqQ2lwSHBCO0FBQ0Y7O0FrQzU5SEE7RUFFSSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUVsQixrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLG1CQUFtQjtFQUVuQix5QmpDd0hrQjtFaUN2SGxCLGdDakNvRW9CO0FEdzVIeEI7O0FrQ3YrSEE7RUFjTSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLFdBQVc7RTlCSmIsZThCS3lCO0U5Qkp6QixlQUE2QztFQUV6QyxnQkFBZ0I7QUppK0h4Qjs7QWtDaC9IQTtFTndqQkUsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxXQUFXO0VBQ1gsUUFBUTtFQUNSLFNBQVM7RUFVUCxhQUFhO0VBQ2IsNkIzQnhmb0I7RTJCeWZwQixtQ0FBbUM7RUFDbkMsa0NBQWtDO0E1Qm03R3RDOztBa0M1L0hBO0VBMEJRLGFBQWE7QWxDcytIckI7O0FrQ2hnSUE7RUErQk0sV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsWUFBWTtFRm1oQmQsbVZBQXlDO0FoQ205RzdDOztBa0N4Z0lBO0VBd0NJLHlCQUF5QjtFQUN6QixnQ0FBZ0M7QWxDbytIcEM7O0FrQzdnSUE7RUE0Q00sWUFBWTtBbENxK0hsQjs7QWtDamhJQTtFTndqQkUsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxXQUFXO0VBQ1gsUUFBUTtFQUNSLFNBQVM7RUFHUCxnQkFBZ0I7RUFDaEIsOEJNaGhCc0I7RU5paEJ0QixtQ0FBbUM7RUFDbkMsa0NBQWtDO0E1QjI5R3RDOztBa0N4K0hBO0VBckRBO0lBdURJLFlBQVk7RWxDMitIZDtBQUNGOztBa0N4K0hBO0VBQ0U7SUFDRSxVQUFVO0VsQzIrSFo7RWtDeGlJRjtJQWdFTSxZQUFZO0VsQzIrSGhCO0FBQ0Y7O0FrQ3YrSEE7RUFURTtJQVdFLFVBQVU7RWxDMCtIWjtBQUNGOztBa0M3NUhBO0VBekVFLGFBQWE7RUFDYixlQUFlO0VBQ2YsY0FBYztFQUVkLGVBQWU7RUFDZixXQUFXO0VBQ1gsT0FBTztFQUNQLFlBQVk7RUFDWixnQkFBZ0I7RUFFaEIsZ0NqQ1BzQjtFaUNtRHRCLGFBQWE7RUFDYixVQUFVO0VONEhSLDJETTNIaUU7QWxDNjdIckU7O0FrQ3orSEU7RUFFRSx5QmpDd0NrQjtBRG04SHRCOztBa0N6K0hJO0VBQ0UsY0FBYztFQUNkLHFCQUFxQjtFQUNyQixnQkFBZ0I7QWxDNCtIdEI7O0FrQzErSE07RTlCckZGLGU4QnNGMkI7RTlCckYzQixlQUE2QztFQUV6QyxnQkFBZ0I7RThCb0ZoQixnQkFBZ0I7QWxDKytIeEI7O0FrQzcrSFE7O0VBRUUsaUJBQWlCO0VBQ2pCLGNBQWM7QWxDZy9IeEI7O0FrQzcrSFE7RUFDRSxjakM3QmM7RWlDOEJkLHFCQUFxQjtBbENnL0gvQjs7QWtDOStIVTtFQUVFLFdqQzdDVTtFaUM4Q1YseUJBQXlCO0FsQ2cvSHJDOztBa0M3K0hVO0VBQ0UsV2pDbERVO0FEa2lJdEI7O0FrQzFnSUk7RUFpQ0UsY0FBYztBbEM2K0hwQjs7QWtDcCtIRTtFQUNFLGdCQUFnQjtFQUNoQixVQUFVO0VOdUhWLG9DTXRINEM7QWxDdStIaEQ7O0FrQ24rSEU7RUFRRjtJQVBJLGFBQWE7RWxDdStIZjtFa0MvK0hBO0lBVUksY0FBYztFbEN3K0hsQjtBQUNGOztBa0M3OUhBO0VBaEZFLGFBQWE7RUFDYixlQUFlO0VBQ2YsY0FBYztFQUVkLGVBQWU7RUFDZixXQUFXO0VBQ1gsT0FBTztFQUNQLFlBQVk7RUFDWixnQkFBZ0I7RUFFaEIsZ0NqQ1BzQjtFaUNtRHRCLGFBQWE7RUFDYixVQUFVO0VONEhSLDJETTNIaUU7QWxDb2dJckU7O0FrQ2hqSUU7RUFFRSx5QmpDd0NrQjtBRDBnSXRCOztBa0NoaklJO0VBQ0UsY0FBYztFQUNkLHFCQUFxQjtFQUNyQixnQkFBZ0I7QWxDbWpJdEI7O0FrQ2pqSU07RTlCckZGLGU4QnNGMkI7RTlCckYzQixlQUE2QztFQUV6QyxnQkFBZ0I7RThCb0ZoQixnQkFBZ0I7QWxDc2pJeEI7O0FrQ3BqSVE7O0VBRUUsaUJBQWlCO0VBQ2pCLGNBQWM7QWxDdWpJeEI7O0FrQ3BqSVE7RUFDRSxjakM3QmM7RWlDOEJkLHFCQUFxQjtBbEN1akkvQjs7QWtDcmpJVTtFQUVFLFdqQzdDVTtFaUM4Q1YseUJBQXlCO0FsQ3VqSXJDOztBa0NwaklVO0VBQ0UsV2pDbERVO0FEeW1JdEI7O0FrQ2psSUk7RUFpQ0UsY0FBYztBbENvaklwQjs7QWtDM2lJRTtFQUNFLGdCQUFnQjtFQUNoQixVQUFVO0VOdUhWLG9DTXRINEM7QWxDOGlJaEQ7O0FrQzFpSUU7RUFlRjtJQWRJLGFBQWE7RWxDOGlJZjtFa0N0aklBO0lBVUksY0FBYztFbEMraUlsQjtBQUNGOztBa0M5aElBO0VBQ0UseUJqQ3BFbUI7RWlDcUVuQixXQUFXO0VBQ1gsWUFBWTtBbENpaUlkOztBa0NwaUlBO0VBTUksWUFBWTtFQUNaLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLFlBQVk7QWxDa2lJaEI7O0FrQzVpSUE7RUFhTSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULFVBQVU7RUFDVixXQUFXO0VGbVliLG1WQUF5QztFRWpZdkMsV0FBVztFQUNYLFlBQVk7RUFDWix3QkFBd0I7QWxDbWlJOUI7O0FrQ3ZqSUE7RUF3Qk0sYUFBYTtBbENtaUluQjs7QWtDM2pJQTtFQTZCSSxhQUFhO0VBQ2IsZUFBZ0M7QWxDa2lJcEM7O0FrQzloSUE7RUFDRSxnQkFBZ0I7RUFDaEIsUUFBUTtBbENpaUlWOztBa0NuaUlBO0VObVVJLHVCTTlUbUY7QWxDa2lJdkY7O0FrQ3ZpSUE7RUFRTSxrQkFBa0I7QWxDbWlJeEI7O0FrQzNpSUE7RTlCeExJLGU4Qm1NMkI7RTlCbE0zQixpQkFBNkM7RUFFekMsY0FBZ0I7RThCaU1oQixpQkFBaUI7RUFDakIsY2pDbElnQjtFaUNtSWhCLGlCQUFpQjtFQUNqQixtQmpDeUN3QjtBRDYvSGhDOztBa0NyaklBO0VBbUJRLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sWUFBWTtFQUNaLGVBQWU7RUFDZixXQUFXO0VBQ1gsWUFBWTtFRnlWaEIsbVZBQXlDO0FoQzhzSDdDOztBa0NoaUlBO0VBL0JBO0lBaUNJLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsUUFBUTtFbENtaUlWO0VrQ3RpSUE7SUFNSSx1QkFBdUI7RWxDbWlJM0I7RWtDemlJQTtJQVNNLFFBQVE7RWxDbWlJZDtFa0M1aUlBO0lBYU0sZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIsZUFBZTtFbENraUlyQjtBQUNGOztBa0M3aElBO0VBQ0U7SUFDRSxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxRQUFRO0lBQ1IsU0FBUztJQUNULGdCQUFnQjtJQUNoQixnQ2pDaElrQjtJaUNpSWxCLG1DQUFtQztJQUNuQyxrQ0FBa0M7RWxDZ2lJcEM7RWtDaG1JRjtJQW9FSSxhQUFhO0lBQ2IsY0FBYztJQUNkLGlCQUFpQjtFbEMraEluQjtFa0Nya0lBO0lBMkNNLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGVBQWU7RWxDNmhJckI7QUFDRjs7QWtDdGhJQTtFQUNFLGdCQUFnQjtFQUNoQix5QkFBaUM7QWxDeWhJbkM7O0FrQzNoSUE7RUFLSSxtQkFBbUI7QWxDMGhJdkI7O0FrQy9oSUE7RUFPTSwwQkFBMEI7QWxDNGhJaEM7O0FrQ25pSUE7RUFZSSxtQkFBbUI7QWxDMmhJdkI7O0FrQ3ZpSUE7RUFnQkksYUFBYTtBbEMyaElqQjs7QWtDM2lJQTtFQXFCTSxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLFlBQVk7QWxDMGhJbEI7O0FrQ2pqSUE7RUEyQk0sYUFBYTtBbEMwaEluQjs7QWtDcmpJQTtFQStCTSxhQUFhO0VBQ2IsdUJBQXVCO0FsQzBoSTdCOztBNkIvOUhFO0VLeERNLFNBQVM7RUFDVCxXQUFXO0FsQzJoSW5COztBa0MvaklBO0VBd0NRLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsWUFBWTtBbEMyaElwQjs7QWtDcmtJQTtFQStDTSxhQUFhO0FsQzBoSW5COztBa0N6a0lBO0VBa0RRLFlBQVk7RUFDWix5QmpDOU9hO0VpQytPYixnQ2pDL09hO0FEMHdJckI7O0FrQy9rSUE7RUF1RFUsWUFBWTtFQUNaLFlBQVk7RUFDWixRQUFRO0VBQ1IsV0FBVztBbEM0aElyQjs7QWtDdGxJQTtFQWlFSSxhQUFhO0VBRWIsWUFBWTtFQUNaLFlBQVk7RUFFWixrQkFBa0I7RUFFbEIscUJBQXFCO0VBQ3JCLHlCakNwUWlCO0VpQ3FRakIsWUFBWTtBbENzaEloQjs7QWtDaG1JQTtFTjhSRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFdBQVc7RUFDWCxRQUFRO0VBQ1IsU0FBUztFQWlCUCxhQUFhO0VBQ2IsaUNBQWlDO0VBQ2pDLG9DQUFvQztFQUNwQyw0Qk16T3NCO0VBQ3BCLGdCQUFnQjtFQUNoQixpQkFBaUI7QWxDK2hJdkI7O0FrQzltSUE7RUFtRk0sYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7QWxDK2hJekI7O0FrQ3BuSUE7RUEwRkksYUFBYTtBbEM4aElqQjs7QWtDMWhJQTtFQUNFOztJQUdJLGFBQWE7RWxDNGhJakI7RWtDL2hJQTs7OztJQU9NLGFBQWE7RWxDOGhJbkI7RWtDcmlJQTtJQVlJLGFBQWE7RWxDNGhJakI7RWtDeGlJQTtJQWdCSSxXQUFXO0VsQzJoSWY7RWtDM2lJQTs7SUFxQkksV0FBVztJQUNYLGtCQUFrQjtFbEMwaEl0QjtBQUNGOztBa0N0aElBO0VBQ0U7O0lBSU0sa0JBQWtCO0VsQ3VoSXhCO0VrQzNoSUE7O0lBUU0sYUFBYTtFbEN1aEluQjtFa0MvaElBOztJQVlNLGFBQWE7SUFDYixhQUFhO0lBQ2IsdUJBQXVCO0VsQ3VoSTdCO0VrQ3JpSUE7O0lBaUJRLGNBQWM7SUFDZCx1QkFBdUI7RWxDd2hJL0I7RWtDMWlJQTs7SUFxQlUsZ0JBQWdCO0VsQ3loSTFCO0VrQzFrSUE7O0lBd0RJLGtCQUFrQjtFbENzaEl0QjtBQUNGOztBa0NqaElBO0VMbEVFO0lLb0VJLGVBQWU7RWxDb2hJbkI7QUFDRiIsImZpbGUiOiJjbXMtc3R5bGVzLWVndWlkZXMtY29tcGFyZS45M2I5MDM0Yy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFZBUlMuU0NTU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQW55IHZhcmlhYmxlcyB5b3UgZmluZCBzZXQgaW4gaW51aXQuY3Nz4oCZIGBfdmFycy5zY3NzYCB0aGF0IHlvdSBkbyBub3Qgd2lzaCB0b1xuICoga2VlcCwgc2ltcGx5IHJlZGVmaW5lIGhlcmUuIFRoaXMgbWVhbnMgdGhhdCBpZiBpbnVpdC5jc3MsIGZvciBleGFtcGxlLCBzZXRzXG4gKiB5b3VyIGAkYmFzZS1mb250LXNpemVgIGF0IDE2cHggYW5kIHlvdSB3aXNoIGl0IHRvIGJlIDE0cHgsIHNpbXBseSByZWRlY2xhcmVcbiAqIHRoYXQgdmFyaWFibGUgaW4gdGhpcyBmaWxlLiBpbnVpdC5jc3MgaWdub3JlcyBpdHMgb3duIHZhcmlhYmxlcyBpbiBmYXZvdXIgb2ZcbiAqIHVzaW5nIHlvdXIgb3duLCBzbyB5b3UgY2FuIGNvbXBsZXRlbHkgbW9kaWZ5IGhvdyBpbnVpdC5jc3Mgd29ya3Mgd2l0aG91dCBldmVyXG4gKiBoYXZpbmcgdG8gYWx0ZXIgdGhlIGZyYW1ld29yayBpdHNlbGYuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE9CSkVDVFMtQU5ELUFCU1RSQUNUSU9OU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQWxsIG9mIGludWl0LmNzc+KAmSBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgYXJlIGluaXRpYWxseSB0dXJuZWQgb2ZmIGJ5XG4gKiBkZWZhdWx0LiBUaGlzIG1lYW5zIHRoYXQgeW91IHN0YXJ0IGFueSBwcm9qZWN0IHdpdGggYXMgbGl0dGxlIGFzIHBvc3NpYmxlLFxuICogYW5kIGludHJvZHVjaW5nIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyBpcyBhcyBzaW1wbGUgYXMgc3dpdGNoaW5nIHRoZVxuICogZm9sbG93aW5nIHZhcmlhYmxlcyB0byBgdHJ1ZWAuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJENVU1RPTVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUGxhY2UgYW55IG9mIHlvdXIgb3duIHZhcmlhYmxlcyB0aGF0IHNpdCBvbiB0b3Agb2YgaW51aXQuY3NzIGhlcmUuXG4gKi9cbi5zZWNvbmRhcnktZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlY29uZGFyeS1mb290ZXIuaG9tZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIElOVUlULkNTU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qISpcbiAqXG4gKiBpbnVpdGNzcy5jb20gLS0gQGludWl0Y3NzIC0tIEBjc3N3aXphcmRyeVxuICpcbiAqL1xuLyoqXG4gKiBpbnVpdC5jc3MgYWN0cyBhcyBhIGJhc2Ugc3R5bGVzaGVldCB3aGljaCB5b3Ugc2hvdWxkIGV4dGVuZCB3aXRoIHlvdXIgb3duXG4gKiB0aGVtZSBzdHlsZXNoZWV0LlxuICpcbiAqIGludWl0LmNzcyBhaW1zIHRvIGRvIHRoZSBoZWF2eSBsaWZ0aW5nOyBzb3J0aW5nIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyxcbiAqIGRlc2lnbiBwYXR0ZXJucyBhbmQgZmlkZGx5IGJpdHMgb2YgQ1NTLCB3aGlsc3QgbGVhdmluZyBhcyBtdWNoIGRlc2lnbiBhc1xuICogcG9zc2libGUgdG8geW91LiBpbnVpdC5jc3MgaXMgdGhlIHNjYWZmb2xkaW5nIHRvIHlvdXIgZGVjb3JhdG9yLlxuICpcbiAqIFRoaXMgc3R5bGVzaGVldCBpcyBoZWF2aWx5IGRvY3VtZW50ZWQgYW5kIGNvbnRhaW5zIGxvdHMgb2YgY29tbWVudHMsIHBsZWFzZVxuICogdGFrZSBjYXJlIHRvIHJlYWQgYW5kIHJlZmVyIHRvIHRoZW0gYXMgeW91IGJ1aWxkLiBGb3IgZnVydGhlciBzdXBwb3J0IHBsZWFzZVxuICogdHdlZXQgYXQgQGludWl0Y3NzLlxuICpcbiAqIE93aW5nIHRvIHRoZSBhbW91bnQgb2YgY29tbWVudHMgcGxlYXNlIG9ubHkgZXZlciB1c2UgbWluaWZpZWQgQ1NTIGluXG4gKiBwcm9kdWN0aW9uLiBUaGlzIGZpbGUgaXMgcHVyZWx5IGEgZGV2IGRvY3VtZW50LlxuICpcbiAqIFRoZSB0YWJsZSBvZiBjb250ZW50cyBiZWxvdyBtYXBzIHRvIHNlY3Rpb24gdGl0bGVzIG9mIHRoZSBzYW1lIG5hbWUsIHRvIGp1bXBcbiAqIHRvIGFueSBzZWN0aW9uIHNpbXBseSBydW4gYSBmaW5kIGZvciAkW1NFQ1RJT04tVElUTEVdLlxuICpcbiAqIE1vc3Qgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGNvbWUgd2l0aCBhIGNodW5rIG9mIG1hcmt1cCB0aGF0IHlvdSBzaG91bGQgYmVcbiAqIGFibGUgdG8gcGFzdGUgaW50byBhbnkgdmlldyB0byBxdWlja2x5IHNlZSBob3cgdGhlIENTUyB3b3JrcyBpbiBjb25qdW5jdGlvblxuICogd2l0aCB0aGUgY29ycmVjdCBIVE1MLlxuICpcbiAqIGludWl0LmNzcyBpcyB3cml0dGVuIHRvIHRoaXMgc3RhbmRhcmQ6IGdpdGh1Yi5jb20vY3Nzd2l6YXJkcnkvQ1NTLUd1aWRlbGluZXNcbiAqXG4gKiBMSUNFTlNFXG4gKlxuICogQ29weXJpZ2h0IDIwMTMgSGFycnkgUm9iZXJ0c1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwOi8vYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICogVGhhbmsgeW91IGZvciBjaG9vc2luZyBpbnVpdC5jc3MuIE1heSB5b3VyIHdlYiBmb250cyByZW5kZXIgcGVyZmVjdGx5LlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQ09OVEVOVFMuLi4uLi4uLi4uLi5Zb3XigJlyZSByZWFkaW5nIGl0IVxuICogV0FSTklORy4uLi4uLi4uLi4uLi5IZXJlIGJlIGRyYWdvbnMhXG4gKiBJTVBPUlRTLi4uLi4uLi4uLi4uLkJlZ2luIGltcG9ydGluZyB0aGUgc2VjdGlvbnMgYmVsb3dcbiAqXG4gKiBNSVhJTlMuLi4uLi4uLi4uLi4uLlN1cGVyLXNpbXBsZSBTYXNzIHN0dWZmXG4gKiBOT1JNQUxJWkUuLi4uLi4uLi4uLm5vcm1hbGl6ZS5jc3NcbiAqIFJFU0VULi4uLi4uLi4uLi4uLi4uU2V0IHNvbWUgZGVmYXVsdHNcbiAqIENMRUFSRklYLi4uLi4uLi4uLi4uXG4gKiBTSEFSRUQuLi4uLi4uLi4uLi4uLlNoYXJlZCBkZWNsYXJhdGlvbnNcbiAqXG4gKiBNQUlOLi4uLi4uLi4uLi4uLi4uLkhpZ2gtbGV2ZWwgZWxlbWVudHMgbGlrZSBgaHRtbGAsIGBib2R5YCwgZXRjLlxuICogSEVBRElOR1MuLi4uLi4uLi4uLi5Eb3VibGUtc3RyYW5kZWQgaGVhZGluZyBoaWVyYXJjaHlcbiAqIFBBUkFHUkFQSFMuLi4uLi4uLi4uXG4gKiBTTUFMTFBSSU5ULi4uLi4uLi4uLlNtYWxsZXIgdGV4dCBlbGVtZW50cyBsaWtlIGBzbWFsbGBcbiAqIFFVT1RFUy4uLi4uLi4uLi4uLi4uXG4gKiBDT0RFLi4uLi4uLi4uLi4uLi4uLlxuICogTElTVFMuLi4uLi4uLi4uLi4uLi5cbiAqIElNQUdFUy4uLi4uLi4uLi4uLi4uXG4gKiBUQUJMRVMuLi4uLi4uLi4uLi4uLlxuICogRk9STVMuLi4uLi4uLi4uLi4uLi5cbiAqXG4gKiBHUklEUy4uLi4uLi4uLi4uLi4uLkZsdWlkLCBwcm9wb3J0aW9uYWwgYW5kIG5lc3RhYmxlIGdyaWRzXG4gKiBGTEVYQk9YLi4uLi4uLi4uLi4uLkNydWRlbHkgZW11bGF0ZSBmbGV4Ym94XG4gKiBDT0xVTU5TLi4uLi4uLi4uLi4uLkNTUzMgY29sdW1uc1xuICogTkFWLi4uLi4uLi4uLi4uLi4uLi5BIHNpbXBsZSBhYnN0cmFjdGlvbiB0byBwdXQgYSBsaXN0IGluIGhvcml6b250YWwgbmF2IG1vZGVcbiAqIE9QVElPTlMuLi4uLi4uLi4uLi4uR3JvdXBlZCBuYXYgaXRlbXNcbiAqIFBBR0lOQVRJT04uLi4uLi4uLi4uVmVyeSBzdHJpcHBlZCBiYWNrLCBiYXNpYyBwYWdpbmF0b3JcbiAqIEJSRUFEQ1JVTUIuLi4uLi4uLi4uU2ltcGxlIGJyZWFkY3J1bWIgdHJhaWwgb2JqZWN0XG4gKiBNRURJQS4uLi4uLi4uLi4uLi4uLk1lZGlhIG9iamVjdFxuICogTUFSR0lOQUxJQS4uLi4uLi4uLi5TaW1wbGUgbWFyZ2luYWxpYSBjb250ZW50XG4gKiBJU0xBTkQuLi4uLi4uLi4uLi4uLkJveGVkIG9mZiBjb250ZW50XG4gKiBCTE9DSy1MSVNULi4uLi4uLi4uLkJsb2NreSBsaXN0cyBvZiBjb250ZW50XG4gKiBNQVRSSVguLi4uLi4uLi4uLi4uLkdyaWRkZWQgbGlzdHNcbiAqIFNQTElULi4uLi4uLi4uLi4uLi4uQSBzaW1wbGUgc3BsaXQtaW4tdHdvIG9iamVjdFxuICogVEhJUy1PUi1USElTLi4uLi4uLi5PcHRpb25zIG9iamVjdFxuICogTElOSy1DT01QTEVYLi4uLi4uLi5cbiAqIEZMWU9VVC4uLi4uLi4uLi4uLi4uRmx5b3V0LW9uLWhvdmVyIG9iamVjdFxuICogQVJST1dTLi4uLi4uLi4uLi4uLi5DU1MgYXJyb3dzXG4gKiBTUFJJVEUuLi4uLi4uLi4uLi4uLkdlbmVyaWMgc3ByaXRpbmcgZWxlbWVudFxuICogSUNPTi1URVhULi4uLi4uLi4uLi5JY29uIGFuZCB0ZXh0IGNvdXBsaW5nc1xuICogQkVBVVRPTlMuLi4uLi4uLi4uLi5Vc2UgdGhlIGJlYXV0b25zIG1pY3JvIGxpYnJhcnlcbiAqIExPWkVOR0VTLi4uLi4uLi4uLi4uQmFzaWMgbG96ZW5nZSBzdHlsZXNcbiAqIFJVTEVTLi4uLi4uLi4uLi4uLi4uSG9yaXpvbnRhbCBydWxlc1xuICogU1RBVFMuLi4uLi4uLi4uLi4uLi5TaW1wbGUgc3RhdHMgb2JqZWN0XG4gKiBHUkVZQk9YLi4uLi4uLi4uLi4uLldpcmVmcmFtaW5nIHN0eWxlc1xuICpcbiAqIFdJRFRIUy4uLi4uLi4uLi4uLi4uV2lkdGggY2xhc3NlcyBmb3IgdXNlIGFsb25nc2lkZSB0aGUgZ3JpZCBzeXN0ZW0gZXRjLlxuICogUFVTSC4uLi4uLi4uLi4uLi4uLi5QdXNoIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBncmlkc1xuICogUFVMTC4uLi4uLi4uLi4uLi4uLi5QdWxsIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBncmlkc1xuICogQlJBTkQuLi4uLi4uLi4uLi4uLi5IZWxwZXIgY2xhc3MgdG8gYXBwbHkgYnJhbmQgdHJlYXRtZW50IHRvIGVsZW1lbnRzXG4gKiBIRUxQRVIuLi4uLi4uLi4uLi4uLkEgc2VyaWVzIG9mIGhlbHBlciBjbGFzc2VzIHRvIHVzZSBhcmJpdHJhcmlseVxuICogREVCVUcuLi4uLi4uLi4uLi4uLi5FbmFibGUgdG8gYWRkIHZpc3VhbCBmbGFncyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFdBUk5JTkdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICogaW51aXQuY3NzLCBiZWluZyBhbiBPTyBmcmFtZXdvcmssIHdvcmtzIGluIGtlZXBpbmcgd2l0aCB0aGUgb3Blbi9jbG9zZWRcbiAqIHByaW5jaXBsZS4gVGhlIHZhcmlhYmxlcyB5b3Ugc2V0IHByZXZpb3VzbHkgYXJlIG5vdyBiZWluZyB1c2VkIHRocm91Z2hvdXRcbiAqIGludWl0LmNzcyB0byBzdHlsZSBldmVyeXRoaW5nIHdlIG5lZWQgZm9yIGEgYmFzZS4gQW55IGN1c3RvbSBzdHlsZXMgU0hPVUxEXG4gKiBOT1QgYmUgYWRkZWQgb3IgbW9kaWZpZWQgaW4gaW51aXQuY3NzIGRpcmVjdGx5LCBidXQgYWRkZWQgdmlhIHlvdXIgdGhlbWVcbiAqIHN0eWxlc2hlZXQgYXMgcGVyIHRoZSBvcGVuL2Nsb3NlZCBwcmluY2lwbGU6XG4gKlxuICogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDYvdGhlLW9wZW4tY2xvc2VkLXByaW5jaXBsZS1hcHBsaWVkLXRvLWNzc1xuICpcbiAqIFRyeSBub3QgdG8gZWRpdCBhbnkgQ1NTIGJleW9uZCB0aGlzIHBvaW50OyBpZiB5b3UgZmluZCB5b3UgbmVlZCB0byBkbyBzb1xuICogaXQgaXMgYSBmYWlsaW5nIG9mIHRoZSBmcmFtZXdvcmsgc28gcGxlYXNlIHR3ZWV0IGF0IEBpbnVpdGNzcy5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkSU1QT1JUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogR2VuZXJpYyB1dGlsaXR5IHN0eWxlcyBldGMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJERFRkFVTFRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBpbnVpdC5jc3PigJkgZGVmYXVsdCB2YXJpYWJsZXMuIFJlZGVmaW5lIHRoZXNlIGluIHlvdXIgYF92YXJzLnNjc3NgIGZpbGUgKGZvdW5kXG4gKiBpbiB0aGUgaW51aXQuY3NzLXdlYi10ZW1wbGF0ZSkgdG8gb3ZlcnJpZGUgdGhlbS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkREVCVUdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIERlYnVnIG1vZGUgd2lsbCB2aXN1YWxseSBoaWdobGlnaHQgYW55IHBvdGVudGlhbCBtYXJrdXAvYWNjZXNzaWJpbGl0eSBxdWlya3NcbiAqIGluIHRoZSBicm93c2VyLiBTZXQgdG8gYHRydWVgIG9yIGBmYWxzZWAuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJPUkRFUi1CT1hcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIERvIHlvdSB3YW50IGFsbCBlbGVtZW50cyB0byBhZG9wdCBgYm94LXNpemluZzpib3JkZXItYm94O2AgYXMgcGVyXG4gKiBwYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dyA/XG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJBU0VcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEJhc2Ugc3R1ZmZcbiAqL1xuLyoqXG4gKiBCYXNlIGZvbnQtZmFtaWx5LlxuICovXG4vKipcbiAqIERlZmF1bHQgY29sb3VyIGZvciBvYmplY3Rz4oCZIGJvcmRlcnMgZXRjLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRSRVNQT05TSVZFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBSZXNwb25zaXZlbmVzcz9cbiAqL1xuLyoqXG4gKiBSZXNwb25zaXZlbmVzcyBmb3Igd2lkZXNjcmVlbi9oaWdoIHJlc29sdXRpb24gZGVza3RvcCBtb25pdG9ycyBhbmQgYmV5b25kP1xuICogTm90ZTogYCRyZXNwb25zaXZlYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGlzLlxuICovXG4vKipcbiAqIFJlc3BvbnNpdmUgcHVzaCBhbmQgcHVsbCBwcm9kdWNlIGEgTE9UIG9mIGNvZGUsIG9ubHkgdHVybiB0aGVtIG9uIGlmIHlvdVxuICogZGVmaW5pdGVseSBuZWVkIHRoZW0uXG4gKi9cbi8qKlxuICogTm90ZTogYCRwdXNoYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGVzZS5cbiAqL1xuLyoqXG4gKiBOb3RlOiBgJHB1bGxgIHZhcmlhYmxlIGFib3ZlIG11c3QgYmUgc2V0IHRvIHRydWUgYmVmb3JlIGVuYWJsaW5nIHRoZXNlLlxuICovXG4vKipcbiAqIFRlbGwgaW51aXQuY3NzIHdoZW4gYnJlYWtwb2ludHMgc3RhcnQuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZPTlQtU0laRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEZvbnQtc2l6ZXMgKGluIHBpeGVscykuIFJlZmVyIHRvIHJlbGV2YW50IHNlY3Rpb25zIGZvciB0aGVpciBpbXBsZW1lbnRhdGlvbnMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFFVT1RFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRW5nbGlzaCBxdW90ZSBtYXJrcz9cbiAqL1xuLyoqXG4gKiBJZiB5b3Ugd2FudCBFbmdsaXNoIHF1b3RlcyB0aGVuIHBsZWFzZSBkbyBub3QgZWRpdCB0aGVzZTsgdGhleeKAmXJlIG9ubHkgaGVyZVxuICogYmVjYXVzZSBTYXNzIG5lZWRzIHRoZW0uXG4gKi9cbi8qKlxuICogSWYgeW91IG5lZWQgbm9uLUVuZ2xpc2ggcXVvdGVzLCBwbGVhc2UgYWx0ZXIgdGhlIGZvbGxvd2luZyB2YWx1ZXMgYWNjb3JkaW5nbHk6XG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJSQU5EXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBCcmFuZCBzdHVmZlxuICovXG4vKipcbiAqIEhvdyBiaWcgd291bGQgeW91IGxpa2Ugcm91bmQgY29ybmVycyB0byBiZSBieSBkZWZhdWx0P1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRPQkpFQ1RTIEFORCBBQlNUUkFDVElPTlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFdoaWNoIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyB3b3VsZCB5b3UgbGlrZSB0byB1c2U/XG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZSQU1FV09SS1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogaW51aXQuY3NzIHdpbGwgd29yayB0aGVzZSBuZXh0IG9uZXMgb3V0IGZvciB1c2Ugd2l0aGluIHRoZSBmcmFtZXdvcmsuXG4gKlxuICogQXNzaWduIG91ciBgJGJhc2UtbGluZS1oZWlnaHRgIHRvIGEgbmV3IHNwYWNpbmcgdmFyIGZvciBtb3JlIHRyYW5zcGFyZW5jeS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTUlYSU5TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBDcmVhdGUgYSBmdWxseSBmb3JtZWQgdHlwZSBzdHlsZSAoc2l6aW5nIGFuZCB2ZXJ0aWNhbCByaHl0aG0pIGJ5IHBhc3NpbmcgaW4gYVxuICogc2luZ2xlIHZhbHVlLCBlLmcuOlxuICpcbiAgIGBAaW5jbHVkZSBmb250LXNpemUoMTBweCk7YFxuICpcbiAqIFRoYW5rcyB0byBAcmVkY2xvdjNyIGZvciB0aGUgYGxpbmUtaGVpZ2h0YCBTYXNzOlxuICogdHdpdHRlci5jb20vcmVkY2xvdjNyL3N0YXR1cy8yNTAzMDE1MzkzMjE3OTg2NTdcbiAqL1xuLyoqXG4gKiBTdHlsZSBhbnkgbnVtYmVyIG9mIGhlYWRpbmdzIGluIG9uZSBmZWxsIHN3b29wLCBlLmcuOlxuICpcbiAgIC5mb297XG4gICAgICAgQGluY2x1ZGUgaGVhZGluZ3MoMSwgMyl7XG4gICAgICAgICAgIGNvbG9yOiNCQURBNTU7XG4gICAgICAgfVxuICAgIH1cbiAqXG4gKiBXaXRoIHRoYW5rcyB0byBAbGFyX3p6eiwgQHBhcmFub2lkYSwgQHJvd2FubWFubmluZyBhbmQgdWx0aW1hdGVseVxuICogQHRoaWVycnlsZW1vdWxlYyBmb3IgcmVmaW5pbmcgYW5kIGltcHJvdmluZyBteSBpbml0aWFsIG1peGluLlxuICovXG4vKipcbiAqIENyZWF0ZSB2ZW5kb3ItcHJlZml4ZWQgQ1NTIGluIG9uZSBnbywgZS5nLlxuICpcbiAgIGBAaW5jbHVkZSB2ZW5kb3IoYm9yZGVyLXJhZGl1cywgNHB4KTtgXG4gKlxuICovXG4vKipcbiAqIENyZWF0ZSBDU1Mga2V5ZnJhbWUgYW5pbWF0aW9ucyBmb3IgYWxsIHZlbmRvcnMgaW4gb25lIGdvLCBlLmcuOlxuICpcbiAgIC5mb297XG4gICAgICAgQGluY2x1ZGUgdmVuZG9yKGFuaW1hdGlvbiwgc2hyaW5rIDNzKTtcbiAgIH1cblxuICAgQGluY2x1ZGUga2V5ZnJhbWUoc2hyaW5rKXtcbiAgICAgICBmcm9te1xuICAgICAgICAgICBmb250LXNpemU6NWVtO1xuICAgICAgIH1cbiAgIH1cbiAqXG4gKiBDb3VydGVzeSBvZiBAaW50ZWdyYWxpc3Q6IHR3aXR0ZXIuY29tL2ludGVncmFsaXN0L3N0YXR1cy8yNjA0ODQxMTUzMTU0Mzc1NjlcbiAqL1xuLyoqXG4gKiBGb3JjZSBvdmVybHkgbG9uZyBzcGFucyBvZiB0ZXh0IHRvIHRydW5jYXRlLCBlLmcuOlxuICpcbiAgIGBAaW5jbHVkZSB0cnVuY2F0ZSgxMDAlKTtgXG4gKlxuICogV2hlcmUgYCR0cnVuY2F0aW9uLWJvdW5kYXJ5YCBpcyBhIHVuaXRlZCBtZWFzdXJlbWVudC5cbiAqL1xuLyoqXG4gKiBDU1MgYXJyb3dzISEhIEJ1dC4uLiBiZWZvcmUgeW91IHJlYWQgb24sIHlvdSBtaWdodCB3YW50IHRvIGdyYWIgYSBjb2ZmZWUuLi5cbiAqXG4gKiBUaGlzIG1peGluIGNyZWF0ZXMgYSBDU1MgYXJyb3cgb24gYSBnaXZlbiBlbGVtZW50LiBXZSBjYW4gaGF2ZSB0aGUgYXJyb3dcbiAqIGFwcGVhciBpbiBvbmUgb2YgMTIgbG9jYXRpb25zLCB0aHVzOlxuICpcbiAqICAgICAgIDAxICAgIDAyICAgIDAzXG4gKiAgICArLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogMTIgfCAgICAgICAgICAgICAgICAgIHwgMDRcbiAqICAgIHwgICAgICAgICAgICAgICAgICB8XG4gKiAxMSB8ICAgICAgICAgICAgICAgICAgfCAwNVxuICogICAgfCAgICAgICAgICAgICAgICAgIHxcbiAqIDEwIHwgICAgICAgICAgICAgICAgICB8IDA2XG4gKiAgICArLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogICAgICAgMDkgICAgMDggICAgMDdcbiAqXG4gKiBZb3UgcGFzcyB0aGlzIHBvc2l0aW9uIGluIGFsb25nIHdpdGggYSBkZXNpcmVkIGFycm93IGNvbG9yIGFuZCBvcHRpb25hbFxuICogYm9yZGVyIGNvbG9yLCBmb3IgZXhhbXBsZTpcbiAqXG4gKiBgQGluY2x1ZGUgYXJyb3codG9wLCBsZWZ0LCByZWQpYFxuICpcbiAqIGZvciBqdXN0IGEgc2luZ2xlLCByZWQgYXJyb3csIG9yOlxuICpcbiAqIGBAaW5jbHVkZSBhcnJvdyhib3R0b20sIGNlbnRlciwgcmVkLCBibGFjaylgXG4gKlxuICogd2hpY2ggd2lsbCBjcmVhdGUgYSByZWQgdHJpYW5nbGUgd2l0aCBhIGJsYWNrIGJvcmRlciB3aGljaCBzaXRzIGF0IHRoZSBib3R0b21cbiAqIGNlbnRlciBvZiB0aGUgZWxlbWVudC4gQ2FsbCB0aGUgbWl4aW4gdGh1czpcbiAqXG4gICAuZm9ve1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6I0JBREE1NTtcbiAgICAgICBib3JkZXI6MXB4IHNvbGlkICNBQ0U7XG4gICAgICAgQGluY2x1ZGUgYXJyb3codG9wLCBsZWZ0LCAjQkFEQTU1LCAjQUNFKTtcbiAgIH1cbiAqXG4gKi9cbi8qKlxuICogTWVkaWEgcXVlcnkgbWl4aW4uXG4gKlxuICogSXTigJlzIG5vdCBncmVhdCBwcmFjdGljZSB0byBkZWZpbmUgc29saWQgYnJlYWtwb2ludHMgdXAtZnJvbnQsIHByZWZlcnJpbmcgdG9cbiAqIG1vZGlmeSB5b3VyIGRlc2lnbiB3aGVuIGl0IG5lZWRzIGl0LCByYXRoZXIgdGhhbiBhc3N1bWluZyB5b3XigJlsbCB3YW50IGFcbiAqIGNoYW5nZSBhdCDigJhtb2JpbGXigJkuIEhvd2V2ZXIsIGFzIGludWl0LmNzcyBpcyByZXF1aXJlZCB0byB0YWtlIGEgaGFuZHMgb2ZmXG4gKiBhcHByb2FjaCB0byBkZXNpZ24gZGVjaXNpb25zLCB0aGlzIGlzIHRoZSBjbG9zZXN0IHdlIGNhbiBnZXQgdG8gYmFrZWQtaW5cbiAqIHJlc3BvbnNpdmVuZXNzLiBJdOKAmXMgZmxleGlibGUgZW5vdWdoIHRvIGFsbG93IHlvdSB0byBzZXQgeW91ciBvd24gYnJlYWtwb2ludHNcbiAqIGJ1dCBzb2xpZCBlbm91Z2ggdG8gYmUgZnJhbWV3b3JraWZpZWQuXG4gKlxuICogV2UgZGVmaW5lIHNvbWUgYnJvYWQgYnJlYWtwb2ludHMgaW4gb3VyIHZhcnMgZmlsZSB0aGF0IGFyZSBwaWNrZWQgdXAgaGVyZVxuICogZm9yIHVzZSBpbiBhIHNpbXBsZSBtZWRpYSBxdWVyeSBtaXhpbi4gT3VyIG9wdGlvbnMgYXJlOlxuICpcbiAqIHBhbG1cbiAqIGxhcFxuICogbGFwLWFuZC11cFxuICogcG9ydGFibGVcbiAqIGRlc2tcbiAqIGRlc2std2lkZVxuICpcbiAqIE5vdCB1c2luZyBhIG1lZGlhIHF1ZXJ5IHdpbGwsIG5hdHVyYWxseSwgc2VydmUgc3R5bGVzIHRvIGFsbCBkZXZpY2VzLlxuICpcbiAqIGBAaW5jbHVkZSBtZWRpYS1xdWVyeShwYWxtKXsgW3N0eWxlcyBoZXJlXSB9YFxuICpcbiAqIFdlIHdvcmsgb3V0IHlvdXIgZW5kIHBvaW50cyBmb3IgeW91OlxuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2Mi4xLjAgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLypcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLypcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5xIHtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qXG4gKiBDb3JyZWN0IG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLypcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUkVTRVRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEEgbW9yZSBjb25zaWRlcmVkIHJlc2V0OyBtb3JlIG9mIGEgcmVzdGFydC4uLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMS8xMC9yZXNldC1yZXN0YXJ0ZWRcbiAqL1xuLyoqXG4gICAgKiBMZXTigJlzIG1ha2UgdGhlIGJveCBtb2RlbCBhbGwgbmljZSwgc2hhbGwgd2UuLi4/XG4gICAgKi9cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtby1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKipcbiAqIFRoZSB1c3VhbC4uLlxuICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxucCwgYmxvY2txdW90ZSwgcHJlLFxuZGwsIGRkLCBvbCwgdWwsXG5mb3JtLCBmaWVsZHNldCwgbGVnZW5kLFxudGFibGUsIHRoLCB0ZCwgY2FwdGlvbixcbmhyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEdpdmUgYSBoZWxwIGN1cnNvciB0byBlbGVtZW50cyB0aGF0IGdpdmUgZXh0cmEgaW5mbyBvbiBgOmhvdmVyYC5cbiAqL1xuYWJiclt0aXRsZV0sIGRmblt0aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHVuZGVybGluZXMgZnJvbSBwb3RlbnRpYWxseSB0cm91Ymxlc29tZSBlbGVtZW50cy5cbiAqL1xudSwgaW5zIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKipcbiAqIEFwcGx5IGZhdXggdW5kZXJsaW5lIHZpYSBgYm9yZGVyLWJvdHRvbWAuXG4gKi9cbmlucyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbn1cblxuLyoqXG4gKiBTbyB0aGF0IGBhbHRgIHRleHQgaXMgdmlzdWFsbHkgb2Zmc2V0IGlmIGltYWdlcyBkb27igJl0IGxvYWQuXG4gKi9cbmltZyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBHaXZlIGZvcm0gZWxlbWVudHMgc29tZSBjdXJzb3IgaW50ZXJhY3Rpb25zLi4uXG4gKi9cbmxhYmVsLFxuaW5wdXQsXG50ZXh0YXJlYSxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGlvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRleHQtaW5wdXQ6YWN0aXZlLFxuLnRleHQtaW5wdXQ6Zm9jdXMsXG50ZXh0YXJlYTphY3RpdmUsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ0xFQVJGSVhcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIE1pY3JvIGNsZWFyZml4LCBhcyBwZXI6IGNzcy0xMDEub3JnL2FydGljbGVzL2NsZWFyZml4L2xhdGVzdC1uZXctY2xlYXJmaXgtc28tZmFyLnBocFxuICogRXh0ZW5kIHRoZSBjbGVhcmZpeCBjbGFzcyB3aXRoIFNhc3MgdG8gYXZvaWQgdGhlIGAuY2ZgIGNsYXNzIGFwcGVhcmluZyBvdmVyXG4gKiBhbmQgb3ZlciBpbiB5b3VyIG1hcmt1cC5cbiAqL1xuLmNmOmFmdGVyLCAubmF2OmFmdGVyLCAubWVkaWE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFNIQVJFRFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1ib3R0b21gIGlzIGNvbmNlcm5lZCwgdGhpcyB2YWx1ZSB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZVxuICogYmFzZSBsaW5lLWhlaWdodC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCBhIGNvbnNpc3RlbnQgdmVydGljYWwgcmh5dGhtLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi9zaW5nbGUtZGlyZWN0aW9uLW1hcmdpbi1kZWNsYXJhdGlvbnNcbiAqL1xuLyoqXG4gKiBCYXNlIGVsZW1lbnRzXG4gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhncm91cCxcbnVsLCBvbCwgZGwsXG5ibG9ja3F1b3RlLCBwLCBhZGRyZXNzLFxudGFibGUsXG5maWVsZHNldCwgZmlndXJlLFxucHJlLFxuLmZvcm0tZmllbGRzID4gbGksXG4ubWVkaWEsXG4uaXNsYW5kLFxuLmluZm9ncmFwaGljcyxcbi5pc2xldCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmlzbGV0IGgxLCAuaXNsZXQgaDIsIC5pc2xldCBoMywgLmlzbGV0IGg0LCAuaXNsZXQgaDUsIC5pc2xldCBoNiwgLmlzbGV0IGhncm91cCwgLmlzbGV0XG51bCwgLmlzbGV0IG9sLCAuaXNsZXQgZGwsIC5pc2xldFxuYmxvY2txdW90ZSwgLmlzbGV0IHAsIC5pc2xldCBhZGRyZXNzLCAuaXNsZXRcbnRhYmxlLCAuaXNsZXRcbmZpZWxkc2V0LCAuaXNsZXQgZmlndXJlLCAuaXNsZXRcbnByZSwgLmlzbGV0IC5mb3JtLWZpZWxkcyA+IGxpLCAuaXNsZXRcbi5tZWRpYSwgLmlzbGV0XG4uaXNsYW5kLCAuaXNsZXRcbi5pbmZvZ3JhcGhpY3MsIC5pc2xldFxuLmlzbGV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLyoqXG4gKiBEb3VibGVkIHVwIGBtYXJnaW4tYm90dG9tYCBoZWxwZXIgY2xhc3MuXG4gKi9cbi5sYW5kbWFyayB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi8qKlxuICogYGhyYCBlbGVtZW50cyBvbmx5IHRha2UgdXAgYSBmZXcgcGl4ZWxzLCBzbyB3ZSBuZWVkIHRvIGdpdmUgdGhlbSBzcGVjaWFsXG4gKiB0cmVhdG1lbnQgcmVnYXJkaW5nIHZlcnRpY2FsIHJoeXRobS5cbiAqL1xuaHIge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbn1cblxuLyoqXG4gKiBXaGVyZSBgbWFyZ2luLWxlZnRgIGlzIGNvbmNlcm5lZCB3ZSB3YW50IHRvIHRyeSBhbmQgaW5kZW50IGNlcnRhaW4gZWxlbWVudHNcbiAqIGJ5IGEgY29uc2lzdGVudCBhbW91bnQuIERlZmluZSB0aGF0IGFtb3VudCBvbmNlLCBoZXJlLlxuICovXG51bCwgb2wsIGRkIHtcbiAgbWFyZ2luLWxlZnQ6IDQ4cHg7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtO1xufVxuXG4vKipcbiAqIEJhc2Ugc3R5bGVzOyB1bmNsYXNzZWQgSFRNTCBlbGVtZW50cyBldGMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE1BSU5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1sIHtcbiAgZm9udDogMWVtLzEuNSBzYW5zLXNlcmlmO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRIRUFESU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMi8wMi9wcmFnbWF0aWMtcHJhY3RpY2FsLWZvbnQtc2l6aW5nLWluLWNzc1xuICpcbiAqIFdoZW4gd2UgZGVmaW5lIGEgaGVhZGluZyB3ZSBhbHNvIGRlZmluZSBhIGNvcnJlc3BvbmRpbmcgY2xhc3MgdG8gZ28gd2l0aCBpdC5cbiAqIFRoaXMgYWxsb3dzIHVzIHRvIGFwcGx5LCBzYXksIGBjbGFzcz1hbHBoYWAgdG8gYSBgaDNgOyBhIGRvdWJsZS1zdHJhbmRlZFxuICogaGVhZGluZyBoaWVyYXJjaHkuXG4gKi9cbmgxLCAuYWxwaGEge1xuICBmb250LXNpemU6IDM2cHg7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG59XG5cbmgyLCAuYmV0YSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDMsIC5nYW1tYSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5oNCwgLmRlbHRhIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmg1LCAuZXBzaWxvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5oNiwgLnpldGEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI5O1xufVxuXG4vKipcbiAqIEhlYWRpbmcgZ3JvdXBzIGFuZCBnZW5lcmljIGFueS1oZWFkaW5nIGNsYXNzLlxuICogVG8gdGFyZ2V0IGFueSBoZWFkaW5nIG9mIGFueSBsZXZlbCBzaW1wbHkgYXBwbHkgYSBjbGFzcyBvZiBgLmhOYCwgZS5nLjpcbiAqXG4gICA8aGdyb3VwPlxuICAgICAgIDxoMSBjbGFzcz1oTj5pbnVpdC5jc3M8L2gxPlxuICAgICAgIDxoMiBjbGFzcz1oTj5CZXN0LiBGcmFtZXdvcmsuIEV2ZXIhPC9oMj5cbiAgIDwvaGdyb3VwPlxuICpcbiAqL1xuaGdyb3VwIC5oTiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuICogQSBzZXJpZXMgb2YgY2xhc3NlcyBmb3Igc2V0dGluZyBtYXNzaXZlIHR5cGU7IGZvciB1c2UgaW4gaGVyb2VzLCBtYXN0aGVhZHMsXG4gKiBwcm9tb3MsIGV0Yy5cbiAqL1xuLmdpZ2Ege1xuICBmb250LXNpemU6IDk2cHg7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5tZWdhIHtcbiAgZm9udC1zaXplOiA3MnB4O1xuICBmb250LXNpemU6IDQuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5raWxvIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRQQVJBR1JBUEhTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBUaGUgYC5sZWRlYCBjbGFzcyBpcyB1c2VkIHRvIG1ha2UgdGhlIGludHJvZHVjdG9yeSB0ZXh0ICh1c3VhbGx5IGEgcGFyYWdyYXBoKVxuICogb2YgYSBkb2N1bWVudCBzbGlnaHRseSBsYXJnZXIuXG4gKi9cbi5sZWRlLFxuLmxlYWQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRTTUFMTFBSSU5UXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBIHNlcmllcyBvZiBjbGFzc2VzIGZvciBzZXR0aW5nIHRpbnkgdHlwZTsgZm9yIHVzZSBpbiBzbWFsbHByaW50IGV0Yy5cbiAqL1xuLnNtYWxscHJpbnQsXG4ubWlsbGkge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG5cbi5taWNybyB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUVVPVEVTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBJZiBFbmdsaXNoIHF1b3RlcyBhcmUgc2V0IGluIGBfdmFycy5zY3NzYCwgZGVmaW5lIHRoZW0gaGVyZS5cbiAqL1xuLyoqXG4gKiBCaWcgdXAgQGJvYmxldDogaHRtbDVkb2N0b3IuY29tL2Jsb2NrcXVvdGUtcS1jaXRlXG4gKi9cbi8qKlxuICogSW5saW5lIHF1b3Rlcy5cbiAqL1xucSB7XG4gIHF1b3RlczogXCLigJhcIiBcIuKAmVwiIFwi4oCcXCIgXCLigJ1cIjtcbn1cblxucTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxOFwiO1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuXG5xOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDIwMTlcIjtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbnEgcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxQ1wiO1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuXG5xIHE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjAxRFwiO1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbn1cblxuYmxvY2txdW90ZSB7XG4gIHF1b3RlczogXCLigJxcIiBcIuKAnVwiO1xufVxuXG5ibG9ja3F1b3RlIHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJxcIjtcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbn1cblxuYmxvY2txdW90ZSBwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgY29udGVudDogbm8tY2xvc2UtcXVvdGU7XG59XG5cbmJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKAnVwiO1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbn1cblxuYmxvY2txdW90ZSBxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE4XCI7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG59XG5cbmJsb2NrcXVvdGUgcTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE5XCI7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xufVxuXG4vKipcbiAqXG4gICA8YmxvY2txdW90ZT5cbiAgICAgICA8cD5JbnNhbml0eTogZG9pbmcgdGhlIHNhbWUgdGhpbmcgb3ZlciBhbmQgb3ZlciBhZ2FpbiBhbmQgZXhwZWN0aW5nXG4gICAgICAgZGlmZmVyZW50IHJlc3VsdHMuPC9wPlxuICAgICAgIDxiIGNsYXNzPXNvdXJjZT5BbGJlcnQgRWluc3RlaW48L2I+XG4gICA8L2Jsb2NrcXVvdGU+XG4gKlxuICovXG5ibG9ja3F1b3RlIHtcbiAgLyoqXG4gICAgICogLjRlbSBpcyByb3VnaGx5IGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgb3BlbmluZyDigJwgdGhhdCB3ZSB3aXNoIHRvIGhhbmcuXG4gICAgICovXG4gIHRleHQtaW5kZW50OiAtMC40MWVtO1xufVxuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNvdXJjZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWluZGVudDogMDtcbn1cblxuLnNvdXJjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxNFwiO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDT0RFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBVc2UgYW4gZXhwbGljaXQgZm9udCBzdGFjayB0byBlbnN1cmUgYnJvd3NlcnMgcmVuZGVyIGNvcnJlY3QgYGxpbmUtaGVpZ2h0YC5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbnByZSBtYXJrIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgY29tbWVudHMgdG8geW91ciBjb2RlIGV4YW1wbGVzLCBlLmcuOlxuICpcbiAgIDxjb2RlPiZsdDsvZGl2Jmd0OzxzcGFuIGNsYXNzPWNvZGUtY29tbWVudD4mbHQ7IS0tIC93cmFwcGVyIC0tJmd0Ozwvc3Bhbj48L2NvZGU+XG4gKlxuICovXG4uY29kZS1jb21tZW50IHtcbiAgLyoqXG4gICAgICogT3ZlcnJpZGUgdGhpcyBzZXR0aW5nIGluIHlvdXIgdGhlbWUgc3R5bGVzaGVldFxuICAgICAqL1xuICBvcGFjaXR5OiAwLjc1O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzUpO1xufVxuXG4vKipcbiAqIFlvdSBjYW4gYWRkIGxpbmUgbnVtYmVycyB0byB5b3VyIGNvZGUgZXhhbXBsZXMgYnV0IGJlIHdhcm5lZCwgaXQgcmVxdWlyZXNcbiAqIHNvbWUgcHJldHR5IGZ1bmt5IGxvb2tpbmcgbWFya3VwLCBlLmcuOlxuICpcbiAgIDxvbCBjbGFzcz1saW5lLW51bWJlcnM+XG4gICAgICAgPGxpPjxjb2RlPi5uYXZ7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICBsaXN0LXN0eWxlOm5vbmU7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICBtYXJnaW4tbGVmdDowOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT59PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAubmF2ID4gbGksPC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgLm5hdiA+IGxpID4gYXs8L2NvZGU+PC9saT5cbiAgICAgICA8bGk+PGNvZGU+ICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgICAgKmRpc3BsYXk6aW5saW5lLWJsb2NrOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgICAgICAgICB6b29tOjE7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgfTwvY29kZT48L2xpPlxuICAgPC9vbD5cbiAqXG4gKiAxLiBNYWtlIHRoZSBsaXN0IGxvb2sgbGlrZSBjb2RlLlxuICogMi4gR2l2ZSB0aGUgbGlzdCBmbHVzaCBudW1iZXJzIHdpdGggYSBsZWFkaW5nIHplcm8uXG4gKiAzLiBNYWtlIHN1cmUgbGluZXMgb2YgY29kZSBkb27igJl0IHdyYXAuXG4gKiA0LiBHaXZlIHRoZSBjb2RlIGZvcm0gYnkgZm9yY2luZyB0aGUgYGNvZGVgIHRvIGhvbm91ciB3aGl0ZS1zcGFjZS5cbiAqL1xuLmxpbmUtbnVtYmVycyB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAvKiBbMV0gKi9cbiAgbGlzdC1zdHlsZTogZGVjaW1hbC1sZWFkaW5nLXplcm8gaW5zaWRlO1xuICAvKiBbMl0gKi9cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogWzNdICovXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiBbM10gKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5saW5lLW51bWJlcnMgY29kZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIC8qIFs0XSAqL1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRJTUFHRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy95TXR1clxuICovXG4vKipcbiAqIEZsdWlkIGltYWdlcy5cbiAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIE5vbi1mbHVpZCBpbWFnZXMgaWYgeW91IHNwZWNpZnkgYHdpZHRoYCBhbmQvb3IgYGhlaWdodGAgYXR0cmlidXRlcy5cbiAqL1xuaW1nW3dpZHRoXSxcbmltZ1toZWlnaHRdIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vKipcbiAqIFJvdW5kZWQgaW1hZ2VzLlxuICovXG4uaW1nLS1yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyoqXG4gKiBJbWFnZSBwbGFjZW1lbnQgdmFyaWF0aW9ucy5cbiAqL1xuLmltZy0tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xufVxuXG4uaW1nLS1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLmltZy0tY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qKlxuICogS2VlcCB5b3VyIGltYWdlcyBvbiB5b3VyIGJhc2VsaW5lLlxuICpcbiAqIFBsZWFzZSBub3RlLCB0aGVzZSB3aWxsIG5vdCB3b3JrIHRvbyBuaWNlbHkgd2l0aCBmbHVpZCBpbWFnZXMgYW5kIHdpbGxcbiAqIGRpc3RvcnQgd2hlbiByZXNpemVkIGJlbG93IGEgY2VydGFpbiB3aWR0aC4gVXNlIHdpdGggY2F1dGlvbi5cbiAqL1xuLmltZy0tc2hvcnQge1xuICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4uaW1nLS1tZWRpdW0ge1xuICBoZWlnaHQ6IDI0MHB4O1xufVxuXG4uaW1nLS10YWxsIHtcbiAgaGVpZ2h0OiAzNjBweDtcbn1cblxuLyoqXG4gKiBJbWFnZXMgaW4gYGZpZ3VyZWAgZWxlbWVudHMuXG4gKi9cbmZpZ3VyZSA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRMSVNUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUmVtb3ZlIHZlcnRpY2FsIHNwYWNpbmcgZnJvbSBuZXN0ZWQgbGlzdHMuXG4gKi9cbmxpID4gdWwsXG5saSA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gKiBIYXZlIGEgbnVtYmVyZWQgYHVsYCB3aXRob3V0IHRoZSBzZW1hbnRpY3MgaW1wbGllZCBieSB1c2luZyBhbiBgb2xgLlxuICovXG4vKnVsKi9cbi5udW1iZXJlZC1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRUQUJMRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFdlIGhhdmUgYSBsb3QgYXQgb3VyIGRpc3Bvc2FsIGZvciBtYWtpbmcgdmVyeSBjb21wbGV4IHRhYmxlIGNvbnN0cnVjdHMsIGUuZy46XG4gKlxuICAgPHRhYmxlIGNsYXNzPVwidGFibGUtLWJvcmRlcmVkICB0YWJsZS0tc3RyaXBlZCAgdGFibGUtLWRhdGFcIj5cbiAgICAgICA8Y29sZ3JvdXA+XG4gICAgICAgICAgIDxjb2wgY2xhc3M9dDEwPlxuICAgICAgICAgICA8Y29sIGNsYXNzPXQxMD5cbiAgICAgICAgICAgPGNvbCBjbGFzcz10MTA+XG4gICAgICAgICAgIDxjb2w+XG4gICAgICAgPC9jb2xncm91cD5cbiAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0aCBjb2xzcGFuPTM+Rm9vPC90aD5cbiAgICAgICAgICAgICAgIDx0aD5CYXI8L3RoPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGg+TG9yZW08L3RoPlxuICAgICAgICAgICAgICAgPHRoPklwc3VtPC90aD5cbiAgICAgICAgICAgICAgIDx0aCBjbGFzcz1udW1lcmljYWw+RG9sb3I8L3RoPlxuICAgICAgICAgICAgICAgPHRoPlNpdDwvdGg+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgPC90aGVhZD5cbiAgICAgICA8dGJvZHk+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0aCByb3dzcGFuPTM+U2l0PC90aD5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjAzLjc4ODwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgICAgICAgICAgPHRkIGNsYXNzPW51bWVyaWNhbD4zMi4yMTA8L3RkPlxuICAgICAgICAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1udW1lcmljYWw+NDcuNzk3PC90ZD5cbiAgICAgICAgICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0aCByb3dzcGFuPTI+U2l0PC90aD5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjA5LjY0MDwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgICAgICAgICAgPHRkIGNsYXNzPW51bWVyaWNhbD4xMi4xMTc8L3RkPlxuICAgICAgICAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICA8L3Rib2R5PlxuICAgPC90YWJsZT5cbiAqXG4gKi9cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnRoLFxudGQge1xuICBwYWRkaW5nOiA2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogMTJweDtcbiAgfVxufVxuXG4vKipcbiAqIENlbGwgYWxpZ25tZW50c1xuICovXG5bY29sc3Bhbl0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbltjb2xzcGFuPVwiMVwiXSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbltyb3dzcGFuXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbltyb3dzcGFuPVwiMVwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5udW1lcmljYWwge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyoqXG4gKiBJbiB0aGUgSFRNTCBhYm92ZSB3ZSBzZWUgc2V2ZXJhbCBgY29sYCBlbGVtZW50cyB3aXRoIGNsYXNzZXMgd2hvc2UgbnVtYmVyc1xuICogcmVwcmVzZW50IGEgcGVyY2VudGFnZSB3aWR0aCBmb3IgdGhhdCBjb2x1bW4uIFdlIGxlYXZlIG9uZSBjb2x1bW4gZnJlZSBvZiBhXG4gKiBjbGFzcyBzbyB0aGF0IGNvbHVtbiBjYW4gc29hayB1cCB0aGUgZWZmZWN0cyBvZiBhbnkgYWNjaWRlbnRhbCBicmVha2FnZSBpblxuICogdGhlIHRhYmxlLlxuICovXG4udDUge1xuICB3aWR0aDogNSU7XG59XG5cbi50MTAge1xuICB3aWR0aDogMTAlO1xufVxuXG4udDEyIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG4vKiAxLzggKi9cbi50MTUge1xuICB3aWR0aDogMTUlO1xufVxuXG4udDIwIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnQyNSB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi8qIDEvNCAqL1xuLnQzMCB7XG4gIHdpZHRoOiAzMCU7XG59XG5cbi50MzMge1xuICB3aWR0aDogMzMuMzMzJTtcbn1cblxuLyogMS8zICovXG4udDM1IHtcbiAgd2lkdGg6IDM1JTtcbn1cblxuLnQzNyB7XG4gIHdpZHRoOiAzNy41JTtcbn1cblxuLyogMy84ICovXG4udDQwIHtcbiAgd2lkdGg6IDQwJTtcbn1cblxuLnQ0NSB7XG4gIHdpZHRoOiA0NSU7XG59XG5cbi50NTAge1xuICB3aWR0aDogNTAlO1xufVxuXG4vKiAxLzIgKi9cbi50NTUge1xuICB3aWR0aDogNTUlO1xufVxuXG4udDYwIHtcbiAgd2lkdGg6IDYwJTtcbn1cblxuLnQ2MiB7XG4gIHdpZHRoOiA2Mi41JTtcbn1cblxuLyogNS84ICovXG4udDY1IHtcbiAgd2lkdGg6IDY1JTtcbn1cblxuLnQ2NiB7XG4gIHdpZHRoOiA2Ni42NjYlO1xufVxuXG4vKiAyLzMgKi9cbi50NzAge1xuICB3aWR0aDogNzAlO1xufVxuXG4udDc1IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLyogMy80Ki9cbi50ODAge1xuICB3aWR0aDogODAlO1xufVxuXG4udDg1IHtcbiAgd2lkdGg6IDg1JTtcbn1cblxuLnQ4NyB7XG4gIHdpZHRoOiA4Ny41JTtcbn1cblxuLyogNy84ICovXG4udDkwIHtcbiAgd2lkdGg6IDkwJTtcbn1cblxuLnQ5NSB7XG4gIHdpZHRoOiA5NSU7XG59XG5cbi8qKlxuICogQm9yZGVyZWQgdGFibGVzXG4gKi9cbi50YWJsZS0tYm9yZGVyZWQgdGgsXG4udGFibGUtLWJvcmRlcmVkIHRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbn1cblxuLnRhYmxlLS1ib3JkZXJlZCB0aDplbXB0eSxcbi50YWJsZS0tYm9yZGVyZWQgdGQ6ZW1wdHkge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi50YWJsZS0tYm9yZGVyZWQgdGhlYWQgdHI6bGFzdC1jaGlsZCB0aCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbn1cblxuLnRhYmxlLS1ib3JkZXJlZCB0Ym9keSB0ciB0aDpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbn1cblxuLyoqXG4gKiBTdHJpcGVkIHRhYmxlc1xuICovXG4udGFibGUtLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmM7XG4gIC8qIE92ZXJyaWRlIHRoaXMgY29sb3IgaW4geW91ciB0aGVtZSBzdHlsZXNoZWV0ICovXG59XG5cbi8qKlxuICogRGF0YSB0YWJsZVxuICovXG4udGFibGUtLWRhdGEge1xuICBmb250OiAxMnB4LzEuNSBzYW5zLXNlcmlmO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRGT1JNU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICpcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy9NaEhIVVxuICpcbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4vKipcbiAqIFRleHQgaW5wdXRzXG4gKlxuICogSW5zdGVhZCBvZiBhIGBbdHlwZV1gIHNlbGVjdG9yIGZvciBlYWNoIGtpbmQgb2YgZm9ybSBpbnB1dCwgd2UganVzdCB1c2UgYVxuICogY2xhc3MgdG8gdGFyZ2V0IGFueS9ldmVyeSBvbmUsIGUuZy46XG4gICA8aW5wdXQgdHlwZT10ZXh0IGNsYXNzPXRleHQtaW5wdXQ+XG4gICA8aW5wdXQgdHlwZT1lbWFpbCBjbGFzcz10ZXh0LWlucHV0PlxuICAgPGlucHV0IHR5cGU9cGFzc3dvcmQgY2xhc3M9dGV4dC1pbnB1dD5cbiAqXG4gKi9cbi50ZXh0LWlucHV0LFxudGV4dGFyZWEge1xuICAvKipcbiAgICAgKiBTdHlsZSB0aGVzZSB2aWEgeW91ciB0aGVtZSBzdHlsZXNoZWV0LlxuICAgICAqL1xufVxuXG4vKipcbiAqIEdyb3VwIHNldHMgb2YgZm9ybSBmaWVsZHMgaW4gYSBsaXN0LCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1mb3JtLWZpZWxkcz5cbiAgICAgICA8bGk+XG4gICAgICAgICAgIDxsYWJlbCAvPlxuICAgICAgICAgICA8aW5wdXQgLz5cbiAgICAgICA8L2xpPlxuICAgICAgIDxsaT5cbiAgICAgICAgICAgPGxhYmVsIC8+XG4gICAgICAgICAgIDxzZWxlY3QgLz5cbiAgICAgICA8L2xpPlxuICAgICAgIDxsaT5cbiAgICAgICAgICAgPGxhYmVsIC8+XG4gICAgICAgICAgIDxpbnB1dCAvPlxuICAgICAgIDwvbGk+XG4gICA8L3VsPlxuICpcbiAqL1xuLmZvcm0tZmllbGRzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZm9ybS1maWVsZHMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gKiBMYWJlbHNcbiAqXG4gKiBEZWZpbmUgYSBgLmxhYmVsYCBjbGFzcyBhcyB3ZWxsIGFzIGEgYGxhYmVsYCBlbGVtZW50LiBUaGlzIG1lYW5zIHdlIGNhbiBhcHBseVxuICogbGFiZWwtbGlrZSBzdHlsaW5nIHRvIG1ldGEtbGFiZWxzIGZvciBncm91cHMgb2Ygb3B0aW9ucyB3aGVyZSBhIGBsYWJlbGBcbiAqIGVsZW1lbnQgaXMgbm90IHN1aXRhYmxlLCBlLmcuOlxuICpcbiAgIDxsaT5cbiAgICAgICA8c3BhbiBjbGFzcz1sYWJlbD5TZWxlY3QgYW4gb3B0aW9uIGJlbG93Ojwvc3Bhbj5cbiAgICAgICA8dWwgY2xhc3M9XCJtdWx0aS1saXN0ICBmb3VyLWNvbHNcIj5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgIDwvdWw+XG4gICA8L2xpPlxuICpcbiAqL1xubGFiZWwsXG4ubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gICAgICogRXh0cmEgaGVscCB0ZXh0IGluIGBsYWJlbGBzLCBlLmcuOlxuICAgICAqXG4gICAgICAgPGxhYmVsPkNhcmQgbnVtYmVyIDxzbWFsbCBjbGFzcz1hZGRpdGlvbmFsPk5vIHNwYWNlczwvc21hbGw+PC9sYWJlbD5cbiAgICAgKlxuICAgICAqL1xuLmFkZGl0aW9uYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIEdyb3VwcyBvZiBjaGVja2JveGVzIGFuZCByYWRpb3MsIGUuZy46XG4gKlxuICAgPGxpPlxuICAgICAgIDx1bCBjbGFzcz1jaGVjay1saXN0PlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICA8L3VsPlxuICAgPC9saT5cbiAqXG4gKi9cbi5jaGVjay1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICAgICAqIExhYmVscyBpbiBjaGVjay1saXN0c1xuICAgICAqL1xuLmNoZWNrLWxhYmVsLFxuLmNoZWNrLWxpc3QgbGFiZWwsXG4uY2hlY2stbGlzdCAubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogU3Bva2VuIGZvcm1zIGFyZSBmb3IgZm9ybXMgdGhhdCByZWFkIGxpa2Ugc3Bva2VuIHdvcmQsIGUuZy46XG4gKlxuICAgPGxpIGNsYXNzPXNwb2tlbi1mb3JtPlxuICAgICAgIEhlbGxvLCBteSA8bGFiZWwgZm9yPXNwb2tlbi1uYW1lPm5hbWU8L2xhYmVsPiBpc1xuICAgICAgIDxpbnB1dCB0eXBlPXRleHQgY2xhc3M9dGV4dC1pbnB1dCBpZD1zcG9rZW4tbmFtZT4uIE15IGhvbWVcbiAgICAgICA8bGFiZWwgZm9yPWNvdW50cnk+Y291bnRyeTwvbGFiZWw+IGlzXG4gICAgICAgPHNlbGVjdCBpZD1jb3VudHJ5PlxuICAgICAgICAgICA8b3B0aW9uPlVLPC9vcHRpb24+XG4gICAgICAgICAgIDxvcHRpb24+VVM8L29wdGlvbj5cbiAgICAgICAgICAgPG9wdGlvbj5PdGhlcjwvb3B0aW9uPlxuICAgICAgIDwvc2VsZWN0PlxuICAgPC9saT5cbiAqXG4gKi9cbi5zcG9rZW4tZm9ybSBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBFeHRyYSBoZWxwIHRleHQgZGlzcGxheWVkIGFmdGVyIGEgZmllbGQgd2hlbiB0aGF0IGZpZWxkIGlzIGluIGZvY3VzLCBlLmcuOlxuICpcbiAgIDxsYWJlbCBmb3I9ZW1haWw+RW1haWw6PC9sYWJlbD5cbiAgIDxpbnB1dCB0eXBlPWVtYWlsIGNsYXNzPXRleHQtaW5wdXQgaWQ9ZW1haWw+XG4gICA8c21hbGwgY2xhc3M9ZXh0cmEtaGVscD4uZWR1IGVtYWlscyBvbmx5PC9zbWFsbD5cbiAqXG4gKiBXZSBsZWF2ZSB0aGUgaGVscCB0ZXh0IGluIHRoZSBkb2N1bWVudCBmbG93IGFuZCBtZXJlbHkgc2V0IGl0IHRvXG4gKiBgdmlzaWJpbGl0eTpoaWRkZW47YC4gVGhpcyBtZWFucyB0aGF0IGl0IHdvbuKAmXQgaW50ZXJmZXJlIHdpdGggYW55dGhpbmcgb25jZVxuICogaXQgcmVhcHBlYXJzLlxuICpcbiAqL1xuLypzbWFsbCovXG4uZXh0cmEtaGVscCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udGV4dC1pbnB1dDphY3RpdmUgKyAuZXh0cmEtaGVscCxcbi50ZXh0LWlucHV0OmZvY3VzICsgLmV4dHJhLWhlbHAge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIE9iamVjdHMgYW5kIGFic3RyYWN0aW9uc1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRHUklEU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRmx1aWQgYW5kIG5lc3RhYmxlIGdyaWQgc3lzdGVtLCBlLmcuOlxuICpcbiAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XG5cbiAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXRoaXJkXCI+XG4gICAgICAgICAgIDxwPk9uZSB0aGlyZCBncmlkPC9wPlxuICAgICAgIDwvZGl2PjwhLS1cblxuICAgIC0tPjxkaXYgY2xhc3M9XCJncmlkX19pdGVtICB0d28tdGhpcmRzXCI+XG4gICAgICAgICAgIDxwPlR3byB0aGlyZHMgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLWhhbGZcIj5cbiAgICAgICAgICAgPHA+T25lIGhhbGYgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXF1YXJ0ZXJcIj5cbiAgICAgICAgICAgPHA+T25lIHF1YXJ0ZXIgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXF1YXJ0ZXJcIj5cbiAgICAgICAgICAgPHA+T25lIHF1YXJ0ZXIgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj5cblxuICAgPC9kaXY+XG4gKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL0NMWVVDXG4gKlxuICovXG4vKipcbiAqIEdyaWQgd3JhcHBlclxuICovXG4uZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gICAgICogVmVyeSBpbmZyZXF1ZW50bHkgb2NjdXJpbmcgZ3JpZCB3cmFwcGVycyBhcyBjaGlsZHJlbiBvZiBncmlkIHdyYXBwZXJzLlxuICAgICAqL1xuLmdyaWQgPiAuZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKipcbiAgICAgKiBHcmlkXG4gICAgICovXG4uZ3JpZF9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTkFWXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBOYXYgYWJzdHJhY3Rpb24gYXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMS8wOS90aGUtbmF2LWFic3RyYWN0aW9uXG4gKiBXaGVuIHVzZWQgb24gYW4gYG9sYCBvciBgdWxgLCB0aGlzIGNsYXNzIHRocm93cyB0aGUgbGlzdCBpbnRvIGhvcml6b250YWwgbW9kZVxuICogZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9bmF2PlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvVm5waDRcbiAqXG4gKi9cbi5uYXYge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm5hdiA+IGxpLFxuLm5hdiA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgKmRpc3BsYXk6IGlubGluZTtcbiAgem9vbTogMTtcbn1cblxuLyoqXG4gKiBgLm5hdi0tc3RhY2tlZGAgZXh0ZW5kcyBgLm5hdmAgYW5kIHRocm93cyB0aGUgbGlzdCBpbnRvIHZlcnRpY2FsIG1vZGUsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLXN0YWNrZWRcIj5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkhvbWU8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkFib3V0PC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Qb3J0Zm9saW88L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkNvbnRhY3Q8L2E+PC9saT5cbiAgIDwvdWw+XG4gKlxuICovXG4ubmF2LS1zdGFja2VkID4gbGkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi5uYXYtLXN0YWNrZWQgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBgLm5hdi0tYmFubmVyYCBleHRlbmRzIGAubmF2YCBhbmQgY2VudHJlcyB0aGUgbGlzdCwgZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9XCJuYXYgIG5hdi0tYmFubmVyXCI+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Ib21lPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5BYm91dDwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+UG9ydGZvbGlvPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Db250YWN0PC9hPjwvbGk+XG4gICA8L3VsPlxuICpcbiAqL1xuLm5hdi0tYmFubmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqIEdpdmUgbmF2IGxpbmtzIGEgYmlnLCBibG9ja3kgaGl0IGFyZWEuIEV4dGVuZHMgYC5uYXZgLCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1cIm5hdiAgbmF2LS1ibG9ja1wiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLWJsb2NrIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qKlxuICAgICAqIFJlbW92ZSB3aGl0ZXNwYWNlIGNhdXNlZCBieSBgaW5saW5lLWJsb2NrYC5cbiAgICAgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjMxZW07XG4gIHdvcmQtc3BhY2luZzogLTAuNDNlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm5hdi0tYmxvY2sgPiBsaSB7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xufVxuXG4ubmF2LS1ibG9jayA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDEycHg7XG59XG5cbi8qKlxuICogRm9yY2UgYSBuYXYgdG8gb2NjdXB5IDEwMCUgb2YgdGhlIGF2YWlsYWJsZSB3aWR0aCBvZiBpdHMgcGFyZW50LiBFeHRlbmRzXG4gKiBgLm5hdmAsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWZpdFwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKiBUaGFua3MgdG8gQHBpbXBsIGZvciB0aGlzIGlkZWEhXG4gKi9cbi5uYXYtLWZpdCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm5hdi0tZml0ID4gbGkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4ubmF2LS1maXQgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBNYWtlIGEgbGlzdCBvZiBrZXl3b3Jkcy4gRXh0ZW5kcyBgLm5hdmAsIGUuZy46XG4gKlxuICAgYDx1bCBjbGFzcz1cIm5hdiAgbmF2LS1rZXl3b3Jkcz5gXG4gKlxuICovXG4ubmF2LS1rZXl3b3JkcyA+IGxpOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMkNcIiBcIlxcMDBBMFwiO1xufVxuXG4ubmF2LS1rZXl3b3JkcyA+IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRNRURJQVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUGxhY2UgYW55IGltYWdlLSBhbmQgdGV4dC1saWtlIGNvbnRlbnQgc2lkZS1ieS1zaWRlLCBhcyBwZXI6XG4gKiBzdHViYm9ybmVsbGEub3JnL2NvbnRlbnQvMjAxMC8wNi8yNS90aGUtbWVkaWEtb2JqZWN0LXNhdmVzLWh1bmRyZWRzLW9mLWxpbmVzLW9mLWNvZGVcbiAqIEUuZy46XG4gKlxuICAgPGRpdiBjbGFzcz1tZWRpYT5cbiAgICAgICA8aW1nIHNyYz1odHRwOi8vcGxhY2VraXR0ZW4uY29tLzIwMC8zMDAgYWx0PVwiXCIgY2xhc3M9bWVkaWFfX2ltZz5cbiAgICAgICA8cCBjbGFzcz1tZWRpYV9fYm9keT5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCxcbiAgICAgICBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS48L3A+XG4gICA8L2Rpdj5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvY2Y0UXNcbiAqXG4gKi9cbi5tZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVkaWFfX2ltZyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG59XG5cbi8qKlxuICAgICAqIFJldmVyc2VkIGltYWdlIGxvY2F0aW9uIChyaWdodCBpbnN0ZWFkIG9mIGxlZnQpLlxuICAgICAqL1xuLm1lZGlhX19pbWctLXJldiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG59XG5cbi5tZWRpYV9faW1nIGltZyxcbi5tZWRpYV9faW1nLS1yZXYgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZWRpYV9fYm9keSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZWRpYV9fYm9keSxcbi5tZWRpYV9fYm9keSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gICAgICogYC5pbWdgcyBpbiBgLmlzbGV0YHMgbmVlZCBhbiBhcHByb3ByaWF0ZWx5IHNpemVkIG1hcmdpbi5cbiAgICAgKi9cbi5pc2xldCAubWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLmlzbGV0IC5tZWRpYV9faW1nLS1yZXYge1xuICBtYXJnaW4tbGVmdDogMTJweDtcbn1cblxuLyoqXG4gKiBTdHlsZSB0cnVtcHM7IGhlbHBlciBhbmQgYnJhbmQgY2xhc3Nlc1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRXSURUSFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdC4gVGhlc2UgYXJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBvdGhlclxuICogb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGZvdW5kIGluIGludWl0LmNzcywgbW9zdCBjb21tb25seSB0aGUgZ3JpZCBzeXN0ZW1cbiAqIGFuZCBmYXV4IGZsZXhib3guXG4gKlxuICogV2UgaGF2ZSBhIG1peGluIHRvIGdlbmVyYXRlIG91ciB3aWR0aHMgYW5kIHRoZWlyIGJyZWFrcG9pbnQtc3BlY2lmaWNcbiAqIHZhcmlhdGlvbnMuXG4gKi9cbi8qKlxuICAgICogV2hvbGVcbiAgICAqL1xuLm9uZS13aG9sZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAgICAqIEhhbHZlc1xuICAgICovXG4ub25lLWhhbGYsIC50d28tcXVhcnRlcnMsIC50aHJlZS1zaXh0aHMsIC5mb3VyLWVpZ2h0aHMsIC5maXZlLXRlbnRocywgLnNpeC10d2VsZnRocyB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi8qKlxuICAgICogVGhpcmRzXG4gICAgKi9cbi5vbmUtdGhpcmQsIC50d28tc2l4dGhzLCAuZm91ci10d2VsZnRocyB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuXG4udHdvLXRoaXJkcywgLmZvdXItc2l4dGhzLCAuZWlnaHQtdHdlbGZ0aHMge1xuICB3aWR0aDogNjYuNjY2JTtcbn1cblxuLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4ub25lLXF1YXJ0ZXIsIC50d28tZWlnaHRocywgLnRocmVlLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnRocmVlLXF1YXJ0ZXJzLCAuc2l4LWVpZ2h0aHMsIC5uaW5lLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLyoqXG4gICAgKiBGaWZ0aHNcbiAgICAqL1xuLm9uZS1maWZ0aCwgLnR3by10ZW50aHMge1xuICB3aWR0aDogMjAlO1xufVxuXG4udHdvLWZpZnRocywgLmZvdXItdGVudGhzIHtcbiAgd2lkdGg6IDQwJTtcbn1cblxuLnRocmVlLWZpZnRocywgLnNpeC10ZW50aHMge1xuICB3aWR0aDogNjAlO1xufVxuXG4uZm91ci1maWZ0aHMsIC5laWdodC10ZW50aHMge1xuICB3aWR0aDogODAlO1xufVxuXG4vKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4ub25lLXNpeHRoLCAudHdvLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDE2LjY2NiU7XG59XG5cbi5maXZlLXNpeHRocywgLnRlbi10d2VsZnRocyB7XG4gIHdpZHRoOiA4My4zMzMlO1xufVxuXG4vKipcbiAgICAqIEVpZ2h0aHNcbiAgICAqL1xuLm9uZS1laWdodGgge1xuICB3aWR0aDogMTIuNSU7XG59XG5cbi50aHJlZS1laWdodGhzIHtcbiAgd2lkdGg6IDM3LjUlO1xufVxuXG4uZml2ZS1laWdodGhzIHtcbiAgd2lkdGg6IDYyLjUlO1xufVxuXG4uc2V2ZW4tZWlnaHRocyB7XG4gIHdpZHRoOiA4Ny41JTtcbn1cblxuLyoqXG4gICAgKiBUZW50aHNcbiAgICAqL1xuLm9uZS10ZW50aCB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi50aHJlZS10ZW50aHMge1xuICB3aWR0aDogMzAlO1xufVxuXG4uc2V2ZW4tdGVudGhzIHtcbiAgd2lkdGg6IDcwJTtcbn1cblxuLm5pbmUtdGVudGhzIHtcbiAgd2lkdGg6IDkwJTtcbn1cblxuLyoqXG4gICAgKiBUd2VsZnRoc1xuICAgICovXG4ub25lLXR3ZWxmdGgge1xuICB3aWR0aDogOC4zMzMlO1xufVxuXG4uZml2ZS10d2VsZnRocyB7XG4gIHdpZHRoOiA0MS42NjYlO1xufVxuXG4uc2V2ZW4tdHdlbGZ0aHMge1xuICB3aWR0aDogNTguMzMzJTtcbn1cblxuLmVsZXZlbi10d2VsZnRocyB7XG4gIHdpZHRoOiA5MS42NjYlO1xufVxuXG4vKipcbiAqIElmIHlvdSBoYXZlIHNldCBgJHJlc3BvbnNpdmVgIHRvIOKAmHRydWXigJkgaW4gYF92YXJzLnNjc3NgIHRoZW4geW91IG5vdyBoYXZlXG4gKiBhY2Nlc3MgdG8gdGhlc2UgY2xhc3Nlcy4gWW91IGNhbiBkZWZpbmUgYXQgd2hpY2ggYnJlYWtwb2ludCB5b3XigJlkIGxpa2UgYW5cbiAqIGVsZW1lbnQgdG8gYmUgYSBjZXJ0YWluIHNpemUsIGUuZy46XG4gKlxuICogYDxkaXYgY2xhc3M9XCJnICBvbmUtcXVhcnRlciAgbGFwLW9uZS1oYWxmICBwYWxtLW9uZS13aG9sZVwiPiAuLi4gPC9kaXY+YFxuICpcbiAqIFRoaXMgd291bGQgY3JlYXRlIGEgYGRpdmAgdGhhdCwgYXQg4oCYZGVza3RvcOKAmSBzaXplcywgdGFrZXMgdXAgYSBxdWFydGVyIG9mIHRoZVxuICogaG9yaXpvbnRhbCBzcGFjZSwgYSBoYWxmIG9mIHRoYXQgc3BhY2UgYXQg4oCYdGFibGV04oCZIHNpemVzLCBhbmQgZ29lcyBmdWxsIHdpZHRoXG4gKiBhdCDigJhtb2JpbGXigJkgc2l6ZXMuXG4gKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL1dTNEdlXG4gKlxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC8qKlxuICAgICogV2hvbGVcbiAgICAqL1xuICAucGFsbS1vbmUtd2hvbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC8qKlxuICAgICogSGFsdmVzXG4gICAgKi9cbiAgLnBhbG0tb25lLWhhbGYsIC5wYWxtLXR3by1xdWFydGVycywgLnBhbG0tdGhyZWUtc2l4dGhzLCAucGFsbS1mb3VyLWVpZ2h0aHMsIC5wYWxtLWZpdmUtdGVudGhzLCAucGFsbS1zaXgtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUaGlyZHNcbiAgICAqL1xuICAucGFsbS1vbmUtdGhpcmQsIC5wYWxtLXR3by1zaXh0aHMsIC5wYWxtLWZvdXItdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICB9XG4gIC5wYWxtLXR3by10aGlyZHMsIC5wYWxtLWZvdXItc2l4dGhzLCAucGFsbS1laWdodC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gIH1cbiAgLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4gIC5wYWxtLW9uZS1xdWFydGVyLCAucGFsbS10d28tZWlnaHRocywgLnBhbG0tdGhyZWUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnBhbG0tdGhyZWUtcXVhcnRlcnMsIC5wYWxtLXNpeC1laWdodGhzLCAucGFsbS1uaW5lLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC8qKlxuICAgICogRmlmdGhzXG4gICAgKi9cbiAgLnBhbG0tb25lLWZpZnRoLCAucGFsbS10d28tdGVudGhzIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5wYWxtLXR3by1maWZ0aHMsIC5wYWxtLWZvdXItdGVudGhzIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC5wYWxtLXRocmVlLWZpZnRocywgLnBhbG0tc2l4LXRlbnRocyB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAucGFsbS1mb3VyLWZpZnRocywgLnBhbG0tZWlnaHQtdGVudGhzIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qKlxuICAgICogU2l4dGhzXG4gICAgKi9cbiAgLnBhbG0tb25lLXNpeHRoLCAucGFsbS10d28tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAxNi42NjYlO1xuICB9XG4gIC5wYWxtLWZpdmUtc2l4dGhzLCAucGFsbS10ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA4My4zMzMlO1xuICB9XG4gIC8qKlxuICAgICogRWlnaHRoc1xuICAgICovXG4gIC5wYWxtLW9uZS1laWdodGgge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAucGFsbS10aHJlZS1laWdodGhzIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbiAgLnBhbG0tZml2ZS1laWdodGhzIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gIH1cbiAgLnBhbG0tc2V2ZW4tZWlnaHRocyB7XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG4gIC8qKlxuICAgICogVGVudGhzXG4gICAgKi9cbiAgLnBhbG0tb25lLXRlbnRoIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4gIC5wYWxtLXRocmVlLXRlbnRocyB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAucGFsbS1zZXZlbi10ZW50aHMge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgLnBhbG0tbmluZS10ZW50aHMge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUd2VsZnRoc1xuICAgICovXG4gIC5wYWxtLW9uZS10d2VsZnRoIHtcbiAgICB3aWR0aDogOC4zMzMlO1xuICB9XG4gIC5wYWxtLWZpdmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA0MS42NjYlO1xuICB9XG4gIC5wYWxtLXNldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTguMzMzJTtcbiAgfVxuICAucGFsbS1lbGV2ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA5MS42NjYlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAvKipcbiAgICAqIFdob2xlXG4gICAgKi9cbiAgLmxhcC1vbmUtd2hvbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC8qKlxuICAgICogSGFsdmVzXG4gICAgKi9cbiAgLmxhcC1vbmUtaGFsZiwgLmxhcC10d28tcXVhcnRlcnMsIC5sYXAtdGhyZWUtc2l4dGhzLCAubGFwLWZvdXItZWlnaHRocywgLmxhcC1maXZlLXRlbnRocywgLmxhcC1zaXgtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUaGlyZHNcbiAgICAqL1xuICAubGFwLW9uZS10aGlyZCwgLmxhcC10d28tc2l4dGhzLCAubGFwLWZvdXItdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICB9XG4gIC5sYXAtdHdvLXRoaXJkcywgLmxhcC1mb3VyLXNpeHRocywgLmxhcC1laWdodC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gIH1cbiAgLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4gIC5sYXAtb25lLXF1YXJ0ZXIsIC5sYXAtdHdvLWVpZ2h0aHMsIC5sYXAtdGhyZWUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcC10aHJlZS1xdWFydGVycywgLmxhcC1zaXgtZWlnaHRocywgLmxhcC1uaW5lLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC8qKlxuICAgICogRmlmdGhzXG4gICAgKi9cbiAgLmxhcC1vbmUtZmlmdGgsIC5sYXAtdHdvLXRlbnRocyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFwLXR3by1maWZ0aHMsIC5sYXAtZm91ci10ZW50aHMge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbiAgLmxhcC10aHJlZS1maWZ0aHMsIC5sYXAtc2l4LXRlbnRocyB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAubGFwLWZvdXItZmlmdGhzLCAubGFwLWVpZ2h0LXRlbnRocyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4gIC5sYXAtb25lLXNpeHRoLCAubGFwLXR3by10d2VsZnRocyB7XG4gICAgd2lkdGg6IDE2LjY2NiU7XG4gIH1cbiAgLmxhcC1maXZlLXNpeHRocywgLmxhcC10ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA4My4zMzMlO1xuICB9XG4gIC8qKlxuICAgICogRWlnaHRoc1xuICAgICovXG4gIC5sYXAtb25lLWVpZ2h0aCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG4gIC5sYXAtdGhyZWUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG4gIC5sYXAtZml2ZS1laWdodGhzIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gIH1cbiAgLmxhcC1zZXZlbi1laWdodGhzIHtcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbiAgLyoqXG4gICAgKiBUZW50aHNcbiAgICAqL1xuICAubGFwLW9uZS10ZW50aCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAubGFwLXRocmVlLXRlbnRocyB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAubGFwLXNldmVuLXRlbnRocyB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICAubGFwLW5pbmUtdGVudGhzIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAubGFwLW9uZS10d2VsZnRoIHtcbiAgICB3aWR0aDogOC4zMzMlO1xuICB9XG4gIC5sYXAtZml2ZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDQxLjY2NiU7XG4gIH1cbiAgLmxhcC1zZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDU4LjMzMyU7XG4gIH1cbiAgLmxhcC1lbGV2ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA5MS42NjYlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLyoqXG4gICAgKiBXaG9sZVxuICAgICovXG4gIC5sYXAtYW5kLXVwLW9uZS13aG9sZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyoqXG4gICAgKiBIYWx2ZXNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtaGFsZiwgLmxhcC1hbmQtdXAtdHdvLXF1YXJ0ZXJzLCAubGFwLWFuZC11cC10aHJlZS1zaXh0aHMsIC5sYXAtYW5kLXVwLWZvdXItZWlnaHRocywgLmxhcC1hbmQtdXAtZml2ZS10ZW50aHMsIC5sYXAtYW5kLXVwLXNpeC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAvKipcbiAgICAqIFRoaXJkc1xuICAgICovXG4gIC5sYXAtYW5kLXVwLW9uZS10aGlyZCwgLmxhcC1hbmQtdXAtdHdvLXNpeHRocywgLmxhcC1hbmQtdXAtZm91ci10d2VsZnRocyB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdHdvLXRoaXJkcywgLmxhcC1hbmQtdXAtZm91ci1zaXh0aHMsIC5sYXAtYW5kLXVwLWVpZ2h0LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgfVxuICAvKipcbiAgICAqIFF1YXJ0ZXJzXG4gICAgKi9cbiAgLmxhcC1hbmQtdXAtb25lLXF1YXJ0ZXIsIC5sYXAtYW5kLXVwLXR3by1laWdodGhzLCAubGFwLWFuZC11cC10aHJlZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFwLWFuZC11cC10aHJlZS1xdWFydGVycywgLmxhcC1hbmQtdXAtc2l4LWVpZ2h0aHMsIC5sYXAtYW5kLXVwLW5pbmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyoqXG4gICAgKiBGaWZ0aHNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtZmlmdGgsIC5sYXAtYW5kLXVwLXR3by10ZW50aHMge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdHdvLWZpZnRocywgLmxhcC1hbmQtdXAtZm91ci10ZW50aHMge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdGhyZWUtZmlmdGhzLCAubGFwLWFuZC11cC1zaXgtdGVudGhzIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC5sYXAtYW5kLXVwLWZvdXItZmlmdGhzLCAubGFwLWFuZC11cC1laWdodC10ZW50aHMge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBTaXh0aHNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtc2l4dGgsIC5sYXAtYW5kLXVwLXR3by10d2VsZnRocyB7XG4gICAgd2lkdGg6IDE2LjY2NiU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtZml2ZS1zaXh0aHMsIC5sYXAtYW5kLXVwLXRlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDgzLjMzMyU7XG4gIH1cbiAgLyoqXG4gICAgKiBFaWdodGhzXG4gICAgKi9cbiAgLmxhcC1hbmQtdXAtb25lLWVpZ2h0aCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG4gIC5sYXAtYW5kLXVwLXRocmVlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxuICAubGFwLWFuZC11cC1maXZlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgfVxuICAubGFwLWFuZC11cC1zZXZlbi1laWdodGhzIHtcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbiAgLyoqXG4gICAgKiBUZW50aHNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtdGVudGgge1xuICAgIHdpZHRoOiAxMCU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdGhyZWUtdGVudGhzIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC5sYXAtYW5kLXVwLXNldmVuLXRlbnRocyB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICAubGFwLWFuZC11cC1uaW5lLXRlbnRocyB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuICAvKipcbiAgICAqIFR3ZWxmdGhzXG4gICAgKi9cbiAgLmxhcC1hbmQtdXAtb25lLXR3ZWxmdGgge1xuICAgIHdpZHRoOiA4LjMzMyU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtZml2ZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDQxLjY2NiU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtc2V2ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA1OC4zMzMlO1xuICB9XG4gIC5sYXAtYW5kLXVwLWVsZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDkxLjY2NiU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAvKipcbiAgICAqIFdob2xlXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS13aG9sZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyoqXG4gICAgKiBIYWx2ZXNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLWhhbGYsIC5wb3J0YWJsZS10d28tcXVhcnRlcnMsIC5wb3J0YWJsZS10aHJlZS1zaXh0aHMsIC5wb3J0YWJsZS1mb3VyLWVpZ2h0aHMsIC5wb3J0YWJsZS1maXZlLXRlbnRocywgLnBvcnRhYmxlLXNpeC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAvKipcbiAgICAqIFRoaXJkc1xuICAgICovXG4gIC5wb3J0YWJsZS1vbmUtdGhpcmQsIC5wb3J0YWJsZS10d28tc2l4dGhzLCAucG9ydGFibGUtZm91ci10d2VsZnRocyB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gIH1cbiAgLnBvcnRhYmxlLXR3by10aGlyZHMsIC5wb3J0YWJsZS1mb3VyLXNpeHRocywgLnBvcnRhYmxlLWVpZ2h0LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgfVxuICAvKipcbiAgICAqIFF1YXJ0ZXJzXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS1xdWFydGVyLCAucG9ydGFibGUtdHdvLWVpZ2h0aHMsIC5wb3J0YWJsZS10aHJlZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAucG9ydGFibGUtdGhyZWUtcXVhcnRlcnMsIC5wb3J0YWJsZS1zaXgtZWlnaHRocywgLnBvcnRhYmxlLW5pbmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyoqXG4gICAgKiBGaWZ0aHNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLWZpZnRoLCAucG9ydGFibGUtdHdvLXRlbnRocyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAucG9ydGFibGUtdHdvLWZpZnRocywgLnBvcnRhYmxlLWZvdXItdGVudGhzIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC5wb3J0YWJsZS10aHJlZS1maWZ0aHMsIC5wb3J0YWJsZS1zaXgtdGVudGhzIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC5wb3J0YWJsZS1mb3VyLWZpZnRocywgLnBvcnRhYmxlLWVpZ2h0LXRlbnRocyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4gIC5wb3J0YWJsZS1vbmUtc2l4dGgsIC5wb3J0YWJsZS10d28tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAxNi42NjYlO1xuICB9XG4gIC5wb3J0YWJsZS1maXZlLXNpeHRocywgLnBvcnRhYmxlLXRlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDgzLjMzMyU7XG4gIH1cbiAgLyoqXG4gICAgKiBFaWdodGhzXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS1laWdodGgge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAucG9ydGFibGUtdGhyZWUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG4gIC5wb3J0YWJsZS1maXZlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgfVxuICAucG9ydGFibGUtc2V2ZW4tZWlnaHRocyB7XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG4gIC8qKlxuICAgICogVGVudGhzXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS10ZW50aCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAucG9ydGFibGUtdGhyZWUtdGVudGhzIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC5wb3J0YWJsZS1zZXZlbi10ZW50aHMge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgLnBvcnRhYmxlLW5pbmUtdGVudGhzIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLXR3ZWxmdGgge1xuICAgIHdpZHRoOiA4LjMzMyU7XG4gIH1cbiAgLnBvcnRhYmxlLWZpdmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA0MS42NjYlO1xuICB9XG4gIC5wb3J0YWJsZS1zZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDU4LjMzMyU7XG4gIH1cbiAgLnBvcnRhYmxlLWVsZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDkxLjY2NiU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAvKipcbiAgICAqIFdob2xlXG4gICAgKi9cbiAgLmRlc2stb25lLXdob2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvKipcbiAgICAqIEhhbHZlc1xuICAgICovXG4gIC5kZXNrLW9uZS1oYWxmLCAuZGVzay10d28tcXVhcnRlcnMsIC5kZXNrLXRocmVlLXNpeHRocywgLmRlc2stZm91ci1laWdodGhzLCAuZGVzay1maXZlLXRlbnRocywgLmRlc2stc2l4LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qKlxuICAgICogVGhpcmRzXG4gICAgKi9cbiAgLmRlc2stb25lLXRoaXJkLCAuZGVzay10d28tc2l4dGhzLCAuZGVzay1mb3VyLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMzMuMzMzJTtcbiAgfVxuICAuZGVzay10d28tdGhpcmRzLCAuZGVzay1mb3VyLXNpeHRocywgLmRlc2stZWlnaHQtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA2Ni42NjYlO1xuICB9XG4gIC8qKlxuICAgICogUXVhcnRlcnNcbiAgICAqL1xuICAuZGVzay1vbmUtcXVhcnRlciwgLmRlc2stdHdvLWVpZ2h0aHMsIC5kZXNrLXRocmVlLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5kZXNrLXRocmVlLXF1YXJ0ZXJzLCAuZGVzay1zaXgtZWlnaHRocywgLmRlc2stbmluZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAvKipcbiAgICAqIEZpZnRoc1xuICAgICovXG4gIC5kZXNrLW9uZS1maWZ0aCwgLmRlc2stdHdvLXRlbnRocyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAuZGVzay10d28tZmlmdGhzLCAuZGVzay1mb3VyLXRlbnRocyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAuZGVzay10aHJlZS1maWZ0aHMsIC5kZXNrLXNpeC10ZW50aHMge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLmRlc2stZm91ci1maWZ0aHMsIC5kZXNrLWVpZ2h0LXRlbnRocyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4gIC5kZXNrLW9uZS1zaXh0aCwgLmRlc2stdHdvLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMTYuNjY2JTtcbiAgfVxuICAuZGVzay1maXZlLXNpeHRocywgLmRlc2stdGVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogODMuMzMzJTtcbiAgfVxuICAvKipcbiAgICAqIEVpZ2h0aHNcbiAgICAqL1xuICAuZGVzay1vbmUtZWlnaHRoIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbiAgLmRlc2stdGhyZWUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG4gIC5kZXNrLWZpdmUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICB9XG4gIC5kZXNrLXNldmVuLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA4Ny41JTtcbiAgfVxuICAvKipcbiAgICAqIFRlbnRoc1xuICAgICovXG4gIC5kZXNrLW9uZS10ZW50aCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAuZGVzay10aHJlZS10ZW50aHMge1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbiAgLmRlc2stc2V2ZW4tdGVudGhzIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG4gIC5kZXNrLW5pbmUtdGVudGhzIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAuZGVzay1vbmUtdHdlbGZ0aCB7XG4gICAgd2lkdGg6IDguMzMzJTtcbiAgfVxuICAuZGVzay1maXZlLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNDEuNjY2JTtcbiAgfVxuICAuZGVzay1zZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDU4LjMzMyU7XG4gIH1cbiAgLmRlc2stZWxldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogOTEuNjY2JTtcbiAgfVxufVxuXG4vKipcbiAqIElmIHlvdSBoYXZlIHNldCB0aGUgYWRkaXRpb25hbCBgJHJlc3BvbnNpdmUtZXh0cmFgIHZhcmlhYmxlIHRvIOKAmHRydWXigJkgaW5cbiAqIGBfdmFycy5zY3NzYCB0aGVuIHlvdSBub3cgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBjbGFzcyBhdmFpbGFibGUgdG9cbiAqIGFjY29tb2RhdGUgbXVjaCBsYXJnZXIgc2NyZWVuIHJlc29sdXRpb25zLlxuICovXG4vKiBlbmRpZiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUFVTSFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUHVzaCBjbGFzc2VzLCB0byBtb3ZlIGdyaWQgaXRlbXMgb3ZlciB0byB0aGUgcmlnaHQgYnkgY2VydGFpbiBhbW91bnRzLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRQVUxMXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQdWxsIGNsYXNzZXMsIHRvIG1vdmUgZ3JpZCBpdGVtcyBvdmVyIHRvIHRoZSByaWdodCBieSBjZXJ0YWluIGFtb3VudHMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJSQU5EXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBgLmJyYW5kYCBpcyBhIHF1aWNrIGFuZCBzaW1wbGUgd2F5IHRvIGFwcGx5IHlvdXIgYnJhbmQgZmFjZSBhbmQvb3IgY29sb3IgdG9cbiAqIGFueSBlbGVtZW50IHVzaW5nIGEgaGFuZHkgaGVscGVyIGNsYXNzLlxuICovXG4uYnJhbmQge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmIWltcG9ydGFudDtcbiAgY29sb3I6ICM0YThlYzIhaW1wb3J0YW50O1xufVxuXG4uYnJhbmQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYhaW1wb3J0YW50O1xufVxuXG4uYnJhbmQtY29sb3IsXG4uYnJhbmQtY29sb3VyIHtcbiAgY29sb3I6ICM0YThlYzIhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRIRUxQRVJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEEgc2VyaWVzIG9mIGhlbHBlciBjbGFzc2VzIHRvIHVzZSBhcmJpdHJhcmlseS4gT25seSB1c2UgYSBoZWxwZXIgY2xhc3MgaWYgYW5cbiAqIGVsZW1lbnQvY29tcG9uZW50IGRvZXNu4oCZdCBhbHJlYWR5IGhhdmUgYSBjbGFzcyB0byB3aGljaCB5b3UgY291bGQgYXBwbHkgdGhpc1xuICogc3R5bGluZywgZS5nLiBpZiB5b3UgbmVlZCB0byBmbG9hdCBgLm1haW4tbmF2YCBsZWZ0IHRoZW4gYWRkIGBmbG9hdDpsZWZ0O2AgdG9cbiAqIHRoYXQgcnVsZXNldCBhcyBvcHBvc2VkIHRvIGFkZGluZyB0aGUgYC5mbG9hdC0tbGVmdGAgY2xhc3MgdG8gdGhlIG1hcmt1cC5cbiAqXG4gKiBBIGxvdCBvZiB0aGVzZSBjbGFzc2VzIGNhcnJ5IGAhaW1wb3J0YW50YCBhcyB5b3Ugd2lsbCBhbHdheXMgd2FudCB0aGVtIHRvIHdpblxuICogb3V0IG92ZXIgb3RoZXIgc2VsZWN0b3JzLlxuICovXG4vKipcbiAqIEFkZC9yZW1vdmUgZmxvYXRzXG4gKi9cbi5mbG9hdC0tcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LS1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LS1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBUZXh0IGFsaWdubWVudFxuICovXG4udGV4dC0tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnRleHQtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBGb250IHdlaWdodHNcbiAqL1xuLndlaWdodC0tbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi53ZWlnaHQtLW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLndlaWdodC0tc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQWRkL3JlbW92ZSBtYXJnaW5zXG4gKi9cbi5wdXNoIHtcbiAgbWFyZ2luOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS10b3Age1xuICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS1lbmRzIHtcbiAgbWFyZ2luLXRvcDogMjRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS1zaWRlcyB7XG4gIG1hcmdpbi1yaWdodDogMjRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmIHtcbiAgbWFyZ2luOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLWhhbGYtLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtaGFsZi0tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtaGFsZi0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmLS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtaGFsZi0tZW5kcyB7XG4gIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmLS1zaWRlcyB7XG4gIG1hcmdpbi1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4uZmx1c2gge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmZsdXNoLS10b3Age1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbHVzaC0tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmZsdXNoLS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbHVzaC0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbHVzaC0tZW5kcyB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uZmx1c2gtLXNpZGVzIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQWRkL3JlbW92ZSBwYWRkaW5nc1xuICovXG4uc29mdCB7XG4gIHBhZGRpbmc6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LS1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LS1lbmRzIHtcbiAgcGFkZGluZy10b3A6IDI0cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLXNpZGVzIHtcbiAgcGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZiB7XG4gIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tdG9wIHtcbiAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LWhhbGYtLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LWhhbGYtLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tZW5kcyB7XG4gIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LWhhbGYtLXNpZGVzIHtcbiAgcGFkZGluZy1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLmhhcmQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS10b3Age1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uaGFyZC0tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uaGFyZC0tbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uaGFyZC0tZW5kcyB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS1zaWRlcyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUHVsbCBpdGVtcyBmdWxsIHdpZHRoIG9mIGAuaXNsYW5kYCBwYXJlbnRzLlxuICovXG4uZnVsbC1ibGVlZCB7XG4gIG1hcmdpbi1yaWdodDogLTI0cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0yNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pc2xldCAuZnVsbC1ibGVlZCB7XG4gIG1hcmdpbi1yaWdodDogLTEycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQWRkIGEgaGVscCBjdXJzb3IgdG8gYW55IGVsZW1lbnQgdGhhdCBnaXZlcyB0aGUgdXNlciBleHRyYSBpbmZvcm1hdGlvbiBvblxuICogYDpob3ZlcmAuXG4gKi9cbi5pbmZvcm1hdGl2ZSB7XG4gIGN1cnNvcjogaGVscCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIE11dGUgYW4gb2JqZWN0IGJ5IHJlZHVjaW5nIGl0cyBvcGFjaXR5LlxuICovXG4ubXV0ZWQge1xuICBvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKSAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEFsaWduIGl0ZW1zIHRvIHRoZSByaWdodCB3aGVyZSB0aGV5IGltcGx5IHByb2dyZXNzaW9uL21vdmVtZW50IGZvcndhcmQsIGUuZy46XG4gKlxuICAgPHAgY2xhc3M9cHJvY2VlZD48YSBocmVmPSM+UmVhZCBtb3JlLi4uPC9hPjwvcD5cbiAqXG4gKi9cbi5wcm9jZWVkIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBBZGQgYSByaWdodC1hbmdsZWQgcXVvdGUgdG8gbGlua3MgdGhhdCBpbXBseSBtb3ZlbWVudCwgZS5nLjpcbiAqXG4gICA8YSBocmVmPSMgY2xhc3M9Z28+UmVhZCBtb3JlPC9hPlxuICpcbiAqL1xuLmdvOmFmdGVyIHtcbiAgY29udGVudDogXCLCoFwiIFwiwrtcIiAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEFwcGx5IGNhcGl0YWwgY2FzZSB0byBhbiBlbGVtZW50ICh1c3VhbGx5IGEgYHN0cm9uZ2ApLlxuICovXG4uY2FwcyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBIaWRlIGNvbnRlbnQgb2ZmLXNjcmVlbiB3aXRob3V0IHJlc29ydGluZyB0byBgZGlzcGxheTpub25lO2AsIGFsc28gcHJvdmlkZVxuICogYnJlYWtwb2ludCBzcGVjaWZpYyBoaWRkZW4gZWxlbWVudHMuXG4gKi9cbi5hY2Nlc3NpYmlsaXR5LFxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC5hY2Nlc3NpYmlsaXR5LS1wYWxtLFxuICAudmlzdWFsbHloaWRkZW4tLXBhbG0ge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuYWNjZXNzaWJpbGl0eS0tbGFwLFxuICAudmlzdWFsbHloaWRkZW4tLWxhcCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuYWNjZXNzaWJpbGl0eS0tbGFwLWFuZC11cCxcbiAgLnZpc3VhbGx5aGlkZGVuLS1sYXAtYW5kLXVwIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5hY2Nlc3NpYmlsaXR5LS1wb3J0YWJsZSxcbiAgLnZpc3VhbGx5aGlkZGVuLS1wb3J0YWJsZSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYWNjZXNzaWJpbGl0eS0tZGVzayxcbiAgLnZpc3VhbGx5aGlkZGVuLS1kZXNrIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNjBweCkge1xuICAuYWNjZXNzaWJpbGl0eS0tZGVzay13aWRlLFxuICAudmlzdWFsbHloaWRkZW4tLWRlc2std2lkZSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogZW5kaWYgKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSpcXFxuICAgIENPTlRFTlRTXG4gICAgLS0tLS0tLS1cbiAgICAtIHN2Z1xuICAgIC0gY2xlYXJmaXhcbiAgICAtIGJyZWFrLXRleHRcbiAgICAtIHRyaWFuZ2xlXG4gICAgLSB0cmFuc2l0aW9uXG4gICAgLSBhc3BlY3QtcmF0aW9cbiAgICAtIHRpbGUtcmlnaHQtYm9yZGVyXG4gICAgLSBmb250LWxpZ2h0XG4gICAgLSBmb250LXN0cm9uZ1xuICAgIC0gZm9udC1ib2xkXG4gICAgLSB0aW50XG4gICAgLSByaWJib25cblxcKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogXG4qIEBpbmNsdWRlIHRyaWFuZ2xlIHdpdGhpbiBhIHBzZXVkbyBlbGVtZW50IGFuZCBhZGQgcG9zaXRpb25pbmcgcHJvcGVydGllcyAoaWUuIHRvcCwgbGVmdClcbiogJGRpcmVjdGlvbjogdXAsIGRvd24sIGxlZnQsIHJpZ2h0XG4qL1xuLyogUmliYm9uIHN0eWxlICovXG5odG1sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5odG1sIGJvZHkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuaHRtbCBib2R5IC5kZWZhdWx0LWJsb2NrLmVndWlkZS1sYXlvdXQgLm1haW4tY29udGVudCAuZ2VuZXJhbC1wYWdlIC5nZW5lcmFsLXBhZ2VfX2JvZHkge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbmh0bWwgYm9keSAuZGVmYXVsdC1ibG9jazpub3QoLmVndWlkZS1zZWFyY2gtbGF5b3V0KSB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbmh0bWwgYm9keSAuZGVmYXVsdC1ibG9jazpub3QoLmVndWlkZS1zZWFyY2gtbGF5b3V0KSAubWFpbi1jb250ZW50IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbmh0bWwgYm9keSAuZGVmYXVsdC1ibG9jazpub3QoLmVndWlkZS1zZWFyY2gtbGF5b3V0KSAubWFpbi1jb250ZW50IC5nZW5lcmFsLXBhZ2UgLmdlbmVyYWwtcGFnZV9faGVhZCB7XG4gIG1hcmdpbjogMDtcbn1cblxuaHRtbCBib2R5IC5kZWZhdWx0LWJsb2NrOm5vdCguZWd1aWRlLXNlYXJjaC1sYXlvdXQpIC5tYWluLWNvbnRlbnQgLmdlbmVyYWwtcGFnZSAuZ2VuZXJhbC1wYWdlX19ib2R5IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5odG1sIGJvZHkgLmRlZmF1bHQtYmxvY2suZWd1aWRlLWNvbXBhcmUtbGF5b3V0IC5tYWluLWNvbnRlbnQgLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMDtcbn1cblxuaHRtbCBib2R5IGZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5kZWZhdWx0LWJsb2NrLmVndWlkZS1sYXlvdXQgLm1haW4tY29udGVudCAuZ2VuZXJhbC1wYWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAubWFpbi1ibG9jayAuc2lkZWJhci5tYWluLWJsb2NrX19wYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgaHRtbCBib2R5IC5tb2JpbGUtY29udGFpbmVyIHtcbiAgICByaWdodDogMTI1cHg7XG4gIH1cbiAgaHRtbCBib2R5IC5kZWZhdWx0LWJsb2NrLmVndWlkZS1jb21wYXJlLWxheW91dC5tYWluLWJsb2NrIHtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgfVxuICBodG1sIGJvZHkgLmRlZmF1bHQtYmxvY2subWFpbi1ibG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbiAgfVxuICBodG1sIGJvZHkgLmRlZmF1bHQtYmxvY2s6bm90KC5lZ3VpZGUtc2VhcmNoLWxheW91dCkgLm1haW4tY29udGVudCAuZ2VuZXJhbC1wYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgaHRtbCBib2R5IC5kZWZhdWx0LWJsb2NrOm5vdCguZWd1aWRlLXNlYXJjaC1sYXlvdXQpIC5tYWluLWNvbnRlbnQgLmdlbmVyYWwtcGFnZSAuZ2VuZXJhbC1wYWdlX19ib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIGh0bWwgYm9keSAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtbGF5b3V0IC5jb250YWluZXIgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgaHRtbCBib2R5IC5kZWZhdWx0LWJsb2NrLmVndWlkZS1jb21wYXJlLWxheW91dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBodG1sIGJvZHkgLmRlZmF1bHQtYmxvY2suZWd1aWRlLWNvbXBhcmUtbGF5b3V0IC5tYWluLWNvbnRlbnQge1xuICAgIGZsZXg6IDMgMDtcbiAgfVxuICBodG1sIGJvZHkgLmRlZmF1bHQtYmxvY2suZWd1aWRlLWNvbXBhcmUtbGF5b3V0IC5jb250YWluZXIge1xuICAgIGZsZXg6IDEgMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIGh0bWwgYm9keSAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtY29tcGFyZS1sYXlvdXQgLmNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIGh0bWwgYm9keSAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtY29tcGFyZS1sYXlvdXQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgaHRtbCBib2R5IC5kZWZhdWx0LWJsb2NrLmVndWlkZS1jb21wYXJlLWxheW91dCAubWFpbi1jb250ZW50IHtcbiAgICBmbGV4OiAzIDAgMTAwMHB4O1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICB9XG4gIGh0bWwgYm9keSAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtY29tcGFyZS1sYXlvdXQgLmNvbnRhaW5lciB7XG4gICAgZmxleDogMSAwIDI4MHB4O1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgc2VsZWN0LndtLWp1cmlzZGljdGlvbi1zZXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IC5ldGUtYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdjpudGgtY2hpbGQoMykge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2Lm9wZW4gLnBhZ2UtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2Lm9wZW4gLnBhZ2UtY29udGFpbmVyIHtcbiAgY29sb3I6ICNhYmIzMDA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYub3BlbiAucGFnZS1jb250YWluZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgYS5jcnVtYiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IGEuY3J1bWIgc3BhbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiBhLmNydW1iLmNydW1iLWRpdmlkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcvJztcbiAgfVxufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IC5wYWdlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgLnBhZ2UtY29udGFpbmVyIG5hdiB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAvKiBPTEQgLSBpT1MgNi0sIFNhZmFyaSAzLjEtNiAqL1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgLyogT0xEIC0gRmlyZWZveCAxOS0gKGJ1Z2d5IGJ1dCBtb3N0bHkgd29ya3MpICovXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAvKiBUV0VFTkVSIC0gSUUgMTAgKi9cbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAvKiBORVcgLSBDaHJvbWUgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgLyogTkVXLCBTcGVjIC0gT3BlcmEgMTIuMSwgRmlyZWZveCAyMCsgKi9cbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgLnBhZ2UtY29udGFpbmVyIG5hdiB1bCB7XG4gIGNvbHVtbnM6IDI7XG4gIC13ZWJraXQtY29sdW1uczogMjtcbiAgLW1vei1jb2x1bW5zOiAyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiAucGFnZS1jb250YWluZXIgbmF2IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogM3B4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IC5wYWdlLWNvbnRhaW5lciBuYXYgbGkgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IC5wYWdlLWNvbnRhaW5lciBuYXYgbGkuYWN0aXZlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkICNhYmIzMDA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgLnBhZ2UtY29udGFpbmVyIG5hdiBsaS5hY3RpdmUgc3BhbiB7XG4gIGNvbG9yOiAjYWJiMzAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nLWxlZnQ6IDlweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IC5wYWdlLWNvbnRhaW5lciBuYXYgbGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgPiBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC8qIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02ICovXG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICAvKiBPTEQgLSBGaXJlZm94IDE5LSAoYnVnZ3kgYnV0IG1vc3RseSB3b3JrcykgKi9cbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIC8qIE5FVyAtIENocm9tZSAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiBORVcsIFNwZWMgLSBPcGVyYSAxMi4xLCBGaXJlZm94IDIwKyAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgLnBhZ2Utc2VsZWN0b3Ige1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2FiYjMwMDtcbn1cblxuLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiAucGFnZS1zZWxlY3RvciBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgLnBhZ2Utc2VsZWN0b3IucGFnZS1zZWxlY3Rvci10cmlnZ2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiAucGFnZS1zZWxlY3Rvci5wYWdlLXNlbGVjdG9yLXRyaWdnZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IC5wYWdlLXNlbGVjdG9yLnBhZ2Utc2VsZWN0b3ItdHJpZ2dlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICNhYmIzMDA7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgLnBhZ2Utc2VsZWN0b3IucGFnZS1zZWxlY3Rvci10cmlnZ2VyLm9wZW46YWZ0ZXIge1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgI2FiYjMwMDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuZWd1aWRlLS1uYXYgYS5jcnVtYiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IGEuY3J1bWIuY3J1bWItcm9vdCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IGEuY3J1bWIuY3J1bWItcm9vdDpiZWZvcmUge1xuICAgIHRvcDogLTJweCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiBhLmNydW1iLmNydW1iLXJvb3Qgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmVndWlkZS0tbmF2IC5icmVhZGNydW1iX19zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiAuY3J1bWIge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiAuY3J1bWI6bnRoLW9mLXR5cGUoMikge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiAuYnJlYWRjcnVtYl9fc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHggNXB4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIHtcbiAgaGVpZ2h0OiA2MHB4O1xuICB0b3A6IDg1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXdyYXBwIHtcbiAgZmxleDogMSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5lZ3VpZGUtdGFibGUtb2YtY29udGVudHMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAwIDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0ucGRmIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1uZXh0LFxuLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXByZXYsXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1uZXh0LFxuLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXByZXYge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tbmV4dCBzdmcsXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tcHJldiBzdmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tcHJldiB7XG4gIGxlZnQ6IDE1cHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1wcmV2IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1uZXh0LFxuLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIHtcbiAgcmlnaHQ6IDE1cHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLnBzX19zY3JvbGxiYXIteC1yYWlsLFxuLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAucHNfX3Njcm9sbGJhci15LXJhaWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTU5cHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuZWd1aWRlLXRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgZWFzZS1vdXQ7XG4gICAgZmxleDogMSAwIDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzOXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tcHJldiB7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tcHJldiB7XG4gICAgbGVmdDogLTJweDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tbmV4dCxcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIHtcbiAgICByaWdodDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgZmxleDogMSAwO1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1uZXh0LFxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tcHJldiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQge1xuICAgIHJpZ2h0OiA0NXB4O1xuICB9XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuc2MtZGVmaW5pdGlvbi0tZGVmaW5pdGlvbiB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuZGwtYm94IC5kbC1ib3hfX2xpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSBibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMTBweCA0MHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAudmlkZW8tcGxheWVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIGJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmc6IDEwcHggMjVweCAhaW1wb3J0YW50O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSBibG9ja3F1b3RlOmJlZm9yZSwgLmVndWlkZS1jb21wYXJlIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE4cHg7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtdGFibGUtb2YtY29udGVudHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjNweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuc2lkZWJhci1ibG9jay5zaWRlYmFyLWVndWlkZS1leHBlcnRpc2UgaDMsXG4uZWd1aWRlLWNvbXBhcmUgLnNpZGViYXItYmxvY2suc2lkZWJhci1lZ3VpZGUta2V5LWNvbnRhY3RzIGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuc2lkZWJhci1ibG9jay5zaWRlYmFyLWVndWlkZS1leHBlcnRpc2UgLnNpZGViYXItYmxvY2ssXG4uZWd1aWRlLWNvbXBhcmUgLnNpZGViYXItYmxvY2suc2lkZWJhci1lZ3VpZGUta2V5LWNvbnRhY3RzIC5zaWRlYmFyLWJsb2NrIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmVndWlkZS1jb21wYXJlIC5zaWRlYmFyLWJsb2NrLnNpZGViYXItZWd1aWRlLWV4cGVydGlzZSAuc2lkZWJhci1ibG9jayBoMyxcbi5lZ3VpZGUtY29tcGFyZSAuc2lkZWJhci1ibG9jay5zaWRlYmFyLWVndWlkZS1rZXktY29udGFjdHMgLnNpZGViYXItYmxvY2sgaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuc2lkZWJhci1ibG9jay5zaWRlYmFyLWVndWlkZS1leHBlcnRpc2UgaDMsXG4gIC5lZ3VpZGUtY29tcGFyZSAuc2lkZWJhci1ibG9jay5zaWRlYmFyLWVndWlkZS1leHBlcnRpc2UgLnNpZGViYXItYmxvY2ssXG4gIC5lZ3VpZGUtY29tcGFyZSAuc2lkZWJhci1ibG9jay5zaWRlYmFyLWVndWlkZS1leHBlcnRpc2UgLnBlcnNvbi1saXN0LFxuICAuZWd1aWRlLWNvbXBhcmUgLnNpZGViYXItYmxvY2suc2lkZWJhci1lZ3VpZGUta2V5LWNvbnRhY3RzIGgzLFxuICAuZWd1aWRlLWNvbXBhcmUgLnNpZGViYXItYmxvY2suc2lkZWJhci1lZ3VpZGUta2V5LWNvbnRhY3RzIC5zaWRlYmFyLWJsb2NrLFxuICAuZWd1aWRlLWNvbXBhcmUgLnNpZGViYXItYmxvY2suc2lkZWJhci1lZ3VpZGUta2V5LWNvbnRhY3RzIC5wZXJzb24tbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tbmV4dCxcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXByZXYge1xuICAgIHRvcDogMjBweDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0gLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQge1xuICAgIHRvcDogMTJweDtcbiAgfVxuICAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmVndWlkZS1zZWxlY3QuYWRkLWp1cmlzZGljdGlvbiAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXItbmFtZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSBhbmQgKG1pbi13aWR0aDogMTE2MHB4KSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLmVndWlkZS1jb21wYXJlIC50b2MtZHJvcGRvd24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB6LWluZGV4OiA2O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLnRvYy1kcm9wZG93biBhLnRvYy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmJiYmI7XG4gIHBhZGRpbmc6IDE0cHggMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAudG9jLWRyb3Bkb3duIGEudG9jLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTdweCAwIDE4cHg7XG4gIH1cbn1cblxuLmVndWlkZS1jb21wYXJlIC50b2MtZHJvcGRvd24gYS50b2MtaGVhZGVyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTRweDtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICMxMTM1NUU7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLnRvYyB7XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA4N3B4O1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxMTM1NUU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0Y0RjY7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDAgNTJweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2Utb3V0LCBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctdG9wIDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctYm90dG9tIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAudG9jIC50b2MtLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmVndWlkZS1jb21wYXJlIC50b2MgLnRvYy0taGVhZGVyIC50b2MtLWhlYWRlcl9fdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxMTM1NUU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLnRvYyAudG9jLS1oZWFkZXIgLnRvYy0taGVhZGVyX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0zNXB4O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjIgMjMnJTNlJTNjZyUzZSUzY2cgZmlsbD0nJTIzMDAwJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIC41KSclM2UlM2NwYXRoIGQ9J00xOS40ODQgMGwyLjE2NSAyLjE2NS04LjY2IDguNjYgOC42NiA4LjY1OS0yLjE2NSAyLjE2NS04LjY2LTguNjYtOC42NiA4LjY2TDAgMTkuNDg0bDguNjU5LTguNjZMMCAyLjE2NCAyLjE2NSAwbDguNjYgOC42NTl6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiKSBjZW50ZXIgbm8tcmVwZWF0O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLnRvYyBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAudG9jIG9sIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLnRvYyBvbCBsaSAudG9jLS1jb250ZW50c19fY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzExMzU1RTtcbn1cblxuLmVndWlkZS1jb21wYXJlIC50b2Mgb2wgbGkgb2wge1xuICBmbGV4OiAxIDAgMTAwJTtcbn1cblxuLmVndWlkZS1jb21wYXJlIC50b2Mgb2wgbGkgb2wgbGk6YmVmb3JlLFxuLmVndWlkZS1jb21wYXJlIC50b2Mgb2wgbGkgb2wgbGkgLnRvYy0tY29udGVudHNfX2NvbnRlbnQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI5O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLnRvYyAudG9jLS10eXBlLTEgb2wsXG4uZWd1aWRlLWNvbXBhcmUgLnRvYyAudG9jLS10eXBlLTIgb2wge1xuICBjb3VudGVyLXJlc2V0OiBpdGVtO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLnRvYyAudG9jLS10eXBlLTEgb2wgbGk6YmVmb3JlLFxuLmVndWlkZS1jb21wYXJlIC50b2MgLnRvYy0tdHlwZS0yIG9sIGxpOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzExMzU1RTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29udGVudDogY291bnRlcnMoaXRlbSwgXCIuXCIpIFwiIFwiO1xuICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbn1cblxuLmVndWlkZS1jb21wYXJlIC50b2MgLnRvYy0tdHlwZS0xIG9sIGxpIG9sLFxuLmVndWlkZS1jb21wYXJlIC50b2MgLnRvYy0tdHlwZS0yIG9sIGxpIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbn1cblxuLmVndWlkZS1jb21wYXJlIC50b2MgLnRvYy0tdHlwZS0xIG9sIGxpIC50b2MtLWNvbnRlbnRzX19jb250ZW50LFxuLmVndWlkZS1jb21wYXJlIC50b2MgLnRvYy0tdHlwZS0yIG9sIGxpIC50b2MtLWNvbnRlbnRzX19jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAudG9jIC50b2MtLXR5cGUtMiBvbCBsaSBvbCxcbi5lZ3VpZGUtY29tcGFyZSAudG9jIC50b2MtLXR5cGUtNCBvbCBsaSBvbCB7XG4gIG1hcmdpbi1sZWZ0OiA3cHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAudG9jIC50b2MtLXR5cGUtMiBvbCBsaSAudG9jLS1jb250ZW50c19fY29udGVudCxcbi5lZ3VpZGUtY29tcGFyZSAudG9jIC50b2MtLXR5cGUtNCBvbCBsaSAudG9jLS1jb250ZW50c19fY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLnRvYy5zaG93IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBwYWRkaW5nOiAyNXB4IDUycHggMzZweDtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0LCBwYWRkaW5nLXRvcCAwLjNzIGVhc2Utb3V0LCBwYWRkaW5nLWJvdHRvbSAwLjNzIGVhc2Utb3V0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuZWd1aWRlLWNvbXBhcmUgLnRvYyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAudG9jIC50b2MtLWhlYWRlciAudG9jLS1oZWFkZXJfX2Nsb3NlIHtcbiAgICByaWdodDogMDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLnRvYy5zaG93IHtcbiAgICBwYWRkaW5nOiAyNXB4IDI1cHggNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC50b2Mge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAudG9jLnNob3cge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAudG9jIC50b2MtLXR5cGUtMiBvbCBsaSAudG9jLS1jb250ZW50c19fY29udGVudCxcbiAgLmVndWlkZS1jb21wYXJlIC50b2MgLnRvYy0tdHlwZS00IG9sIGxpIC50b2MtLWNvbnRlbnRzX19jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1oZWFkZXIge1xuICBwYWRkaW5nOiAwIDE1cHggMTNweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmJiYmI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB6LWluZGV4OiA1O1xuICB0b3A6IDE0NXB4O1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWhlYWRlciBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMTEzNTVFO1xufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDRweCAxNXB4O1xuICBmbGV4OiAxIDAgMTAwJTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbW96LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCAucHNfX3Njcm9sbGJhci14LXJhaWwsXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLnBzX19zY3JvbGxiYXIteS1yYWlsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmVndWlkZS1jb21wYXJlLmVndWlkZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0taGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0td3JhcHAge1xuICAgIG1hcmdpbi1yaWdodDogMTFweDtcbiAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXdyYXBwLnBkZiB7XG4gICAgZmxleDogMSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS13cmFwcC5wZGYgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1oZWFkZXIge1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLW91dDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQxcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDFweDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMTFweDtcbiAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLW91dDtcbiAgICBmbGV4OiAxIDAgNTAlO1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtcGFnZT1cIjBcIl0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtOm50aC1vZi10eXBlKDEpIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLW5leHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1wYWdlPVwiMFwiXSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW06bnRoLW9mLXR5cGUoMikgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tcHJldiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLXBhZ2U9XCIxXCJdIC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbTpudGgtb2YtdHlwZSgyKSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1uZXh0LFxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLXBhZ2U9XCIyXCJdIC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbTpudGgtb2YtdHlwZSgyKSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1uZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtcGFnZT1cIjFcIl0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtOm50aC1vZi10eXBlKDMpIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXByZXYsXG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtcGFnZT1cIjJcIl0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtOm50aC1vZi10eXBlKDMpIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXByZXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS13cmFwcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDAgNTBweCAxNHB4O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgcGFkZGluZzogMTNweCAyN3B4IDMwcHg7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1wYWdlPVwiMFwiXSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW06bnRoLW9mLXR5cGUoMSkgLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQsXG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtcGFnZT1cIjBcIl0gLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1jb250ZW50IC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uOm50aC1vZi10eXBlKDEpIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiAxODBweDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLXBhZ2U9XCIwXCJdIC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbTpudGgtb2YtdHlwZSgxKSAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCAuYWRkLWJ1dHRvbixcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1wYWdlPVwiMFwiXSAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb246bnRoLW9mLXR5cGUoMSkgLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQgLmFkZC1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLXBhZ2U9XCIwXCJdIC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbTpudGgtb2YtdHlwZSgxKSAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCAuYWRkLWJ1dHRvbjphZnRlcixcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1wYWdlPVwiMFwiXSAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb246bnRoLW9mLXR5cGUoMSkgLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQgLmFkZC1idXR0b246YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTBweDtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtcGFnZT1cIjBcIl0gLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtOm50aC1vZi10eXBlKDEpIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIC5hZGQtYnV0dG9uLWljb24sXG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtcGFnZT1cIjBcIl0gLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1jb250ZW50IC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uOm50aC1vZi10eXBlKDEpIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIC5hZGQtYnV0dG9uLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1wYWdlPVwiMFwiXSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW06bnRoLW9mLXR5cGUoMSkgLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQgc3BhbixcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1wYWdlPVwiMFwiXSAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb246bnRoLW9mLXR5cGUoMSkgLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNjBweCkge1xuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXdyYXBwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMzVweCAhaW1wb3J0YW50O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIGZsZXg6IDEgMDtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtLFxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0uY29tcGFyZS1pdGVtLS1hdXRob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkNGRiO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0uY29tcGFyZS1pdGVtLS1hdXRob3IgLmNvbXBhcmUtaXRlbS0taGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkNGRiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbS5jb21wYXJlLWl0ZW0tLWF1dGhvciAuY29tcGFyZS1pdGVtLS1oZWFkZXIgaDMge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0uY29tcGFyZS1pdGVtLS1hdXRob3IgLmNvbXBhcmUtaXRlbS0taGVhZGVyIC5leHBhbmQtdG9nZ2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbS5jb21wYXJlLWl0ZW0tLWF1dGhvciAuY29tcGFyZS1pdGVtLS1oZWFkZXIgLmV4cGFuZC10b2dnbGU6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbS5jb21wYXJlLWl0ZW0tLWF1dGhvciAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0uY29tcGFyZS1pdGVtLS1hdXRob3IgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24gLmdyaWRfX2l0ZW0ge1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLWl0ZW1zPVwiMVwiXSAuY29tcGFyZS1pdGVtLmNvbXBhcmUtaXRlbS0tYXV0aG9yIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1pdGVtcz1cIjFcIl0gLmNvbXBhcmUtaXRlbS5jb21wYXJlLWl0ZW0tLWF1dGhvciAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiAuZ3JpZF9faXRlbSB7XG4gICAgZmxleDogMSAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1pdGVtcz1cIjFcIl0gLmNvbXBhcmUtaXRlbS5jb21wYXJlLWl0ZW0tLWF1dGhvciAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtaXRlbXM9XCIxXCJdIC5jb21wYXJlLWl0ZW0uY29tcGFyZS1pdGVtLS1hdXRob3IgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24gLmdyaWRfX2l0ZW0ge1xuICAgIGZsZXg6IDEgMCAzMyU7XG4gICAgbWF4LXdpZHRoOiAzMyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24ge1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkgYW5kIChtaW4td2lkdGg6IDUwMHB4KSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLWl0ZW1zPVwiMVwiXSAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24sXG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtaXRlbXM9XCIxXCJdIC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSBhbmQgKG1pbi13aWR0aDogNzIwcHgpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSBbZGF0YS1wYWdlPScwJ10uY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgOm50aC1vZi10eXBlKDEpLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCAuYWRkLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5lZ3VpZGUtY29tcGFyZSBbZGF0YS1wYWdlPScwJ10uY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCA6bnRoLW9mLXR5cGUoMSkuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCAuYWRkLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIHRvcDogNnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSBhbmQgKG1pbi13aWR0aDogMTE2MHB4KSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1pdGVtcz1cIjFcIl0gLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1jb250ZW50IC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uLFxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLWl0ZW1zPVwiMVwiXSAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLWl0ZW1zPVwiMlwiXSAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24sXG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtaXRlbXM9XCIyXCJdIC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cblxuQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICB3aWR0aDogMTgwcHg7XG4gIG1pbi1oZWlnaHQ6IDMzcHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNEY2O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzExMzU1RTtcbn1cblxuLmVndWlkZS1zZWxlY3QgLmVndWlkZS1zZWxlY3QtLWhlYWRlciAuZWd1aWRlLXNlbGVjdC0taGVhZGVyLW5hbWUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXI6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgIzExMzU1RTtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIucGRmOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmVndWlkZS1zZWxlY3QgLmVndWlkZS1zZWxlY3QtLWhlYWRlciAuc2VsZWN0LS1jbG9zZSB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0yNXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIyIDIzJyUzZSUzY2clM2UlM2NnIGZpbGw9JyUyMzAwMCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAuNSknJTNlJTNjcGF0aCBkPSdNMTkuNDg0IDBsMi4xNjUgMi4xNjUtOC42NiA4LjY2IDguNjYgOC42NTktMi4xNjUgMi4xNjUtOC42Ni04LjY2LTguNjYgOC42NkwwIDE5LjQ4NGw4LjY1OS04LjY2TDAgMi4xNjQgMi4xNjUgMGw4LjY2IDguNjU5eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIikgY2VudGVyIG5vLXJlcGVhdDtcbn1cblxuLmVndWlkZS1zZWxlY3Qub3BlbiAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExMzU1RTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxMTM1NUU7XG59XG5cbi5lZ3VpZGUtc2VsZWN0Lm9wZW4gLmVndWlkZS1zZWxlY3QtLWhlYWRlciAuZWd1aWRlLXNlbGVjdC0taGVhZGVyLW5hbWUge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5lZ3VpZGUtc2VsZWN0Lm9wZW4gLmVndWlkZS1zZWxlY3QtLWhlYWRlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE0cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgIHdpZHRoOiAxNjBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuZWd1aWRlLXNlbGVjdCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIHtcbiAgICB3aWR0aDogMTgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIC5lZ3VpZGUtc2VsZWN0IHtcbiAgICB3aWR0aDogMzUlO1xuICB9XG59XG5cbi5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50LXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDE7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMTEzNTVFO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1vdXQsIG1heC1oZWlnaHQgMC4zcyBlYXNlLW91dDtcbn1cblxuLmVndWlkZS1zZWxlY3QgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQtd3JhcHBlciAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0Y0RjY7XG59XG5cbi5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50LXdyYXBwZXIgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0tY29udGVudC13cmFwcGVyIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHVsIGxpIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50LXdyYXBwZXIgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQgdWwgbGkgZGl2LFxuLmVndWlkZS1zZWxlY3QgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQtd3JhcHBlciAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB1bCBsaSBhIHtcbiAgcGFkZGluZzogNXB4IDMwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0tY29udGVudC13cmFwcGVyIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHVsIGxpIGEge1xuICBjb2xvcjogIzExMzU1RTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0tY29udGVudC13cmFwcGVyIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHVsIGxpIGEuYWN0aXZlLCAuZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0tY29udGVudC13cmFwcGVyIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHVsIGxpIGEuZGlzYWJsZWQge1xuICBjb2xvcjogIzY2NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcbn1cblxuLmVndWlkZS1zZWxlY3QgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQtd3JhcHBlciAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB1bCBsaSBhLmVtcHR5LW9wdGlvbiB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4uZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0tY29udGVudC13cmFwcGVyIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHVsIHtcbiAgZmxleDogMSAwIDEwMCU7XG59XG5cbi5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50LXdyYXBwZXIub3BlbiB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLW91dDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0tY29udGVudC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50LXdyYXBwZXIub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAxO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzExMzU1RTtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2Utb3V0LCBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQ7XG59XG5cbiNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlciAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0Y0RjY7XG59XG5cbiNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlciAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlciAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB1bCBsaSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4janVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQgdWwgbGkgZGl2LFxuI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHVsIGxpIGEge1xuICBwYWRkaW5nOiA1cHggMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlciAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB1bCBsaSBhIHtcbiAgY29sb3I6ICMxMTM1NUU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHVsIGxpIGEuYWN0aXZlLCAjanVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQgdWwgbGkgYS5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjNjY2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjO1xufVxuXG4janVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQgdWwgbGkgYS5lbXB0eS1vcHRpb24ge1xuICBjb2xvcjogIzY2Njtcbn1cblxuI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHVsIHtcbiAgZmxleDogMSAwIDEwMCU7XG59XG5cbiNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlci5vcGVuIHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjanVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJiMzAwO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xufVxuXG4uY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCAuYWRkLWJ1dHRvbiB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIC5hZGQtYnV0dG9uIC5hZGQtYnV0dG9uLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTJweDtcbiAgbGVmdDogMTJweDtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMiAyMyclM2UlM2NnJTNlJTNjZyBmaWxsPSclMjNmZmYnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgLjUpJyUzZSUzY3BhdGggZD0nTTE5LjQ4NCAwbDIuMTY1IDIuMTY1LTguNjYgOC42NiA4LjY2IDguNjU5LTIuMTY1IDIuMTY1LTguNjYtOC42Ni04LjY2IDguNjZMMCAxOS40ODRsOC42NTktOC42NkwwIDIuMTY0IDIuMTY1IDBsOC42NiA4LjY1OXonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQgLmFkZC1idXR0b24gc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMjVweCAwO1xufVxuXG4janVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIub3ZlcmxheS1tb2RlIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcmlnaHQ6IDA7XG59XG5cbiNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlci5vdmVybGF5LW1vZGUgLmFkZC1qdXJpc2RpY3Rpb24tb3ZlcmxheSB7XG4gIHBhZGRpbmc6IDI1cHggNTJweCAzNnB4O1xufVxuXG4janVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIub3ZlcmxheS1tb2RlIC5hZGQtanVyaXNkaWN0aW9uLW92ZXJsYXkgLnNlbGVjdC0taGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4janVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIub3ZlcmxheS1tb2RlIC5hZGQtanVyaXNkaWN0aW9uLW92ZXJsYXkgLnNlbGVjdC0taGVhZGVyIC5zZWxlY3QtLWNvbnRlbnQtdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGNvbG9yOiAjMTEzNTVFO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyLm92ZXJsYXktbW9kZSAuYWRkLWp1cmlzZGljdGlvbi1vdmVybGF5IC5zZWxlY3QtLWhlYWRlciAuc2VsZWN0LS1jb250ZW50LWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMzVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIyIDIzJyUzZSUzY2clM2UlM2NnIGZpbGw9JyUyMzAwMCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAuNSknJTNlJTNjcGF0aCBkPSdNMTkuNDg0IDBsMi4xNjUgMi4xNjUtOC42NiA4LjY2IDguNjYgOC42NTktMi4xNjUgMi4xNjUtOC42Ni04LjY2LTguNjYgOC42NkwwIDE5LjQ4NGw4LjY1OS04LjY2TDAgMi4xNjQgMi4xNjUgMGw4LjY2IDguNjU5eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIikgY2VudGVyIG5vLXJlcGVhdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyLm92ZXJsYXktbW9kZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gICNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlci5vdmVybGF5LW1vZGUgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQuYWRkLWp1cmlzZGljdGlvbi1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAyNXB4IDI1cHggNTBweDtcbiAgfVxuICAjanVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIub3ZlcmxheS1tb2RlIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50LmFkZC1qdXJpc2RpY3Rpb24tb3ZlcmxheSAuc2VsZWN0LS1oZWFkZXIgLnNlbGVjdC0tY29udGVudC1jbG9zZSB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyLm92ZXJsYXktbW9kZSAuZWd1aWRlLXNlbGVjdC0tY29udGVudC5hZGQtanVyaXNkaWN0aW9uLW92ZXJsYXkgdWwge1xuICAgIGNvbHVtbi1nYXA6IDY4cHg7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgLWNvdW50Y29sdW1uOiAyO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNjBweCkge1xuICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZC5lZ3VpZGUtc2VsZWN0LS1vdmVybGF5LW1vZGUub3BlbjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiA4NnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNGM0Y0RjY7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICAjanVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIub3ZlcmxheS1tb2RlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG4gICNqdXJpc2RpY3Rpb25zLWxpc3Qtd3JhcHBlci5vdmVybGF5LW1vZGUgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQuYWRkLWp1cmlzZGljdGlvbi1vdmVybGF5IHVsIHtcbiAgICBjb2x1bW4tZ2FwOiA2OHB4O1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgIC1jb3VudGNvbHVtbjogMztcbiAgfVxufVxuXG4uY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHBhZGRpbmc6IDAgNzJweCA1MHB4IDQ4cHg7XG59XG5cbi5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbn1cblxuLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gaDM6OmZpcnN0LWxldHRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4uY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLndpZGUtZGV2aWNlcy10aXRsZXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAuZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgbWluLWhlaWdodDogMzNweDtcbiAgd2lkdGg6IDIyMHB4O1xufVxuXG4uY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAuZWd1aWRlLXNlbGVjdC5leHRyYS1qdXJpc2RpY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAuZWd1aWRlLXNlbGVjdC5hZGQtanVyaXNkaWN0aW9uIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmVndWlkZS1zZWxlY3QuYWRkLWp1cmlzZGljdGlvbiAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXItbmFtZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5lZ3VpZGUtc2VsZWN0LmFkZC1qdXJpc2RpY3Rpb24gLmVndWlkZS1zZWxlY3QtLWhlYWRlcjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5lZ3VpZGUtc2VsZWN0LmFkZC1qdXJpc2RpY3Rpb246bm90KC5zZWxlY3RlZCk6bm90KC5vcGVuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5lZ3VpZGUtc2VsZWN0LmFkZC1qdXJpc2RpY3Rpb246bm90KC5zZWxlY3RlZCk6bm90KC5vcGVuKSAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJiMzAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FiYjMwMDtcbn1cblxuLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmVndWlkZS1zZWxlY3QuYWRkLWp1cmlzZGljdGlvbjpub3QoLnNlbGVjdGVkKTpub3QoLm9wZW4pIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnKyc7XG4gIGJvcmRlcjogbm9uZTtcbiAgdG9wOiAzcHg7XG4gIHJpZ2h0OiAyM3B4O1xufVxuXG4uY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAub3Blbi1jb21wYXJpc29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDIyMHB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJiMzAwO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5vcGVuLWNvbXBhcmlzb246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB3aGl0ZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5vcGVuLWNvbXBhcmlzb24uc2hvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAud2lkZS1kZXZpY2UtdGl0bGVzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmNvbXBhcmUtZHJvcGRvd25zLWJsb2NrLFxuICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAud2lkZS1kZXZpY2UtdGl0bGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5jb21wYXJlLWRyb3Bkb3ducy1ibG9jayAuY29sMSxcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmNvbXBhcmUtZHJvcGRvd25zLWJsb2NrIC5jb2wyLFxuICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAud2lkZS1kZXZpY2UtdGl0bGVzIC5jb2wxLFxuICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAud2lkZS1kZXZpY2UtdGl0bGVzIC5jb2wyIHtcbiAgICBmbGV4OiAxIDAgNTAlO1xuICB9XG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5zbWFsbC1kZXZpY2UtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmVndWlkZS1zZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5vcGVuLWNvbXBhcmlzb24sXG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmNvbXBhcmUtZHJvcGRvd25zLWJsb2NrIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIsXG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC53aWRlLWRldmljZS10aXRsZXMgLmVndWlkZS1zZWxlY3QtLWhlYWRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICB9XG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5jb21wYXJlLWRyb3Bkb3ducy1ibG9jayAuY29sMSxcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLndpZGUtZGV2aWNlLXRpdGxlcyAuY29sMSB7XG4gICAgZmxleDogMSAwIDMzJTtcbiAgfVxuICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAuY29tcGFyZS1kcm9wZG93bnMtYmxvY2sgLmNvbDIsXG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC53aWRlLWRldmljZS10aXRsZXMgLmNvbDIge1xuICAgIGZsZXg6IDEgMCA2NyU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAuY29tcGFyZS1kcm9wZG93bnMtYmxvY2sgLmNvbDIgLmVndWlkZS1zZWxlY3QsXG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC53aWRlLWRldmljZS10aXRsZXMgLmNvbDIgLmVndWlkZS1zZWxlY3Qge1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi1mb3JtIC5jb21wYXJlLWRyb3Bkb3ducy1ibG9jayAuY29sMiAuZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0taGVhZGVyLFxuICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSAud2lkZS1kZXZpY2UtdGl0bGVzIC5jb2wyIC5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLm9wZW4tY29tcGFyaXNvbixcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmVndWlkZS1zZWxlY3QgLmVndWlkZS1zZWxlY3QtLWhlYWRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmVndWlkZS1zZWxlY3QuYWRkLWp1cmlzZGljdGlvbiAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXItbmFtZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFZBUlMuU0NTU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQW55IHZhcmlhYmxlcyB5b3UgZmluZCBzZXQgaW4gaW51aXQuY3Nz4oCZIGBfdmFycy5zY3NzYCB0aGF0IHlvdSBkbyBub3Qgd2lzaCB0b1xuICoga2VlcCwgc2ltcGx5IHJlZGVmaW5lIGhlcmUuIFRoaXMgbWVhbnMgdGhhdCBpZiBpbnVpdC5jc3MsIGZvciBleGFtcGxlLCBzZXRzXG4gKiB5b3VyIGAkYmFzZS1mb250LXNpemVgIGF0IDE2cHggYW5kIHlvdSB3aXNoIGl0IHRvIGJlIDE0cHgsIHNpbXBseSByZWRlY2xhcmVcbiAqIHRoYXQgdmFyaWFibGUgaW4gdGhpcyBmaWxlLiBpbnVpdC5jc3MgaWdub3JlcyBpdHMgb3duIHZhcmlhYmxlcyBpbiBmYXZvdXIgb2ZcbiAqIHVzaW5nIHlvdXIgb3duLCBzbyB5b3UgY2FuIGNvbXBsZXRlbHkgbW9kaWZ5IGhvdyBpbnVpdC5jc3Mgd29ya3Mgd2l0aG91dCBldmVyXG4gKiBoYXZpbmcgdG8gYWx0ZXIgdGhlIGZyYW1ld29yayBpdHNlbGYuXG4gKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkT0JKRUNUUy1BTkQtQUJTVFJBQ1RJT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBbGwgb2YgaW51aXQuY3Nz4oCZIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyBhcmUgaW5pdGlhbGx5IHR1cm5lZCBvZmYgYnlcbiAqIGRlZmF1bHQuIFRoaXMgbWVhbnMgdGhhdCB5b3Ugc3RhcnQgYW55IHByb2plY3Qgd2l0aCBhcyBsaXR0bGUgYXMgcG9zc2libGUsXG4gKiBhbmQgaW50cm9kdWNpbmcgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGlzIGFzIHNpbXBsZSBhcyBzd2l0Y2hpbmcgdGhlXG4gKiBmb2xsb3dpbmcgdmFyaWFibGVzIHRvIGB0cnVlYC5cbiAqL1xuJHVzZS1ncmlkczogdHJ1ZTtcbiR1c2UtZmxleGJveDogZmFsc2U7XG4kdXNlLWNvbHVtbnM6IGZhbHNlO1xuJHVzZS1uYXY6IHRydWU7XG4kdXNlLW9wdGlvbnM6IGZhbHNlO1xuJHVzZS1wYWdpbmF0aW9uOiBmYWxzZTtcbiR1c2UtYnJlYWRjcnVtYjogZmFsc2U7XG4kdXNlLW1lZGlhOiB0cnVlO1xuJHVzZS1tYXJnaW5hbGlhOiBmYWxzZTtcbiR1c2UtaXNsYW5kOiBmYWxzZTtcbiR1c2UtYmxvY2stbGlzdDogZmFsc2U7XG4kdXNlLW1hdHJpeDogZmFsc2U7XG4kdXNlLXNwbGl0OiBmYWxzZTtcbiR1c2UtdGhpcy1vci10aGlzOiBmYWxzZTtcbiR1c2UtbGluay1jb21wbGV4OiBmYWxzZTtcbiR1c2UtZmx5b3V0OiBmYWxzZTtcbiR1c2UtYXJyb3dzOiBmYWxzZTtcbiR1c2Utc3ByaXRlOiBmYWxzZTtcbiR1c2UtaWNvbi10ZXh0OiBmYWxzZTtcbiR1c2UtYmVhdXRvbnM6IGZhbHNlO1xuJHVzZS1sb3plbmdlczogZmFsc2U7XG4kdXNlLXJ1bGVzOiBmYWxzZTtcbiR1c2Utc3RhdHM6IGZhbHNlO1xuJHVzZS1ncmV5Ym94OiBmYWxzZTtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ1VTVE9NXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQbGFjZSBhbnkgb2YgeW91ciBvd24gdmFyaWFibGVzIHRoYXQgc2l0IG9uIHRvcCBvZiBpbnVpdC5jc3MgaGVyZS5cbiAqL1xuXG4vLyBDT0xPUlM6XG4kY29sb3Itd2hpdGU6ICNmZmY7XG4kY29sb3ItYmxhY2s6ICMxMzI5NGE7XG4kY29sb3ItcmVkOiAjZTUxMzEzO1xuXG4kY29sb3ItbGlnaHRlc3QtZ3JheTogI2VkZWZmMjtcbiRjb2xvci1saWdodC1ncmF5OiAjYmJiO1xuJGNvbG9yLW1lZGl1bS1ncmF5OiAjOTk5O1xuJGNvbG9yLWxpZ2h0LWdyYXktMjogbWl4KCRjb2xvci1ibGFjaywgd2hpdGUsIDYwJSk7XG4kY29sb3ItbGlnaHQtZ3JheS0zOiAjZWFlYWVhO1xuJGNvbG9yLWxpZ2h0LWdyYXktNDogI2Y0ZjRmNDtcbiRjb2xvci1saWdodC1ncmF5LTU6ICNlYmViZWI7XG4kY29sb3ItbGlnaHQtZ3JheS02OiAjZjVmNWY1O1xuJGNvbG9yLWxpZ2h0LWdyYXktNzogI2RkZGRkZDtcbiRjb2xvci1ncmF5OiAjZDBkNGRiO1xuJGNvbG9yLXNvbGlkLWdyYXk6ICNjY2M7XG4kY29sb3ItZGFyay1ncmF5OiAjNjY2O1xuJGNvbG9yLWRhcmstZ3JheS0yOiAjQTBBMEEwO1xuJGNvbG9yLXZlcnktZGFyay1ncmF5OiAjMTkxOTE5O1xuXG4kY29sb3ItYmVpZ2U6ICM3NjZhNjI7XG5cbiRjb2xvci1saWdodC1ibHVlOiAjM2U3NWE3O1xuJGNvbG9yLW1pZGRsZS1ibHVlOiAjNWE3N2EyO1xuJGNvbG9yLWRhcmstYmx1ZTogIzEzMjk0YTtcbiRjb2xvci1wYWxlLWJsdWU6ICMyMDQwNjc7XG4kY29sb3ItYnJpZ2h0LWJsdWU6ICMzMDk1YjQ7XG4kY29sb3ItbWlkLWJsdWU6ICMxMTM1NUU7XG5cbiRjb2xvci15ZWxsb3ctMTogI2VjYzQxMTtcbiRjb2xvci15ZWxsb3ctMjogI2M1OTIxNztcbiRjb2xvci1vcmFuZ2UtMTogI2U5ODMwMDtcbiRjb2xvci1vcmFuZ2UtMjogI2QyNDkyYTtcbiRjb2xvci1vcmFuZ2UtMzogI2VmYTY0ODtcbiRjb2xvci1yZWQtMTogI2RjMjIyZDtcbiRjb2xvci1yZWQtMjogIzhhMzQzZDtcbiRjb2xvci1wdXJwbGUtMTogI2FkNzZjMDtcbiRjb2xvci1wdXJwbGUtMjogIzZiNDg3YTtcbiRjb2xvci10dXJxdW9pc2UtMTogIzAwYWZkODtcbiRjb2xvci10dXJxdW9pc2UtMjogIzMwOTViNDtcbiRjb2xvci1wZXRyb2wtMTogIzAwNzU5YTtcbiRjb2xvci1wZXRyb2wtMjogIzAwNTE1NztcblxuJGNvbG9yLWdyZWVuOiAjYWJiMzAwO1xuJGNvbG9yLW1lZGl1bS1ncmVlbjogIzk4YTAwMDtcbiRjb2xvci1kYXJrLWdyZWVuOiAjNzk3MjJlO1xuJGNvbG9yLXBpbms6ICM2YjQ4N2E7XG4kY29sb3Itb3JhbmdlOiAjZTk4MzAwO1xuJGNvbG9yLXRhYmxlLWZvbnQ6ICM3YjdiN2I7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBDb2xvciAmIExheW91dCB2YXJpYXRpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGlsZS1zaGFkZTogJ2RhcmsnO1xuJG5ld3MtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXBldHJvbC0xLCAwJSk7XG4kcHVibGljYXRpb24tY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXR1cnF1b2lzZS0xLCAwJSk7XG4kZXZlbnQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLW9yYW5nZS0xLCAwJSk7XG4kZXZlbnQtcGFzdC1jb2xvcjogbGlnaHRlbigkY29sb3IteWVsbG93LTIsIDAlKTtcbiRldmVudC10YWctY29sb3I6ICRjb2xvci1ncmVlbjtcbiRzb2NpYWwtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXJlZC0xLCAwJSk7XG4kZmVlZC1iZy1jb2xvcjogJGNvbG9yLWdyYXk7XG4uc2Vjb25kYXJ5LWZvb3RlciB7ZGlzcGxheTogbm9uZTtcbiAgJi5ob21lIHtkaXNwbGF5OiBibG9jazt9XG59XG4kY29sb3ItaW5zaWdodC10aWxlOiAjMDA1MTU3O1xuJGNvbG9yLWluc2lnaHQtdGlsZS1saWdodGVuOiAjMTk2MzY4O1xuJGNvbG9yLWluc2lnaHQtZnJhbWU6ICMzYTkwOTU7XG4kY29sb3ItaW5zaWdodC1mcmFtZS1saWdodGVuOiAjZDVlOWVhO1xuXG4kYmx1ZS1ncmV5OiAjZWRmMGYyO1xuJGN5YW5ncmVlbi1zZWFyY2gtYnRuOiAjNmU2ZTZlO1xuJGRhcmtuYXZ5LWJsdWU6ICMxMzI5NGE7XG4kY2F0ZWdvcnktaDMtY29sb3I6ICMwMDIwNjA7XG4kbGlnaHQtY3lhbmdyZWVuOiAjODk5NGE1O1xuJGNvcnBvcmF0ZS1iYWNrZy1ncmV5OiAjZWFlYWVhO1xuJHJlc3VsdC10ZXh0Y29sb3I6ICNkNWQ5ZGY7XG5cbi8vIGVndWlkZSBjb21wYXJlXG4kdG9jLWJnLWNvbG9yOiAjRjNGNEY2O1xuXG4vLyBzZXR0aW5nIHRoZSBtYWluIGJyZWFrcG9pbnRzXG4vLyAxLiBNb2JpbGUgcGhvbmVzIDogMHB4IDw+IDQxM3B4XG4vLyAyLiBTbWFydHBob25lczogNDE0cHggPD4gNzE5cHhcbi8vIDMuIFRhYmxldHM6IDcyMHB4IDw+IDExNTlweFxuLy8gNC4gRGVza3RvcHM6IDExNjBweCA+XG5cbiRzbWFydHBob25lLXN0YXJ0OiA0MTRweDtcbiR0YWJsZXQtc3RhcnQ6IDcyMHB4O1xuJGRlc2stc3RhcnQ6IDkwMHB4O1xuJGRlc2std2lkZS1zdGFydDogMTE2MHB4O1xuXG4kc21hcnRwaG9uZS1lbmQ6ICR0YWJsZXQtc3RhcnQgLSAxcHg7XG4kdGFibGV0LWVuZDogJGRlc2stc3RhcnQgLSAxcHg7XG4kZGVzay1lbmQ6ICRkZXNrLXdpZGUtc3RhcnQgLSAxcHg7XG5cbiRsYXAtc3RhcnQ6ICR0YWJsZXQtc3RhcnQ7IC8vIG92ZXJyaWRlIGludWl0LmNzc1xuXG4vLyBtYXgtd2lkdGggb2YgdGhlIG1haW4gY29udGFpbmVyIGluY2x1ZGluZyBwYWRkaW5nXG4kY29udGFpbmVyLXNpemU6IDEyODBweDtcblxuLy8gc2hvcnRlbmVkIHNwYWNpbmcgbm90YXRpb25cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4O1xuJHNwYWNlOiAkYmFzZS1saW5lLWhlaWdodDtcblxuJGhlcm8taGVpZ2h0OiAkc3BhY2UqMTY7XG5cbiRmb290ZXItaGVpZ2h0OiAkc3BhY2UqMjA7XG5cbiRnbG9iYWwtZmlsdGVyLWhlaWdodDogMzZweDtcbiRjb21tb24tcGFkZGluZy13aWR0aDogMjRweDtcbiRzbWFsbC1wYWRkaW5nOiA0cHg7XG5cbiRzdGlja3ktc2VhcmNoLWhlaWdodDogNzVweDtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIE1lbnVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vbWVudSBjb2xvcnNcbiRtZW51LWNvbG9yLW1haW46ICNmZmZmZmY7XG4kbWVudS1jb2xvci1maXJzdC1sZXZlbDogI2VkZWVmMTtcbiRtZW51LWNvbG9yLXNlY29uZC1sZXZlbC10b3A6ICNlZGVlZjE7XG4kbWVudS1jb2xvci1zZWNvbmQtbGV2ZWw6ICNlMWUzZTc7XG4kbWVudS1jb2xvci10aGlyZC1sZXZlbDogI2Q0ZDdkZTtcbiRtZW51LWNvbG9yLXRoaXJkLWxldmVsLWJhcjogI2NiY2VkNDtcbiRtZW51LWNvbG9yLWljb246ICM5NWE1YWY7XG4kbWVudS1jb2xvci1iYXI6ICNjYmNlZDQ7XG4kbWVudS1jb2xvci1zZWNvbmQtbGV2ZWwtYWN0aXZlLWxpbms6ICNjOGNkZDY7XG5cbiRtZW51LWhlYWRsaW5lOiAjNTY3ZDlmO1xuJG1lbnUtYmFyLWxpbms6ICMwOTU4OGI7XG4kbWVudS1saW5rOiAkY29sb3ItbWlkLWJsdWU7XG4kbWVudS1saW5rLW1ldGE6IHJnYmEoJG1lbnUtbGluaywgMC43KTtcbiRtZW51LWxpbmstYnJlYWRjcnVtYjogJG1lbnUtbGluaztcbiRtZW51LXRleHQ6ICMwMDAwMDA7XG5cbi8vbWVudSBtYXJnaW5zIGFuZCBwYWRkaW5nXG4kbW9iaWxlLWZpcnN0LWxldmVsLW1hcmdpbi1sZWZ0OiAxNXB4O1xuJG1vYmlsZS1maXJzdC1sZXZlbC1tYXJnaW4tcmlnaHQ6IDE1cHg7XG4kbW9iaWxlLWZpcnN0LWxldmVsLW1hcmdpbi10b3A6IDIwcHg7XG4kbW9iaWxlLWZpcnN0LWxldmVsLW1hcmdpbi1ib3R0b206IDIwcHg7XG4kbW9iaWxlLXNlY29uZC1sZXZlbC1tYXJnaW4tbGVmdDogMzBweDtcbiRtb2JpbGUtc2Vjb25kLWxldmVsLW1hcmdpbi1yaWdodDogMzBweDtcbiRtb2JpbGUtc2Vjb25kLWxldmVsLW1hcmdpbi10b3A6IDIwcHg7XG4kbW9iaWxlLXNlY29uZC1sZXZlbC1tYXJnaW4tYm90dG9tOiAyMHB4O1xuJG1vYmlsZS1jb250ZW50LXBhZGRpbmc6IDMwcHg7XG4kbW9iaWxlLXRvcC1iYXItaGVpZ2h0OiA4NXB4O1xuJG1vYmlsZS1icmVhZGNydW1iLWhlaWdodDogNDVweDtcbiRtb2JpbGUtbGlzdC1wYWRkaW5nOiAyMXB4O1xuXG4kc21hcnRwaG9uZS1maXJzdC1sZXZlbC1tYXJnaW4tbGVmdDogMTVweDtcbiRzbWFydHBob25lLWZpcnN0LWxldmVsLW1hcmdpbi1yaWdodDogMTVweDtcbiRzbWFydHBob25lLWZpcnN0LWxldmVsLW1hcmdpbi10b3A6IDI3cHg7XG4kc21hcnRwaG9uZS1maXJzdC1sZXZlbC1tYXJnaW4tYm90dG9tOiAyN3B4O1xuJHNtYXJ0cGhvbmUtc2Vjb25kLWxldmVsLW1hcmdpbi1sZWZ0OiA0OHB4O1xuJHNtYXJ0cGhvbmUtc2Vjb25kLWxldmVsLW1hcmdpbi1yaWdodDogNDhweDtcbiRzbWFydHBob25lLXNlY29uZC1sZXZlbC1tYXJnaW4tdG9wOiAyN3B4O1xuJHNtYXJ0cGhvbmUtc2Vjb25kLWxldmVsLW1hcmdpbi1ib3R0b206IDI3cHg7XG4kc21hcnRwaG9uZS1jb250ZW50LXBhZGRpbmc6IDM1cHg7XG4kc21hcnRwaG9uZS10b3AtYmFyLWhlaWdodDogMTE1cHg7XG4kc21hcnRwaG9uZS1icmVhZGNydW1iLWhlaWdodDogNjBweDtcbiRzbWFydHBob25lLWxpc3QtcGFkZGluZzogMzBweDtcblxuJHRhYmxldC1maXJzdC1sZXZlbC1tYXJnaW4tbGVmdDogMzBweDtcbiR0YWJsZXQtZmlyc3QtbGV2ZWwtbWFyZ2luLXJpZ2h0OiAzMHB4O1xuJHRhYmxldC1maXJzdC1sZXZlbC1tYXJnaW4tdG9wOiAyNXB4O1xuJHRhYmxldC1maXJzdC1sZXZlbC1tYXJnaW4tYm90dG9tOiAyNXB4O1xuJHRhYmxldC1zZWNvbmQtbGV2ZWwtbWFyZ2luLWxlZnQ6IDQ1cHg7XG4kdGFibGV0LXNlY29uZC1sZXZlbC1tYXJnaW4tcmlnaHQ6IDQ1cHg7XG4kdGFibGV0LXNlY29uZC1sZXZlbC1tYXJnaW4tdG9wOiA0MHB4O1xuJHRhYmxldC1zZWNvbmQtbGV2ZWwtbWFyZ2luLWJvdHRvbTogNDBweDtcbiR0YWJsZXQtY29udGVudC1wYWRkaW5nOiA0MHB4O1xuJHRhYmxldC10b3AtYmFyLWhlaWdodDogMTAwcHg7XG4kdGFibGV0LWJyZWFkY3J1bWItaGVpZ2h0OiA0MnB4O1xuJHRhYmxldC1saXN0LXBhZGRpbmc6IDMwcHg7XG5cbiRkZXNrdG9wLWZpcnN0LWxldmVsLW1hcmdpbi1sZWZ0OiA1MHB4O1xuJGRlc2t0b3AtZmlyc3QtbGV2ZWwtbWFyZ2luLXJpZ2h0OiA1MHB4O1xuJGRlc2t0b3AtZmlyc3QtbGV2ZWwtbWFyZ2luLXRvcDogMjFweDtcbiRkZXNrdG9wLWZpcnN0LWxldmVsLW1hcmdpbi1ib3R0b206IDQwcHg7XG4kZGVza3RvcC1zZWNvbmQtbGV2ZWwtbWFyZ2luLWxlZnQ6IDUwcHg7XG4kZGVza3RvcC1zZWNvbmQtbGV2ZWwtbWFyZ2luLXJpZ2h0OiA1MHB4O1xuJGRlc2t0b3Atc2Vjb25kLWxldmVsLW1hcmdpbi10b3A6IDIxcHg7XG4kZGVza3RvcC1zZWNvbmQtbGV2ZWwtbWFyZ2luLWJvdHRvbTogNDBweDtcbiRkZXNrdG9wLWNvbnRlbnQtcGFkZGluZzogMjFweDtcbiRkZXNrdG9wLXRvcC1iYXItaGVpZ2h0OiAyMDBweDtcbiRkZXNrdG9wLXRvcC1iYXItaGVpZ2h0LXNtYWxsOiAxMDBweDtcbiRkZXNrdG9wLWxpc3QtcGFkZGluZzogMzBweDtcblxuJGZlZWQtdGlsZS1oZWlnaHQ6IDIwMHB4O1xuXG4vLyBlZ3VpZGUgY29tcGFyZVxuLy8gMS4gTW9iaWxlIHBob25lcyA6IDBweCA8PiA0MTNweCAtPiAxIGNvbHVtblxuLy8gMi4xIFNtYXJ0cGhvbmU6IDQxNHB4IDw+IDcxOXB4IC0+IDEgY29sdW1uc1xuLy8gMi4yIFNtYXJ0cGhvbmVzIExhbmRzY2FwZTogNTAwcHggPD4gNzE5cHggIC0+IDIgY29sdW1uc1xuLy8gMy4gVGFibGV0czogNzIwcHggPD4gMTE1OXB4IC0+IDIgY29sdW1ucyArIHNpZGViYXJcbi8vIDQuIERlc2t0b3BzIChXaWRlKTogMTE2MHB4ID4gLT4gMyBjb2x1bW5zICsgc2lkZWJhclxuJG1vYmlsZS1sYW5kc2NhcGUtc3RhcnQ6IDUwMHB4O1xuXG4kb3ZlcmxheS1ob3Jpem9udGFsLW1ibDogNTJweDtcbiRvdmVybGF5LXZlcnRpY2FsLW1ibDogMjVweDtcbiRvdmVybGF5LWhlYWQtdmVydGljYWwtbWJsOiAzMnB4OyIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgSU5VSVQuQ1NTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyohKlxuICpcbiAqIGludWl0Y3NzLmNvbSAtLSBAaW51aXRjc3MgLS0gQGNzc3dpemFyZHJ5XG4gKlxuICovXG4vKipcbiAqIGludWl0LmNzcyBhY3RzIGFzIGEgYmFzZSBzdHlsZXNoZWV0IHdoaWNoIHlvdSBzaG91bGQgZXh0ZW5kIHdpdGggeW91ciBvd25cbiAqIHRoZW1lIHN0eWxlc2hlZXQuXG4gKlxuICogaW51aXQuY3NzIGFpbXMgdG8gZG8gdGhlIGhlYXZ5IGxpZnRpbmc7IHNvcnRpbmcgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zLFxuICogZGVzaWduIHBhdHRlcm5zIGFuZCBmaWRkbHkgYml0cyBvZiBDU1MsIHdoaWxzdCBsZWF2aW5nIGFzIG11Y2ggZGVzaWduIGFzXG4gKiBwb3NzaWJsZSB0byB5b3UuIGludWl0LmNzcyBpcyB0aGUgc2NhZmZvbGRpbmcgdG8geW91ciBkZWNvcmF0b3IuXG4gKlxuICogVGhpcyBzdHlsZXNoZWV0IGlzIGhlYXZpbHkgZG9jdW1lbnRlZCBhbmQgY29udGFpbnMgbG90cyBvZiBjb21tZW50cywgcGxlYXNlXG4gKiB0YWtlIGNhcmUgdG8gcmVhZCBhbmQgcmVmZXIgdG8gdGhlbSBhcyB5b3UgYnVpbGQuIEZvciBmdXJ0aGVyIHN1cHBvcnQgcGxlYXNlXG4gKiB0d2VldCBhdCBAaW51aXRjc3MuXG4gKlxuICogT3dpbmcgdG8gdGhlIGFtb3VudCBvZiBjb21tZW50cyBwbGVhc2Ugb25seSBldmVyIHVzZSBtaW5pZmllZCBDU1MgaW5cbiAqIHByb2R1Y3Rpb24uIFRoaXMgZmlsZSBpcyBwdXJlbHkgYSBkZXYgZG9jdW1lbnQuXG4gKlxuICogVGhlIHRhYmxlIG9mIGNvbnRlbnRzIGJlbG93IG1hcHMgdG8gc2VjdGlvbiB0aXRsZXMgb2YgdGhlIHNhbWUgbmFtZSwgdG8ganVtcFxuICogdG8gYW55IHNlY3Rpb24gc2ltcGx5IHJ1biBhIGZpbmQgZm9yICRbU0VDVElPTi1USVRMRV0uXG4gKlxuICogTW9zdCBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgY29tZSB3aXRoIGEgY2h1bmsgb2YgbWFya3VwIHRoYXQgeW91IHNob3VsZCBiZVxuICogYWJsZSB0byBwYXN0ZSBpbnRvIGFueSB2aWV3IHRvIHF1aWNrbHkgc2VlIGhvdyB0aGUgQ1NTIHdvcmtzIGluIGNvbmp1bmN0aW9uXG4gKiB3aXRoIHRoZSBjb3JyZWN0IEhUTUwuXG4gKlxuICogaW51aXQuY3NzIGlzIHdyaXR0ZW4gdG8gdGhpcyBzdGFuZGFyZDogZ2l0aHViLmNvbS9jc3N3aXphcmRyeS9DU1MtR3VpZGVsaW5lc1xuICpcbiAqIExJQ0VOU0VcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMyBIYXJyeSBSb2JlcnRzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHA6Ly9hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKiBUaGFuayB5b3UgZm9yIGNob29zaW5nIGludWl0LmNzcy4gTWF5IHlvdXIgd2ViIGZvbnRzIHJlbmRlciBwZXJmZWN0bHkuXG4gKi9cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQ09OVEVOVFMuLi4uLi4uLi4uLi5Zb3XigJlyZSByZWFkaW5nIGl0IVxuICogV0FSTklORy4uLi4uLi4uLi4uLi5IZXJlIGJlIGRyYWdvbnMhXG4gKiBJTVBPUlRTLi4uLi4uLi4uLi4uLkJlZ2luIGltcG9ydGluZyB0aGUgc2VjdGlvbnMgYmVsb3dcbiAqXG4gKiBNSVhJTlMuLi4uLi4uLi4uLi4uLlN1cGVyLXNpbXBsZSBTYXNzIHN0dWZmXG4gKiBOT1JNQUxJWkUuLi4uLi4uLi4uLm5vcm1hbGl6ZS5jc3NcbiAqIFJFU0VULi4uLi4uLi4uLi4uLi4uU2V0IHNvbWUgZGVmYXVsdHNcbiAqIENMRUFSRklYLi4uLi4uLi4uLi4uXG4gKiBTSEFSRUQuLi4uLi4uLi4uLi4uLlNoYXJlZCBkZWNsYXJhdGlvbnNcbiAqXG4gKiBNQUlOLi4uLi4uLi4uLi4uLi4uLkhpZ2gtbGV2ZWwgZWxlbWVudHMgbGlrZSBgaHRtbGAsIGBib2R5YCwgZXRjLlxuICogSEVBRElOR1MuLi4uLi4uLi4uLi5Eb3VibGUtc3RyYW5kZWQgaGVhZGluZyBoaWVyYXJjaHlcbiAqIFBBUkFHUkFQSFMuLi4uLi4uLi4uXG4gKiBTTUFMTFBSSU5ULi4uLi4uLi4uLlNtYWxsZXIgdGV4dCBlbGVtZW50cyBsaWtlIGBzbWFsbGBcbiAqIFFVT1RFUy4uLi4uLi4uLi4uLi4uXG4gKiBDT0RFLi4uLi4uLi4uLi4uLi4uLlxuICogTElTVFMuLi4uLi4uLi4uLi4uLi5cbiAqIElNQUdFUy4uLi4uLi4uLi4uLi4uXG4gKiBUQUJMRVMuLi4uLi4uLi4uLi4uLlxuICogRk9STVMuLi4uLi4uLi4uLi4uLi5cbiAqXG4gKiBHUklEUy4uLi4uLi4uLi4uLi4uLkZsdWlkLCBwcm9wb3J0aW9uYWwgYW5kIG5lc3RhYmxlIGdyaWRzXG4gKiBGTEVYQk9YLi4uLi4uLi4uLi4uLkNydWRlbHkgZW11bGF0ZSBmbGV4Ym94XG4gKiBDT0xVTU5TLi4uLi4uLi4uLi4uLkNTUzMgY29sdW1uc1xuICogTkFWLi4uLi4uLi4uLi4uLi4uLi5BIHNpbXBsZSBhYnN0cmFjdGlvbiB0byBwdXQgYSBsaXN0IGluIGhvcml6b250YWwgbmF2IG1vZGVcbiAqIE9QVElPTlMuLi4uLi4uLi4uLi4uR3JvdXBlZCBuYXYgaXRlbXNcbiAqIFBBR0lOQVRJT04uLi4uLi4uLi4uVmVyeSBzdHJpcHBlZCBiYWNrLCBiYXNpYyBwYWdpbmF0b3JcbiAqIEJSRUFEQ1JVTUIuLi4uLi4uLi4uU2ltcGxlIGJyZWFkY3J1bWIgdHJhaWwgb2JqZWN0XG4gKiBNRURJQS4uLi4uLi4uLi4uLi4uLk1lZGlhIG9iamVjdFxuICogTUFSR0lOQUxJQS4uLi4uLi4uLi5TaW1wbGUgbWFyZ2luYWxpYSBjb250ZW50XG4gKiBJU0xBTkQuLi4uLi4uLi4uLi4uLkJveGVkIG9mZiBjb250ZW50XG4gKiBCTE9DSy1MSVNULi4uLi4uLi4uLkJsb2NreSBsaXN0cyBvZiBjb250ZW50XG4gKiBNQVRSSVguLi4uLi4uLi4uLi4uLkdyaWRkZWQgbGlzdHNcbiAqIFNQTElULi4uLi4uLi4uLi4uLi4uQSBzaW1wbGUgc3BsaXQtaW4tdHdvIG9iamVjdFxuICogVEhJUy1PUi1USElTLi4uLi4uLi5PcHRpb25zIG9iamVjdFxuICogTElOSy1DT01QTEVYLi4uLi4uLi5cbiAqIEZMWU9VVC4uLi4uLi4uLi4uLi4uRmx5b3V0LW9uLWhvdmVyIG9iamVjdFxuICogQVJST1dTLi4uLi4uLi4uLi4uLi5DU1MgYXJyb3dzXG4gKiBTUFJJVEUuLi4uLi4uLi4uLi4uLkdlbmVyaWMgc3ByaXRpbmcgZWxlbWVudFxuICogSUNPTi1URVhULi4uLi4uLi4uLi5JY29uIGFuZCB0ZXh0IGNvdXBsaW5nc1xuICogQkVBVVRPTlMuLi4uLi4uLi4uLi5Vc2UgdGhlIGJlYXV0b25zIG1pY3JvIGxpYnJhcnlcbiAqIExPWkVOR0VTLi4uLi4uLi4uLi4uQmFzaWMgbG96ZW5nZSBzdHlsZXNcbiAqIFJVTEVTLi4uLi4uLi4uLi4uLi4uSG9yaXpvbnRhbCBydWxlc1xuICogU1RBVFMuLi4uLi4uLi4uLi4uLi5TaW1wbGUgc3RhdHMgb2JqZWN0XG4gKiBHUkVZQk9YLi4uLi4uLi4uLi4uLldpcmVmcmFtaW5nIHN0eWxlc1xuICpcbiAqIFdJRFRIUy4uLi4uLi4uLi4uLi4uV2lkdGggY2xhc3NlcyBmb3IgdXNlIGFsb25nc2lkZSB0aGUgZ3JpZCBzeXN0ZW0gZXRjLlxuICogUFVTSC4uLi4uLi4uLi4uLi4uLi5QdXNoIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBncmlkc1xuICogUFVMTC4uLi4uLi4uLi4uLi4uLi5QdWxsIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBncmlkc1xuICogQlJBTkQuLi4uLi4uLi4uLi4uLi5IZWxwZXIgY2xhc3MgdG8gYXBwbHkgYnJhbmQgdHJlYXRtZW50IHRvIGVsZW1lbnRzXG4gKiBIRUxQRVIuLi4uLi4uLi4uLi4uLkEgc2VyaWVzIG9mIGhlbHBlciBjbGFzc2VzIHRvIHVzZSBhcmJpdHJhcmlseVxuICogREVCVUcuLi4uLi4uLi4uLi4uLi5FbmFibGUgdG8gYWRkIHZpc3VhbCBmbGFncyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG4gKi9cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRXQVJOSU5HXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAqIGludWl0LmNzcywgYmVpbmcgYW4gT08gZnJhbWV3b3JrLCB3b3JrcyBpbiBrZWVwaW5nIHdpdGggdGhlIG9wZW4vY2xvc2VkXG4gKiBwcmluY2lwbGUuIFRoZSB2YXJpYWJsZXMgeW91IHNldCBwcmV2aW91c2x5IGFyZSBub3cgYmVpbmcgdXNlZCB0aHJvdWdob3V0XG4gKiBpbnVpdC5jc3MgdG8gc3R5bGUgZXZlcnl0aGluZyB3ZSBuZWVkIGZvciBhIGJhc2UuIEFueSBjdXN0b20gc3R5bGVzIFNIT1VMRFxuICogTk9UIGJlIGFkZGVkIG9yIG1vZGlmaWVkIGluIGludWl0LmNzcyBkaXJlY3RseSwgYnV0IGFkZGVkIHZpYSB5b3VyIHRoZW1lXG4gKiBzdHlsZXNoZWV0IGFzIHBlciB0aGUgb3Blbi9jbG9zZWQgcHJpbmNpcGxlOlxuICpcbiAqIGNzc3dpemFyZHJ5LmNvbS8yMDEyLzA2L3RoZS1vcGVuLWNsb3NlZC1wcmluY2lwbGUtYXBwbGllZC10by1jc3NcbiAqXG4gKiBUcnkgbm90IHRvIGVkaXQgYW55IENTUyBiZXlvbmQgdGhpcyBwb2ludDsgaWYgeW91IGZpbmQgeW91IG5lZWQgdG8gZG8gc29cbiAqIGl0IGlzIGEgZmFpbGluZyBvZiB0aGUgZnJhbWV3b3JrIHNvIHBsZWFzZSB0d2VldCBhdCBAaW51aXRjc3MuXG4gKi9cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRJTVBPUlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBHZW5lcmljIHV0aWxpdHkgc3R5bGVzIGV0Yy5cbiAqL1xuQGltcG9ydCBcImRlZmF1bHRzXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9taXhpbnNcIjtcbkBpbXBvcnQgXCJnZW5lcmljL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImdlbmVyaWMvcmVzZXRcIjtcbkBpbXBvcnQgXCJnZW5lcmljL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9zaGFyZWRcIjtcblxuXG5cblxuXG4vKipcbiAqIEJhc2Ugc3R5bGVzOyB1bmNsYXNzZWQgSFRNTCBlbGVtZW50cyBldGMuXG4gKi9cbkBpbXBvcnQgXCJiYXNlL21haW5cIjtcbkBpbXBvcnQgXCJiYXNlL2hlYWRpbmdzXCI7XG5AaW1wb3J0IFwiYmFzZS9wYXJhZ3JhcGhzXCI7XG5AaW1wb3J0IFwiYmFzZS9zbWFsbHByaW50XCI7XG5AaW1wb3J0IFwiYmFzZS9xdW90ZXNcIjtcbkBpbXBvcnQgXCJiYXNlL2NvZGVcIjtcbkBpbXBvcnQgXCJiYXNlL2ltYWdlc1wiO1xuQGltcG9ydCBcImJhc2UvbGlzdHNcIjtcbkBpbXBvcnQgXCJiYXNlL3RhYmxlc1wiO1xuQGltcG9ydCBcImJhc2UvZm9ybXNcIjtcblxuXG5cblxuXG4vKipcbiAqIE9iamVjdHMgYW5kIGFic3RyYWN0aW9uc1xuICovXG5AaW1wb3J0IFwib2JqZWN0cy9ncmlkc1wiO1xuQGltcG9ydCBcIm9iamVjdHMvZmxleGJveFwiO1xuQGltcG9ydCBcIm9iamVjdHMvY29sdW1uc1wiO1xuQGltcG9ydCBcIm9iamVjdHMvbmF2XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9vcHRpb25zXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9tZWRpYVwiO1xuQGltcG9ydCBcIm9iamVjdHMvbWFyZ2luYWxpYVwiO1xuQGltcG9ydCBcIm9iamVjdHMvaXNsYW5kXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9ibG9jay1saXN0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9tYXRyaXhcIjtcbkBpbXBvcnQgXCJvYmplY3RzL3NwbGl0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy90aGlzLW9yLXRoaXNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2xpbmstY29tcGxleFwiO1xuQGltcG9ydCBcIm9iamVjdHMvZmx5b3V0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9hcnJvd3NcIjtcbkBpbXBvcnQgXCJvYmplY3RzL3Nwcml0ZVwiO1xuQGltcG9ydCBcIm9iamVjdHMvaWNvbi10ZXh0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9iZWF1dG9uc1wiO1xuQGltcG9ydCBcIm9iamVjdHMvbG96ZW5nZXNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL3J1bGVzXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9zdGF0c1wiO1xuQGltcG9ydCBcIm9iamVjdHMvZ3JleWJveFwiO1xuXG5cblxuXG5cbi8qKlxuICogU3R5bGUgdHJ1bXBzOyBoZWxwZXIgYW5kIGJyYW5kIGNsYXNzZXNcbiAqL1xuQGltcG9ydCBcImdlbmVyaWMvd2lkdGhzXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9wdXNoXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9wdWxsXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9icmFuZFwiO1xuQGltcG9ydCBcImdlbmVyaWMvaGVscGVyXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9kZWJ1Z1wiO1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkREVGQVVMVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIGludWl0LmNzc+KAmSBkZWZhdWx0IHZhcmlhYmxlcy4gUmVkZWZpbmUgdGhlc2UgaW4geW91ciBgX3ZhcnMuc2Nzc2AgZmlsZSAoZm91bmRcbiAqIGluIHRoZSBpbnVpdC5jc3Mtd2ViLXRlbXBsYXRlKSB0byBvdmVycmlkZSB0aGVtLlxuICovXG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkREVCVUdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIERlYnVnIG1vZGUgd2lsbCB2aXN1YWxseSBoaWdobGlnaHQgYW55IHBvdGVudGlhbCBtYXJrdXAvYWNjZXNzaWJpbGl0eSBxdWlya3NcbiAqIGluIHRoZSBicm93c2VyLiBTZXQgdG8gYHRydWVgIG9yIGBmYWxzZWAuXG4gKi9cbiRkZWJ1Zy1tb2RlOiAgICAgICAgZmFsc2UhZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRCT1JERVItQk9YXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBEbyB5b3Ugd2FudCBhbGwgZWxlbWVudHMgdG8gYWRvcHQgYGJveC1zaXppbmc6Ym9yZGVyLWJveDtgIGFzIHBlclxuICogcGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHcgP1xuICovXG4kZ2xvYmFsLWJvcmRlci1ib3g6IHRydWUhZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRCQVNFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBCYXNlIHN0dWZmXG4gKi9cbiRiYXNlLWZvbnQtc2l6ZTogICAgMTZweCFkZWZhdWx0O1xuJGJhc2UtbGluZS1oZWlnaHQ6ICAyNHB4IWRlZmF1bHQ7XG5cbi8qKlxuICogQmFzZSBmb250LWZhbWlseS5cbiAqL1xuJGJhc2UtZm9udC1mYW1pbHk6ICBzYW5zLXNlcmlmIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmYXVsdCBjb2xvdXIgZm9yIG9iamVjdHPigJkgYm9yZGVycyBldGMuXG4gKi9cbiRiYXNlLXVpLWNvbG9yOiAgICAgI2NjYyFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFJFU1BPTlNJVkVcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFJlc3BvbnNpdmVuZXNzP1xuICovXG4kcmVzcG9uc2l2ZTogICAgICAgIHRydWUhZGVmYXVsdDtcblxuLyoqXG4gKiBSZXNwb25zaXZlbmVzcyBmb3Igd2lkZXNjcmVlbi9oaWdoIHJlc29sdXRpb24gZGVza3RvcCBtb25pdG9ycyBhbmQgYmV5b25kP1xuICogTm90ZTogYCRyZXNwb25zaXZlYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGlzLlxuICovXG4kcmVzcG9uc2l2ZS1leHRyYTogIGZhbHNlIWRlZmF1bHQ7XG5cbi8qKlxuICogUmVzcG9uc2l2ZSBwdXNoIGFuZCBwdWxsIHByb2R1Y2UgYSBMT1Qgb2YgY29kZSwgb25seSB0dXJuIHRoZW0gb24gaWYgeW91XG4gKiBkZWZpbml0ZWx5IG5lZWQgdGhlbS5cbiAqL1xuJHB1c2g6ICAgICAgICAgICAgICBmYWxzZSFkZWZhdWx0O1xuLyoqXG4gKiBOb3RlOiBgJHB1c2hgIHZhcmlhYmxlIGFib3ZlIG11c3QgYmUgc2V0IHRvIHRydWUgYmVmb3JlIGVuYWJsaW5nIHRoZXNlLlxuICovXG4kcGFsbS1wdXNoOiAgICAgICAgIGZhbHNlIWRlZmF1bHQ7XG4kbGFwLXB1c2g6ICAgICAgICAgIGZhbHNlIWRlZmF1bHQ7XG4kbGFwLWFuZC11cC1wdXNoOiAgIGZhbHNlIWRlZmF1bHQ7XG4kcG9ydGFibGUtcHVzaDogICAgIGZhbHNlIWRlZmF1bHQ7XG4kZGVzay1wdXNoOiAgICAgICAgIGZhbHNlIWRlZmF1bHQ7XG5cbiRwdWxsOiAgICAgICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbi8qKlxuICogTm90ZTogYCRwdWxsYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGVzZS5cbiAqL1xuJHBhbG0tcHVsbDogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJGxhcC1wdWxsOiAgICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJGxhcC1hbmQtdXAtcHVsbDogICBmYWxzZSFkZWZhdWx0O1xuJHBvcnRhYmxlLXB1bGw6ICAgICBmYWxzZSFkZWZhdWx0O1xuJGRlc2stcHVsbDogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuXG4vKipcbiAqIFRlbGwgaW51aXQuY3NzIHdoZW4gYnJlYWtwb2ludHMgc3RhcnQuXG4gKi9cbiRtb2JpbGUtc3RhcnQ6ICAgICAgICAgMzUwcHghZGVmYXVsdDtcbiR0YWJsZXQtc3RhcnQ6ICAgICAgICAgNDgxcHghZGVmYXVsdDtcbiRkZXNrLXN0YXJ0OiAgICAgICAgMTAyNHB4IWRlZmF1bHQ7XG4kZGVzay13aWRlLXN0YXJ0OiAgIDEyMDBweCFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZPTlQtU0laRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEZvbnQtc2l6ZXMgKGluIHBpeGVscykuIFJlZmVyIHRvIHJlbGV2YW50IHNlY3Rpb25zIGZvciB0aGVpciBpbXBsZW1lbnRhdGlvbnMuXG4gKi9cbiRnaWdhLXNpemU6ICAgICAgICAgOTZweCFkZWZhdWx0O1xuJG1lZ2Etc2l6ZTogICAgICAgICA3MnB4IWRlZmF1bHQ7XG4ka2lsby1zaXplOiAgICAgICAgIDQ4cHghZGVmYXVsdDtcblxuJGgxLXNpemU6ICAgICAgICAgICAzNnB4IWRlZmF1bHQ7IC8vIC5hbHBoYVxuJGgyLXNpemU6ICAgICAgICAgICAzMHB4IWRlZmF1bHQ7IC8vIC5iZXRhXG4kaDMtc2l6ZTogICAgICAgICAgIDI0cHghZGVmYXVsdDsgLy8gLmdhbW1hXG4kaDQtc2l6ZTogICAgICAgICAgIDIwcHghZGVmYXVsdDsgLy8gLmRlbHRhXG4kaDUtc2l6ZTogICAgICAgICAgIDE2cHghZGVmYXVsdDsgLy8gLmVwc2lsb25cbiRoNi1zaXplOiAgICAgICAgICAgMTRweCFkZWZhdWx0OyAvLyAuemV0YVxuXG4kbWlsbGktc2l6ZTogICAgICAgIDEycHghZGVmYXVsdDtcbiRtaWNyby1zaXplOiAgICAgICAgMTBweCFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFFVT1RFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRW5nbGlzaCBxdW90ZSBtYXJrcz9cbiAqL1xuJGVuZ2xpc2gtcXVvdGVzOiAgICB0cnVlIWRlZmF1bHQ7XG5cbi8qKlxuICogSWYgeW91IHdhbnQgRW5nbGlzaCBxdW90ZXMgdGhlbiBwbGVhc2UgZG8gbm90IGVkaXQgdGhlc2U7IHRoZXnigJlyZSBvbmx5IGhlcmVcbiAqIGJlY2F1c2UgU2FzcyBuZWVkcyB0aGVtLlxuICovXG4kb3Blbi1xdW90ZTogICAgbnVsbDtcbiRjbG9zZS1xdW90ZTogICBudWxsO1xuXG4vKipcbiAqIElmIHlvdSBuZWVkIG5vbi1FbmdsaXNoIHF1b3RlcywgcGxlYXNlIGFsdGVyIHRoZSBmb2xsb3dpbmcgdmFsdWVzIGFjY29yZGluZ2x5OlxuICovXG5AaWYgJGVuZ2xpc2gtcXVvdGVzICE9IHRydWV7XG4gICAgJG9wZW4tcXVvdGU6ICAgIFxcMDBBQjtcbiAgICAkY2xvc2UtcXVvdGU6ICAgXFwwMEJCO1xufVxuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJSQU5EXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBCcmFuZCBzdHVmZlxuICovXG4kYnJhbmQtY29sb3I6ICAgICAgICM0YThlYzIhZGVmYXVsdDtcbiRicmFuZC1mYWNlOiAgICAgICAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmIWRlZmF1bHQ7XG5cbi8qKlxuICogSG93IGJpZyB3b3VsZCB5b3UgbGlrZSByb3VuZCBjb3JuZXJzIHRvIGJlIGJ5IGRlZmF1bHQ/XG4gKi9cbiRicmFuZC1yb3VuZDogICAgICAgIDRweCFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE9CSkVDVFMgQU5EIEFCU1RSQUNUSU9OU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogV2hpY2ggb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIHdvdWxkIHlvdSBsaWtlIHRvIHVzZT9cbiAqL1xuJHVzZS1ncmlkczogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1mbGV4Ym94OiAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1jb2x1bW5zOiAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1uYXY6ICAgICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1vcHRpb25zOiAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1wYWdpbmF0aW9uOiAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1icmVhZGNydW1iOiAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1tZWRpYTogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1tYXJnaW5hbGlhOiAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1pc2xhbmQ6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1ibG9jay1saXN0OiAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1tYXRyaXg6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1zcGxpdDogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS10aGlzLW9yLXRoaXM6ICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1saW5rLWNvbXBsZXg6ICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1mbHlvdXQ6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1hcnJvd3M6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1zcHJpdGU6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1pY29uLXRleHQ6ICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1iZWF1dG9uczogICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1sb3plbmdlczogICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1ydWxlczogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1zdGF0czogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1ncmV5Ym94OiAgICAgICBmYWxzZSFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZSQU1FV09SS1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogaW51aXQuY3NzIHdpbGwgd29yayB0aGVzZSBuZXh0IG9uZXMgb3V0IGZvciB1c2Ugd2l0aGluIHRoZSBmcmFtZXdvcmsuXG4gKlxuICogQXNzaWduIG91ciBgJGJhc2UtbGluZS1oZWlnaHRgIHRvIGEgbmV3IHNwYWNpbmcgdmFyIGZvciBtb3JlIHRyYW5zcGFyZW5jeS5cbiAqL1xuJGJhc2Utc3BhY2luZy11bml0OiAkYmFzZS1saW5lLWhlaWdodCFkZWZhdWx0O1xuJGhhbGYtc3BhY2luZy11bml0OiAkYmFzZS1zcGFjaW5nLXVuaXQgLyAyIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtcmF0aW86ICRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplO1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTUlYSU5TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBDcmVhdGUgYSBmdWxseSBmb3JtZWQgdHlwZSBzdHlsZSAoc2l6aW5nIGFuZCB2ZXJ0aWNhbCByaHl0aG0pIGJ5IHBhc3NpbmcgaW4gYVxuICogc2luZ2xlIHZhbHVlLCBlLmcuOlxuICpcbiAgIGBAaW5jbHVkZSBmb250LXNpemUoMTBweCk7YFxuICpcbiAqIFRoYW5rcyB0byBAcmVkY2xvdjNyIGZvciB0aGUgYGxpbmUtaGVpZ2h0YCBTYXNzOlxuICogdHdpdHRlci5jb20vcmVkY2xvdjNyL3N0YXR1cy8yNTAzMDE1MzkzMjE3OTg2NTdcbiAqL1xuQG1peGluIGZvbnQtc2l6ZSgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQ6dHJ1ZSl7XG4gICAgZm9udC1zaXplOiRmb250LXNpemU7XG4gICAgZm9udC1zaXplOigkZm9udC1zaXplIC8gJGJhc2UtZm9udC1zaXplKSoxcmVtO1xuICAgIEBpZiAkbGluZS1oZWlnaHQgPT0gdHJ1ZXtcbiAgICAgICAgbGluZS1oZWlnaHQ6Y2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpICogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSk7XG4gICAgfVxufVxuXG5cbi8qKlxuICogU3R5bGUgYW55IG51bWJlciBvZiBoZWFkaW5ncyBpbiBvbmUgZmVsbCBzd29vcCwgZS5nLjpcbiAqXG4gICAuZm9ve1xuICAgICAgIEBpbmNsdWRlIGhlYWRpbmdzKDEsIDMpe1xuICAgICAgICAgICBjb2xvcjojQkFEQTU1O1xuICAgICAgIH1cbiAgICB9XG4gKlxuICogV2l0aCB0aGFua3MgdG8gQGxhcl96enosIEBwYXJhbm9pZGEsIEByb3dhbm1hbm5pbmcgYW5kIHVsdGltYXRlbHlcbiAqIEB0aGllcnJ5bGVtb3VsZWMgZm9yIHJlZmluaW5nIGFuZCBpbXByb3ZpbmcgbXkgaW5pdGlhbCBtaXhpbi5cbiAqL1xuQG1peGluIGhlYWRpbmdzKCRmcm9tOiAxLCAkdG86IDYpe1xuICAgICViYXNlLWhlYWRpbmcge1xuICAgICAgICBAY29udGVudFxuICAgIH1cblxuICAgIEBpZiAkZnJvbSA+PSAxIGFuZCAkdG8gPD0gNntcbiAgICAgICAgQGZvciAkaSBmcm9tICRmcm9tIHRocm91Z2ggJHRve1xuICAgICAgICAgICAgaCN7JGl9e1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWJhc2UtaGVhZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKipcbiAqIENyZWF0ZSB2ZW5kb3ItcHJlZml4ZWQgQ1NTIGluIG9uZSBnbywgZS5nLlxuICpcbiAgIGBAaW5jbHVkZSB2ZW5kb3IoYm9yZGVyLXJhZGl1cywgNHB4KTtgXG4gKlxuICovXG5AbWl4aW4gdmVuZG9yKCRwcm9wZXJ0eSwgJHZhbHVlLi4uKXtcbiAgICAtd2Via2l0LSN7JHByb3BlcnR5fTokdmFsdWU7XG4gICAgICAgLW1vei0jeyRwcm9wZXJ0eX06JHZhbHVlO1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiR2YWx1ZTtcbiAgICAgICAgIC1vLSN7JHByb3BlcnR5fTokdmFsdWU7XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06JHZhbHVlO1xufVxuXG5cbi8qKlxuICogQ3JlYXRlIENTUyBrZXlmcmFtZSBhbmltYXRpb25zIGZvciBhbGwgdmVuZG9ycyBpbiBvbmUgZ28sIGUuZy46XG4gKlxuICAgLmZvb3tcbiAgICAgICBAaW5jbHVkZSB2ZW5kb3IoYW5pbWF0aW9uLCBzaHJpbmsgM3MpO1xuICAgfVxuXG4gICBAaW5jbHVkZSBrZXlmcmFtZShzaHJpbmspe1xuICAgICAgIGZyb217XG4gICAgICAgICAgIGZvbnQtc2l6ZTo1ZW07XG4gICAgICAgfVxuICAgfVxuICpcbiAqIENvdXJ0ZXN5IG9mIEBpbnRlZ3JhbGlzdDogdHdpdHRlci5jb20vaW50ZWdyYWxpc3Qvc3RhdHVzLzI2MDQ4NDExNTMxNTQzNzU2OVxuICovXG5AbWl4aW4ga2V5ZnJhbWUgKCRhbmltYXRpb24tbmFtZSl7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQC1tb3ota2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQC1tcy1rZXlmcmFtZXMgJGFuaW1hdGlvbi1uYW1le1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBALW8ta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyAkYW5pbWF0aW9uLW5hbWV7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4vKipcbiAqIEZvcmNlIG92ZXJseSBsb25nIHNwYW5zIG9mIHRleHQgdG8gdHJ1bmNhdGUsIGUuZy46XG4gKlxuICAgYEBpbmNsdWRlIHRydW5jYXRlKDEwMCUpO2BcbiAqXG4gKiBXaGVyZSBgJHRydW5jYXRpb24tYm91bmRhcnlgIGlzIGEgdW5pdGVkIG1lYXN1cmVtZW50LlxuICovXG5AbWl4aW4gdHJ1bmNhdGUoJHRydW5jYXRpb24tYm91bmRhcnkpe1xuICAgIG1heC13aWR0aDokdHJ1bmNhdGlvbi1ib3VuZGFyeTtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG59XG5cblxuLyoqXG4gKiBDU1MgYXJyb3dzISEhIEJ1dC4uLiBiZWZvcmUgeW91IHJlYWQgb24sIHlvdSBtaWdodCB3YW50IHRvIGdyYWIgYSBjb2ZmZWUuLi5cbiAqXG4gKiBUaGlzIG1peGluIGNyZWF0ZXMgYSBDU1MgYXJyb3cgb24gYSBnaXZlbiBlbGVtZW50LiBXZSBjYW4gaGF2ZSB0aGUgYXJyb3dcbiAqIGFwcGVhciBpbiBvbmUgb2YgMTIgbG9jYXRpb25zLCB0aHVzOlxuICpcbiAqICAgICAgIDAxICAgIDAyICAgIDAzXG4gKiAgICArLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogMTIgfCAgICAgICAgICAgICAgICAgIHwgMDRcbiAqICAgIHwgICAgICAgICAgICAgICAgICB8XG4gKiAxMSB8ICAgICAgICAgICAgICAgICAgfCAwNVxuICogICAgfCAgICAgICAgICAgICAgICAgIHxcbiAqIDEwIHwgICAgICAgICAgICAgICAgICB8IDA2XG4gKiAgICArLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogICAgICAgMDkgICAgMDggICAgMDdcbiAqXG4gKiBZb3UgcGFzcyB0aGlzIHBvc2l0aW9uIGluIGFsb25nIHdpdGggYSBkZXNpcmVkIGFycm93IGNvbG9yIGFuZCBvcHRpb25hbFxuICogYm9yZGVyIGNvbG9yLCBmb3IgZXhhbXBsZTpcbiAqXG4gKiBgQGluY2x1ZGUgYXJyb3codG9wLCBsZWZ0LCByZWQpYFxuICpcbiAqIGZvciBqdXN0IGEgc2luZ2xlLCByZWQgYXJyb3csIG9yOlxuICpcbiAqIGBAaW5jbHVkZSBhcnJvdyhib3R0b20sIGNlbnRlciwgcmVkLCBibGFjaylgXG4gKlxuICogd2hpY2ggd2lsbCBjcmVhdGUgYSByZWQgdHJpYW5nbGUgd2l0aCBhIGJsYWNrIGJvcmRlciB3aGljaCBzaXRzIGF0IHRoZSBib3R0b21cbiAqIGNlbnRlciBvZiB0aGUgZWxlbWVudC4gQ2FsbCB0aGUgbWl4aW4gdGh1czpcbiAqXG4gICAuZm9ve1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6I0JBREE1NTtcbiAgICAgICBib3JkZXI6MXB4IHNvbGlkICNBQ0U7XG4gICAgICAgQGluY2x1ZGUgYXJyb3codG9wLCBsZWZ0LCAjQkFEQTU1LCAjQUNFKTtcbiAgIH1cbiAqXG4gKi9cbkBtaXhpbiBhcnJvdygkYXJyb3ctZWRnZSwgJGFycm93LWxvY2F0aW9uLCAkYXJyb3ctY29sb3IsICRib3JkZXItY29sb3I6ICRhcnJvdy1jb2xvcil7XG5cbiAgICBAaWYgJGFycm93LWVkZ2UgPT0gdG9we1xuXG4gICAgICAgIEBleHRlbmQgJWFycm93LS10b3A7XG5cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiRib3JkZXItY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6JGFycm93LWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gbGVmdHtcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1sZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSBjZW50ZXJ7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSByaWdodHtcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1yaWdodDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGlmICRhcnJvdy1lZGdlID09IHJpZ2h0e1xuXG4gICAgICAgIEBleHRlbmQgJWFycm93LS1mYXI7XG5cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjokYm9yZGVyLWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjokYXJyb3ctY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSB0b3B7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tdXBwZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGNlbnRlcntcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1taWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGJvdHRvbXtcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1sb3dlcjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGlmICRhcnJvdy1lZGdlID09IGJvdHRvbXtcblxuICAgICAgICBAZXh0ZW5kICVhcnJvdy0tYm90dG9tO1xuXG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjokYm9yZGVyLWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiRhcnJvdy1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGxlZnR7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gY2VudGVye1xuICAgICAgICAgICAgQGV4dGVuZCAlYXJyb3ctLWNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gcmlnaHR7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tcmlnaHQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpZiAkYXJyb3ctZWRnZSA9PSBsZWZ0e1xuXG4gICAgICAgIEBleHRlbmQgJWFycm93LS1uZWFyO1xuXG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiRib3JkZXItY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjokYXJyb3ctY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSB0b3B7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tdXBwZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGNlbnRlcntcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1taWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGJvdHRvbXtcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1sb3dlcjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuLyoqXG4gKiBNZWRpYSBxdWVyeSBtaXhpbi5cbiAqXG4gKiBJdOKAmXMgbm90IGdyZWF0IHByYWN0aWNlIHRvIGRlZmluZSBzb2xpZCBicmVha3BvaW50cyB1cC1mcm9udCwgcHJlZmVycmluZyB0b1xuICogbW9kaWZ5IHlvdXIgZGVzaWduIHdoZW4gaXQgbmVlZHMgaXQsIHJhdGhlciB0aGFuIGFzc3VtaW5nIHlvdeKAmWxsIHdhbnQgYVxuICogY2hhbmdlIGF0IOKAmG1vYmlsZeKAmS4gSG93ZXZlciwgYXMgaW51aXQuY3NzIGlzIHJlcXVpcmVkIHRvIHRha2UgYSBoYW5kcyBvZmZcbiAqIGFwcHJvYWNoIHRvIGRlc2lnbiBkZWNpc2lvbnMsIHRoaXMgaXMgdGhlIGNsb3Nlc3Qgd2UgY2FuIGdldCB0byBiYWtlZC1pblxuICogcmVzcG9uc2l2ZW5lc3MuIEl04oCZcyBmbGV4aWJsZSBlbm91Z2ggdG8gYWxsb3cgeW91IHRvIHNldCB5b3VyIG93biBicmVha3BvaW50c1xuICogYnV0IHNvbGlkIGVub3VnaCB0byBiZSBmcmFtZXdvcmtpZmllZC5cbiAqXG4gKiBXZSBkZWZpbmUgc29tZSBicm9hZCBicmVha3BvaW50cyBpbiBvdXIgdmFycyBmaWxlIHRoYXQgYXJlIHBpY2tlZCB1cCBoZXJlXG4gKiBmb3IgdXNlIGluIGEgc2ltcGxlIG1lZGlhIHF1ZXJ5IG1peGluLiBPdXIgb3B0aW9ucyBhcmU6XG4gKlxuICogcGFsbVxuICogbGFwXG4gKiBsYXAtYW5kLXVwXG4gKiBwb3J0YWJsZVxuICogZGVza1xuICogZGVzay13aWRlXG4gKlxuICogTm90IHVzaW5nIGEgbWVkaWEgcXVlcnkgd2lsbCwgbmF0dXJhbGx5LCBzZXJ2ZSBzdHlsZXMgdG8gYWxsIGRldmljZXMuXG4gKlxuICogYEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KHBhbG0peyBbc3R5bGVzIGhlcmVdIH1gXG4gKlxuICogV2Ugd29yayBvdXQgeW91ciBlbmQgcG9pbnRzIGZvciB5b3U6XG4gKi9cbiRwYWxtLWVuZDogICAgICAgICAgICAgICR0YWJsZXQtc3RhcnQgLSAxcHg7XG5cbkBtaXhpbiBtZWRpYS1xdWVyeSgkbWVkaWEtcXVlcnkpe1xuXG4gICAgQGlmICRtZWRpYS1xdWVyeSA9PSBwYWxtIHtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JHBhbG0tZW5kKSB7IEBjb250ZW50OyB9XG5cbiAgICB9XG5cbiAgICBAaWYgJG1lZGlhLXF1ZXJ5ID09IGxhcHtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JHRhYmxldC1zdGFydCkgYW5kIChtYXgtd2lkdGg6JHRhYmxldC1lbmQpIHsgQGNvbnRlbnQ7IH1cblxuICAgIH1cblxuICAgIEBpZiAkbWVkaWEtcXVlcnkgPT0gbGFwLWFuZC11cHtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JHRhYmxldC1zdGFydCkgeyBAY29udGVudDsgfVxuXG4gICAgfVxuXG4gICAgQGlmICRtZWRpYS1xdWVyeSA9PSBwb3J0YWJsZXtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JHRhYmxldC1lbmQpIHsgQGNvbnRlbnQ7IH1cblxuICAgIH1cblxuICAgIEBpZiAkbWVkaWEtcXVlcnkgPT0gZGVza3tcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JGRlc2stc3RhcnQpIHsgQGNvbnRlbnQ7IH1cblxuICAgIH1cblxuICAgIEBpZiAkbWVkaWEtcXVlcnkgPT0gZGVzay13aWRle1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkgeyBAY29udGVudDsgfVxuXG4gICAgfVxuXG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Mi4xLjAgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLypcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLypcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLypcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLypcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLypcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vKlxuICogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdLFxuc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLypcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUkVTRVRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEEgbW9yZSBjb25zaWRlcmVkIHJlc2V0OyBtb3JlIG9mIGEgcmVzdGFydC4uLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMS8xMC9yZXNldC1yZXN0YXJ0ZWRcbiAqL1xuXG5AaWYgJGdsb2JhbC1ib3JkZXItYm94ID09IHRydWV7XG4gICAgLyoqXG4gICAgKiBMZXTigJlzIG1ha2UgdGhlIGJveCBtb2RlbCBhbGwgbmljZSwgc2hhbGwgd2UuLi4/XG4gICAgKi9cbiAgICAqe1xuICAgICAgICAmLFxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIEBpbmNsdWRlIHZlbmRvcihib3gtc2l6aW5nLCBib3JkZXItYm94KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgdXN1YWwuLi5cbiAqL1xuaDEsaDIsaDMsaDQsaDUsaDYsXG5wLGJsb2NrcXVvdGUscHJlLFxuZGwsZGQsb2wsdWwsXG5mb3JtLGZpZWxkc2V0LGxlZ2VuZCxcbnRhYmxlLHRoLHRkLGNhcHRpb24sXG5ocntcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG59XG5cbi8qKlxuICogR2l2ZSBhIGhlbHAgY3Vyc29yIHRvIGVsZW1lbnRzIHRoYXQgZ2l2ZSBleHRyYSBpbmZvIG9uIGA6aG92ZXJgLlxuICovXG5hYmJyW3RpdGxlXSxkZm5bdGl0bGVde1xuICAgIGN1cnNvcjpoZWxwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gcG90ZW50aWFsbHkgdHJvdWJsZXNvbWUgZWxlbWVudHMuXG4gKi9cbnUsaW5ze1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xufVxuXG4vKipcbiAqIEFwcGx5IGZhdXggdW5kZXJsaW5lIHZpYSBgYm9yZGVyLWJvdHRvbWAuXG4gKi9cbmluc3tcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZDtcbn1cblxuLyoqXG4gKiBTbyB0aGF0IGBhbHRgIHRleHQgaXMgdmlzdWFsbHkgb2Zmc2V0IGlmIGltYWdlcyBkb27igJl0IGxvYWQuXG4gKi9cbmltZ3tcbiAgICBmb250LXN0eWxlOml0YWxpYztcbn1cblxuLyoqXG4gKiBHaXZlIGZvcm0gZWxlbWVudHMgc29tZSBjdXJzb3IgaW50ZXJhY3Rpb25zLi4uXG4gKi9cbmxhYmVsLFxuaW5wdXQsXG50ZXh0YXJlYSxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGlvbntcbiAgICBjdXJzb3I6cG9pbnRlcjtcbn1cbiAgICAudGV4dC1pbnB1dDphY3RpdmUsXG4gICAgLnRleHQtaW5wdXQ6Zm9jdXMsXG4gICAgdGV4dGFyZWE6YWN0aXZlLFxuICAgIHRleHRhcmVhOmZvY3Vze1xuICAgICAgICBjdXJzb3I6dGV4dDtcbiAgICAgICAgb3V0bGluZTpub25lO1xuICAgIH1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJENMRUFSRklYXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBNaWNybyBjbGVhcmZpeCwgYXMgcGVyOiBjc3MtMTAxLm9yZy9hcnRpY2xlcy9jbGVhcmZpeC9sYXRlc3QtbmV3LWNsZWFyZml4LXNvLWZhci5waHBcbiAqIEV4dGVuZCB0aGUgY2xlYXJmaXggY2xhc3Mgd2l0aCBTYXNzIHRvIGF2b2lkIHRoZSBgLmNmYCBjbGFzcyBhcHBlYXJpbmcgb3ZlclxuICogYW5kIG92ZXIgaW4geW91ciBtYXJrdXAuXG4gKi9cbi5jZntcbiAgICAmOmFmdGVye1xuICAgICAgICBjb250ZW50OlwiXCI7XG4gICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgICAgIGNsZWFyOmJvdGg7XG4gICAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkU0hBUkVEXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBXaGVyZSBgbWFyZ2luLWJvdHRvbWAgaXMgY29uY2VybmVkLCB0aGlzIHZhbHVlIHdpbGwgYmUgdGhlIHNhbWUgYXMgdGhlXG4gKiBiYXNlIGxpbmUtaGVpZ2h0LiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIGEgY29uc2lzdGVudCB2ZXJ0aWNhbCByaHl0aG0uXG4gKiBBcyBwZXI6IGNzc3dpemFyZHJ5LmNvbS8yMDEyLzA2L3NpbmdsZS1kaXJlY3Rpb24tbWFyZ2luLWRlY2xhcmF0aW9uc1xuICovXG4vKipcbiAqIEJhc2UgZWxlbWVudHNcbiAqL1xuaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLFxudWwsb2wsZGwsXG5ibG9ja3F1b3RlLHAsYWRkcmVzcyxcbnRhYmxlLFxuZmllbGRzZXQsZmlndXJlLFxucHJlLFxuLyoqXG4gKiBPYmplY3RzIGFuZCBhYnN0cmFjdGlvbnNcbiAqL1xuJXNhc3MtbWFyZ2luLWJvdHRvbSxcbi5tZWRpYSxcbi5pc2xhbmQsXG4uaW5mb2dyYXBoaWNzLFxuLmlzbGV0e1xuICAgIG1hcmdpbi1ib3R0b206JGJhc2Utc3BhY2luZy11bml0O1xuICAgIG1hcmdpbi1ib3R0b206KCRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcblxuICAgIC5pc2xldCAme1xuICAgICAgICBtYXJnaW4tYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdCAvIDI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206KCgkYmFzZS1zcGFjaW5nLXVuaXQgLyAkYmFzZS1mb250LXNpemUpIC8gMikqMXJlbTtcbiAgICB9XG59XG5cblxuLyoqXG4gKiBEb3VibGVkIHVwIGBtYXJnaW4tYm90dG9tYCBoZWxwZXIgY2xhc3MuXG4gKi9cbi5sYW5kbWFya3tcbiAgICBtYXJnaW4tYm90dG9tOjIgKiAkYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTooMiAqICRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcbn1cblxuXG4vKipcbiAqIGBocmAgZWxlbWVudHMgb25seSB0YWtlIHVwIGEgZmV3IHBpeGVscywgc28gd2UgbmVlZCB0byBnaXZlIHRoZW0gc3BlY2lhbFxuICogdHJlYXRtZW50IHJlZ2FyZGluZyB2ZXJ0aWNhbCByaHl0aG0uXG4gKi9cbmhye1xuICAgIG1hcmdpbi1ib3R0b206JGJhc2Utc3BhY2luZy11bml0IC0gMnB4O1xuICAgIG1hcmdpbi1ib3R0b206KCgkYmFzZS1zcGFjaW5nLXVuaXQgLSAycHgpIC8gJGJhc2UtZm9udC1zaXplKSoxcmVtO1xufVxuXG5cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1sZWZ0YCBpcyBjb25jZXJuZWQgd2Ugd2FudCB0byB0cnkgYW5kIGluZGVudCBjZXJ0YWluIGVsZW1lbnRzXG4gKiBieSBhIGNvbnNpc3RlbnQgYW1vdW50LiBEZWZpbmUgdGhhdCBhbW91bnQgb25jZSwgaGVyZS5cbiAqL1xudWwsb2wsZGR7XG4gICAgbWFyZ2luLWxlZnQ6MiAqICRiYXNlLXNwYWNpbmctdW5pdDtcbiAgICBtYXJnaW4tbGVmdDooMiAqICRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE1BSU5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1se1xuICAgIGZvbnQ6I3soJGJhc2UtZm9udC1zaXplLzE2cHgpKjFlbX0vI3skbGluZS1oZWlnaHQtcmF0aW99ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIG92ZXJmbG93LXk6c2Nyb2xsO1xuICAgIG1pbi1oZWlnaHQ6MTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkSEVBRElOR1NcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEFzIHBlcjogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDIvcHJhZ21hdGljLXByYWN0aWNhbC1mb250LXNpemluZy1pbi1jc3NcbiAqXG4gKiBXaGVuIHdlIGRlZmluZSBhIGhlYWRpbmcgd2UgYWxzbyBkZWZpbmUgYSBjb3JyZXNwb25kaW5nIGNsYXNzIHRvIGdvIHdpdGggaXQuXG4gKiBUaGlzIGFsbG93cyB1cyB0byBhcHBseSwgc2F5LCBgY2xhc3M9YWxwaGFgIHRvIGEgYGgzYDsgYSBkb3VibGUtc3RyYW5kZWRcbiAqIGhlYWRpbmcgaGllcmFyY2h5LlxuICovXG5oMSwuYWxwaGF7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1zaXplKTtcbn1cbmgyLC5iZXRhe1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItc2l6ZSk7XG59XG5oMywuZ2FtbWF7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1zaXplKTtcbn1cbmg0LC5kZWx0YXtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGg0LXNpemUpO1xufVxuaDUsLmVwc2lsb257XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1zaXplKTtcbn1cbmg2LC56ZXRhe1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtc2l6ZSk7XG59XG5cblxuLyoqXG4gKiBIZWFkaW5nIGdyb3VwcyBhbmQgZ2VuZXJpYyBhbnktaGVhZGluZyBjbGFzcy5cbiAqIFRvIHRhcmdldCBhbnkgaGVhZGluZyBvZiBhbnkgbGV2ZWwgc2ltcGx5IGFwcGx5IGEgY2xhc3Mgb2YgYC5oTmAsIGUuZy46XG4gKlxuICAgPGhncm91cD5cbiAgICAgICA8aDEgY2xhc3M9aE4+aW51aXQuY3NzPC9oMT5cbiAgICAgICA8aDIgY2xhc3M9aE4+QmVzdC4gRnJhbWV3b3JrLiBFdmVyITwvaDI+XG4gICA8L2hncm91cD5cbiAqXG4gKi9cbi5oTntcbn1cbmhncm91cCAuaE57XG4gICAgbWFyZ2luLWJvdHRvbTowO1xufVxuXG5cbi8qKlxuICogQSBzZXJpZXMgb2YgY2xhc3NlcyBmb3Igc2V0dGluZyBtYXNzaXZlIHR5cGU7IGZvciB1c2UgaW4gaGVyb2VzLCBtYXN0aGVhZHMsXG4gKiBwcm9tb3MsIGV0Yy5cbiAqL1xuLmdpZ2F7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRnaWdhLXNpemUpO1xufVxuLm1lZ2F7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRtZWdhLXNpemUpO1xufVxuLmtpbG97XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRraWxvLXNpemUpO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUEFSQUdSQVBIU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogVGhlIGAubGVkZWAgY2xhc3MgaXMgdXNlZCB0byBtYWtlIHRoZSBpbnRyb2R1Y3RvcnkgdGV4dCAodXN1YWxseSBhIHBhcmFncmFwaClcbiAqIG9mIGEgZG9jdW1lbnQgc2xpZ2h0bHkgbGFyZ2VyLlxuICovXG4ubGVkZSxcbi5sZWFke1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFzZS1mb250LXNpemUgKiAxLjEyNSk7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRTTUFMTFBSSU5UXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBIHNlcmllcyBvZiBjbGFzc2VzIGZvciBzZXR0aW5nIHRpbnkgdHlwZTsgZm9yIHVzZSBpbiBzbWFsbHByaW50IGV0Yy5cbiAqL1xuLnNtYWxscHJpbnQsXG4ubWlsbGl7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRtaWxsaS1zaXplKTtcbn1cbi5taWNyb3tcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJG1pY3JvLXNpemUpO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUVVPVEVTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBJZiBFbmdsaXNoIHF1b3RlcyBhcmUgc2V0IGluIGBfdmFycy5zY3NzYCwgZGVmaW5lIHRoZW0gaGVyZS5cbiAqL1xuQGlmICRlbmdsaXNoLXF1b3RlcyA9PSB0cnVle1xuICAgICRvcGVuLXF1b3RlOiAgICAnXFwyMDFDJztcbiAgICAkY2xvc2UtcXVvdGU6ICAgJ1xcMjAxRCc7XG59XG5cblxuLyoqXG4gKiBCaWcgdXAgQGJvYmxldDogaHRtbDVkb2N0b3IuY29tL2Jsb2NrcXVvdGUtcS1jaXRlXG4gKi9cblxuLyoqXG4gKiBJbmxpbmUgcXVvdGVzLlxuICovXG5xe1xuICAgIHF1b3RlczpcIlxcMjAxOFwiIFwiXFwyMDE5XCIgXCIjeyRvcGVuLXF1b3RlfVwiIFwiI3skY2xvc2UtcXVvdGV9XCI7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDpcIlxcMjAxOFwiO1xuICAgICAgICBjb250ZW50Om9wZW4tcXVvdGU7XG4gICAgfVxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcXDIwMTlcIjtcbiAgICAgICAgY29udGVudDpjbG9zZS1xdW90ZTtcbiAgICB9XG5cbiAgICBxOmJlZm9yZXtcbiAgICAgICAgY29udGVudDpcIlxcMjAxQ1wiO1xuICAgICAgICBjb250ZW50Om9wZW4tcXVvdGU7XG4gICAgfVxuICAgIHE6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcXDIwMURcIjtcbiAgICAgICAgY29udGVudDpjbG9zZS1xdW90ZTtcbiAgICB9XG59XG5cbmJsb2NrcXVvdGV7XG4gICAgcXVvdGVzOlwiI3skb3Blbi1xdW90ZX1cIiBcIiN7JGNsb3NlLXF1b3RlfVwiO1xuXG4gICAgcDpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6XCIjeyRvcGVuLXF1b3RlfVwiO1xuICAgICAgICBjb250ZW50Om9wZW4tcXVvdGU7XG4gICAgfVxuICAgIHA6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgY29udGVudDpuby1jbG9zZS1xdW90ZTtcbiAgICB9XG4gICAgcDpsYXN0LW9mLXR5cGU6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCIjeyRjbG9zZS1xdW90ZX1cIjtcbiAgICAgICAgY29udGVudDpjbG9zZS1xdW90ZTtcbiAgICB9XG5cbiAgICBxOmJlZm9yZXtcbiAgICAgICAgY29udGVudDpcIlxcMjAxOFwiO1xuICAgICAgICBjb250ZW50Om9wZW4tcXVvdGU7XG4gICAgfVxuICAgIHE6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcXDIwMTlcIjtcbiAgICAgICAgY29udGVudDpjbG9zZS1xdW90ZTtcbiAgICB9XG59XG5cblxuLyoqXG4gKlxuICAgPGJsb2NrcXVvdGU+XG4gICAgICAgPHA+SW5zYW5pdHk6IGRvaW5nIHRoZSBzYW1lIHRoaW5nIG92ZXIgYW5kIG92ZXIgYWdhaW4gYW5kIGV4cGVjdGluZ1xuICAgICAgIGRpZmZlcmVudCByZXN1bHRzLjwvcD5cbiAgICAgICA8YiBjbGFzcz1zb3VyY2U+QWxiZXJ0IEVpbnN0ZWluPC9iPlxuICAgPC9ibG9ja3F1b3RlPlxuICpcbiAqL1xuYmxvY2txdW90ZXtcbiAgICAvKipcbiAgICAgKiAuNGVtIGlzIHJvdWdobHkgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBvcGVuaW5nIOKAnCB0aGF0IHdlIHdpc2ggdG8gaGFuZy5cbiAgICAgKi9cbiAgICB0ZXh0LWluZGVudDotMC40MWVtO1xuXG4gICAgcDpsYXN0LW9mLXR5cGV7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG59XG5cbi5zb3VyY2V7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICB0ZXh0LWluZGVudDowO1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6XCJcXDIwMTRcIjtcbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDT0RFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBVc2UgYW4gZXhwbGljaXQgZm9udCBzdGFjayB0byBlbnN1cmUgYnJvd3NlcnMgcmVuZGVyIGNvcnJlY3QgYGxpbmUtaGVpZ2h0YC5cbiAqL1xucHJle1xuICAgIG92ZXJmbG93OmF1dG87XG59XG4gICAgcHJlIG1hcmt7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQ7XG4gICAgICAgIGNvbG9yOmluaGVyaXQ7XG4gICAgfVxuXG5cbi8qKlxuICogQWRkIGNvbW1lbnRzIHRvIHlvdXIgY29kZSBleGFtcGxlcywgZS5nLjpcbiAqXG4gICA8Y29kZT4mbHQ7L2RpdiZndDs8c3BhbiBjbGFzcz1jb2RlLWNvbW1lbnQ+Jmx0OyEtLSAvd3JhcHBlciAtLSZndDs8L3NwYW4+PC9jb2RlPlxuICpcbiAqL1xuLmNvZGUtY29tbWVudHtcbiAgICAvKipcbiAgICAgKiBPdmVycmlkZSB0aGlzIHNldHRpbmcgaW4geW91ciB0aGVtZSBzdHlsZXNoZWV0XG4gICAgICovXG4gICAgb3BhY2l0eTowLjc1O1xuICAgIGZpbHRlcjphbHBoYShvcGFjaXR5PTc1KTtcbn1cblxuXG4vKipcbiAqIFlvdSBjYW4gYWRkIGxpbmUgbnVtYmVycyB0byB5b3VyIGNvZGUgZXhhbXBsZXMgYnV0IGJlIHdhcm5lZCwgaXQgcmVxdWlyZXNcbiAqIHNvbWUgcHJldHR5IGZ1bmt5IGxvb2tpbmcgbWFya3VwLCBlLmcuOlxuICpcbiAgIDxvbCBjbGFzcz1saW5lLW51bWJlcnM+XG4gICAgICAgPGxpPjxjb2RlPi5uYXZ7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICBsaXN0LXN0eWxlOm5vbmU7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICBtYXJnaW4tbGVmdDowOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT59PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAubmF2ID4gbGksPC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgLm5hdiA+IGxpID4gYXs8L2NvZGU+PC9saT5cbiAgICAgICA8bGk+PGNvZGU+ICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgICAgKmRpc3BsYXk6aW5saW5lLWJsb2NrOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgICAgICAgICB6b29tOjE7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgfTwvY29kZT48L2xpPlxuICAgPC9vbD5cbiAqXG4gKiAxLiBNYWtlIHRoZSBsaXN0IGxvb2sgbGlrZSBjb2RlLlxuICogMi4gR2l2ZSB0aGUgbGlzdCBmbHVzaCBudW1iZXJzIHdpdGggYSBsZWFkaW5nIHplcm8uXG4gKiAzLiBNYWtlIHN1cmUgbGluZXMgb2YgY29kZSBkb27igJl0IHdyYXAuXG4gKiA0LiBHaXZlIHRoZSBjb2RlIGZvcm0gYnkgZm9yY2luZyB0aGUgYGNvZGVgIHRvIGhvbm91ciB3aGl0ZS1zcGFjZS5cbiAqL1xuLmxpbmUtbnVtYmVyc3tcbiAgICBmb250LWZhbWlseTptb25vc3BhY2UsIHNlcmlmOyAgICAgICAgICAgLyogWzFdICovXG4gICAgbGlzdC1zdHlsZTpkZWNpbWFsLWxlYWRpbmctemVybyBpbnNpZGU7IC8qIFsyXSAqL1xuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsgICAgICAgICAgICAgICAgICAgICAvKiBbM10gKi9cbiAgICBvdmVyZmxvdzphdXRvOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogWzNdICovXG4gICAgbWFyZ2luLWxlZnQ6MDtcbn1cbiAgICAubGluZS1udW1iZXJzIGNvZGV7XG4gICAgICAgIHdoaXRlLXNwYWNlOnByZTsgICAgICAgICAgICAgICAgICAgIC8qIFs0XSAqL1xuICAgIH1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJElNQUdFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL3lNdHVyXG4gKi9cbi8qKlxuICogRmx1aWQgaW1hZ2VzLlxuICovXG5pbWd7XG4gICAgbWF4LXdpZHRoOjEwMCU7XG59XG5cblxuLyoqXG4gKiBOb24tZmx1aWQgaW1hZ2VzIGlmIHlvdSBzcGVjaWZ5IGB3aWR0aGAgYW5kL29yIGBoZWlnaHRgIGF0dHJpYnV0ZXMuXG4gKi9cbmltZ1t3aWR0aF0sXG5pbWdbaGVpZ2h0XXtcbiAgICBtYXgtd2lkdGg6bm9uZTtcbn1cblxuXG4vKipcbiAqIFJvdW5kZWQgaW1hZ2VzLlxuICovXG4uaW1nLS1yb3VuZCB7IGJvcmRlci1yYWRpdXM6JGJyYW5kLXJvdW5kOyB9XG5cblxuLyoqXG4gKiBJbWFnZSBwbGFjZW1lbnQgdmFyaWF0aW9ucy5cbiAqL1xuLmltZy0tcmlnaHR7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTokYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgbWFyZ2luLWxlZnQ6JGJhc2Utc3BhY2luZy11bml0O1xufVxuLmltZy0tbGVmdHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDokYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTokYmFzZS1zcGFjaW5nLXVuaXQ7XG59XG4uaW1nLS1jZW50ZXJ7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6YXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdDtcbiAgICBtYXJnaW4tbGVmdDphdXRvO1xufVxuXG5cbi8qKlxuICogS2VlcCB5b3VyIGltYWdlcyBvbiB5b3VyIGJhc2VsaW5lLlxuICpcbiAqIFBsZWFzZSBub3RlLCB0aGVzZSB3aWxsIG5vdCB3b3JrIHRvbyBuaWNlbHkgd2l0aCBmbHVpZCBpbWFnZXMgYW5kIHdpbGxcbiAqIGRpc3RvcnQgd2hlbiByZXNpemVkIGJlbG93IGEgY2VydGFpbiB3aWR0aC4gVXNlIHdpdGggY2F1dGlvbi5cbiAqL1xuLmltZy0tc2hvcnR7XG4gICAgaGVpZ2h0OjUgKiAkYmFzZS1zcGFjaW5nLXVuaXQ7XG59XG4uaW1nLS1tZWRpdW17XG4gICAgaGVpZ2h0OjEwICogJGJhc2Utc3BhY2luZy11bml0O1xufVxuLmltZy0tdGFsbHtcbiAgICBoZWlnaHQ6MTUgKiAkYmFzZS1zcGFjaW5nLXVuaXQ7XG59XG5cblxuLyoqXG4gKiBJbWFnZXMgaW4gYGZpZ3VyZWAgZWxlbWVudHMuXG4gKi9cbmZpZ3VyZSA+IGltZ3tcbiAgICBkaXNwbGF5OmJsb2NrO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTElTVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFJlbW92ZSB2ZXJ0aWNhbCBzcGFjaW5nIGZyb20gbmVzdGVkIGxpc3RzLlxuICovXG5saXtcbiAgICA+IHVsLFxuICAgID4gb2x7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgIH1cbn1cblxuLyoqXG4gKiBIYXZlIGEgbnVtYmVyZWQgYHVsYCB3aXRob3V0IHRoZSBzZW1hbnRpY3MgaW1wbGllZCBieSB1c2luZyBhbiBgb2xgLlxuICovXG4vKnVsKi8ubnVtYmVyZWQtbGlzdHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbDtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFRBQkxFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogV2UgaGF2ZSBhIGxvdCBhdCBvdXIgZGlzcG9zYWwgZm9yIG1ha2luZyB2ZXJ5IGNvbXBsZXggdGFibGUgY29uc3RydWN0cywgZS5nLjpcbiAqXG4gICA8dGFibGUgY2xhc3M9XCJ0YWJsZS0tYm9yZGVyZWQgIHRhYmxlLS1zdHJpcGVkICB0YWJsZS0tZGF0YVwiPlxuICAgICAgIDxjb2xncm91cD5cbiAgICAgICAgICAgPGNvbCBjbGFzcz10MTA+XG4gICAgICAgICAgIDxjb2wgY2xhc3M9dDEwPlxuICAgICAgICAgICA8Y29sIGNsYXNzPXQxMD5cbiAgICAgICAgICAgPGNvbD5cbiAgICAgICA8L2NvbGdyb3VwPlxuICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRoIGNvbHNwYW49Mz5Gb288L3RoPlxuICAgICAgICAgICAgICAgPHRoPkJhcjwvdGg+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0aD5Mb3JlbTwvdGg+XG4gICAgICAgICAgICAgICA8dGg+SXBzdW08L3RoPlxuICAgICAgICAgICAgICAgPHRoIGNsYXNzPW51bWVyaWNhbD5Eb2xvcjwvdGg+XG4gICAgICAgICAgICAgICA8dGg+U2l0PC90aD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICA8L3RoZWFkPlxuICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRoIHJvd3NwYW49Mz5TaXQ8L3RoPlxuICAgICAgICAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1udW1lcmljYWw+MDMuNzg4PC90ZD5cbiAgICAgICAgICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjMyLjIxMDwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgICAgICAgICAgPHRkIGNsYXNzPW51bWVyaWNhbD40Ny43OTc8L3RkPlxuICAgICAgICAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRoIHJvd3NwYW49Mj5TaXQ8L3RoPlxuICAgICAgICAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1udW1lcmljYWw+MDkuNjQwPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjEyLjExNzwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgIDwvdGJvZHk+XG4gICA8L3RhYmxlPlxuICpcbiAqL1xudGFibGV7XG4gICAgd2lkdGg6MTAwJTtcbn1cbnRoLFxudGR7XG4gICAgcGFkZGluZzokYmFzZS1zcGFjaW5nLXVuaXQgLyA0O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NDgwcHgpe1xuICAgICAgICBwYWRkaW5nOiRoYWxmLXNwYWNpbmctdW5pdDtcbiAgICB9XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xufVxuXG5cbi8qKlxuICogQ2VsbCBhbGlnbm1lbnRzXG4gKi9cbltjb2xzcGFuXXtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbn1cbltjb2xzcGFuPVwiMVwiXXtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG5bcm93c3Bhbl17XG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xufVxuW3Jvd3NwYW49XCIxXCJde1xuICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbn1cbi5udW1lcmljYWx7XG4gICAgdGV4dC1hbGlnbjpyaWdodDtcbn1cblxuLyoqXG4gKiBJbiB0aGUgSFRNTCBhYm92ZSB3ZSBzZWUgc2V2ZXJhbCBgY29sYCBlbGVtZW50cyB3aXRoIGNsYXNzZXMgd2hvc2UgbnVtYmVyc1xuICogcmVwcmVzZW50IGEgcGVyY2VudGFnZSB3aWR0aCBmb3IgdGhhdCBjb2x1bW4uIFdlIGxlYXZlIG9uZSBjb2x1bW4gZnJlZSBvZiBhXG4gKiBjbGFzcyBzbyB0aGF0IGNvbHVtbiBjYW4gc29hayB1cCB0aGUgZWZmZWN0cyBvZiBhbnkgYWNjaWRlbnRhbCBicmVha2FnZSBpblxuICogdGhlIHRhYmxlLlxuICovXG4udDUgICAgIHsgd2lkdGg6IDUlIH1cbi50MTAgICAgeyB3aWR0aDoxMCUgfVxuLnQxMiAgICB7IHdpZHRoOjEyLjUlIH0gICAgIC8qIDEvOCAqL1xuLnQxNSAgICB7IHdpZHRoOjE1JSB9XG4udDIwICAgIHsgd2lkdGg6MjAlIH1cbi50MjUgICAgeyB3aWR0aDoyNSUgfSAgICAgICAvKiAxLzQgKi9cbi50MzAgICAgeyB3aWR0aDozMCUgfVxuLnQzMyAgICB7IHdpZHRoOjMzLjMzMyUgfSAgIC8qIDEvMyAqL1xuLnQzNSAgICB7IHdpZHRoOjM1JSB9XG4udDM3ICAgIHsgd2lkdGg6MzcuNSUgfSAgICAgLyogMy84ICovXG4udDQwICAgIHsgd2lkdGg6NDAlIH1cbi50NDUgICAgeyB3aWR0aDo0NSUgfVxuLnQ1MCAgICB7IHdpZHRoOjUwJSB9ICAgICAgIC8qIDEvMiAqL1xuLnQ1NSAgICB7IHdpZHRoOjU1JSB9XG4udDYwICAgIHsgd2lkdGg6NjAlIH1cbi50NjIgICAgeyB3aWR0aDo2Mi41JSB9ICAgICAvKiA1LzggKi9cbi50NjUgICAgeyB3aWR0aDo2NSUgfVxuLnQ2NiAgICB7IHdpZHRoOjY2LjY2NiUgfSAgIC8qIDIvMyAqL1xuLnQ3MCAgICB7IHdpZHRoOjcwJSB9XG4udDc1ICAgIHsgd2lkdGg6NzUlIH0gICAgICAgLyogMy80Ki9cbi50ODAgICAgeyB3aWR0aDo4MCUgfVxuLnQ4NSAgICB7IHdpZHRoOjg1JSB9XG4udDg3ICAgIHsgd2lkdGg6ODcuNSUgfSAgICAgLyogNy84ICovXG4udDkwICAgIHsgd2lkdGg6OTAlIH1cbi50OTUgICAgeyB3aWR0aDo5NSUgfVxuXG5cbi8qKlxuICogQm9yZGVyZWQgdGFibGVzXG4gKi9cbi50YWJsZS0tYm9yZGVyZWR7XG5cbiAgICB0aCxcbiAgICB0ZHtcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkYmFzZS11aS1jb2xvcjtcblxuICAgICAgICAmOmVtcHR5e1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aGVhZCB0cjpsYXN0LWNoaWxkIHRoe1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOjJweDtcbiAgICB9XG5cbiAgICB0Ym9keSB0ciB0aDpsYXN0LW9mLXR5cGV7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDoycHg7XG4gICAgfVxufVxuXG5cbi8qKlxuICogU3RyaXBlZCB0YWJsZXNcbiAqL1xuLnRhYmxlLS1zdHJpcGVke1xuXG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZmZjOyAvKiBPdmVycmlkZSB0aGlzIGNvbG9yIGluIHlvdXIgdGhlbWUgc3R5bGVzaGVldCAqL1xuICAgIH1cbn1cblxuXG4vKipcbiAqIERhdGEgdGFibGVcbiAqL1xuLnRhYmxlLS1kYXRhe1xuICAgIGZvbnQ6MTJweC8xLjUgc2Fucy1zZXJpZjtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZPUk1TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL01oSEhVXG4gKlxuICovXG5maWVsZHNldHtcbiAgICBwYWRkaW5nOiRiYXNlLXNwYWNpbmctdW5pdDtcbn1cblxuXG4vKipcbiAqIFRleHQgaW5wdXRzXG4gKlxuICogSW5zdGVhZCBvZiBhIGBbdHlwZV1gIHNlbGVjdG9yIGZvciBlYWNoIGtpbmQgb2YgZm9ybSBpbnB1dCwgd2UganVzdCB1c2UgYVxuICogY2xhc3MgdG8gdGFyZ2V0IGFueS9ldmVyeSBvbmUsIGUuZy46XG4gICA8aW5wdXQgdHlwZT10ZXh0IGNsYXNzPXRleHQtaW5wdXQ+XG4gICA8aW5wdXQgdHlwZT1lbWFpbCBjbGFzcz10ZXh0LWlucHV0PlxuICAgPGlucHV0IHR5cGU9cGFzc3dvcmQgY2xhc3M9dGV4dC1pbnB1dD5cbiAqXG4gKi9cbi50ZXh0LWlucHV0LFxudGV4dGFyZWF7XG4gICAgLyoqXG4gICAgICogU3R5bGUgdGhlc2UgdmlhIHlvdXIgdGhlbWUgc3R5bGVzaGVldC5cbiAgICAgKi9cbn1cblxuXG4vKipcbiAqIEdyb3VwIHNldHMgb2YgZm9ybSBmaWVsZHMgaW4gYSBsaXN0LCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1mb3JtLWZpZWxkcz5cbiAgICAgICA8bGk+XG4gICAgICAgICAgIDxsYWJlbCAvPlxuICAgICAgICAgICA8aW5wdXQgLz5cbiAgICAgICA8L2xpPlxuICAgICAgIDxsaT5cbiAgICAgICAgICAgPGxhYmVsIC8+XG4gICAgICAgICAgIDxzZWxlY3QgLz5cbiAgICAgICA8L2xpPlxuICAgICAgIDxsaT5cbiAgICAgICAgICAgPGxhYmVsIC8+XG4gICAgICAgICAgIDxpbnB1dCAvPlxuICAgICAgIDwvbGk+XG4gICA8L3VsPlxuICpcbiAqL1xuLmZvcm0tZmllbGRze1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICBtYXJnaW46MDtcbn1cbiAgICAuZm9ybS1maWVsZHMgPiBsaXtcbiAgICAgICAgQGV4dGVuZCAlc2Fzcy1tYXJnaW4tYm90dG9tO1xuICAgIH1cbiAgICAuZm9ybS1maWVsZHMgPiBsaTpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuXG5cbi8qKlxuICogTGFiZWxzXG4gKlxuICogRGVmaW5lIGEgYC5sYWJlbGAgY2xhc3MgYXMgd2VsbCBhcyBhIGBsYWJlbGAgZWxlbWVudC4gVGhpcyBtZWFucyB3ZSBjYW4gYXBwbHlcbiAqIGxhYmVsLWxpa2Ugc3R5bGluZyB0byBtZXRhLWxhYmVscyBmb3IgZ3JvdXBzIG9mIG9wdGlvbnMgd2hlcmUgYSBgbGFiZWxgXG4gKiBlbGVtZW50IGlzIG5vdCBzdWl0YWJsZSwgZS5nLjpcbiAqXG4gICA8bGk+XG4gICAgICAgPHNwYW4gY2xhc3M9bGFiZWw+U2VsZWN0IGFuIG9wdGlvbiBiZWxvdzo8L3NwYW4+XG4gICAgICAgPHVsIGNsYXNzPVwibXVsdGktbGlzdCAgZm91ci1jb2xzXCI+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICA8L3VsPlxuICAgPC9saT5cbiAqXG4gKi9cbmxhYmVsLFxuLmxhYmVse1xuICAgIGRpc3BsYXk6YmxvY2s7XG59XG4gICAgLyoqXG4gICAgICogRXh0cmEgaGVscCB0ZXh0IGluIGBsYWJlbGBzLCBlLmcuOlxuICAgICAqXG4gICAgICAgPGxhYmVsPkNhcmQgbnVtYmVyIDxzbWFsbCBjbGFzcz1hZGRpdGlvbmFsPk5vIHNwYWNlczwvc21hbGw+PC9sYWJlbD5cbiAgICAgKlxuICAgICAqL1xuICAgIC5hZGRpdGlvbmFse1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgfVxuXG5cbi8qXG4gKiBHcm91cHMgb2YgY2hlY2tib3hlcyBhbmQgcmFkaW9zLCBlLmcuOlxuICpcbiAgIDxsaT5cbiAgICAgICA8dWwgY2xhc3M9Y2hlY2stbGlzdD5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgPC91bD5cbiAgIDwvbGk+XG4gKlxuICovXG4uY2hlY2stbGlzdHtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbWFyZ2luOjA7XG59XG4gICAgLypcbiAgICAgKiBMYWJlbHMgaW4gY2hlY2stbGlzdHNcbiAgICAgKi9cbiAgICAuY2hlY2stbGFiZWwsXG4gICAgLmNoZWNrLWxpc3QgbGFiZWwsXG4gICAgLmNoZWNrLWxpc3QgLmxhYmVse1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB9XG5cblxuLyoqXG4gKiBTcG9rZW4gZm9ybXMgYXJlIGZvciBmb3JtcyB0aGF0IHJlYWQgbGlrZSBzcG9rZW4gd29yZCwgZS5nLjpcbiAqXG4gICA8bGkgY2xhc3M9c3Bva2VuLWZvcm0+XG4gICAgICAgSGVsbG8sIG15IDxsYWJlbCBmb3I9c3Bva2VuLW5hbWU+bmFtZTwvbGFiZWw+IGlzXG4gICAgICAgPGlucHV0IHR5cGU9dGV4dCBjbGFzcz10ZXh0LWlucHV0IGlkPXNwb2tlbi1uYW1lPi4gTXkgaG9tZVxuICAgICAgIDxsYWJlbCBmb3I9Y291bnRyeT5jb3VudHJ5PC9sYWJlbD4gaXNcbiAgICAgICA8c2VsZWN0IGlkPWNvdW50cnk+XG4gICAgICAgICAgIDxvcHRpb24+VUs8L29wdGlvbj5cbiAgICAgICAgICAgPG9wdGlvbj5VUzwvb3B0aW9uPlxuICAgICAgICAgICA8b3B0aW9uPk90aGVyPC9vcHRpb24+XG4gICAgICAgPC9zZWxlY3Q+XG4gICA8L2xpPlxuICpcbiAqL1xuLnNwb2tlbi1mb3JtIGxhYmVse1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6aW5oZXJpdDtcbn1cblxuXG4vKipcbiAqIEV4dHJhIGhlbHAgdGV4dCBkaXNwbGF5ZWQgYWZ0ZXIgYSBmaWVsZCB3aGVuIHRoYXQgZmllbGQgaXMgaW4gZm9jdXMsIGUuZy46XG4gKlxuICAgPGxhYmVsIGZvcj1lbWFpbD5FbWFpbDo8L2xhYmVsPlxuICAgPGlucHV0IHR5cGU9ZW1haWwgY2xhc3M9dGV4dC1pbnB1dCBpZD1lbWFpbD5cbiAgIDxzbWFsbCBjbGFzcz1leHRyYS1oZWxwPi5lZHUgZW1haWxzIG9ubHk8L3NtYWxsPlxuICpcbiAqIFdlIGxlYXZlIHRoZSBoZWxwIHRleHQgaW4gdGhlIGRvY3VtZW50IGZsb3cgYW5kIG1lcmVseSBzZXQgaXQgdG9cbiAqIGB2aXNpYmlsaXR5OmhpZGRlbjtgLiBUaGlzIG1lYW5zIHRoYXQgaXQgd29u4oCZdCBpbnRlcmZlcmUgd2l0aCBhbnl0aGluZyBvbmNlXG4gKiBpdCByZWFwcGVhcnMuXG4gKlxuICovXG4vKnNtYWxsKi8uZXh0cmEtaGVscHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB2aXNpYmlsaXR5OmhpZGRlbjtcbn1cbi50ZXh0LWlucHV0OmFjdGl2ZSArIC5leHRyYS1oZWxwLFxuLnRleHQtaW5wdXQ6Zm9jdXMgKyAuZXh0cmEtaGVscHtcbiAgICB2aXNpYmlsaXR5OnZpc2libGU7XG59XG4iLCJAaWYgJHVzZS1ncmlkcyA9PSB0cnVle1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRHUklEU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRmx1aWQgYW5kIG5lc3RhYmxlIGdyaWQgc3lzdGVtLCBlLmcuOlxuICpcbiAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XG5cbiAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXRoaXJkXCI+XG4gICAgICAgICAgIDxwPk9uZSB0aGlyZCBncmlkPC9wPlxuICAgICAgIDwvZGl2PjwhLS1cblxuICAgIC0tPjxkaXYgY2xhc3M9XCJncmlkX19pdGVtICB0d28tdGhpcmRzXCI+XG4gICAgICAgICAgIDxwPlR3byB0aGlyZHMgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLWhhbGZcIj5cbiAgICAgICAgICAgPHA+T25lIGhhbGYgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXF1YXJ0ZXJcIj5cbiAgICAgICAgICAgPHA+T25lIHF1YXJ0ZXIgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXF1YXJ0ZXJcIj5cbiAgICAgICAgICAgPHA+T25lIHF1YXJ0ZXIgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj5cblxuICAgPC9kaXY+XG4gKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL0NMWVVDXG4gKlxuICovXG5cblxuLyoqXG4gKiBHcmlkIHdyYXBwZXJcbiAqL1xuLmdyaWR7XG4gICAgbWFyZ2luLWxlZnQ6LSRiYXNlLXNwYWNpbmctdW5pdDtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTowO1xufVxuXG5cbiAgICAvKipcbiAgICAgKiBWZXJ5IGluZnJlcXVlbnRseSBvY2N1cmluZyBncmlkIHdyYXBwZXJzIGFzIGNoaWxkcmVuIG9mIGdyaWQgd3JhcHBlcnMuXG4gICAgICovXG4gICAgLmdyaWQgPiAuZ3JpZHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEdyaWRcbiAgICAgKi9cbiAgICAuZ3JpZF9faXRlbXtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDokYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbiAgICAgICAgQGlmICRnbG9iYWwtYm9yZGVyLWJveCA9PSBmYWxzZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZlbmRvcihib3gtc2l6aW5nLCBib3JkZXItYm94KTtcbiAgICAgICAgfVxuICAgIH1cblxufS8vZW5kaWZcbiIsIkBpZiAkdXNlLW5hdiA9PSB0cnVlIG9yICR1c2Utb3B0aW9ucyA9PSB0cnVlIG9yICR1c2UtcGFnaW5hdGlvbiA9PSB0cnVlIG9yICR1c2UtYnJlYWRjcnVtYiA9PSB0cnVle1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICROQVZcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIE5hdiBhYnN0cmFjdGlvbiBhcyBwZXI6IGNzc3dpemFyZHJ5LmNvbS8yMDExLzA5L3RoZS1uYXYtYWJzdHJhY3Rpb25cbiAqIFdoZW4gdXNlZCBvbiBhbiBgb2xgIG9yIGB1bGAsIHRoaXMgY2xhc3MgdGhyb3dzIHRoZSBsaXN0IGludG8gaG9yaXpvbnRhbCBtb2RlXG4gKiBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1uYXY+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Ib21lPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5BYm91dDwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+UG9ydGZvbGlvPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Db250YWN0PC9hPjwvbGk+XG4gICA8L3VsPlxuICpcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy9WbnBoNFxuICpcbiAqL1xuLm5hdntcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6MDtcbiAgICBAZXh0ZW5kIC5jZjtcblxuICAgID4gbGl7XG5cbiAgICAgICAgJixcbiAgICAgICAgPiBhe1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICpkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgIHpvb206MTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKipcbiAqIGAubmF2LS1zdGFja2VkYCBleHRlbmRzIGAubmF2YCBhbmQgdGhyb3dzIHRoZSBsaXN0IGludG8gdmVydGljYWwgbW9kZSwgZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9XCJuYXYgIG5hdi0tc3RhY2tlZFwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLXN0YWNrZWR7XG5cbiAgICA+IGxpe1xuICAgICAgICBkaXNwbGF5Omxpc3QtaXRlbTtcblxuICAgICAgICA+IGF7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKlxuICogYC5uYXYtLWJhbm5lcmAgZXh0ZW5kcyBgLm5hdmAgYW5kIGNlbnRyZXMgdGhlIGxpc3QsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWJhbm5lclwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLWJhbm5lcntcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbn1cblxuXG4vKipcbiAqIEdpdmUgbmF2IGxpbmtzIGEgYmlnLCBibG9ja3kgaGl0IGFyZWEuIEV4dGVuZHMgYC5uYXZgLCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1cIm5hdiAgbmF2LS1ibG9ja1wiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLWJsb2Nre1xuICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHdoaXRlc3BhY2UgY2F1c2VkIGJ5IGBpbmxpbmUtYmxvY2tgLlxuICAgICAqL1xuICAgIGxldHRlci1zcGFjaW5nOi0wLjMxZW07XG4gICAgd29yZC1zcGFjaW5nOi0wLjQzZW07XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuXG4gICAgPiBsaXtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6bm9ybWFsO1xuICAgICAgICB3b3JkLXNwYWNpbmc6bm9ybWFsO1xuXG4gICAgICAgID4gYXtcbiAgICAgICAgICAgIHBhZGRpbmc6JGhhbGYtc3BhY2luZy11bml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKlxuICogRm9yY2UgYSBuYXYgdG8gb2NjdXB5IDEwMCUgb2YgdGhlIGF2YWlsYWJsZSB3aWR0aCBvZiBpdHMgcGFyZW50LiBFeHRlbmRzXG4gKiBgLm5hdmAsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWZpdFwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKiBUaGFua3MgdG8gQHBpbXBsIGZvciB0aGlzIGlkZWEhXG4gKi9cbi5uYXYtLWZpdHtcbiAgICBkaXNwbGF5OnRhYmxlO1xuICAgIHdpZHRoOjEwMCU7XG5cbiAgICA+IGxpe1xuICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG5cbiAgICAgICAgPiBhe1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKipcbiAqIE1ha2UgYSBsaXN0IG9mIGtleXdvcmRzLiBFeHRlbmRzIGAubmF2YCwgZS5nLjpcbiAqXG4gICBgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWtleXdvcmRzPmBcbiAqXG4gKi9cbi5uYXYtLWtleXdvcmRze1xuXG4gICAgPiBsaXtcblxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgY29udGVudDpcIlxcMDAyQ1wiIFwiXFwwMEEwXCI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXJ7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbn0vL2VuZGlmXG4iLCJAaWYgJHVzZS1tZWRpYSA9PSB0cnVle1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRNRURJQVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUGxhY2UgYW55IGltYWdlLSBhbmQgdGV4dC1saWtlIGNvbnRlbnQgc2lkZS1ieS1zaWRlLCBhcyBwZXI6XG4gKiBzdHViYm9ybmVsbGEub3JnL2NvbnRlbnQvMjAxMC8wNi8yNS90aGUtbWVkaWEtb2JqZWN0LXNhdmVzLWh1bmRyZWRzLW9mLWxpbmVzLW9mLWNvZGVcbiAqIEUuZy46XG4gKlxuICAgPGRpdiBjbGFzcz1tZWRpYT5cbiAgICAgICA8aW1nIHNyYz1odHRwOi8vcGxhY2VraXR0ZW4uY29tLzIwMC8zMDAgYWx0PVwiXCIgY2xhc3M9bWVkaWFfX2ltZz5cbiAgICAgICA8cCBjbGFzcz1tZWRpYV9fYm9keT5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCxcbiAgICAgICBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS48L3A+XG4gICA8L2Rpdj5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvY2Y0UXNcbiAqXG4gKi9cbi5tZWRpYXtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIEBleHRlbmQgLmNmO1xufVxuICAgIC5tZWRpYV9faW1ne1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6JGJhc2Utc3BhY2luZy11bml0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXZlcnNlZCBpbWFnZSBsb2NhdGlvbiAocmlnaHQgaW5zdGVhZCBvZiBsZWZ0KS5cbiAgICAgKi9cbiAgICAubWVkaWFfX2ltZy0tcmV2e1xuICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6JGJhc2Utc3BhY2luZy11bml0O1xuICAgIH1cblxuICAgICAgICAubWVkaWFfX2ltZyBpbWcsXG4gICAgICAgIC5tZWRpYV9faW1nLS1yZXYgaW1ne1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgfVxuXG4gICAgLm1lZGlhX19ib2R5e1xuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgfVxuICAgICAgICAubWVkaWFfX2JvZHksXG4gICAgICAgIC5tZWRpYV9fYm9keSA+IDpsYXN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIGAuaW1nYHMgaW4gYC5pc2xldGBzIG5lZWQgYW4gYXBwcm9wcmlhdGVseSBzaXplZCBtYXJnaW4uXG4gICAgICovXG4gICAgLmlzbGV0IC5tZWRpYV9faW1ne1xuICAgICAgICBtYXJnaW4tcmlnaHQ6JGhhbGYtc3BhY2luZy11bml0O1xuICAgIH1cbiAgICAuaXNsZXQgLm1lZGlhX19pbWctLXJldntcbiAgICAgICAgbWFyZ2luLWxlZnQ6JGhhbGYtc3BhY2luZy11bml0O1xuICAgIH1cblxufS8vZW5kaWZcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFdJRFRIU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0LiBUaGVzZSBhcmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyXG4gKiBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgZm91bmQgaW4gaW51aXQuY3NzLCBtb3N0IGNvbW1vbmx5IHRoZSBncmlkIHN5c3RlbVxuICogYW5kIGZhdXggZmxleGJveC5cbiAqXG4gKiBXZSBoYXZlIGEgbWl4aW4gdG8gZ2VuZXJhdGUgb3VyIHdpZHRocyBhbmQgdGhlaXIgYnJlYWtwb2ludC1zcGVjaWZpY1xuICogdmFyaWF0aW9ucy5cbiAqL1xuXG5AbWl4aW4gZ3JpZC1zZXR1cCgkbmFtZXNwYWNlOiBcIlwiKSB7XG4gICAgLyoqXG4gICAgKiBXaG9sZVxuICAgICovXG4gICAgLiN7JG5hbWVzcGFjZX1vbmUtd2hvbGUgICAgICAgICB7IHdpZHRoOjEwMCU7IH1cblxuXG4gICAgLyoqXG4gICAgKiBIYWx2ZXNcbiAgICAqL1xuICAgIC4jeyRuYW1lc3BhY2V9b25lLWhhbGYgICAgICAgICAgeyB3aWR0aDo1MCU7IH1cblxuXG4gICAgLyoqXG4gICAgKiBUaGlyZHNcbiAgICAqL1xuICAgIC4jeyRuYW1lc3BhY2V9b25lLXRoaXJkICAgICAgICAgeyB3aWR0aDozMy4zMzMlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10d28tdGhpcmRzICAgICAgICB7IHdpZHRoOjY2LjY2NiU7IH1cblxuXG4gICAgLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4gICAgLiN7JG5hbWVzcGFjZX1vbmUtcXVhcnRlciAgICAgICB7IHdpZHRoOjI1JTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dHdvLXF1YXJ0ZXJzICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAuI3skbmFtZXNwYWNlfXRocmVlLXF1YXJ0ZXJzICAgIHsgd2lkdGg6NzUlOyB9XG5cblxuICAgIC8qKlxuICAgICogRmlmdGhzXG4gICAgKi9cbiAgICAuI3skbmFtZXNwYWNlfW9uZS1maWZ0aCAgICAgICAgIHsgd2lkdGg6MjAlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10d28tZmlmdGhzICAgICAgICB7IHdpZHRoOjQwJTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dGhyZWUtZmlmdGhzICAgICAgeyB3aWR0aDo2MCU7IH1cbiAgICAuI3skbmFtZXNwYWNlfWZvdXItZmlmdGhzICAgICAgIHsgd2lkdGg6ODAlOyB9XG5cblxuICAgIC8qKlxuICAgICogU2l4dGhzXG4gICAgKi9cbiAgICAuI3skbmFtZXNwYWNlfW9uZS1zaXh0aCAgICAgICAgIHsgd2lkdGg6MTYuNjY2JTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dHdvLXNpeHRocyAgICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9b25lLXRoaXJkOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10aHJlZS1zaXh0aHMgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC4jeyRuYW1lc3BhY2V9Zm91ci1zaXh0aHMgICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9dHdvLXRoaXJkczsgfVxuICAgIC4jeyRuYW1lc3BhY2V9Zml2ZS1zaXh0aHMgICAgICAgeyB3aWR0aDo4My4zMzMlOyB9XG5cblxuICAgIC8qKlxuICAgICogRWlnaHRoc1xuICAgICovXG4gICAgLiN7JG5hbWVzcGFjZX1vbmUtZWlnaHRoICAgICAgICB7IHdpZHRoOjEyLjUlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10d28tZWlnaHRocyAgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1vbmUtcXVhcnRlcjsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dGhyZWUtZWlnaHRocyAgICAgeyB3aWR0aDozNy41JTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9Zm91ci1laWdodGhzICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAuI3skbmFtZXNwYWNlfWZpdmUtZWlnaHRocyAgICAgIHsgd2lkdGg6NjIuNSU7IH1cbiAgICAuI3skbmFtZXNwYWNlfXNpeC1laWdodGhzICAgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfXRocmVlLXF1YXJ0ZXJzOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1zZXZlbi1laWdodGhzICAgICB7IHdpZHRoOjg3LjUlOyB9XG5cblxuICAgIC8qKlxuICAgICogVGVudGhzXG4gICAgKi9cbiAgICAuI3skbmFtZXNwYWNlfW9uZS10ZW50aCAgICAgICAgIHsgd2lkdGg6MTAlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10d28tdGVudGhzICAgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1vbmUtZmlmdGg7IH1cbiAgICAuI3skbmFtZXNwYWNlfXRocmVlLXRlbnRocyAgICAgIHsgd2lkdGg6MzAlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1mb3VyLXRlbnRocyAgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX10d28tZmlmdGhzOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1maXZlLXRlbnRocyAgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC4jeyRuYW1lc3BhY2V9c2l4LXRlbnRocyAgICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9dGhyZWUtZmlmdGhzOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1zZXZlbi10ZW50aHMgICAgICB7IHdpZHRoOjcwJTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9ZWlnaHQtdGVudGhzICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9Zm91ci1maWZ0aHM7IH1cbiAgICAuI3skbmFtZXNwYWNlfW5pbmUtdGVudGhzICAgICAgIHsgd2lkdGg6OTAlOyB9XG5cblxuICAgIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAgIC4jeyRuYW1lc3BhY2V9b25lLXR3ZWxmdGggICAgICAgeyB3aWR0aDo4LjMzMyU7IH1cbiAgICAuI3skbmFtZXNwYWNlfXR3by10d2VsZnRocyAgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfW9uZS1zaXh0aDsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dGhyZWUtdHdlbGZ0aHMgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9b25lLXF1YXJ0ZXI7IH1cbiAgICAuI3skbmFtZXNwYWNlfWZvdXItdHdlbGZ0aHMgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfW9uZS10aGlyZDsgfVxuICAgIC4jeyRuYW1lc3BhY2V9Zml2ZS10d2VsZnRocyAgICAgeyB3aWR0aDo0MS42NjYlIH1cbiAgICAuI3skbmFtZXNwYWNlfXNpeC10d2VsZnRocyAgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfW9uZS1oYWxmOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1zZXZlbi10d2VsZnRocyAgICB7IHdpZHRoOjU4LjMzMyU7IH1cbiAgICAuI3skbmFtZXNwYWNlfWVpZ2h0LXR3ZWxmdGhzICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfXR3by10aGlyZHM7IH1cbiAgICAuI3skbmFtZXNwYWNlfW5pbmUtdHdlbGZ0aHMgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfXRocmVlLXF1YXJ0ZXJzOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10ZW4tdHdlbGZ0aHMgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1maXZlLXNpeHRoczsgfVxuICAgIC4jeyRuYW1lc3BhY2V9ZWxldmVuLXR3ZWxmdGhzICAgeyB3aWR0aDo5MS42NjYlOyB9XG59XG5cbkBpbmNsdWRlIGdyaWQtc2V0dXAoKTtcblxuXG5cbi8qKlxuICogSWYgeW91IGhhdmUgc2V0IGAkcmVzcG9uc2l2ZWAgdG8g4oCYdHJ1ZeKAmSBpbiBgX3ZhcnMuc2Nzc2AgdGhlbiB5b3Ugbm93IGhhdmVcbiAqIGFjY2VzcyB0byB0aGVzZSBjbGFzc2VzLiBZb3UgY2FuIGRlZmluZSBhdCB3aGljaCBicmVha3BvaW50IHlvdeKAmWQgbGlrZSBhblxuICogZWxlbWVudCB0byBiZSBhIGNlcnRhaW4gc2l6ZSwgZS5nLjpcbiAqXG4gKiBgPGRpdiBjbGFzcz1cImcgIG9uZS1xdWFydGVyICBsYXAtb25lLWhhbGYgIHBhbG0tb25lLXdob2xlXCI+IC4uLiA8L2Rpdj5gXG4gKlxuICogVGhpcyB3b3VsZCBjcmVhdGUgYSBgZGl2YCB0aGF0LCBhdCDigJhkZXNrdG9w4oCZIHNpemVzLCB0YWtlcyB1cCBhIHF1YXJ0ZXIgb2YgdGhlXG4gKiBob3Jpem9udGFsIHNwYWNlLCBhIGhhbGYgb2YgdGhhdCBzcGFjZSBhdCDigJh0YWJsZXTigJkgc2l6ZXMsIGFuZCBnb2VzIGZ1bGwgd2lkdGhcbiAqIGF0IOKAmG1vYmlsZeKAmSBzaXplcy5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvV1M0R2VcbiAqXG4gKi9cblxuQGlmICRyZXNwb25zaXZlID09IHRydWV7XG5cbkBpbmNsdWRlIG1lZGlhLXF1ZXJ5KHBhbG0pe1xuICAgIEBpbmNsdWRlIGdyaWQtc2V0dXAoXCJwYWxtLVwiKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwKXtcbiAgICBAaW5jbHVkZSBncmlkLXNldHVwKFwibGFwLVwiKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwLWFuZC11cCl7XG4gICAgQGluY2x1ZGUgZ3JpZC1zZXR1cChcImxhcC1hbmQtdXAtXCIpO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1xdWVyeShwb3J0YWJsZSl7XG4gICAgQGluY2x1ZGUgZ3JpZC1zZXR1cChcInBvcnRhYmxlLVwiKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtcXVlcnkoZGVzayl7XG4gICAgQGluY2x1ZGUgZ3JpZC1zZXR1cChcImRlc2stXCIpO1xufVxuXG5cbi8qKlxuICogSWYgeW91IGhhdmUgc2V0IHRoZSBhZGRpdGlvbmFsIGAkcmVzcG9uc2l2ZS1leHRyYWAgdmFyaWFibGUgdG8g4oCYdHJ1ZeKAmSBpblxuICogYF92YXJzLnNjc3NgIHRoZW4geW91IG5vdyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGNsYXNzIGF2YWlsYWJsZSB0b1xuICogYWNjb21vZGF0ZSBtdWNoIGxhcmdlciBzY3JlZW4gcmVzb2x1dGlvbnMuXG4gKi9cblxuQGlmICRyZXNwb25zaXZlLWV4dHJhID09IHRydWV7XG5cbkBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGRlc2std2lkZSl7XG4gICAgQGluY2x1ZGUgZ3JpZC1zZXR1cChcImRlc2std2lkZS1cIik7XG59XG5cbn1cblxufSAvKiBlbmRpZiAqL1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUFVTSFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUHVzaCBjbGFzc2VzLCB0byBtb3ZlIGdyaWQgaXRlbXMgb3ZlciB0byB0aGUgcmlnaHQgYnkgY2VydGFpbiBhbW91bnRzLlxuICovXG5cbkBtaXhpbiBwdXNoLXNldHVwKCRuYW1lc3BhY2U6IFwiXCIpIHtcblxuICAgIC8qKlxuICAgICAqIFdob2xlXG4gICAgICovXG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtd2hvbGUgICAgICAgICAgIHsgbGVmdDoxMDAlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIEhhbHZlc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLWhhbGYgICAgICAgICAgICB7IGxlZnQ6NTAlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIFRoaXJkc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLXRoaXJkICAgICAgICAgICB7IGxlZnQ6MzMuMzMzJTsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dHdvLXRoaXJkcyAgICAgICAgICB7IGxlZnQ6NjYuNjY2JTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBRdWFydGVyc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLXF1YXJ0ZXIgICAgICAgICB7IGxlZnQ6MjUlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tcXVhcnRlcnMgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1oYWxmOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10aHJlZS1xdWFydGVycyAgICAgIHsgbGVmdDo3NSU7IH1cblxuXG4gICAgLyoqXG4gICAgICogRmlmdGhzXG4gICAgICovXG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtZmlmdGggICAgICAgICAgIHsgbGVmdDoyMCU7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfXR3by1maWZ0aHMgICAgICAgICAgeyBsZWZ0OjQwJTsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtZmlmdGhzICAgICAgICB7IGxlZnQ6NjAlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1mb3VyLWZpZnRocyAgICAgICAgIHsgbGVmdDo4MCU7IH1cblxuXG4gICAgLyoqXG4gICAgICogU2l4dGhzXG4gICAgICovXG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtc2l4dGggICAgICAgICAgIHsgbGVmdDoxNi42NjYlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tc2l4dGhzICAgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS10aGlyZDsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtc2l4dGhzICAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zm91ci1zaXh0aHMgICAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tdGhpcmRzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1maXZlLXNpeHRocyAgICAgICAgIHsgbGVmdDo4My4zMzMlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIEVpZ2h0aHNcbiAgICAgKi9cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1laWdodGggICAgICAgICAgeyBsZWZ0OjEyLjUlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tZWlnaHRocyAgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1xdWFydGVyOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10aHJlZS1laWdodGhzICAgICAgIHsgbGVmdDozNy41JTsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zm91ci1laWdodGhzICAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zml2ZS1laWdodGhzICAgICAgICB7IGxlZnQ6NjIuNSU7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfXNpeC1laWdodGhzICAgICAgICAgeyBAZXh0ZW5kIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtcXVhcnRlcnM7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfXNldmVuLWVpZ2h0aHMgICAgICAgeyBsZWZ0Ojg3LjUlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIFRlbnRoc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLXRlbnRoICAgICAgICAgICB7IGxlZnQ6MTAlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tdGVudGhzICAgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1maWZ0aDsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtdGVudGhzICAgICAgICB7IGxlZnQ6MzAlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1mb3VyLXRlbnRocyAgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfXR3by1maWZ0aHM7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfWZpdmUtdGVudGhzICAgICAgICAgeyBAZXh0ZW5kIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfXNpeC10ZW50aHMgICAgICAgICAgeyBAZXh0ZW5kIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtZmlmdGhzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1zZXZlbi10ZW50aHMgICAgICAgIHsgbGVmdDo3MCU7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfWVpZ2h0LXRlbnRocyAgICAgICAgeyBAZXh0ZW5kIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zm91ci1maWZ0aHM7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfW5pbmUtdGVudGhzICAgICAgICAgeyBsZWZ0OjkwJTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBUd2VsZnRoc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLXR3ZWxmdGggICAgICAgICB7IGxlZnQ6OC4zMzMlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tdHdlbGZ0aHMgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1zaXh0aDsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtdHdlbGZ0aHMgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtcXVhcnRlcjsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zm91ci10d2VsZnRocyAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtdGhpcmQ7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfWZpdmUtdHdlbGZ0aHMgICAgICAgeyBsZWZ0OjQxLjY2NiUgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9c2l4LXR3ZWxmdGhzICAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9c2V2ZW4tdHdlbGZ0aHMgICAgICB7IGxlZnQ6NTguMzMzJTsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9ZWlnaHQtdHdlbGZ0aHMgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tdGhpcmRzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1uaW5lLXR3ZWxmdGhzICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfXRocmVlLXF1YXJ0ZXJzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10ZW4tdHdlbGZ0aHMgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfWZpdmUtc2l4dGhzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1lbGV2ZW4tdHdlbGZ0aHMgICAgIHsgbGVmdDo5MS42NjYlOyB9XG59XG5cbkBpZiAkcHVzaCA9PSB0cnVle1xuXG5AaW5jbHVkZSBwdXNoLXNldHVwKCk7XG5cbi8qKlxuICogTm90IGEgcGFydGljdWxhcmx5IGdyZWF0IHNlbGVjdG9yLCBidXQgdGhlIERSWWVzdCB3YXkgdG8gZG8gdGhpbmdzLlxuICovXG5bY2xhc3MqPVwicHVzaC0tXCJdeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfVxuXG5AaWYgJHBhbG0tcHVzaCA9PSB0cnVle1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkocGFsbSl7XG4gICAgICAgIEBpbmNsdWRlIHB1c2gtc2V0dXAoXCJwYWxtLVwiKTtcbiAgICB9XG5cbn1cblxuQGlmICRsYXAtcHVzaCA9PSB0cnVle1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwKXtcbiAgICAgICAgQGluY2x1ZGUgcHVzaC1zZXR1cChcImxhcC1cIik7XG4gICAgfVxuXG59XG5cbkBpZiAkbGFwLWFuZC11cC1wdXNoID09IHRydWV7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXAtYW5kLXVwKXtcbiAgICAgICAgQGluY2x1ZGUgcHVzaC1zZXR1cChcImxhcC1hbmQtdXAtXCIpO1xuICAgIH1cblxufVxuXG5AaWYgJHBvcnRhYmxlLXB1c2ggPT0gdHJ1ZXtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KHBvcnRhYmxlKXtcbiAgICAgICAgQGluY2x1ZGUgcHVzaC1zZXR1cChcInBvcnRhYmxlLVwiKTtcbiAgICB9XG5cbn1cblxuQGlmICRkZXNrLXB1c2ggPT0gdHJ1ZXtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGRlc2spe1xuICAgICAgICBAaW5jbHVkZSBwdXNoLXNldHVwKFwiZGVzay1cIik7XG4gICAgfVxuXG59XG5cbn0vL2VuZGlmXG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRQVUxMXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQdWxsIGNsYXNzZXMsIHRvIG1vdmUgZ3JpZCBpdGVtcyBvdmVyIHRvIHRoZSByaWdodCBieSBjZXJ0YWluIGFtb3VudHMuXG4gKi9cblxuQG1peGluIHB1bGwtc2V0dXAoJG5hbWVzcGFjZTogXCJcIikge1xuXG4gICAgLyoqXG4gICAgICogV2hvbGVcbiAgICAgKi9cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS13aG9sZSAgICAgICAgICAgeyByaWdodDoxMDAlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIEhhbHZlc1xuICAgICAqL1xuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLWhhbGYgICAgICAgICAgICB7IHJpZ2h0OjUwJTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBUaGlyZHNcbiAgICAgKi9cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS10aGlyZCAgICAgICAgICAgeyByaWdodDozMy4zMzMlOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX10d28tdGhpcmRzICAgICAgICAgIHsgcmlnaHQ6NjYuNjY2JTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBRdWFydGVyc1xuICAgICAqL1xuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLXF1YXJ0ZXIgICAgICAgICB7IHJpZ2h0OjI1JTsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXF1YXJ0ZXJzICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dGhyZWUtcXVhcnRlcnMgICAgICB7IHJpZ2h0Ojc1JTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBGaWZ0aHNcbiAgICAgKi9cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS1maWZ0aCAgICAgICAgICAgeyByaWdodDoyMCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXR3by1maWZ0aHMgICAgICAgICAgeyByaWdodDo0MCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXRocmVlLWZpZnRocyAgICAgICAgeyByaWdodDo2MCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZvdXItZmlmdGhzICAgICAgICAgeyByaWdodDo4MCU7IH1cblxuXG4gICAgLyoqXG4gICAgICogU2l4dGhzXG4gICAgICovXG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtc2l4dGggICAgICAgICAgIHsgcmlnaHQ6MTYuNjY2JTsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXNpeHRocyAgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtdGhpcmQ7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXRocmVlLXNpeHRocyAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZvdXItc2l4dGhzICAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXRoaXJkczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9Zml2ZS1zaXh0aHMgICAgICAgICB7IHJpZ2h0OjgzLjMzMyU7IH1cblxuXG4gICAgLyoqXG4gICAgICogRWlnaHRoc1xuICAgICAqL1xuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLWVpZ2h0aCAgICAgICAgICB7IHJpZ2h0OjEyLjUlOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX10d28tZWlnaHRocyAgICAgICAgIHsgQGV4dGVuZCAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS1xdWFydGVyOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS1laWdodGhzICAgICAgIHsgcmlnaHQ6MzcuNSU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZvdXItZWlnaHRocyAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZpdmUtZWlnaHRocyAgICAgICAgeyByaWdodDo2Mi41JTsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2l4LWVpZ2h0aHMgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS1xdWFydGVyczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2V2ZW4tZWlnaHRocyAgICAgICB7IHJpZ2h0Ojg3LjUlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIFRlbnRoc1xuICAgICAqL1xuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLXRlbnRoICAgICAgICAgICB7IHJpZ2h0OjEwJTsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXRlbnRocyAgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtZmlmdGg7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXRocmVlLXRlbnRocyAgICAgICAgeyByaWdodDozMCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZvdXItdGVudGhzICAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLWZpZnRoczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9Zml2ZS10ZW50aHMgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2l4LXRlbnRocyAgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS1maWZ0aHM7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXNldmVuLXRlbnRocyAgICAgICAgeyByaWdodDo3MCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWVpZ2h0LXRlbnRocyAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9Zm91ci1maWZ0aHM7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW5pbmUtdGVudGhzICAgICAgICAgeyByaWdodDo5MCU7IH1cblxuXG4gICAgLyoqXG4gICAgICogVHdlbGZ0aHNcbiAgICAgKi9cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS10d2VsZnRoICAgICAgICAgeyByaWdodDo4LjMzMyU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXR3by10d2VsZnRocyAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLXNpeHRoOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS10d2VsZnRocyAgICAgIHsgQGV4dGVuZCAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS1xdWFydGVyOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX1mb3VyLXR3ZWxmdGhzICAgICAgIHsgQGV4dGVuZCAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS10aGlyZDsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9Zml2ZS10d2VsZnRocyAgICAgICB7IHJpZ2h0OjQxLjY2NiUgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2l4LXR3ZWxmdGhzICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2V2ZW4tdHdlbGZ0aHMgICAgICB7IHJpZ2h0OjU4LjMzMyU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWVpZ2h0LXR3ZWxmdGhzICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXRoaXJkczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9bmluZS10d2VsZnRocyAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS1xdWFydGVyczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dGVuLXR3ZWxmdGhzICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1maXZlLXNpeHRoczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9ZWxldmVuLXR3ZWxmdGhzICAgICB7IHJpZ2h0OjkxLjY2NiU7IH1cbn1cblxuQGlmICRwdWxsID09IHRydWV7XG5cbi8qKlxuICogTm90IGEgcGFydGljdWxhcmx5IGdyZWF0IHNlbGVjdG9yLCBidXQgdGhlIERSWWVzdCB3YXkgdG8gZG8gdGhpbmdzLlxuICovXG5bY2xhc3MqPVwicHVsbC0tXCJdeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfVxuXG5AaW5jbHVkZSBwdWxsLXNldHVwKCk7XG5cbkBpZiAkcGFsbS1wdWxsID09IHRydWV7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShwYWxtKXtcbiAgICAgICAgQGluY2x1ZGUgcHVsbC1zZXR1cChcInBhbG0tXCIpO1xuICAgIH1cblxufVxuXG5AaWYgJGxhcC1wdWxsID09IHRydWV7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXApe1xuICAgICAgICBAaW5jbHVkZSBwdWxsLXNldHVwKFwibGFwLVwiKTtcbiAgICB9XG5cbn1cblxuQGlmICRsYXAtYW5kLXVwLXB1bGwgPT0gdHJ1ZXtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApe1xuICAgICAgICBAaW5jbHVkZSBwdWxsLXNldHVwKFwibGFwLWFuZC11cC1cIik7XG4gICAgfVxuXG59XG5cbkBpZiAkcG9ydGFibGUtcHVsbCA9PSB0cnVle1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkocG9ydGFibGUpe1xuICAgICAgICBAaW5jbHVkZSBwdWxsLXNldHVwKFwicG9ydGFibGUtXCIpO1xuICAgIH1cblxufVxuXG5AaWYgJGRlc2stcHVsbCA9PSB0cnVle1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkoZGVzayl7XG4gICAgICAgIEBpbmNsdWRlIHB1bGwtc2V0dXAoXCJkZXNrLVwiKTtcbiAgICB9XG5cbn1cblxufS8vZW5kaWZcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJSQU5EXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBgLmJyYW5kYCBpcyBhIHF1aWNrIGFuZCBzaW1wbGUgd2F5IHRvIGFwcGx5IHlvdXIgYnJhbmQgZmFjZSBhbmQvb3IgY29sb3IgdG9cbiAqIGFueSBlbGVtZW50IHVzaW5nIGEgaGFuZHkgaGVscGVyIGNsYXNzLlxuICovXG4uYnJhbmR7XG4gICAgZm9udC1mYW1pbHk6JGJyYW5kLWZhY2UgKyFpbXBvcnRhbnQ7XG4gICAgY29sb3I6JGJyYW5kLWNvbG9yICshaW1wb3J0YW50O1xufVxuLmJyYW5kLWZhY2V7XG4gICAgZm9udC1mYW1pbHk6JGJyYW5kLWZhY2UgKyFpbXBvcnRhbnQ7XG59XG4uYnJhbmQtY29sb3IsXG4uYnJhbmQtY29sb3Vye1xuICAgIGNvbG9yOiRicmFuZC1jb2xvciArIWltcG9ydGFudDtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEhFTFBFUlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQSBzZXJpZXMgb2YgaGVscGVyIGNsYXNzZXMgdG8gdXNlIGFyYml0cmFyaWx5LiBPbmx5IHVzZSBhIGhlbHBlciBjbGFzcyBpZiBhblxuICogZWxlbWVudC9jb21wb25lbnQgZG9lc27igJl0IGFscmVhZHkgaGF2ZSBhIGNsYXNzIHRvIHdoaWNoIHlvdSBjb3VsZCBhcHBseSB0aGlzXG4gKiBzdHlsaW5nLCBlLmcuIGlmIHlvdSBuZWVkIHRvIGZsb2F0IGAubWFpbi1uYXZgIGxlZnQgdGhlbiBhZGQgYGZsb2F0OmxlZnQ7YCB0b1xuICogdGhhdCBydWxlc2V0IGFzIG9wcG9zZWQgdG8gYWRkaW5nIHRoZSBgLmZsb2F0LS1sZWZ0YCBjbGFzcyB0byB0aGUgbWFya3VwLlxuICpcbiAqIEEgbG90IG9mIHRoZXNlIGNsYXNzZXMgY2FycnkgYCFpbXBvcnRhbnRgIGFzIHlvdSB3aWxsIGFsd2F5cyB3YW50IHRoZW0gdG8gd2luXG4gKiBvdXQgb3ZlciBvdGhlciBzZWxlY3RvcnMuXG4gKi9cblxuXG4vKipcbiAqIEFkZC9yZW1vdmUgZmxvYXRzXG4gKi9cbi5mbG9hdC0tcmlnaHQgICB7IGZsb2F0OnJpZ2h0IWltcG9ydGFudDsgfVxuLmZsb2F0LS1sZWZ0ICAgIHsgZmxvYXQ6bGVmdCAhaW1wb3J0YW50OyB9XG4uZmxvYXQtLW5vbmUgICAgeyBmbG9hdDpub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vKipcbiAqIFRleHQgYWxpZ25tZW50XG4gKi9cbi50ZXh0LS1sZWZ0ICAgICB7IHRleHQtYWxpZ246bGVmdCAgIWltcG9ydGFudDsgfVxuLnRleHQtLWNlbnRlciAgIHsgdGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50OyB9XG4udGV4dC0tcmlnaHQgICAgeyB0ZXh0LWFsaWduOnJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuXG4vKipcbiAqIEZvbnQgd2VpZ2h0c1xuICovXG4ud2VpZ2h0LS1saWdodCAgICAgIHsgZm9udC13ZWlnaHQ6MzAwIWltcG9ydGFudDsgfVxuLndlaWdodC0tbm9ybWFsICAgICB7IGZvbnQtd2VpZ2h0OjQwMCFpbXBvcnRhbnQ7IH1cbi53ZWlnaHQtLXNlbWlib2xkICAgeyBmb250LXdlaWdodDo2MDAhaW1wb3J0YW50OyB9XG5cblxuLyoqXG4gKiBBZGQvcmVtb3ZlIG1hcmdpbnNcbiAqL1xuLnB1c2ggICAgICAgICAgIHsgbWFyZ2luOiAgICAgICAkYmFzZS1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC0tdG9wICAgICAgeyBtYXJnaW4tdG9wOiAgICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5wdXNoLS1yaWdodCAgICB7IG1hcmdpbi1yaWdodDogJGJhc2Utc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuLnB1c2gtLWJvdHRvbSAgIHsgbWFyZ2luLWJvdHRvbTokYmFzZS1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC0tbGVmdCAgICAgeyBtYXJnaW4tbGVmdDogICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5wdXNoLS1lbmRzICAgICB7IG1hcmdpbi10b3A6ICAgJGJhc2Utc3BhY2luZy11bml0IWltcG9ydGFudDsgbWFyZ2luLWJvdHRvbTokYmFzZS1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC0tc2lkZXMgICAgeyBtYXJnaW4tcmlnaHQ6ICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OiAgJGJhc2Utc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuXG4ucHVzaC1oYWxmICAgICAgICAgIHsgbWFyZ2luOiAgICAgICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS10b3AgICAgIHsgbWFyZ2luLXRvcDogICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS1yaWdodCAgIHsgbWFyZ2luLXJpZ2h0OiAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS1ib3R0b20gIHsgbWFyZ2luLWJvdHRvbTokaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS1sZWZ0ICAgIHsgbWFyZ2luLWxlZnQ6ICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS1lbmRzICAgIHsgbWFyZ2luLXRvcDogICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOiRoYWxmLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5wdXNoLWhhbGYtLXNpZGVzICAgeyBtYXJnaW4tcmlnaHQ6ICRoYWxmLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OiAgJGhhbGYtc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuXG4uZmx1c2ggICAgICAgICAgeyBtYXJnaW46ICAgICAgIDAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLXRvcCAgICAgeyBtYXJnaW4tdG9wOiAgIDAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLXJpZ2h0ICAgeyBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLWJvdHRvbSAgeyBtYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLWxlZnQgICAgeyBtYXJnaW4tbGVmdDogIDAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLWVuZHMgICAgeyBtYXJnaW4tdG9wOiAgIDAhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLXNpZGVzICAgeyBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDogIDAhaW1wb3J0YW50OyB9XG5cblxuLyoqXG4gKiBBZGQvcmVtb3ZlIHBhZGRpbmdzXG4gKi9cbi5zb2Z0ICAgICAgICAgICB7IHBhZGRpbmc6ICAgICAgICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS10b3AgICAgICB7IHBhZGRpbmctdG9wOiAgICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1yaWdodCAgICB7IHBhZGRpbmctcmlnaHQ6ICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1ib3R0b20gICB7IHBhZGRpbmctYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1sZWZ0ICAgICB7IHBhZGRpbmctbGVmdDogICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1lbmRzICAgICB7IHBhZGRpbmctdG9wOiAgICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IHBhZGRpbmctYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1zaWRlcyAgICB7IHBhZGRpbmctcmlnaHQ6ICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDogICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cblxuLnNvZnQtaGFsZiAgICAgICAgICAgeyBwYWRkaW5nOiAgICAgICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4uc29mdC1oYWxmLS10b3AgICAgICB7IHBhZGRpbmctdG9wOiAgICRoYWxmLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LWhhbGYtLXJpZ2h0ICAgIHsgcGFkZGluZy1yaWdodDogJGhhbGYtc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuLnNvZnQtaGFsZi0tYm90dG9tICAgeyBwYWRkaW5nLWJvdHRvbTokaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4uc29mdC1oYWxmLS1sZWZ0ICAgICB7IHBhZGRpbmctbGVmdDogICRoYWxmLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LWhhbGYtLWVuZHMgICAgIHsgcGFkZGluZy10b3A6ICAgJGhhbGYtc3BhY2luZy11bml0IWltcG9ydGFudDsgcGFkZGluZy1ib3R0b206JGhhbGYtc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuLnNvZnQtaGFsZi0tc2lkZXMgICAgeyBwYWRkaW5nLXJpZ2h0OiAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6ICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG5cbi5oYXJkICAgICAgICAgICB7IHBhZGRpbmc6ICAgICAgIDAhaW1wb3J0YW50OyB9XG4uaGFyZC0tdG9wICAgICAgeyBwYWRkaW5nLXRvcDogICAwIWltcG9ydGFudDsgfVxuLmhhcmQtLXJpZ2h0ICAgIHsgcGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7IH1cbi5oYXJkLS1ib3R0b20gICB7IHBhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50OyB9XG4uaGFyZC0tbGVmdCAgICAgeyBwYWRkaW5nLWxlZnQ6ICAwIWltcG9ydGFudDsgfVxuLmhhcmQtLWVuZHMgICAgIHsgcGFkZGluZy10b3A6ICAgMCFpbXBvcnRhbnQ7IHBhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50OyB9XG4uaGFyZC0tc2lkZXMgICAgeyBwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OiAgMCFpbXBvcnRhbnQ7IH1cblxuXG4vKipcbiAqIFB1bGwgaXRlbXMgZnVsbCB3aWR0aCBvZiBgLmlzbGFuZGAgcGFyZW50cy5cbiAqL1xuLmZ1bGwtYmxlZWR7XG4gICAgbWFyZ2luLXJpZ2h0Oi0kYmFzZS1zcGFjaW5nLXVuaXQhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJhc2Utc3BhY2luZy11bml0IWltcG9ydGFudDtcblxuICAgIC5pc2xldCAme1xuICAgICAgICBtYXJnaW4tcmlnaHQ6LSgkaGFsZi1zcGFjaW5nLXVuaXQpIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJGhhbGYtc3BhY2luZy11bml0KSFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8qKlxuICogQWRkIGEgaGVscCBjdXJzb3IgdG8gYW55IGVsZW1lbnQgdGhhdCBnaXZlcyB0aGUgdXNlciBleHRyYSBpbmZvcm1hdGlvbiBvblxuICogYDpob3ZlcmAuXG4gKi9cbi5pbmZvcm1hdGl2ZXtcbiAgICBjdXJzb3I6aGVscCFpbXBvcnRhbnQ7XG59XG5cblxuLyoqXG4gKiBNdXRlIGFuIG9iamVjdCBieSByZWR1Y2luZyBpdHMgb3BhY2l0eS5cbiAqL1xuLm11dGVke1xuICAgIG9wYWNpdHk6MC41IWltcG9ydGFudDtcbiAgICBmaWx0ZXI6YWxwaGEob3BhY2l0eSA9IDUwKSFpbXBvcnRhbnQ7XG59XG5cblxuLyoqXG4gKiBBbGlnbiBpdGVtcyB0byB0aGUgcmlnaHQgd2hlcmUgdGhleSBpbXBseSBwcm9ncmVzc2lvbi9tb3ZlbWVudCBmb3J3YXJkLCBlLmcuOlxuICpcbiAgIDxwIGNsYXNzPXByb2NlZWQ+PGEgaHJlZj0jPlJlYWQgbW9yZS4uLjwvYT48L3A+XG4gKlxuICovXG4ucHJvY2VlZHtcbiAgICB0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudDtcbn1cblxuXG4vKipcbiAqIEFkZCBhIHJpZ2h0LWFuZ2xlZCBxdW90ZSB0byBsaW5rcyB0aGF0IGltcGx5IG1vdmVtZW50LCBlLmcuOlxuICpcbiAgIDxhIGhyZWY9IyBjbGFzcz1nbz5SZWFkIG1vcmU8L2E+XG4gKlxuICovXG4uZ286YWZ0ZXJ7XG4gICAgY29udGVudDpcIlxcMDBBMFwiIFwiXFwwMEJCXCIhaW1wb3J0YW50O1xufVxuXG5cbi8qKlxuICogQXBwbHkgY2FwaXRhbCBjYXNlIHRvIGFuIGVsZW1lbnQgKHVzdWFsbHkgYSBgc3Ryb25nYCkuXG4gKi9cbi5jYXBze1xuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSFpbXBvcnRhbnQ7XG59XG5cblxuLyoqXG4gKiBIaWRlIGNvbnRlbnQgb2ZmLXNjcmVlbiB3aXRob3V0IHJlc29ydGluZyB0byBgZGlzcGxheTpub25lO2AsIGFsc28gcHJvdmlkZVxuICogYnJlYWtwb2ludCBzcGVjaWZpYyBoaWRkZW4gZWxlbWVudHMuXG4gKi9cbkBtaXhpbiBhY2Nlc3NpYmlsaXR5e1xuICAgIGJvcmRlcjowIWltcG9ydGFudDtcbiAgICBjbGlwOnJlY3QoMCAwIDAgMCkhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxcHghaW1wb3J0YW50O1xuICAgIG1hcmdpbjotMXB4IWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O1xuICAgIHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlIWltcG9ydGFudDtcbiAgICB3aWR0aDoxcHghaW1wb3J0YW50O1xufVxuLmFjY2Vzc2liaWxpdHksXG4udmlzdWFsbHloaWRkZW57XG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eTtcbn1cbkBpZiAkcmVzcG9uc2l2ZXtcbiAgICBAZWFjaCAkc3RhdGUgaW4gcGFsbSwgbGFwLCBsYXAtYW5kLXVwLCBwb3J0YWJsZSwgZGVzaywgZGVzay13aWRle1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeSgjeyRzdGF0ZX0pe1xuICAgICAgICAgICAgLmFjY2Vzc2liaWxpdHktLSN7JHN0YXRlfSxcbiAgICAgICAgICAgIC52aXN1YWxseWhpZGRlbi0tI3skc3RhdGV9e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFjY2Vzc2liaWxpdHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgJGRlYnVnLW1vZGUgPT0gdHJ1ZXtcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJERFQlVHXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBFbmFibGUgdGhpcyBzdHlsZXNoZWV0IHRvIHZpc3VhbGx5IGRldGVjdCBhbnkgaW1wcm9wZXJseSBuZXN0ZWQgb3JcbiAqIHBvdGVudGlhbGx5IGludmFsaWQgbWFya3VwLCBvciBhbnkgcG90ZW50aWFsbHkgaW5hY2Nlc3NpYmxlIGNvZGUuXG4gKlxuICogUmVkICAgICAgICAgID09ICAgICAgZGVmaW5pdGUgZXJyb3JcbiAqIFllbGxvdyAgICAgICA9PSAgICAgIGRvdWJsZS1jaGVja1xuICogTm9uZSAgICAgICAgID09ICAgICAgc2hvdWxkIGJlIGZpbmVcbiAqXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgbWV0aG9kIG9mIGNoZWNraW5nIG1hcmt1cCBxdWFsaXR5IHNob3VsZCBub3QgYmUgcmVsaWVkXG4gKiB1cG9uIGVudGlyZWx5LiBWYWxpZGF0ZSB5b3VyIG1hcmt1cCFcbiAqL1xuXG5cbi8qKlxuICogQXJlIHRoZXJlIGFueSBlbXB0eSBlbGVtZW50cyBpbiB5b3VyIHBhZ2U/XG4gKi9cbjplbXB0eXtcbiAgICBvdXRsaW5lOjVweCBzb2xpZCB5ZWxsb3c7XG59XG5cblxuLyoqXG4gKiBJbWFnZXMgcmVxdWlyZSBgYWx0YCBhdHRyaWJ1dGVzLCBlbXB0eSBgYWx0YHMgYXJlIGZpbmUgYnV0IHNob3VsZCBiZVxuICogZG91YmxlLWNoZWNrZWQsIG5vIGBhbHRgIGlzIGJhZCBhbmQgaXMgZmxhZ2dlZCByZWQuXG4gKi9cbmltZ3tcbiAgICBvdXRsaW5lOjVweCBzb2xpZCByZWQ7XG59XG5pbWdbYWx0XXtcbiAgICBvdXRsaW5lOm5vbmU7XG59XG5pbWdbYWx0PVwiXCJde1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHllbGxvdztcbn1cblxuXG4vKipcbiAqIExpbmtzIHNvbWV0aW1lcywgdGhvdWdoIG5vdCBhbHdheXMsIGJlbmVmaXQgZnJvbSBgdGl0bGVgIGF0dHJpYnV0ZXMuIExpbmtzXG4gKiB3aXRob3V0IGFyZSBuZXZlciBpbnZhbGlkIGJ1dCBpdOKAmXMgYSBnb29kIGlkZWEgdG8gY2hlY2suXG4gKi9cbmF7XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuYVt0aXRsZV17XG4gICAgb3V0bGluZTpub25lO1xufVxuXG5cbi8qKlxuICogRG91YmxlLWNoZWNrIGFueSBsaW5rcyB3aG9zZSBgaHJlZmAgaXMgc29tZXRoaW5nIHF1ZXN0aW9uYWJsZS5cbiAqL1xuYVtocmVmPVwiI1wiXSxcbmFbaHJlZio9XCJqYXZhc2NyaXB0XCJde1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHllbGxvdztcbn1cblxuXG4vKipcbiAqIFRoZSBgdGFyZ2V0YCBhdHRyaWJ1dGUgYWlu4oCZdCB0b28gbmljZS4uLlxuICovXG5hW3RhcmdldF17XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogRW5zdXJlIGFueSBsaXN0cyBvbmx5IGNvbnRhaW4gYGxpYHMgYXMgY2hpbGRyZW4uXG4gKi9cbnVsLFxub2x7XG4gICAgPiAqOm5vdChsaSl7XG4gICAgICAgIG91dGxpbmU6NXB4IHNvbGlkIHJlZDtcbiAgICB9XG59XG5cblxuLyoqXG4gKiBJdOKAmXMgYWx3YXlzIG5pY2UgdG8gZ2l2ZSBgdGhgcyBgc2NvcGVgIGF0dHJpYnV0ZXMuXG4gKi9cbnRoe1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHllbGxvdztcbn1cbnRoW3Njb3BlXXtcbiAgICBvdXRsaW5lOm5vbmU7XG59XG5cblxuLyoqXG4gKiBgdHJgcyBhcyBjaGlsZHJlbiBvZiBgdGFibGVgcyBhaW7igJl0IGdyZWF0LCBkaWQgeW91IG5lZWQgYSBgdGhlYWRgL2B0Ym9keWA/XG4gKi9cbnRhYmxlID4gdHJ7XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogYHRmb290YCBuZWVkcyB0byBjb21lICpiZWZvcmUqIGB0Ym9keWAuXG4gKi9cbnRib2R5ICsgdGZvb3R7XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogRm9ybXMgcmVxdWlyZSBgYWN0aW9uYCBhdHRyaWJ1dGVzXG4gKi9cbmZvcm17XG4gICAgb3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuZm9ybVthY3Rpb25de1xuICAgIG91dGxpbmU6bm9uZTtcbn1cblxuXG4vKipcbiAqIFZhcmlvdXMgZm9ybS1maWVsZCB0eXBlcyBoYXZlIHJlcXVpcmVkIGF0dHJpYnV0ZXMuIGBpbnB1dGBzIG5lZWQgYHR5cGVgXG4gKiBhdHRyaWJ1dGVzLCBgdGV4dGFyZWFgcyBuZWVkIGByb3dzYCBhbmQgYGNvbHNgIGF0dHJpYnV0ZXMgYW5kIHN1Ym1pdCBidXR0b25zXG4gKiBuZWVkIGEgYHZhbHVlYCBhdHRyaWJ1dGUuXG4gKi9cbnRleHRhcmVhLFxuaW5wdXR7XG4gICAgb3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuaW5wdXRbdHlwZV17XG4gICAgb3V0bGluZTpub25lO1xufVxudGV4dGFyZWFbcm93c11bY29sc117XG4gICAgb3V0bGluZTpub25lO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRde1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHJlZDtcbn1cbmlucHV0W3R5cGU9c3VibWl0XVt2YWx1ZV17XG4gICAgb3V0bGluZTpub25lO1xufVxuXG5cbi8qKlxuICogQXZvaWQgaW5saW5lIHN0eWxlcyB3aGVyZSBwb3NzaWJsZS5cbiAqL1xuW3N0eWxlXXtcblx0b3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogWW91IHNob3VsZCBhdm9pZCB1c2luZyBJRHMgZm9yIENTUywgaXMgdGhpcyBkb2luZyBhbnkgc3R5bGluZz9cbiAqL1xuW2lkXXtcblx0b3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogQXJlIHlvdSB1c2luZyB0aGUgZ3JpZCBzeXN0ZW0gY29ycmVjdGx5P1xuICovXG4uZ3cgPiA6bm90KC5nKSxcbi5ncmlkLXdyYXBwZXIgPiA6bm90KC5ncmlkKSxcbi5ndy0tcmV2ID4gOm5vdCguZyksXG4uZ3JpZC13cmFwcGVyLS1yZXYgPiA6bm90KC5ncmlkKXtcblx0b3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuXG59LyogZW5kaWYgKi9cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSpcXFxuICAgIENPTlRFTlRTXG4gICAgLS0tLS0tLS1cbiAgICAtIHN2Z1xuICAgIC0gY2xlYXJmaXhcbiAgICAtIGJyZWFrLXRleHRcbiAgICAtIHRyaWFuZ2xlXG4gICAgLSB0cmFuc2l0aW9uXG4gICAgLSBhc3BlY3QtcmF0aW9cbiAgICAtIHRpbGUtcmlnaHQtYm9yZGVyXG4gICAgLSBmb250LWxpZ2h0XG4gICAgLSBmb250LXN0cm9uZ1xuICAgIC0gZm9udC1ib2xkXG4gICAgLSB0aW50XG4gICAgLSByaWJib25cblxcKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kZmlsbGVkLWljb25zOiAoXG4gICAgXCJpY29uLXhpbmdcIixcbiAgICBcImljb24tdHdpdHRlclwiLFxuICAgIFwiaWNvbi1saW5rZWRpblwiLFxuICAgIFwiaWNvbi1jYWxlbmRhclwiLFxuICAgIFwiaWNvbi1zaGFyZV9hbHRcIixcbiAgICBcImljb24tbGF3bm93XCIsXG4gICAgXCJpY29uLXJlZ3pvbmVcIixcbiAgICBcImljb24tZWd1aWRlXCIsXG4gICAgXCJpY29uLWZhY2Vib29rXCIsXG4pO1xuQG1peGluIGljb24tY29sb3IoJGNvbG9yKSB7XG4gICAgZmlsbDogbm9uZTtcbiAgICBzdHJva2U6ICRjb2xvcjtcbiAgICBAZWFjaCAkaWNvbiBpbiAkZmlsbGVkLWljb25zIHtcbiAgICAgICAgLiN7JGljb259IHtcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHN2ZygkaW1nLCAkcmVwZWF0OiBuby1yZXBlYXQsICRwb3NpdGlvbjogdG9wIGNlbnRlcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYnVuZGxlcy9ldGVjdHVyZWRwY21zL2ltZy8jeyRpbWd9LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6ICRyZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgLm5vLWpzICYsIC5uby1zdmcgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2J1bmRsZXMvZXRlY3R1cmVkcGNtcy9pbWcvI3skaW1nfS5wbmdcIik7XG4gIH1cbn1cblxuQG1peGluIHN2Zy1jb250ZW50KCRoZWlnaHQ6ICRzcGFjZSwgJHdpZHRoOiAkc3BhY2UsICRjb2xvcjogJGNvbG9yLWRhcmstYmx1ZSkge1xuICAgIEBpbmNsdWRlIGljb24tY29sb3IoJGNvbG9yKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHN2ZyxcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgLmljb24tcGhvbmUge1xuICAgICAgc3Ryb2tlLXdpZHRoOiAxNTtcbiAgfVxuICAuaWNvbi1ib29rbWFyayB7XG4gICAgICBzdHJva2Utd2lkdGg6IDI0cHg7XG4gIH1cblxufVxuXG5AbWl4aW4gbGluay10cmFuc2l0aW9uIHtcbiAgQHN1cHBvcnRzIG5vdCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycywgb3BhY2l0eSAwLjJzKTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbkBtaXhpbiBicmVhay10ZXh0IHtcblx0LW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHQgd29yZC1icmVhazogYnJlYWstd29yZDtcblx0LXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuXHQgICAtbW96LWh5cGhlbnM6IGF1dG87XG5cdCAgICAgICAgaHlwaGVuczogYXV0bztcbn1cblxuLyogXG4qIEBpbmNsdWRlIHRyaWFuZ2xlIHdpdGhpbiBhIHBzZXVkbyBlbGVtZW50IGFuZCBhZGQgcG9zaXRpb25pbmcgcHJvcGVydGllcyAoaWUuIHRvcCwgbGVmdClcbiogJGRpcmVjdGlvbjogdXAsIGRvd24sIGxlZnQsIHJpZ2h0XG4qL1xuQG1peGluIHRyaWFuZ2xlKCRkaXJlY3Rpb24sICRzaXplOiA2cHgsICRjb2xvcjogIzIyMil7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDA7IHdpZHRoOiAwO1xuICBAaWYgKCRkaXJlY3Rpb24gPT0gJ3VwJyl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ2Rvd24nKXtcbiAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSAnbGVmdCcpe1xuICAgIGJvcmRlci10b3A6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gIH1cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ3JpZ2h0Jyl7XG4gICAgYm9yZGVyLXRvcDogMS8yKiRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiB0cmlhbmdsZS10ZXh0KCRkaXJlY3Rpb246J2xlZnQnLCAkc2l6ZTogNnB4LCAkY29sb3I6ICdjdXJyZW50Q29sb3InKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4ycyBsaW5lYXIpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiAwOyB3aWR0aDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBAaWYgKCRkaXJlY3Rpb24gPT0gJ3VwJyl7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSAnZG93bicpe1xuICAgICAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ2xlZnQnKXtcbiAgICAgICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ3JpZ2h0Jyl7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICB9XG59XG5cbkBtaXhpbiB0cmlhbmdsZS1iZWZvcmUoJGRpcmVjdGlvbjonbGVmdCcsICRzaXplOiA2cHgsICRjb2xvcjogY3VycmVudENvbG9yKSB7XG4gICAgQGluY2x1ZGUgdHJpYW5nbGUtdGV4dCgkZGlyZWN0aW9uLCAkc2l6ZSwgJGNvbG9yKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS8yOyBcbn1cblxuQG1peGluIHRyaWFuZ2xlLWFmdGVyKCRkaXJlY3Rpb246J3JpZ2h0JywgJHNpemU6IDZweCwgJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbiAgICBAaW5jbHVkZSB0cmlhbmdsZS10ZXh0KCRkaXJlY3Rpb24sICRzaXplLCAkY29sb3IpO1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2UvMjsgXG59XG5cbkBtaXhpbiBzY3JvbGxiYXItc3R5bGluZygkY29sb3IpIHtcblx0c2Nyb2xsYmFyLWJhc2UtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpO1xuXHRzY3JvbGxiYXItZmFjZS1jb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG5cdHNjcm9sbGJhci0zZGxpZ2h0LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0c2Nyb2xsYmFyLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG5cdHNjcm9sbGJhci10cmFjay1jb2xvcjogJGNvbG9yO1xuXHRzY3JvbGxiYXItYXJyb3ctY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpO1xuXHRzY3JvbGxiYXItc2hhZG93LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0c2Nyb2xsYmFyLWRhcmstc2hhZG93LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdCAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG5cdH0gXG5cdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyAgXG5cdCAgICB3aWR0aDogNnB4OyBcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIHRvcDogMDtcblx0ICAgIHotaW5kZXg6IDM7IFxuXHR9ICBcblx0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7ICBcblx0ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpICA7XG5cdH0gXG5cdDo6LXdlYmtpdC1yZXNpemVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4wNSk7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoZGVzaykge1xuXHRcdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyAgXG5cdFx0ICAgIHdpZHRoOiAxMnB4OyBcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICB0b3A6IDA7XG5cdFx0ICAgIHotaW5kZXg6IDM7IFxuXHRcdH0gIFxuXHR9XG59XG4vLyBWYXJpYWJsZSBzZXR0aW5ncyBmb3IgL2FkZG9ucy9wcmVmaXhlci5zY3NzXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIHJlcXVpcmVkIGZvciBrZXlmcmFtZSBtaXhpblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsICRyYWRpaSwgd2Via2l0IG1zIHNwZWMpO1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVmFyaWFibGVzIGxvY2F0ZWQgaW4gL3NldHRpbmdzL19wcmVmaXhlci5zY3NzXG5cbkBtaXhpbiBwcmVmaXhlciAoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG5cblxuLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbiAoJHByb3BlcnRpZXMuLi4pIHtcbiAgICB0cmFuc2l0aW9uOiAkcHJvcGVydGllcztcbn1cblxuLy8gIHRyYW5zZm9ybVxuQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbi8vICBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcbi8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4vLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUgKCRzdHlsZTogZmxhdCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gICAgfVxuICAgID4gLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbkBtaXhpbiB0aWxlLXJpZ2h0LWJvcmRlcigkY29sb3I6ICRjb2xvci1ncmF5KSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb250ZW50OiBcIlwiO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3I7XG5cdHdpZHRoOiAycHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xufVxuXG5AbWl4aW4gZm9udC1saWdodCB7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbkBtaXhpbiBmb250LXN0cm9uZyB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtaXhpbiBmb250LXN0cm9uZ2VyIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBtaXhpbiB0ZXh0LXNoYWRvdy1kYXJrIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxNTAsIDE1MCwgMTUwLCAxKTtcbn1cblxuQG1peGluIHRleHQtc2hhZG93LWxpZ2h0IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KCRjb2xvciwgd2hpdGUsICRwZXJjZW50YWdlKTtcbn1cblxuQG1peGluIHRyaWFuZ2xlLWxpbmsoJGZsb2F0LXJpZ2h0OiBmYWxzZSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtYWZ0ZXIoJ3JpZ2h0JywgNnB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlLzQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIEBpZigkZmxvYXQtcmlnaHQpIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBpY29uLWNsb3NlICgkdG9wOiAyNHB4LCAkcmlnaHQ6IDEycHgsICRjb2xvcjogJGNvbG9yLWRhcmstYmx1ZSwgJHdpZHRoOiAxMnB4LCAkaGVpZ2h0OiAxMnB4KSB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR0b3A7XG4gIHJpZ2h0OiAkcmlnaHQ7XG4gIHN2ZyB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgc3Ryb2tlOiAkY29sb3I7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLyogUmliYm9uIHN0eWxlICovXG5AbWl4aW4gcmliYm9uKCkge1xuXG4gICAgLnJpYmJvbi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cblxuICAgIC5yaWJib24tZnJvbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICBoZWlnaHQ6IDc4cHg7XG4gICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgICAgICYucmliYm9uLWZyb250LWxlZnQge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAtMjRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWJib24tZnJvbnQtcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTRweCAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpYmJvbi1lZGdlLWJvdHRvbWxlZnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHRvcDogNzhweDtcbiAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yLXBhbGUtYmx1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDI0cHggMjRweCAwO1xuICAgIH1cblxuICAgIC5yaWJib24tZWRnZS1ib3R0b21yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgdG9wOiA3OHB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI0cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXBhbGUtYmx1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAyNHB4IDI0cHggMCAwO1xuICAgIH1cbn1cblxuQG1peGluIGxpbmstYXJyb3coJGNvbG9yOiAkbWVudS1saW5rKSB7XG4gIEBpbmNsdWRlIHNwcml0ZSgnYWxsLWFycm93JywgKGZpbGw6ICRjb2xvcikpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuQG1peGluIGNsZWFyLWZpeCgpIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWl4aW4gdGlsZS1kZXNpZ24oJGNvbG9yOiAkY29sb3ItZGFyay1ibHVlLCAkaWNvbjogJ2ZpbGUtYWx0Jykge1xuICAudGlsZV9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAwLjE1KTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc3ByaXRlKCRpY29uLCAoZmlsbDogcmdiYSgkY29sb3ItYmxhY2ssIDAuMDUpKSk7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgaGVpZ2h0OiAyMDAlO1xuICAgICAgdG9wOiAtNTAlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICB3aWR0aDogMTUwJTtcbiAgICAgICAgaGVpZ2h0OiAxNTAlO1xuICAgICAgICB0b3A6IC0yMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRpbGVfX2ljb24ge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgc3ZnIHtcbiAgICAgIHN0cm9rZTogJGNvbG9yO1xuICAgICAgZmlsbDogJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSEVMUEVSU1xuXG5AbWl4aW4gcmVzcG9uc2l2ZUF0dHIoJGF0dHIsICRtb2JpbGVWYWw6IG51bGwsICRzbWFydHBob25lVmFsOiBudWxsLCAkdGFibGV0VmFsOiBudWxsLCAkd2lkZVZhbDogbnVsbCkge1xuICBAaWYgJG1vYmlsZVZhbCB7XG4gICAgI3skYXR0cn06ICRtb2JpbGVWYWw7XG4gIH1cblxuICBAaWYgJHNtYXJ0cGhvbmVWYWwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzbWFydHBob25lLXN0YXJ0KSB7XG4gICAgICAjeyRhdHRyfTogJHNtYXJ0cGhvbmVWYWw7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZXRWYWwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICN7JGF0dHJ9OiAkdGFibGV0VmFsO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkd2lkZVZhbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkge1xuICAgICAgI3skYXR0cn06ICR3aWRlVmFsO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZVNxdWFyZVRodW1iKCkge1xuICAuaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIC5yZXNwb25zaXZlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXJyb3coJGNvbG9yOiAkY29sb3ItbWlkLWJsdWUsICRkaXJlY3Rpb246ICdkb3duJykge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIEBpZiAkZGlyZWN0aW9uID09ICd1cCcge1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gJ2Rvd24nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIEBpZiAkZGlyZWN0aW9uID09ICdyaWdodCcge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRjb2xvcjtcbiAgfVxufSIsIi8vIElNUE9SVEFOVDogdGFibGUgbGF5b3V0IGlzIHByb2JsZW1hdGljIHdpdGggc3RpY2t5IGhlYWRlcnNcbi8vIFRvIGZpeCBzb21lIGlzc3VlcyB3aXRoIHN0aWNreSBwb3NpdGlvbnMgSSBoYWQgdG8gZGlzYWJsZSB0aGVcbi8vIHRhYmxlIGxheW91dCBpbiBlZ3VpZGUuXG4vLyBTaW5jZSB0aGlzIGNhbiBnaXZlIHNvbWUgc2lkZSBlZmZlY3RzOyB0aGlzIGZpbGUgc2hvdWxkIGJlIG9ubHlcbi8vIGltcG9ydGVkIGZvciBlZ3VpZGUgY29tcGFyZS5cblxuaHRtbCB7XG4gIGhlaWdodDogYXV0bztcblxuICBib2R5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtbGF5b3V0IC5tYWluLWNvbnRlbnQgLmdlbmVyYWwtcGFnZSAuZ2VuZXJhbC1wYWdlX19ib2R5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRlZmF1bHQtYmxvY2s6bm90KC5lZ3VpZGUtc2VhcmNoLWxheW91dCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgLm1haW4tY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgIC5nZW5lcmFsLXBhZ2Uge1xuICAgICAgICAgIC5nZW5lcmFsLXBhZ2VfX2hlYWQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5nZW5lcmFsLXBhZ2VfX2JvZHkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtY29tcGFyZS1sYXlvdXQgLm1haW4tY29udGVudCAuY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBmb290ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtbGF5b3V0IC5tYWluLWNvbnRlbnQgLmdlbmVyYWwtcGFnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLm1haW4tYmxvY2sgLnNpZGViYXIubWFpbi1ibG9ja19fcGFydCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgaHRtbCBib2R5IHtcbiAgICAvLyBOb3QgYmVzdCBzb2x1dGlvbiBzaW5jZSB0aGlzIGlzIGNvbm5lY3RpbmdcbiAgICAvLyB0YWJsZSBsYXlvdXQgcmVzZXRpbmcgd2l0aCBlZ3VpZGUgY29tcGFyZVxuICAgIC5tb2JpbGUtY29udGFpbmVyIHtcbiAgICAgIHJpZ2h0OiAxMjVweDtcbiAgICB9XG5cbiAgICAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtY29tcGFyZS1sYXlvdXQubWFpbi1ibG9jayB7XG4gICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICB9XG5cbiAgICAuZGVmYXVsdC1ibG9jay5tYWluLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbiAgICAuZGVmYXVsdC1ibG9jazpub3QoLmVndWlkZS1zZWFyY2gtbGF5b3V0KSAubWFpbi1jb250ZW50IHtcbiAgICAgIC5nZW5lcmFsLXBhZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5nZW5lcmFsLXBhZ2VfX2JvZHkge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgaHRtbCBib2R5IHtcbiAgICAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtbGF5b3V0IHtcbiAgICAgIC5jb250YWluZXIgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVmYXVsdC1ibG9jay5lZ3VpZGUtY29tcGFyZS1sYXlvdXQge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLm1haW4tY29udGVudCB7XG4gICAgICAgIGZsZXg6IDMgMDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDEgMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuc2lkZWJhciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkge1xuICBodG1sIGJvZHkge1xuICAgIC5kZWZhdWx0LWJsb2NrLmVndWlkZS1jb21wYXJlLWxheW91dCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAzIDAgMTAwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDEgMCAyODBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLSBCUkVBRENSVU1CU1xuLmVndWlkZS1jb21wYXJlIC5lZ3VpZGUtLW5hdiB7XG4gIEBpbmNsdWRlIGVndWlkZUJyZWRjcnVtYnM7XG59XG5cbi8vIC0tLS0tLS0tLS0tIEpVUklTRElDVElPTlMgSEVBREVSXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIHtcbiAgaGVpZ2h0OiA2MHB4O1xuXG4gIC8vcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAkbW9iaWxlLXRvcC1iYXItaGVpZ2h0O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0td3JhcHAge1xuICAgIGZsZXg6IDEgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuZWd1aWRlLXRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAwIDEwMCU7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmLnBkZiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tbmV4dCxcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1wcmV2LFxuICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tbmV4dCxcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tcHJldiB7XG4gICAgICBsZWZ0OiAxNXB4O1xuXG4gICAgICBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLW5leHQsXG4gICAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLS1hZGQge1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLnBzX19zY3JvbGxiYXIteC1yYWlsLFxuICAucHNfX3Njcm9sbGJhci15LXJhaWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRlc2stZW5kKSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmVndWlkZS10YWJsZS1vZi1jb250ZW50cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtb2JpbGUtbGFuZHNjYXBlLXN0YXJ0KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuMnMgZWFzZS1vdXQpO1xuICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMzlweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIHtcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1wcmV2IHtcbiAgICAgIGxlZnQ6IC0ycHg7XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tbmV4dCxcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCB7XG4gICAgICByaWdodDogMjVweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkge1xuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM2cHg7XG5cbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIHtcbiAgICAgIGZsZXg6IDEgMDtcblxuICAgICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tbmV4dCxcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXByZXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCB7XG4gICAgICAgIHJpZ2h0OiA0NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLSBDVVNUT00gVEFHU1xuXG4uZWd1aWRlLWNvbXBhcmUge1xuICAuc2MtZGVmaW5pdGlvbi0tZGVmaW5pdGlvbiB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuXG4gIC5kbC1ib3gge1xuICAgIC5kbC1ib3hfX2xpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMTBweCA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC52aWRlby1wbGF5ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlLWxhbmRzY2FwZS1zdGFydCkge1xuICAuZWd1aWRlLWNvbXBhcmUge1xuICAgIGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZzogMTBweCAyNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMThweDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVndWlkZS10YWJsZS1vZi1jb250ZW50cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyM3B4O1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4uZWd1aWRlLWNvbXBhcmUge1xuICAuc2lkZWJhci1ibG9jay5zaWRlYmFyLWVndWlkZS1leHBlcnRpc2UsXG4gIC5zaWRlYmFyLWJsb2NrLnNpZGViYXItZWd1aWRlLWtleS1jb250YWN0cyB7XG4gICAgaDMge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLnNpZGViYXItYmxvY2sge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWVuZCkge1xuICAuZWd1aWRlLWNvbXBhcmUge1xuICAgIC5zaWRlYmFyLWJsb2NrLnNpZGViYXItZWd1aWRlLWV4cGVydGlzZSxcbiAgICAuc2lkZWJhci1ibG9jay5zaWRlYmFyLWVndWlkZS1rZXktY29udGFjdHMge1xuICAgICAgaDMsXG4gICAgICAuc2lkZWJhci1ibG9jayxcbiAgICAgIC5wZXJzb24tbGlzdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJRTExIGZpeGVzXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tbmV4dCxcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1wcmV2IHtcbiAgICAgIHRvcDogMjBweDtcbiAgICB9XG5cbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCB7XG4gICAgICB0b3A6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgICAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgICAtbXMtd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAuY29tcGFyZS1qdXJpc2RpY3Rpb24tZm9ybSB7XG4gICAgLmVndWlkZS1zZWxlY3QuYWRkLWp1cmlzZGljdGlvbiAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXItbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkge1xuICAgIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb21tb24gZm9yIGVndWlkZSBhbmQgZWd1aWRlIGNvbXBhcmVcbkBtaXhpbiBlZ3VpZGVCcmVkY3J1bWJzKCkge1xuICAkYXJyb3ctd2lkdGg6IDdweDtcbiAgJGFycm93LXdpZHRoLXNtYWxsOiA2cHg7XG4gIHNlbGVjdC53bS1qdXJpc2RpY3Rpb24tc2V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5ldGUtYnJlYWRjcnVtYiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmOm50aC1jaGlsZCgzKSB7XG4gICAgbWFyZ2luLXRvcDogJGJhc2UtbGluZS1oZWlnaHQvMjtcbiAgfVxuXG4gICYub3BlbiB7XG4gICAgLnBhZ2UtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmIC5wYWdlLWNvbnRhaW5lciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICBhLmNydW1iIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHNwYW4ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICAgICYuY3J1bWItZGl2aWRlcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgbmF2IHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAgICAgIC8qIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02ICovXG4gICAgICBkaXNwbGF5OiAtbW96LWJveDsgICAgICAgICAvKiBPTEQgLSBGaXJlZm94IDE5LSAoYnVnZ3kgYnV0IG1vc3RseSB3b3JrcykgKi9cbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAgICAgIC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OyAgICAgLyogTkVXIC0gQ2hyb21lICovXG4gICAgICBkaXNwbGF5OiBmbGV4OyAgICAgICAgICAgICAvKiBORVcsIFNwZWMgLSBPcGVyYSAxMi4xLCBGaXJlZm94IDIwKyAqL1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgY29sdW1uczogMjtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW5zOiAyO1xuICAgICAgICAtbW96LWNvbHVtbnM6IDI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkYXJyb3ctd2lkdGgtc21hbGwgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYXJyb3ctd2lkdGgtc21hbGwgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJGFycm93LXdpZHRoLXNtYWxsIHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogM3B4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYgPiBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsgICAgICAvKiBPTEQgLSBpT1MgNi0sIFNhZmFyaSAzLjEtNiAqL1xuICAgIGRpc3BsYXk6IC1tb3otYm94OyAgICAgICAgIC8qIE9MRCAtIEZpcmVmb3ggMTktIChidWdneSBidXQgbW9zdGx5IHdvcmtzKSAqL1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAgICAgIC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsgICAgIC8qIE5FVyAtIENocm9tZSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7ICAgICAgICAgICAgIC8qIE5FVywgU3BlYyAtIE9wZXJhIDEyLjEsIEZpcmVmb3ggMjArICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLnBhZ2Utc2VsZWN0b3Ige1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRhcnJvdy13aWR0aDtcbiAgICB9XG5cbiAgICAmLnBhZ2Utc2VsZWN0b3ItdHJpZ2dlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFycm93LXdpZHRoIHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhcnJvdy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYXJyb3ctd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgIH1cblxuICAgICAgJi5vcGVuIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFycm93LXdpZHRoIHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6ICRzcGFjZTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgYS5jcnVtYiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAmLmNydW1iLXJvb3Qge1xuICAgICAgICB3aWR0aDogMTAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IC0ycHggIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZS1iZWZvcmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYl9fc2VwYXJhdG9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuY3J1bWIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICAuYnJlYWRjcnVtYl9fc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMnB4IDVweDtcbiAgfVxufVxuIiwiLmVndWlkZS1jb21wYXJlIC50b2MtZHJvcGRvd24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB6LWluZGV4OiA2O1xuICBhLnRvYy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiYmJiO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmVBdHRyKHBhZGRpbmcsIDE0cHggMCwgbnVsbCwgbnVsbCwgMTdweCAwIDE4cHgpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBhcnJvdztcbiAgICB9XG4gIH1cbn1cblxuLy90b2NfdHlwZXM6XG4vLy0gMSAmIDI6IHdpdGggZW51bWVyYXRpb25cbi8vLSAzICYgNDogcmVuZGVyIGFzIGlzIC0gZG9uJ3QgZW51bWVyYXRlIVxuLmVndWlkZS1jb21wYXJlIC50b2Mge1xuICB6LWluZGV4OiAxMDAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogODdweDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1taWQtYmx1ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYy1iZy1jb2xvcjtcblxuICAudG9jLS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC50b2MtLWhlYWRlcl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0cHgpO1xuICAgICAgY29sb3I6ICRjb2xvci1taWQtYmx1ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJG92ZXJsYXktaGVhZC12ZXJ0aWNhbC1tYmw7XG4gICAgfVxuXG4gICAgLnRvYy0taGVhZGVyX19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTM1cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcblxuICAgICAgQGluY2x1ZGUgc3ByaXRlKCdjbG9zZScsIChmaWxsOiAjMDAwKSk7XG4gICAgfVxuICB9XG5cbiAgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgIC50b2MtLWNvbnRlbnRzX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1taWQtYmx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gc3VibGlzdFxuICAgICAgb2wge1xuICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgbGk6YmVmb3JlLFxuICAgICAgICBsaSAudG9jLS1jb250ZW50c19fY29udGVudCB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvYy0tdHlwZS0xLFxuICAudG9jLS10eXBlLTIge1xuICAgIG9sIHtcbiAgICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gICAgICBsaSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1taWQtYmx1ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXJzKGl0ZW0sIFwiLlwiKSBcIiBcIjtcbiAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvYy0tY29udGVudHNfX2NvbnRlbnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvYy0tdHlwZS0yLFxuICAudG9jLS10eXBlLTQge1xuICAgIG9sIGxpIHtcbiAgICAgIG9sIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgIH1cblxuICAgICAgLnRvYy0tY29udGVudHNfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyB2aXNpYmlsaXR5IGFuZCBhbmltYXRpb25zXG4gIG1heC1oZWlnaHQ6IDA7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmVBdHRyKHBhZGRpbmcsIDAgJG92ZXJsYXktaG9yaXpvbnRhbC1tYmwpO1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC40cyBlYXNlLW91dCwgbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0LCBwYWRkaW5nLXRvcCAwLjNzIGVhc2Utb3V0LCBwYWRkaW5nLWJvdHRvbSAwLjNzIGVhc2Utb3V0KTtcblxuICAmLnNob3cge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICAgIHBhZGRpbmc6ICRvdmVybGF5LXZlcnRpY2FsLW1ibCAkb3ZlcmxheS1ob3Jpem9udGFsLW1ibCAzNnB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctdG9wIDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctYm90dG9tIDAuM3MgZWFzZS1vdXQpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgLmVndWlkZS1jb21wYXJlIC50b2Mge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcblxuICAgIC50b2MtLWhlYWRlciAudG9jLS1oZWFkZXJfX2Nsb3NlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgICYuc2hvdyB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDI1cHggNTBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkge1xuICAuZWd1aWRlLWNvbXBhcmUge1xuICAgIC50b2Mge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG5cbiAgICAgICYuc2hvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgICB9XG5cbiAgICAgIC50b2MtLXR5cGUtMixcbiAgICAgIC50b2MtLXR5cGUtNCB7XG4gICAgICAgIG9sIGxpIC50b2MtLWNvbnRlbnRzX19jb250ZW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHNwcml0ZXM6IChcbiAgICAnYWxlcnQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTc2IDUxMiclM2UlM2NwYXRoIGZpbGw9JyUyM2U1MTMxMycgZD0nTTI0OC43NDcgMjA0LjcwNWw2LjU4OCAxMTJjLjM3MyA2LjM0MyA1LjYyNiAxMS4yOTUgMTEuOTc5IDExLjI5NWg0MS4zN2ExMiAxMiAwIDAwMTEuOTc5LTExLjI5NWw2LjU4OC0xMTJjLjQwNS02Ljg5My01LjA3NS0xMi43MDUtMTEuOTc5LTEyLjcwNWgtNTQuNTQ3Yy02LjkwMyAwLTEyLjM4MyA1LjgxMi0xMS45NzggMTIuNzA1ek0zMzAgMzg0YzAgMjMuMTk2LTE4LjgwNCA0Mi00MiA0MnMtNDItMTguODA0LTQyLTQyIDE4LjgwNC00MiA0Mi00MiA0MiAxOC44MDQgNDIgNDJ6bS0uNDIzLTM2MC4wMTVjLTE4LjQzMy0zMS45NTEtNjQuNjg3LTMyLjAwOS04My4xNTQgMEw2LjQ3NyA0NDAuMDEzQy0xMS45NDUgNDcxLjk0NiAxMS4xMTggNTEyIDQ4LjA1NCA1MTJINTI3Ljk0YzM2Ljg2NSAwIDYwLjAzNS0zOS45OTMgNDEuNTc3LTcxLjk4N0wzMjkuNTc3IDIzLjk4NXpNNTMuMTkxIDQ1NS4wMDJMMjgyLjgwMyA1Ny4wMDhjMi4zMDktNC4wMDIgOC4wODUtNC4wMDIgMTAuMzk0IDBsMjI5LjYxMiAzOTcuOTkzYzIuMzA4IDQtLjU3OSA4Ljk5OC01LjE5NyA4Ljk5OEg1OC4zODhjLTQuNjE3LjAwMS03LjUwNC00Ljk5Ny01LjE5Ny04Ljk5N3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnYWxsLWFycm93LWJvbGQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTQgMTQnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtNS41IC02KScgZmlsbD0nYmxhY2snIGZpbGwtcnVsZT0nbm9uemVybyclM2UlM2NwYXRoIGQ9J002LjM5NSA4LjE5NEw2LjM4IDYuOTg3YS44OS44OSAwIDAxLjkxLS45MDlsMTAuNTYzLjEzM2MuNTExLjAwNi45My40MjUuOTMzLjkzM2wuMTM2IDEwLjU2N2EuODkuODkgMCAwMS0uOTEuOTFsLTEuMjA2LS4wMTZhLjk1Mi45NTIgMCAwMS0uOTM0LS45NTVsLjA3My02LjM5My03LjcxIDcuNzFhLjkyLjkyIDAgMDEtMS4zMDUtLjAxNmwtLjg4LS44ODFhLjkyLjkyIDAgMDEtLjAxOC0xLjMwNWw3LjcxMS03LjcxLTYuMzkzLjA3M2EuOTQ1Ljk0NSAwIDAxLS45NTUtLjkzNHonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2FsbC1hcnJvdy1zZW1pJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEzIDEzJyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTYgLTYpJyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZD0nTTcuMjg0IDYuMzc4bDEwLjU2Ni4xMzNjLjM0Ny4wMDQuNjM0LjI5LjYzNi42MzVsLjEzNiAxMC41NjlhLjU5LjU5IDAgMDEtLjYwNC42MDVsLTEuMjA4LS4wMTVhLjY1Mi42NTIgMCAwMS0uNjM4LS42NTNsLjA4Mi03LjEyOC04LjIzMiA4LjIzMWEuNjIuNjIgMCAwMS0uODgtLjAxNmwtLjg4LS44ODFhLjYyLjYyIDAgMDEtLjAxNy0uODhsOC4yMy04LjIzMi03LjEyOC4wODJhLjY0Ni42NDYgMCAwMS0uNjUyLS42MzZMNi42OCA2Ljk4NGEuNTkuNTkgMCAwMS42MDQtLjYwNnonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2FsbC1hcnJvdyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC01IC02KScgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTYuMzk1IDguMTk0TDYuMzggNi45ODdhLjg5Ljg5IDAgMDEuOTEtLjkwOWwxMC41NjMuMTMzYy41MTEuMDA2LjkzLjQyNS45MzMuOTMzbC4xMzYgMTAuNTY3YS44OS44OSAwIDAxLS45MS45MWwtMS4yMDYtLjAxNmEuOTUyLjk1MiAwIDAxLS45MzQtLjk1NWwuMDczLTYuMzkzLTcuNzEgNy43MWEuOTIuOTIgMCAwMS0xLjMwNS0uMDE2bC0uODgtLjg4MWEuOTIuOTIgMCAwMS0uMDE4LTEuMzA1bDcuNzExLTcuNzEtNi4zOTMuMDczYS45NDUuOTQ1IDAgMDEtLjk1NS0uOTM0eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnYXJyb3dfYnVsa3knOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzEyLjc2IDI2Ni44NiclM2UlM2NwYXRoIGQ9J00yOTIuOTg3IDE1NS44NjJsLTEzNi4zOC0xMzYuMzgtMTM2LjM4IDEzNi4zOEg3OS43NnY5MWgxNTN2LTkxJy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2Fycm93X3NsaWRlc2hvdyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAyMSclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTQgLTEpJyBzdHJva2U9JyUyMzExMzU1RSclM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDQgMS4yKScgc3Ryb2tlLXdpZHRoPScxLjgnJTNlJTNjcGF0aCBkPSdNMS40IDE5LjMyTDEzIDEwLjJNMS40IDEuMDhMMTMgMTAuMicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdhcnJvd190aGluJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwNiAzMjMnJTNlJTNjZyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00yOC43NSAyMzQuNDE2bDYzLjI3IDU4LjE3YzYuMjQ4IDUuNzQ0IDE0LjU4IDUuOCAyMC44NzMuMTQzbDY0Ljg0Ni01OC4zMTRNMTAzLjE0IDI0LjI3djI2MCcvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2JhY2tfdG9fdG9wJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzZSUzY3BhdGggZmlsbD0nd2hpdGUnIGQ9J004IDIuOGw4IDcuOS0yLjQgMi40LTUuNS01LjUtNS42IDUuNkwwIDEwLjd6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2Jsb2cnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTggMTgnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZD0nTTE4IDEyLjcwMVYxLjkyOUExLjkyOSAxLjkyOSAwIDAwMTYuMDcxIDBIMS45M0ExLjkyOSAxLjkyOSAwIDAwMCAxLjkyOVYxNi4wN0MwIDE3LjEzNy44NjMgMTggMS45MjkgMThIMTIuN2MuNTEyIDAgMS4wMDItLjIwMyAxLjM2NC0uNTY1bDMuMzctMy4zN2MuMzYyLS4zNjIuNTY1LS44NTIuNTY1LTEuMzY0em0tNS4xNDMgMy4yMTR2LTMuMDU4aDMuMDU4bC0zLjA1OCAzLjA1OHpNMTYuMDcxIDEuOTN2OWgtNC4xNzhhLjk2NC45NjQgMCAwMC0uOTY0Ljk2NHY0LjE3OGgtOVYxLjkzSDE2LjA3eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnYm9va21hcmsnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzg0IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00zMzYgMEg0OEMyMS40OSAwIDAgMjEuNDkgMCA0OHY0NjRsMTkyLTExMiAxOTIgMTEyVjQ4YzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bTAgNDI4LjQzbC0xNDQtODQtMTQ0IDg0VjU0YTYgNiAwIDAxNi02aDI3NmMzLjMxNCAwIDYgMi42ODMgNiA1Ljk5NlY0MjguNDN6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NhbGVuZGFyLWFsdCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0NDggNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgc3Ryb2tlPSdfX19zdHJva2VfX18nIGQ9J00xNDggMjg4aC00MGMtNi42IDAtMTItNS40LTEyLTEydi00MGMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjQwYzAgNi42LTUuNCAxMi0xMiAxMnptMTA4LTEydi00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptOTYgMHYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ6bS05NiA5NnYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ6bS05NiAwdi00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptMTkyIDB2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem05Ni0yNjB2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhoNDhWMTJjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY1MmgxMjhWMTJjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY1Mmg0OGMyNi41IDAgNDggMjEuNSA0OCA0OHptLTQ4IDM0NlYxNjBINDh2Mjk4YzAgMy4zIDIuNyA2IDYgNmgzNDBjMy4zIDAgNi0yLjcgNi02eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdjaGFydC1saW5lLWRvd24nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIHN0cm9rZT0nX19fc3Ryb2tlX19fJyBkPSdNMTgwLjY5IDI0Ni42MmM2LjI1IDYuMjUgMTYuMzggNi4yNSAyMi42MyAwTDI4OCAxNjEuOTRsODcuNiA4Ny42LTI5LjUgMjkuNDljLTE1LjEyIDE1LjEyLTQuNDEgNDAuOTcgMTYuOTcgNDAuOTdINDY0YzguODQgMCAxNi03LjE2IDE2LTE2VjIwMy4wN2MwLTIxLjM4LTI1Ljg1LTMyLjA5LTQwLjk3LTE2Ljk3bC0yOS40OSAyOS41LTExMC4yMy0xMTAuMjJjLTYuMjUtNi4yNS0xNi4zOC02LjI1LTIyLjYzIDBMMTkyIDE5MC4wNmwtNTEuNzItNTEuNzJjLTYuMjUtNi4yNS0xNi4zOC02LjI1LTIyLjYzIDBsLTExLjMxIDExLjMxYy02LjI1IDYuMjUtNi4yNSAxNi4zOCAwIDIyLjYzbDc0LjM1IDc0LjM0ek00OTYgNDAwSDQ4VjgwYzAtOC44NC03LjE2LTE2LTE2LTE2SDE2QzcuMTYgNjQgMCA3MS4xNiAwIDgwdjMzNmMwIDE3LjY3IDE0LjMzIDMyIDMyIDMyaDQ2NGM4Ljg0IDAgMTYtNy4xNiAxNi0xNnYtMTZjMC04Ljg0LTcuMTYtMTYtMTYtMTZ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoZWNrJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSclMjNhYmIzMDAnIGQ9J00xNzMuODk4IDQzOS40MDRsLTE2Ni40LTE2Ni40Yy05Ljk5Ny05Ljk5Ny05Ljk5Ny0yNi4yMDYgMC0zNi4yMDRsMzYuMjAzLTM2LjIwNGM5Ljk5Ny05Ljk5OCAyNi4yMDctOS45OTggMzYuMjA0IDBMMTkyIDMxMi42OSA0MzIuMDk1IDcyLjU5NmM5Ljk5Ny05Ljk5NyAyNi4yMDctOS45OTcgMzYuMjA0IDBsMzYuMjAzIDM2LjIwNGM5Ljk5NyA5Ljk5NyA5Ljk5NyAyNi4yMDYgMCAzNi4yMDRsLTI5NC40IDI5NC40MDFjLTkuOTk4IDkuOTk3LTI2LjIwNyA5Ljk5Ny0zNi4yMDQtLjAwMXonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2hldnJvbl9jbG9zZWQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTc2LjM4IDMxMi43NiclM2UlM2NwYXRoIGQ9J00yMCAxOS42Njh2MjcyLjc1OGwxMzYuMzgtMTM2LjM4Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoZXZyb25fb3Blbic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0NTEuODQ2IDQ1MS44NDcnJTNlJTNjZyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTM0NS40NDEgMjQ4LjI5MkwxNTEuMTU0IDQ0Mi41NzNjLTEyLjM1OSAxMi4zNjUtMzIuMzk3IDEyLjM2NS00NC43NSAwLTEyLjM1NC0xMi4zNTQtMTIuMzU0LTMyLjM5MSAwLTQ0Ljc0NEwyNzguMzE4IDIyNS45MiAxMDYuNDA5IDU0LjAxN2MtMTIuMzU0LTEyLjM1OS0xMi4zNTQtMzIuMzk0IDAtNDQuNzQ4IDEyLjM1NC0xMi4zNTkgMzIuMzkxLTEyLjM1OSA0NC43NSAwbDE5NC4yODcgMTk0LjI4NGM2LjE3NyA2LjE4IDkuMjYyIDE0LjI3MSA5LjI2MiAyMi4zNjYgMCA4LjA5OS0zLjA5MSAxNi4xOTYtOS4yNjcgMjIuMzczeicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoZXZyb24tZG93bic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0NTEuODQ3IDQ1MS44NDcnJTNlJTNjZyUzZSUzY3BhdGggZD0nTTIyNS45MjMgMzU0LjcwNmMtOC4wOTggMC0xNi4xOTUtMy4wOTItMjIuMzY5LTkuMjYzTDkuMjcgMTUxLjE1N2MtMTIuMzU5LTEyLjM1OS0xMi4zNTktMzIuMzk3IDAtNDQuNzUxIDEyLjM1NC0xMi4zNTQgMzIuMzg4LTEyLjM1NCA0NC43NDggMGwxNzEuOTA1IDE3MS45MTUgMTcxLjkwNi0xNzEuOTA5YzEyLjM1OS0xMi4zNTQgMzIuMzkxLTEyLjM1NCA0NC43NDQgMCAxMi4zNjUgMTIuMzU0IDEyLjM2NSAzMi4zOTIgMCA0NC43NTFMMjQ4LjI5MiAzNDUuNDQ5Yy02LjE3NyA2LjE3Mi0xNC4yNzQgOS4yNTctMjIuMzY5IDkuMjU3eicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoZXZyb24tcmlnaHQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTg1LjM0MyAxODUuMzQzJyUzZSUzY2clM2UlM2NnJTNlJTNjcGF0aCBkPSdNNTEuNzA3IDE4NS4zNDNhMTAuNjkyIDEwLjY5MiAwIDAxLTcuNTkzLTMuMTQ5IDEwLjcyNCAxMC43MjQgMCAwMTAtMTUuMTc1bDc0LjM1Mi03NC4zNDdMNDQuMTE0IDE4LjMyYy00LjE5NC00LjE5NC00LjE5NC0xMC45ODcgMC0xNS4xNzUgNC4xOTQtNC4xOTQgMTAuOTg3LTQuMTk0IDE1LjE4IDBsODEuOTM0IDgxLjkzNGM0LjE5NCA0LjE5NCA0LjE5NCAxMC45ODcgMCAxNS4xNzVsLTgxLjkzNCA4MS45MzlhMTAuNjc4IDEwLjY3OCAwIDAxLTcuNTg3IDMuMTV6JyBmaWxsPSclMjMwMTAwMDInLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2Nsb3NlJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIyIDIzJyUzZSUzY2clM2UlM2NnIGZpbGw9J19fX2ZpbGxfX18nIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgLjUpJyUzZSUzY3BhdGggZD0nTTE5LjQ4NCAwbDIuMTY1IDIuMTY1LTguNjYgOC42NiA4LjY2IDguNjU5LTIuMTY1IDIuMTY1LTguNjYtOC42Ni04LjY2IDguNjZMMCAxOS40ODRsOC42NTktOC42NkwwIDIuMTY0IDIuMTY1IDBsOC42NiA4LjY1OXonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NvZyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTQ1Mi41MTUgMjM3bDMxLjg0My0xOC4zODJjOS40MjYtNS40NDEgMTMuOTk2LTE2LjU0MiAxMS4xNzctMjcuMDU0LTExLjQwNC00Mi41MzEtMzMuODQyLTgwLjU0Ny02NC4wNTgtMTEwLjc5Ny03LjY4LTcuNjg4LTE5LjU3NS05LjI0Ni0yOC45ODUtMy44MTFsLTMxLjc4NSAxOC4zNThhMTk2LjI3NiAxOTYuMjc2IDAgMDAtMzIuODk5LTE5LjAyVjM5LjU0MWEyNC4wMTYgMjQuMDE2IDAgMDAtMTcuODQyLTIzLjIwNmMtNDEuNzYxLTExLjEwNy04Ni4xMTctMTEuMTIxLTEyNy45My0uMDAxLTEwLjUxOSAyLjc5OC0xNy44NDQgMTIuMzIxLTE3Ljg0NCAyMy4yMDZ2MzYuNzUzYTE5Ni4yNzYgMTk2LjI3NiAwIDAwLTMyLjg5OSAxOS4wMmwtMzEuNzg1LTE4LjM1OGMtOS40MS01LjQzNS0yMS4zMDUtMy44NzctMjguOTg1IDMuODExLTMwLjIxNiAzMC4yNS01Mi42NTQgNjguMjY1LTY0LjA1OCAxMTAuNzk3LTIuODE5IDEwLjUxMiAxLjc1MSAyMS42MTMgMTEuMTc3IDI3LjA1NEw1OS40ODUgMjM3YTE5Ny43MTUgMTk3LjcxNSAwIDAwMCAzNy45OTlsLTMxLjg0MyAxOC4zODJjLTkuNDI2IDUuNDQxLTEzLjk5NiAxNi41NDItMTEuMTc3IDI3LjA1NCAxMS40MDQgNDIuNTMxIDMzLjg0MiA4MC41NDcgNjQuMDU4IDExMC43OTcgNy42OCA3LjY4OCAxOS41NzUgOS4yNDYgMjguOTg1IDMuODExbDMxLjc4NS0xOC4zNThhMTk2LjIwMiAxOTYuMjAyIDAgMDAzMi44OTkgMTkuMDE5djM2Ljc1M2EyNC4wMTYgMjQuMDE2IDAgMDAxNy44NDIgMjMuMjA2YzQxLjc2MSAxMS4xMDcgODYuMTE3IDExLjEyMiAxMjcuOTMuMDAxIDEwLjUxOS0yLjc5OCAxNy44NDQtMTIuMzIxIDE3Ljg0NC0yMy4yMDZ2LTM2Ljc1M2ExOTYuMzQgMTk2LjM0IDAgMDAzMi44OTktMTkuMDE5bDMxLjc4NSAxOC4zNThjOS40MSA1LjQzNSAyMS4zMDUgMy44NzcgMjguOTg1LTMuODExIDMwLjIxNi0zMC4yNSA1Mi42NTQtNjguMjY2IDY0LjA1OC0xMTAuNzk3IDIuODE5LTEwLjUxMi0xLjc1MS0yMS42MTMtMTEuMTc3LTI3LjA1NEw0NTIuNTE1IDI3NWMxLjIyLTEyLjY1IDEuMjItMjUuMzUgMC0zOHptLTUyLjY3OSA2My4wMTlsNDMuODE5IDI1LjI4OWEyMDAuMTM4IDIwMC4xMzggMCAwMS0zMy44NDkgNTguNTI4bC00My44MjktMjUuMzA5Yy0zMS45ODQgMjcuMzk3LTM2LjY1OSAzMC4wNzctNzYuMTY4IDQ0LjAyOXY1MC41OTlhMjAwLjkxNyAyMDAuOTE3IDAgMDEtNjcuNjE4IDB2LTUwLjU5OWMtMzkuNTA0LTEzLjk1LTQ0LjE5Ni0xNi42NDItNzYuMTY4LTQ0LjAyOWwtNDMuODI5IDI1LjMwOWEyMDAuMTUgMjAwLjE1IDAgMDEtMzMuODQ5LTU4LjUyOGw0My44MTktMjUuMjg5Yy03LjYzLTQxLjI5OS03LjYzNC00Ni43MTkgMC04OC4wMzhsLTQzLjgxOS0yNS4yODljNy44NS0yMS4yMjkgMTkuMzEtNDEuMDQ5IDMzLjg0OS01OC41MjlsNDMuODI5IDI1LjMwOWMzMS45ODQtMjcuMzk3IDM2LjY2LTMwLjA3OCA3Ni4xNjgtNDQuMDI5VjU4Ljg0NWEyMDAuOTE3IDIwMC45MTcgMCAwMTY3LjYxOCAwdjUwLjU5OWMzOS41MDQgMTMuOTUgNDQuMTk2IDE2LjY0MiA3Ni4xNjggNDQuMDI5bDQzLjgyOS0yNS4zMDlhMjAwLjE0MyAyMDAuMTQzIDAgMDEzMy44NDkgNTguNTI5bC00My44MTkgMjUuMjg5YzcuNjMxIDQxLjMgNy42MzQgNDYuNzE4IDAgODguMDM3ek0yNTYgMTYwYy01Mi45MzUgMC05NiA0My4wNjUtOTYgOTZzNDMuMDY1IDk2IDk2IDk2IDk2LTQzLjA2NSA5Ni05Ni00My4wNjUtOTYtOTYtOTZ6bTAgMTQ0Yy0yNi40NjggMC00OC0yMS41MzItNDgtNDggMC0yNi40NjcgMjEuNTMyLTQ4IDQ4LTQ4czQ4IDIxLjUzMyA0OCA0OGMwIDI2LjQ2OC0yMS41MzIgNDgtNDggNDh6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NvbW1lbnQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00yNTYgMzJDMTE0LjYgMzIgMCAxMjUuMSAwIDI0MGMwIDQ3LjYgMTkuOSA5MS4yIDUyLjkgMTI2LjNDMzggNDA1LjcgNyA0MzkuMSA2LjUgNDM5LjVjLTYuNiA3LTguNCAxNy4yLTQuNiAyNlMxNC40IDQ4MCAyNCA0ODBjNjEuNSAwIDExMC0yNS43IDEzOS4xLTQ2LjNDMTkyIDQ0Mi44IDIyMy4yIDQ0OCAyNTYgNDQ4YzE0MS40IDAgMjU2LTkzLjEgMjU2LTIwOFMzOTcuNCAzMiAyNTYgMzJ6bTAgMzY4Yy0yNi43IDAtNTMuMS00LjEtNzguNC0xMi4xbC0yMi43LTcuMi0xOS41IDEzLjhjLTE0LjMgMTAuMS0zMy45IDIxLjQtNTcuNSAyOSA3LjMtMTIuMSAxNC40LTI1LjcgMTkuOS00MC4ybDEwLjYtMjguMS0yMC42LTIxLjhDNjkuNyAzMTQuMSA0OCAyODIuMiA0OCAyNDBjMC04OC4yIDkzLjMtMTYwIDIwOC0xNjBzMjA4IDcxLjggMjA4IDE2MC05My4zIDE2MC0yMDggMTYweicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdjb21wYXJlJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ0OCA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDMzLjk0MSA2NS45NDFsLTUxLjg4Mi01MS44ODJBNDggNDggMCAwMDM0OC4xMTggMEgxNzZjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2NDhINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MzIwYzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMjI0YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTQ4aDgwYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWOTkuODgyYTQ4IDQ4IDAgMDAtMTQuMDU5LTMzLjk0MXpNMjY2IDQ2NEg1NGE2IDYgMCAwMS02LTZWMTUwYTYgNiAwIDAxNi02aDc0djIyNGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDk2djQyYTYgNiAwIDAxLTYgNnptMTI4LTk2SDE4MmE2IDYgMCAwMS02LTZWNTRhNiA2IDAgMDE2LTZoMTA2djg4YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGg4OHYyMDJhNiA2IDAgMDEtNiA2em02LTI1NmgtNjRWNDhoOS42MzJjMS41OTEgMCAzLjExNy42MzIgNC4yNDMgMS43NTdsNDguMzY4IDQ4LjM2OGE2IDYgMCAwMTEuNzU3IDQuMjQzVjExMnonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY29tcGFzcyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0OTYgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTM0Ny45NCAxMjkuODZMMjAzLjYgMTk1LjgzYTMxLjkzOCAzMS45MzggMCAwMC0xNS43NyAxNS43N2wtNjUuOTcgMTQ0LjM0Yy03LjYxIDE2LjY1IDkuNTQgMzMuODEgMjYuMiAyNi4ybDE0NC4zNC02NS45N2EzMS45MzggMzEuOTM4IDAgMDAxNS43Ny0xNS43N2w2NS45Ny0xNDQuMzRjNy42MS0xNi42Ni05LjU0LTMzLjgxLTI2LjItMjYuMnptLTc3LjM2IDE0OC43MmMtMTIuNDcgMTIuNDctMzIuNjkgMTIuNDctNDUuMTYgMC0xMi40Ny0xMi40Ny0xMi40Ny0zMi42OSAwLTQ1LjE2IDEyLjQ3LTEyLjQ3IDMyLjY5LTEyLjQ3IDQ1LjE2IDAgMTIuNDcgMTIuNDcgMTIuNDcgMzIuNjkgMCA0NS4xNnpNMjQ4IDhDMTExLjAzIDggMCAxMTkuMDMgMCAyNTZzMTExLjAzIDI0OCAyNDggMjQ4IDI0OC0xMTEuMDMgMjQ4LTI0OFMzODQuOTcgOCAyNDggOHptMCA0NDhjLTExMC4yOCAwLTIwMC04OS43Mi0yMDAtMjAwUzEzNy43MiA1NiAyNDggNTZzMjAwIDg5LjcyIDIwMCAyMDAtODkuNzIgMjAwLTIwMCAyMDB6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NvbnRhY3QtZGV0YWlscyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMSAxOSclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGw9J2JsYWNrJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTE3LjQ4NyAxMy43MmwtMy45MzgtMS42ODhhLjg0NC44NDQgMCAwMC0uOTg0LjI0M2wtMS43NDQgMi4xM2ExMy4wMzEgMTMuMDMxIDAgMDEtNi4yMy02LjIzbDIuMTMxLTEuNzQzYS44NDIuODQyIDAgMDAuMjQzLS45ODVMNS4yNzcgMS41MWEuODUuODUgMCAwMC0uOTY3LS40ODlsLTMuNjU2Ljg0NEEuODQ0Ljg0NCAwIDAwMCAyLjY4N0MwIDExLjcwNSA3LjMxIDE5IDE2LjMxMyAxOWMuMzkzIDAgLjczNC0uMjcuODIyLS42NTRsLjg0NC0zLjY1NmEuODU0Ljg1NCAwIDAwLS40OTItLjk3eicgZmlsbC1ydWxlPSdub256ZXJvJy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdjb3VudHJ5JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM2IDIxJyUzZSUzY2cgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2clM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC4zMTMgLjgxMyknJTNlJTNjcGF0aCBkPSdNOS42ODcgMTkuMzc1YTkuNjg3IDkuNjg3IDAgMDA5LjY4OC05LjY4OEE5LjY4NyA5LjY4NyAwIDAwOS42ODcgMCA5LjY4NyA5LjY4NyAwIDAwMCA5LjY4N2E5LjY4NyA5LjY4NyAwIDAwOS42ODcgOS42ODh6bTAtMS44NzV2LTEuMDdjLjA2Ny0uNDkzLS4yOTgtMS40MTYtLjg4NC0yLjAwMmExLjI1IDEuMjUgMCAwMS0uMzY2LS44ODN2LTEuMjVjMC0uNDU2LS4yNDQtLjg3NC0uNjQyLTEuMDkzLS41NjItLjMxMS0xLjM2LS43NDUtMS45MDctMS4wMmE1LjYzMiA1LjYzMiAwIDAxLTEuMjM2LS44NWwtLjAzMi0uMDI4YTUuMzg4IDUuMzg4IDAgMDEtLjcwNS0uODFjLS4zNjctLjUzOC0uOTYzLTEuNDIzLTEuMzUxLTEuOTk4YTcuODU1IDcuODU1IDAgMDE0LjAzLTMuOThsLjkzOS40N2EuNjI1LjYyNSAwIDAwLjkwNC0uNTZ2LS40NDFjLjMxMy0uMDUuNjMtLjA4My45NTMtLjA5NWwxLjEwNiAxLjEwNmEuNjI1LjYyNSAwIDAxMCAuODg0bC0uMTg0LjE4Mi0uNDAzLjQwNGEuMzEzLjMxMyAwIDAwMCAuNDQybC4xODMuMTgzYS4zMTMuMzEzIDAgMDEwIC40NDJsLS4zMTMuMzEzYS4zNjIuMzYyIDAgMDEtLjE2My4wODRsLS4wNTguMDA3aC0uMzUxYS4zMTIuMzEyIDAgMDAtLjIxOC4wODlsLS4zODcuMzc3YS4zNTkuMzU5IDAgMDAtLjA5NS4yMjRjMCAuMDQuMDE1LjEwMy4wMzMuMTRsLjYwOSAxLjIxOGEuMzEzLjMxMyAwIDAxLS4yOC40NTJoLS4yMmEuMzEyLjMxMiAwIDAxLS4yMDUtLjA3NmwtLjM2Mi0uMzE1YS43MjUuNzI1IDAgMDAtLjQxLS4xNTMuNzQ5Ljc0OSAwIDAwLS4xOTcuMDMybC0xLjIxOC40MDVhLjUwNC41MDQgMCAwMC0uMzEuMzYzbC0uMDEuMDhjMCAuMTc3LjEuMzM5LjI2LjQxOGwuNDMyLjIxNmMuMzY3LjE4NC43NzMuMjggMS4xODQuMjguNDEgMCAuODgyIDEuMDY2IDEuMjUgMS4yNWgyLjYwN2MuMzMyIDAgLjY1LjEzMi44ODQuMzY2bC41MzUuNTM1Yy4xNjUuMTY1LjMwMy40NjYuMzQuNzJsLjAwOS4xMjJjMCAuNDE3LS4yNC45OTUtLjUzNiAxLjI4OWwtLjQ0Mi40NGEuOTM0LjkzNCAwIDAwLS4yNC40MTljLS4wNi4yMi0uMTA4LjQ0NC0uMTg3LjY1OWwtLjY4IDEuODNhNy44MDcgNy44MDcgMCAwMS0xLjY2Ni4xODN6bTcuNzQyLTYuODE1bC0xLjE0LS4yODVhLjkzOC45MzggMCAwMS0uNTUzLS4zOWwtLjcwMi0xLjA1M2ExLjEgMS4xIDAgMDEtLjE1OC0uNTJjMC0uMTU2LjA3LS4zOS4xNTgtLjUybC43NjUtMS4xNDdhLjkzNi45MzYgMCAwMS4zNjEtLjMxOGwuNTA3LS4yNTRhNy43NSA3Ljc1IDAgMDEuODMzIDMuNDljMCAuMzM4LS4wMjkuNjctLjA3MS45OTd6TTMwLjE4OCAxLjUzdjEwLjY1N0gzNWwtNS42NTcgNS42NTctNS42NTctNS42NTdoNC41VjEuNTNoMnonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnY3VzdG9tX3NvY2lhbF9tZWRpYV9saW5rJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM1Mi43NzkgMzgwJyUzZSUzY3BhdGggc3Ryb2tlPSdfX19zdHJva2VfX18nIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00zMzEuNDM2IDE1Ni45MzVsLTExMy4wOSAxMTMuMDlhMTYuNDg3IDE2LjQ4NyAwIDAxLTYuNTM3IDQuMDNsLTM5LjA1IDEyLjY4MiAxMi42ODItMzkuMDQ4YTE2LjUwMiAxNi41MDIgMCAwMTQuMDMyLTYuNTRsMTEzLjA5LTExMy4wODggMjguODcyIDI4Ljg3M3onIGZpbGw9J25vbmUnLyUzZSUzY3BhdGggc3Ryb2tlPSdfX19zdHJva2VfX18nIGZpbGw9J19fX2ZpbGxfX18nIGZpbGw9J25vbmUnIGQ9J00yNzguNDk2IDIwOS44NzV2MTQzLjc3SDI1LjEyVjI4LjA2MmgyNTMuMzc2VjE1Mi4xMycvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdkb2N1bWVudCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMDkgMzgxJyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI3LjUgMzUyLjU5N1YyOC4yNjJjMC0uMzQ1LjI4LS42MjUuNjI1LS42MjVIMTc2Ljg1YzQuODk3IDAgOS41OTMgMS45NTIgMTMuMDQ4IDUuNDIzbDg2LjI0IDg2Ljc3NWExOC40MTIgMTguNDEyIDAgMDE1LjM2MiAxMi45OXYyMTkuNzczYzAgLjM0NS0uMjguNjI1LS42MjUuNjI1SDI4LjEyNWEuNjI1LjYyNSAwIDAxLS42MjUtLjYyNnonLyUzZSUzY3BhdGggZD0nTTI3OC41IDEyNy44MDRoLTk2LjM3NWMtLjM0NSAwLS42MjUtLjMtLjYyNS0uNjdWMjguNzIyJy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnZG93bic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOCAxMiclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGw9J2JsYWNrJyUzZSUzY3BhdGggZD0nTTguNzU1LjUybDIuNDc1IDIuNDc1LS4wMDYuMDA1IDYuMDA2IDYuMDA1LTIuNDc1IDIuNDc1TDguNzUgNS40NzUgMi43NDUgMTEuNDguMjcgOS4wMDUgNi4yNzUgM2wtLjAwNS0uMDA1TDguNzQ1LjUybC4wMDUuMDA1LjAwNS0uMDA1eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnZG93bmxvYWQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjYyIDM1NiclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTE3NS43NTMgMTIyLjI1NGg0My41OThjOC4xNSAwIDE0Ljc1NSA2LjYwNSAxNC43NTUgMTQuNzU0djE3Ny4zYzAgOC4xNS02LjYwNSAxNC43NTUtMTQuNzU0IDE0Ljc1NUg0Mi4wNWMtOC4xNDggMC0xNC43NTQtNi42MDUtMTQuNzU0LTE0Ljc1NFYxMzcuMDA2YzAtOC4xNDggNi42MDUtMTQuNzU0IDE0Ljc1NC0xNC43NTRoNDMuNTk4Jy8lM2UlM2NwYXRoIGQ9J002Ni4wNDIgMjA5LjA4OGw1NC45MTcgNTAuNDljNS40MiA0Ljk4NiAxMi42NTMgNS4wMzUgMTguMTE1LjEyNGw1Ni4yODQtNTAuNjE0TTEzMC41OTYgMjYuNjg3djIyNicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2VndWlkZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzODQgNTEyJyUzZSUzY3BhdGggZD0nTTM2OS45IDk3LjlMMjg2IDE0QzI3NyA1IDI2NC44LS4xIDI1Mi4xLS4xSDQ4QzIxLjUgMCAwIDIxLjUgMCA0OHY0MTZjMCAyNi41IDIxLjUgNDggNDggNDhoMjg4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjEzMS45YzAtMTIuNy01LjEtMjUtMTQuMS0zNHpNMzMyLjEgMTI4SDI1NlY1MS45bDc2LjEgNzYuMXpNNDggNDY0VjQ4aDE2MHYxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMTA0djI4OEg0OHonLyUzZSUzY3BhdGggZD0nTTI0Ny42IDI2MS43Yy0xMi4xLTE3LjgtMzEuNy0yNi45LTU4LjMtMjYuOS0yMi42IDAtNDEuMiA4LjQtNTQgMjQuMy0xMS42IDE0LjMtMTcuNyAzMy44LTE3LjcgNTYuMyAwIDQ5LjcgMjkuOCA3OS4zIDc5LjggNzkuMyAxOS44IDAgMzUuOS0zLjcgNTAuNi0xMS42IDIuNi0xIDQuNC0zLjYgNC40LTYuNXYtMjkuNWMwLTIuNS0xLjMtNC44LTMuNS02LTIuMS0xLjMtNC44LTEuMy03LS4xLTExLjcgNi41LTI1LjkgMTMuMi00Mi45IDEzLjItMTYuNyAwLTI3LjktNy42LTMxLjYtMjEuMmg4OC4xYzMuOSAwIDctMy4xIDctNyAuMS0yOC40LTQuOC00OS40LTE0LjktNjQuM3ptLTgwIDMyLjRjMi40LTkgOC42LTE4LjcgMjMuOS0xOC43IDExLjcgMCAxOC45IDYuMyAyMS41IDE4LjdoLTQ1LjR6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2V4dGVybmFsLWFsdCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTQzMiAyODhoLTE2YTE2IDE2IDAgMDAtMTYgMTZ2MTU0YTYgNiAwIDAxLTYgNkg1NGE2IDYgMCAwMS02LTZWMTE4YTYgNiAwIDAxNi02aDE1NGExNiAxNiAwIDAwMTYtMTZWODBhMTYgMTYgMCAwMC0xNi0xNkg0OGE0OCA0OCAwIDAwLTQ4IDQ4djM1MmE0OCA0OCAwIDAwNDggNDhoMzUyYTQ4IDQ4IDAgMDA0OC00OFYzMDRhMTYgMTYgMCAwMC0xNi0xNnpNNTAwIDBIMzY0YTEyIDEyIDAgMDAtOC40OCAyMC40OGw0OC4xOSA0OC4yMS0yNzIuMiAyNzIuMmExMiAxMiAwIDAwMCAxN2wyMi42MyAyMi42M2ExMiAxMiAwIDAwMTcgMGwyNzIuMi0yNzIuMjEgNDguMjEgNDguMkExMiAxMiAwIDAwNTEyIDE0OFYxMmExMiAxMiAwIDAwLTEyLTEyeicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdleWUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTc2IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00yODggMTQ0YTExMC45NCAxMTAuOTQgMCAwMC0zMS4yNCA1IDU1LjQgNTUuNCAwIDAxNy4yNCAyNyA1NiA1NiAwIDAxLTU2IDU2IDU1LjQgNTUuNCAwIDAxLTI3LTcuMjRBMTExLjcxIDExMS43MSAwIDEwMjg4IDE0NHptMjg0LjUyIDk3LjRDNTE4LjI5IDEzNS41OSA0MTAuOTMgNjQgMjg4IDY0UzU3LjY4IDEzNS42NCAzLjQ4IDI0MS40MWEzMi4zNSAzMi4zNSAwIDAwMCAyOS4xOUM1Ny43MSAzNzYuNDEgMTY1LjA3IDQ0OCAyODggNDQ4czIzMC4zMi03MS42NCAyODQuNTItMTc3LjQxYTMyLjM1IDMyLjM1IDAgMDAwLTI5LjE5ek0yODggNDAwYy05OC42NSAwLTE4OS4wOS01NS0yMzcuOTMtMTQ0Qzk4LjkxIDE2NyAxODkuMzQgMTEyIDI4OCAxMTJzMTg5LjA5IDU1IDIzNy45MyAxNDRDNDc3LjEgMzQ1IDM4Ni42NiA0MDAgMjg4IDQwMHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnZmFjZWJvb2snOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NnJTNlJTNjZyUzZSUzY3BhdGggZD0nTTQ1MiAwSDYwQzI2LjkxNiAwIDAgMjYuOTE2IDAgNjB2MzkyYzAgMzMuMDg0IDI2LjkxNiA2MCA2MCA2MGgzOTJjMzMuMDg0IDAgNjAtMjYuOTE2IDYwLTYwVjYwYzAtMzMuMDg0LTI2LjkxNi02MC02MC02MHptMjAgNDUyYzAgMTEuMDI4LTguOTcyIDIwLTIwIDIwSDMzOFYzMDloNjEuNzlMNDEwIDI0N2gtNzJ2LTQzYzAtMTYuOTc1IDEzLjAyNS0zMCAzMC0zMGg0MXYtNjJoLTQxYy01MC45MjMgMC05MS45NzggNDEuMjUtOTEuOTc4IDkyLjE3NFYyNDdIMjE2djYyaDYwLjAyMnYxNjNINjBjLTExLjAyOCAwLTIwLTguOTcyLTIwLTIwVjYwYzAtMTEuMDI4IDguOTcyLTIwIDIwLTIwaDM5MmMxMS4wMjggMCAyMCA4Ljk3MiAyMCAyMHYzOTJ6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdmaWxlLWFsdCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzODQgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTI4OCAyNDh2MjhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi0yOGMwLTYuNiA1LjQtMTIgMTItMTJoMTY4YzYuNiAwIDEyIDUuNCAxMiAxMnptLTEyIDcySDEwOGMtNi42IDAtMTIgNS40LTEyIDEydjI4YzAgNi42IDUuNCAxMiAxMiAxMmgxNjhjNi42IDAgMTItNS40IDEyLTEydi0yOGMwLTYuNi01LjQtMTItMTItMTJ6bTEwOC0xODguMVY0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjQ4QzAgMjEuNSAyMS41IDAgNDggMGgyMDQuMUMyNjQuOCAwIDI3NyA1LjEgMjg2IDE0LjFMMzY5LjkgOThjOSA4LjkgMTQuMSAyMS4yIDE0LjEgMzMuOXptLTEyOC04MFYxMjhoNzYuMUwyNTYgNTEuOXpNMzM2IDQ2NFYxNzZIMjMyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNFY0OEg0OHY0MTZoMjg4eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdmbGFnJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMzM2LjE3NCA4MGMtNDkuMTMyIDAtOTMuMzA1LTMyLTE2MS45MTMtMzItMzEuMzAxIDAtNTguMzAzIDYuNDgyLTgwLjcyMSAxNS4xNjhhNDguMDQgNDguMDQgMCAwMDIuMTQyLTIwLjcyN0M5My4wNjcgMTkuNTc1IDc0LjE2NyAxLjU5NCA1MS4yMDEuMTA0IDIzLjI0Mi0xLjcxIDAgMjAuNDMxIDAgNDhjMCAxNy43NjQgOS42NTcgMzMuMjYyIDI0IDQxLjU2MlY0OTZjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNmgxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di04My40NDNDMTA5Ljg2OSAzOTUuMjggMTQzLjI1OSAzODQgMTk5LjgyNiAzODRjNDkuMTMyIDAgOTMuMzA1IDMyIDE2MS45MTMgMzIgNTguNDc5IDAgMTAxLjk3Mi0yMi42MTcgMTI4LjU0OC0zOS45ODFDNTAzLjg0NiAzNjcuMTYxIDUxMiAzNTIuMDUxIDUxMiAzMzUuODU1Vjk1LjkzN2MwLTM0LjQ1OS0zNS4yNjQtNTcuNzY4LTY2LjkwNC00NC4xMTdDNDA5LjE5MyA2Ny4zMDkgMzcxLjY0MSA4MCAzMzYuMTc0IDgwek00NjQgMzM2Yy0yMS43ODMgMTUuNDEyLTYwLjgyNCAzMi0xMDIuMjYxIDMyLTU5Ljk0NSAwLTEwMi4wMDItMzItMTYxLjkxMy0zMi00My4zNjEgMC05Ni4zNzkgOS40MDMtMTI3LjgyNiAyNFYxMjhjMjEuNzg0LTE1LjQxMiA2MC44MjQtMzIgMTAyLjI2MS0zMiA1OS45NDUgMCAxMDIuMDAyIDMyIDE2MS45MTMgMzIgNDMuMjcxIDAgOTYuMzItMTcuMzY2IDEyNy44MjYtMzJ2MjQweicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdmbGFtZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzODQgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTIxNiAyNC4wMWMwLTIzLjgtMzEuMTYtMzMuMTEtNDQuMTUtMTMuMDRDNzYuNTUgMTU4LjI1IDIwMCAyMzguNzMgMjAwIDI4OGMwIDIyLjA2LTE3Ljk0IDQwLTQwIDQwcy00MC0xNy45NC00MC00MFYxODIuMTNjMC0xOS4zOS0yMS44Ni0zMC43Ni0zNy43My0xOS42OEMzMC43NSAxOTguMzggMCAyNTcuMjggMCAzMjBjMCAxMDUuODcgODYuMTMgMTkyIDE5MiAxOTJzMTkyLTg2LjEzIDE5Mi0xOTJjMC0xNzAuMjktMTY4LTE5Mi44NS0xNjgtMjk1Ljk5ek0xOTIgNDY0Yy03OS40IDAtMTQ0LTY0LjYtMTQ0LTE0NCAwLTI4LjY2IDguNTYtNjQuNzEgMjQtODh2NTZjMCA0OC41MiAzOS40OCA4OCA4OCA4OHM4OC0zOS40OCA4OC04OGMwLTY0LjI3LTg4LTEyMC02NC0yMDggNDAgODggMTUyIDEyMS43NyAxNTIgMjQwIDAgNzkuNC02NC42IDE0NC0xNDQgMTQ0eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdnZW0nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTc2IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000NjQgMEgxMTJjLTQgMC03LjggMi0xMCA1LjRMMiAxNTIuNmMtMi45IDQuNC0yLjYgMTAuMi43IDE0LjJsMjc2IDM0MC44YzQuOCA1LjkgMTMuOCA1LjkgMTguNiAwbDI3Ni0zNDAuOGMzLjMtNC4xIDMuNi05LjguNy0xNC4yTDQ3NC4xIDUuNEM0NzEuOCAyIDQ2OC4xIDAgNDY0IDB6bS0xOS4zIDQ4bDYzLjMgOTZoLTY4LjRsLTUxLjctOTZoNTYuOHptLTIwMi4xIDBoOTAuN2w1MS43IDk2SDE5MWw1MS42LTk2em0tMTExLjMgMGg1Ni44bC01MS43IDk2SDY4bDYzLjMtOTZ6bS00MyAxNDRoNTEuNEwyMDggMzUyIDg4LjMgMTkyem0xMDIuOSAwaDE5My42TDI4OCA0MzUuMyAxOTEuMiAxOTJ6TTM2OCAzNTJsNjguMi0xNjBoNTEuNEwzNjggMzUyeicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdnbG9iZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMzMuNDUgMzMzLjQzJyUzZSUzY3BhdGggZD0nTTE2Ni43MiAxOS45OThDODUuODIgMTkuOTk4IDIwIDg1LjgxOCAyMCAxNjYuNzE1czY1LjgzIDE0Ni43MTcgMTQ2LjczIDE0Ni43MTcgMTQ2LjcxNi02NS44MiAxNDYuNzE2LTE0Ni43MTctNjUuODMtMTQ2LjcxNy0xNDYuNzMtMTQ2LjcxN3ptNDEuNTc3IDkyLjQyNGMuODIzIDIuODEgMi42MjMgNS45MTYgNS40MzQgOS4zODZsMS4xMyAxLjU0Yy40Ny42NDggMS4wODIgMS4zNDIgMS42NyAyLjAzNmExMjIuNTIgMTIyLjUyIDAgMDAtNi41MTYtMS42bC0zLjY3LTExLjE4NmMuNzQyLS4wMjMgMS4zOS0uMDkzIDEuOTUzLS4xNzZ6bS0xMy44MDggMi42N2wzLjkwNCA2LjI0Ni0uMzE4LjAzNS0xLjY0NyAxLjI5NGMtMS4yNDggMS4wMTItMTAuNTg3LjY0Ny0xMy44OTItLjcwNmE1MS43NyA1MS43NyAwIDAwLS40MzUtMmwxLjgyMyAxLjM1NCAyLjQ4Mi0uNDEyYTExLjE1MyAxMS4xNTMgMCAwMDguMDgtNS44MXptLTI3Ljc3IDE4Mi4zNDRjLTMwLjQ4OCAwLTU5LjU0LTEwLjQ4LTgyLjg3NS0yOS42ODdhMjUuMTcgMjUuMTcgMCAwMDIuNjctMS45MDZsMy4wNy0yLjU3Ni0yLjczLTguMTk4IDMuOTY1LTEyLjQ5LjMzLTEuOTljMC00Ljc2My0xLjg5NS0xMC4yNjctNi45My0xMS4yNTUtLjU3NS0uMjM1LTIuMDU3LTIuNTc2LTIuOTQtMy4yLTIuNTA0LTEuODM0LTQuNDkyLTQuNTI3LTYuOTI3LTQuNTI3aC0uMDI0Yy0uNDQ4IDAtMS43MTguNzE3LTIuNDgzLjIxMi0uNjgyLS40MzUtMS41NzYtLjI5NC0yLjU0LS43NzYtLjU3Ny0uMjctMS41NDItLjQyMy0xLjQxMi0uMjM1YTMwLjE5MiAzMC4xOTIgMCAwMS0zLjMxNy02LjI0N2MtLjkwNi0yLjUzLTEuNzE3LTMuNzg3LTUuOTc1LTguNTc0LTIuOC0zLjE3Ny0zLjQ3LTMuODctNi4wNTctNS4wODJsLTEuMDgyLS40OTRjLTEuMDk0LS41NC0xLjgxLTEuMDk0LTIuNTE3LTEuNi0xLjExNy0uOC0yLjUwNS0xLjgxLTQuNTE3LTIuNjM1LTEuNjk0LS42OTUtMi4yMzUtMS4xMDctMy44Ny0yLjQ5NS0uNTg4LS41My0xLjI4Mi0xLjExNy0yLjExNy0xLjY1OGExMzEuNzk0IDEzMS43OTQgMCAwMS0yLjQ0Ni0yNS4zMWwuMDI0LTEuNjI0YzEuMjk1LTMuMzY0IDIuNDk1LTkuMDY4IDEuOTE4LTExLjk2Mi0uMDM1LS43MjguNDIzLTMuMDEuNzA2LTQuMzYzLjQ4Mi0yLjM3Ni44OTQtNC43MjguODQ3LTUuODguMjQ4LS45OSAyLTMuNjcgMi45My01LjEwNiAxLjIzNS0xLjkwNCAyLjI5NC0zLjY3IDIuNzc2LTQuODQ1LjQ5NC0xLjIgMy4yMS01LjM3NSA0Ljg0Ni03Ljg4bDIuNzMtNC4yOGMuNzE2LTEuMTE4IDIuMzc1LTMuNzY1IDEuNzQtNi42ODIgMy4wOTMtMi4xODggNy4wOC01LjAyMiA3LjU5OC01LjQ1Ny42MzUtLjYzNSA1Ljk1LTYuNDQ1LjUwNi0xNi41MzctLjE3Ni0uMzMgMS44Ny0uNTkgMS43ODgtLjczLjQ2LS44NDcgMy4yMzUtMi4yMzUgMy4yMzUtNC4wOTN2LS40MzdjMC0zLjU4NyAxLjQtNi4zOTggNC41NS02LjM5OGgxLjk1M2MuNzA2IDAgMS40LTIuMDU4IDIuMDQ3LTIuMTc2bDQuOCAxLjE2NCA5LjkzOC00LjE4NyAxLjA2LTIuMmMuMDEtLjAxIDEuMDU4LTIuMDM0IDMuMjctMy42MSAzLjI5Mi0yLjM2NCA0LjI5Mi0zLjg1OCA1LjgzMy02LjQxbC00LjcxNS0zLjU0IDUuNTYzIDIuNTA1Yy42NDctLjYzNSAxLjk1Mi00Ljk3NSA1LjM0LTguNjEgMy45NC00LjIzNCA2LjE5OC04LjIxIDUuOTQtOC4yMWgyLjQ1OGwxLjc0IDEuMTA2Yy41My0uNTg4IDIuNzQyLTEuNTMgNC40NDctMy44MzQgMjIuNjQyLTguMzA0IDQ3LjYxMi05LjMyNyA3MS4xMzYtNC41MjgtMy4xMDYuMDctNi4wMjMgMS40LTEwLjQ3IDMuNTMtMS4wOC41MTctMi4wNDYgMS4yLTIuNjIyIDEuMzg3LTEuMDEyLjI0Ni0yLjU0Ljk2My00LjE1MiAxLjY5My0uOTc2LjQyMy0yLjc4OCAxLjI3LTMgMS4zNjQtNC4wMSAwLTcuNDY4IDMuMzA1LTEwLjIyIDYuOTE2LTMuNDQ2IDYuMjctMi42MSAxMC4wNDUtMS41MDYgMTEuOTAzbDIuMjU4IDMuOTg3aDEuNjM1Yy0yLjE0IDAtNC4xMjggMy4xMy01LjM2MyA0LjIxbC01Ljk0LTcuMzI3LTUuNjEtMTEuODMyLTkuODEgOC40N3Y0LjM5bC02LjAxLTIuMDU4LTYuMDkyIDEyLjcwMyA4LjY4IDExLjk3NCAzLjQ0Ni0zLjAzNnYuODIzbDUuNTA1LTEuNGMtLjEzIDEuMzg4LS40MTMgMi43NTIuMDQ2IDQuMDIzbC0xNi4xMTQgMy43NCAxLjM4OCA2Yy4yNDcuOTYzLjMwNiAyLjg1Ny4zODggMy45OTgtMi4yMSA4Ljc3NC0uMjEyIDExLjQ0NC41NzYgMTIuNDY4bDEuNDQ3IDEuNmMtMi4wMzQgMi4wNTgtMy4zNzUgNC4zNTItNC4wNDUgNS40OC0uOTE3IDEuMDctMi41ODggMi45NjUtMi45NCA1Ljc2NC0uNTMuNjctMS43MDUgMS43NC0yLjU0IDIuMzA1bC0xLjA3LjY2Yy0zLjg2IDIuMzYzLTcuNDcgNC43MjctOS4yOTMgNy43NjItMi4yNyAzLjgyMy0zLjcwNSA3LjE3NS00LjI0NiA5Ljk3NC0uNjIzIDMuMTE4LS42MjMgNS41NTMtLjYyMyA5LjIzNCAwIDEuMTMtLjA2IDIuMDk0LS4xMTggMi45ODgtLjExOCAxLjk1Mi0uMjQ3IDMuOTc2LjIgNi42MS45NCA1LjYzNCA4LjY5MiAxNS43NSA4Ljc5OCAxNS44NzggMi40MjMgMy4wMzUgNS4yOTMgNi40MzQgOC42MiA4LjQxIDEuNzE4IDEuMDM1IDMuOTQgMi44NyA0Ljg2IDMuNjQ2IDIuMjEgMi42IDcuMzUgNC44MzQgMTIuMzg0IDIuOTE3IDEuNDEtLjU0IDIuODM1LS44IDQuMjEtMS4xMyAyLjU0Mi0uNTY0IDUuNDM1LTEuMTg3IDguMjgtMi43OTguNjYtLjM3NiAxLjI0OC0uNzE3IDEuNzktLjk2NCAyLjE5OCAzLjY2IDYuNzE1IDUuNDcgMTEuMjkgMy45NjVsLjA5NC0uMDM1Yy4xNTQuOTQuMjk1IDEuODEuNDQ4IDIuNjIzLjE2NS44LjMwNiAxLjQ5NC4yOTQgMi44ODItLjA5NCAyLS4yNyA1LjcyOCAyLjc2NCA4Ljc4Ni42LjYgMS40OTQgMS4zMTggMi40NTggMi4xMTguNDEyLjMxOCAxLjAyMy44IDEuNDk0IDEuMjIzLjIgMi41MTguNzMgNi43MyAyLjA0NyA5LjM1Mi42MzUgMS4yMzUuOCAyLjE4OCAxLjAyMyAxLjc2NC0xLjExNyAyLjIxLTMuMzE3IDguMjIyLTMuNTQgOC45NzQtMS4zNjQgNi4xNC0uNTc2IDguNDgtLjM0IDkuMTUuOTUyIDIuOTQgMi43NCA1LjY5NCA1LjQ2OCA4LjQxLjMzLjMzLjQ4Mi44MTMuOCAyIC4zNzYgMS4zNjUuODgyIDMuMjI0IDIuMTc2IDQuOTUzLjUxOC43MyAxLjcwNSAzLjc0IDIuMjk0IDUuNTYzbC43NCA0LjA5My0uMDEgMTEuMzUgNi43MjctLjk2NXMxMS4wMzMtMS42MSAxMy4xODUtMi4xNTJjMi41MDUtLjY0NyAxMC45ODYtNC41NjQgMTQuMDMyLTcuNTk4IDEuNTUzLTEuNTUzIDIuMjk0LTMgMi43ODgtMy45NjQuNC0uNzQuNDQ3LS44MzQuODM1LTEuMTc1IDIuNTE3LTIgNy4wOTItNS41MTYgNy4wOTItNS41MTZsMi40ODItMS45MDYtLjU0LTguNTc0IDQuMjIyLTUuNjkzIDMuNTk4LTMuNjdjLS44NDcgMi4wMjMtMS45MTcgNC42NTgtMi4zMDUgNi4yLS43MDYgMi43OTgtLjIzNSA2LjE3NCAyIDkuMDFsMi42MSAxLjYyMmgyLjg2bDIuMTA0Ljc4N2MyLjE4OC0uNzE3IDMuOTE3LTEuOCA1LjYyMi0zLjQyMy41MTctLjQ5NCAxLjAxLS43MTcgMS4zMjgtLjk1MyAzLjIxLTIuMTE2IDYuMzE2LTcuNTI3IDcuMDU3LTEwLjQybDIuMDM1LTcuNTI4Yy41ODgtMi4zNCAxLjE4OC02Ljg1NyAxLjE4OC04Ljk5OCAwLTIuMTMtLjU2NS00LjQ4LS42ODItNC45NGwtMy42OC0xNC44NTUtMTAuMjkzIDE5LjMzNWEyMi43MTUgMjIuNzE1IDAgMDAtMy41NjQgMi4xMTdjLjAxLS44OTQtLjA3Mi0xLjYyMy0uMTc3LTItLjI0Ny0uOTg4LS43NjUtNS41NC0xLjIyMy05LjcxNS43My0xLjUzIDEuNjgyLTMuMzA1IDIuMjIzLTQuMDcuOTY0LTEuMjgyIDEuNTE3LTIuNTY0IDEuOTUyLTMuNTc2LjUzLTEuMjIyLjc4OC0xLjggMS42NDctMi41MjggMy4xNjQtMi42MjMgNS4yOC01LjU0IDYuODQ1LTcuNjdsMS4yMjMtMS42MzRjMS42ODItMi4yMSA0LjMwNS01Ljc0IDUuMTc1LTcuMTA0IDEuNDQ3LTIuMTUyIDIuNDQ2LTYuMDEgMi45MDUtOC4wOTJsMS44Ny04LjQ5Mi03LjA0NSAxLjE3NmMuODQ3LS40MjMgMS42MS0uODIzIDIuMTMtMS4xNzYuNDEtLjI3IDEuMTI4LS42ODIgMS45NC0xLjE0IDMuMjEtMS44IDUuNjEtMy4xODggNy4xMDQtNC42ODJsMy4xNS0yLjI5NGMyLjc2NS0xLjgzNSA2LjIxLTQuMTI4IDYuNjQ2LTguMDkyLjYxMi40ODIgMS4yNi45NCAyLjAxIDEuMjk0LjUwNy4zMTggMS43MTggMS42NDcgMi42OTQgMi44Ny43MyAxLjcxNyAyLjU2NCA2LjA0NiAyLjk0IDcuNTYzLjI2IDEuMDIyIDEuMDIzIDIuOTI4IDEuODU4IDQuOTE1LjY0NyAxLjUwNiAxLjM1MyAzLjA5MyAxLjUwNiAzLjIzNSAwIDEuMzMuNiA1LjMwNSAyLjgxIDcuODMzLTguNzA3IDYzLjU3LTYzLjQyMyAxMTIuNzMzLTEyOS4zOTUgMTEyLjczM3ptMS44OC0xODcuNTY2Yy0uMDQ2IDAtLjE1Mi4wMjQtLjE4Ny4wMjQtLjU1My0uMTA2LTIuMjk0LS42Ny0zLjY3LTEuMjFsLTEuMzE3LS41Mi0xLjQuMTNjLS40OTQuMDYtMS4yMjMuMTUzLTIuMDIzLjI0Ny4wNDctLjA3LjE2NS0uMjQ2LjItLjI4LjQxMi0uNjI0LjgtMS4yMTIgMi4zODgtMS43MTggMi45MDYtLjk3NiA0LjQ3LTIuMzMgNS4wMTItMy4wMzUuODM1LS4yNiAyLjgyMy0uNjYgNC40MjItLjkxN2wyLjQ3IDEuNjM1Yy43My44NyAxLjc2NCAxLjgzNSAzLjI1OCAyLjc3NmwtOS4zOTggMi42ODMuMjQ3LjE4N3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnbGFuZ3VhZ2UtYXJyb3cnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzYgMjEnJTNlJTNjZyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDQpJyUzZSUzY3BhdGggZD0nTTI0LjA2MiAxMi43NWMuNTIgMCAuOTM4LS40MTguOTM4LS45MzdWMS4xODhhLjkzNS45MzUgMCAwMC0uOTM4LS45MzhIMTMuMTI1djEyLjVoMTAuOTM3em0tMTIuMTg3IDBWLjI1SC45MzdBLjkzNS45MzUgMCAwMDAgMS4xODh2MTAuNjI1YzAgLjUxOS40MTguOTM3LjkzNy45MzdoMTAuOTM4em0tOC4yMzQtMi41aC0uODk1YS40NzIuNDcyIDAgMDEtLjQ0NS0uNjIxbDIuMjQ2LTYuNjA2YS40NjcuNDY3IDAgMDEuNDQ1LS4zMTZoMS4yN2MuMTk5IDAgLjM3OS4xMjkuNDQ1LjMxNkw4Ljk1MyA5LjYzYS40Ny40NyAwIDAxLS40NDUuNjIxaC0uODk1YS40OTcuNDk3IDAgMDEtLjQ0OS0uMzM2bC0uMzY3LTEuMjQ2SDQuNDQ1TDQuMDkgOS45MWEuNDcyLjQ3MiAwIDAxLS40NS4zNHptMTcuMTItLjA2NmExMy41OTQgMTMuNTk0IDAgMDEtMS4zODItLjk3M2MtLjQyNi4zNC0uODg3LjY2OC0xLjM4My45NzNhLjQ3LjQ3IDAgMDEtLjY1Mi0uMTY4bC0uMzA5LS41NDNhLjQ2OC40NjggMCAwMS4xNjQtLjYzM2MuMzYzLS4yMjMuNzAzLS40NTcgMS4wMi0uNzAzYTkuMDYxIDkuMDYxIDAgMDEtLjgyLTEuMDA0LjQ2Ny40NjcgMCAwMS4xNDQtLjY2OGwuMjU0LS4xNTIuMjg1LS4xNjhhLjQ3Mi40NzIgMCAwMS42MjUuMTMyYy4xOTUuMjc0LjQyMi41NDcuNjguODE3LjUyNy0uNTU1LjkzLTEuMTMgMS4xNzItMS42ODhoLTQuNDY1YS40Ny40NyAwIDAxLS40NjktLjQ2OHYtLjYyNWEuNDcuNDcgMCAwMS40NjktLjQ3aDIuNVYzLjIyYS40Ny40NyAwIDAxLjQ2OC0uNDY5aC42MjVhLjQ3LjQ3IDAgMDEuNDcuNDY5di42MjVoMi41YS40Ny40NyAwIDAxLjQ2OC40Njl2LjYyNWEuNDcuNDcgMCAwMS0uNDY5LjQ2OGgtLjQ0NWMtLjI3LjkyMi0uODQ4IDEuODUyLTEuNjY4IDIuNzMuMzI4LjI1LjY2OC40ODkgMS4wMi43MDRhLjQ3LjQ3IDAgMDEuMTYuNjMzbC0uMzA5LjU0M2EuNDcuNDcgMCAwMS0uNjUyLjE2OHpNNi4zNjggNy4xOWwtLjQyNi0xLjQ2NGMtLjEzNi0uNDczLS4zMDQtMS4yOTctLjMwNC0xLjI5N2gtLjAycy0uMTY4LjgyNC0uMzA1IDEuMjk3TDQuODggNy4xOWgxLjQ4OHonLyUzZSUzYy9nJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSg1IDEpJyUzZSUzY3BhdGggZD0nTTMwLjE4OCAxLjUzdjEwLjY1N0gzNWwtNS42NTcgNS42NTctNS42NTctNS42NTdoNC41VjEuNTNoMnonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2xhbmd1YWdlJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI1IDEzJyUzZSUzY2cgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZD0nTTI0LjA2MiAxMi43NWMuNTIgMCAuOTM4LS40MTguOTM4LS45MzdWMS4xODhhLjkzNS45MzUgMCAwMC0uOTM4LS45MzhIMTMuMTI1djEyLjVoMTAuOTM3em0tMTIuMTg3IDBWLjI1SC45MzdBLjkzNS45MzUgMCAwMDAgMS4xODh2MTAuNjI1YzAgLjUxOS40MTguOTM3LjkzNy45MzdoMTAuOTM4em0tOC4yMzQtMi41aC0uODk1YS40NzIuNDcyIDAgMDEtLjQ0NS0uNjIxbDIuMjQ2LTYuNjA2YS40NjcuNDY3IDAgMDEuNDQ1LS4zMTZoMS4yN2MuMTk5IDAgLjM3OS4xMjkuNDQ1LjMxNkw4Ljk1MyA5LjYzYS40Ny40NyAwIDAxLS40NDUuNjIxaC0uODk1YS40OTcuNDk3IDAgMDEtLjQ0OS0uMzM2bC0uMzY3LTEuMjQ2SDQuNDQ1TDQuMDkgOS45MWEuNDcyLjQ3MiAwIDAxLS40NS4zNHptMTcuMTItLjA2NmExMy41OTQgMTMuNTk0IDAgMDEtMS4zODItLjk3M2MtLjQyNi4zNC0uODg3LjY2OC0xLjM4My45NzNhLjQ3LjQ3IDAgMDEtLjY1Mi0uMTY4bC0uMzA5LS41NDNhLjQ2OC40NjggMCAwMS4xNjQtLjYzM2MuMzYzLS4yMjMuNzAzLS40NTcgMS4wMi0uNzAzYTkuMDYxIDkuMDYxIDAgMDEtLjgyLTEuMDA0LjQ2Ny40NjcgMCAwMS4xNDQtLjY2OGwuMjU0LS4xNTIuMjg1LS4xNjhhLjQ3Mi40NzIgMCAwMS42MjUuMTMyYy4xOTUuMjc0LjQyMi41NDcuNjguODE3LjUyNy0uNTU1LjkzLTEuMTMgMS4xNzItMS42ODhoLTQuNDY1YS40Ny40NyAwIDAxLS40NjktLjQ2OHYtLjYyNWEuNDcuNDcgMCAwMS40NjktLjQ3aDIuNVYzLjIyYS40Ny40NyAwIDAxLjQ2OC0uNDY5aC42MjVhLjQ3LjQ3IDAgMDEuNDcuNDY5di42MjVoMi41YS40Ny40NyAwIDAxLjQ2OC40Njl2LjYyNWEuNDcuNDcgMCAwMS0uNDY5LjQ2OGgtLjQ0NWMtLjI3LjkyMi0uODQ4IDEuODUyLTEuNjY4IDIuNzMuMzI4LjI1LjY2OC40ODkgMS4wMi43MDRhLjQ3LjQ3IDAgMDEuMTYuNjMzbC0uMzA5LjU0M2EuNDcuNDcgMCAwMS0uNjUyLjE2OHpNNi4zNjggNy4xOWwtLjQyNi0xLjQ2NGMtLjEzNi0uNDczLS4zMDQtMS4yOTctLjMwNC0xLjI5N2gtLjAycy0uMTY4LjgyNC0uMzA1IDEuMjk3TDQuODggNy4xOWgxLjQ4OHonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2xhd25vdyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzODIuNCAyNTQuMTMnJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMjAgMTE4Ljc1NFYyMC40MjhoMjAuODR2ODEuMTU0aDM5LjkwNHYxNy4yMzNIMjB2LS4wNnptMTM4LjA0OCAwbC03LjE1LTIzLjQwNWgtMzUuODcybC03LjE1IDIzLjQwNEg4NS4zODhMMTIwLjA5OCAyMGgyNS40ODNsMzQuODM0IDk4Ljc1NGgtMjIuMzY2em0tMTIuMS00MC44ODNjLTYuNi0yMS4yMDQtMTAuMzI4LTMzLjE4Mi0xMS4xMjItMzUuOTkzYTgxLjQyMyA4MS40MjMgMCAwMS0xLjc3Mi02LjZjLTEuNDY3IDUuNzQ0LTUuNzQ0IDE5LjkyMi0xMi43MSA0Mi41OTRoMjUuNjA0ek0yODguNyAxMTguNzU0aC0yMy43N2wtMTMuMzIzLTUxLjYzOGMtLjQ5LTEuODMzLTEuMzQ0LTUuNjIyLTIuNTA2LTExLjQyOC0xLjE2LTUuNzQ0LTEuODkzLTkuNjU1LTIuMDc3LTExLjYxLS4yNDQgMi40NDMtLjkxNyA2LjI5My0yLjAxNyAxMS42N3MtMS44OTQgOS4xNjgtMi41MDYgMTEuNDlsLTEzLjI2IDUxLjUxNmgtMjMuNzFsLTI0Ljk5NC05OC4zMjZoMjAuNTMzbDEyLjU4OCA1My42NTVjMi4yIDkuOSAzLjc5IDE4LjUxNiA0Ljc2NyAyNS43ODguMjQ0LTIuNTY2Ljg1Ni02LjUzOCAxLjgzMy0xMS44NTQuOTc4LTUuMzc4IDEuODk0LTkuNTMzIDIuNzUtMTIuNDY2bDE0LjMtNTUuMTJoMTkuNjc3bDE0LjMgNTUuMTJjLjYxIDIuNDQ0IDEuNDA2IDYuMjMzIDIuMzgzIDExLjMwNS45MTcgNS4wNzIgMS42NSA5LjQxIDIuMTQgMTMuMDc4LjQyNy0zLjQ4MyAxLjE2LTcuODgzIDIuMTM4LTEzLjA3OC45NzgtNS4xOTQgMS44OTQtOS40NzIgMi42OS0xMi43MWwxMi41MjctNTMuNjU2aDIwLjUzM0wyODguNyAxMTguNzUzem0yOS4xNS0yOC41MzhWNzMuNDFoMzYuMTE3djE2LjgwNUgzMTcuODV6bS0yMTAuNTg1IDE0Mi41N0g4MC43NDNsLTQyLjc3Ny03NC40MzJoLS42MWMuODU1IDEzLjE0IDEuMjgyIDIyLjQ5IDEuMjgyIDI4LjExdjQ2LjI2SDIwVjEzNC40aDI2LjI3N2w0Mi43MTYgNzMuNjM3aC40OWMtLjY3My0xMi43NzItMS4wNC0yMS44MTYtMS4wNC0yNy4xMzN2LTQ2LjU2NmgxOC44MjJ2OTguNDQ4em0xMTQuMDMyLTQ5LjMxNmMwIDE2LjI1NS00LjAzMyAyOC43ODMtMTIuMSAzNy41MjItOC4wNjcgOC43NC0xOS42MTYgMTMuMTQtMzQuNzEgMTMuMTQtMTUuMDk1IDAtMjYuNjQ1LTQuNC0zNC43MTItMTMuMTRzLTEyLjEtMjEuMzI3LTEyLjEtMzcuNjQ0YzAtMTYuMzc4IDQuMDMzLTI4Ljg0NCAxMi4xNi0zNy41MjIgOC4wNjgtOC42MTcgMTkuNjc4LTEyLjk1NSAzNC44MzQtMTIuOTU1IDE1LjA5MyAwIDI2LjY0MyA0LjM0IDM0LjY0OCAxMy4wOCA3Ljk0NSA4LjY3NiAxMS45OCAyMS4yMDMgMTEuOTggMzcuNTJ6bS03MS44MDUgMGMwIDExIDIuMDc4IDE5LjI1IDYuMjMzIDI0LjgxIDQuMTU2IDUuNTYyIDEwLjM5IDguMzczIDE4LjcgOC4zNzMgMTYuNjIyIDAgMjQuOTMzLTExLjA2IDI0LjkzMy0zMy4xODMgMC0yMi4xODMtOC4yNS0zMy4yNDQtMjQuODEtMzMuMjQ0LTguMzEyIDAtMTQuNTQ1IDIuODEtMTguNzYyIDguMzcyLTQuMTU1IDUuNTYtNi4yOTQgMTMuODcyLTYuMjk0IDI0Ljg3MnptMTg3Ljk3NSA0OS4zMTZoLTIzLjc3MmwtMTMuMzIyLTUxLjdjLS40OS0xLjgzMi0xLjM0NC01LjYyLTIuNTA2LTExLjQyNy0xLjE2LTUuNzQ1LTEuODk0LTkuNjU2LTIuMDc4LTExLjYxMi0uMjQ1IDIuNDQ0LS45MTggNi4yOTQtMi4wMTggMTEuNjcyLTEuMSA1LjM3OC0xLjg5NCA5LjE2Ny0yLjUwNiAxMS40OWwtMTMuMjYgNTEuNTE1aC0yMy43MTJMMjI5LjE3OCAxMzQuNGgyMC41MzNsMTIuNTkgNTMuNjU0YzIuMiA5LjkgMy43OSAxOC41MTYgNC43NjcgMjUuNzg4LjI0NC0yLjU2Ny44NTYtNi41NCAxLjgzMy0xMS44NTUuOTc4LTUuMzc4IDEuODk0LTkuNTMzIDIuNzUtMTIuNDY2bDE0LjMtNTUuMTJoMTkuNzRsMTQuMyA1NS4xMmMuNjEgMi40NDUgMS40MDUgNi4yMzQgMi4zODIgMTEuMzA2LjkxNyA1LjA3MiAxLjY1IDkuNDEgMi4xNCAxMy4wNzguNDI3LTMuNDgzIDEuMTYtNy44ODMgMi4xMzgtMTMuMDc4Ljk3OC01LjE5NCAxLjg5NC05LjQ3MiAyLjY5LTEyLjcxbDEyLjUyNy01My42NTZIMzYyLjRsLTI0LjkzMyA5OC4zMjZ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2xheWVycyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyOTYuOTc5IDI5Ni45NzknJTNlJTNjZyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNlJTNjcGF0aCBkPSdNMjg5LjQ0MyA3OS4yMjZMMTUzLjY2NyAxOC42NzlhMTIuNjggMTIuNjggMCAwMC0xMC4zNTYgMEw3LjUzNiA3OS4yMjZhMTIuNzE2IDEyLjcxNiAwIDAwLS44MSAyMi44MjJsMTM1Ljc3NSA3Mi40MDVhMTIuNjI0IDEyLjYyNCAwIDAwNS45ODMgMS40OTZjMi4wNjEgMCA0LjExMi0uNDk1IDUuOTk0LTEuNDk2bDEzNS43NzUtNzIuNDA1YTEyLjcgMTIuNyAwIDAwNi43MTItMTEuNjYxIDEyLjcyNCAxMi43MjQgMCAwMC03LjUyMi0xMS4xNjF6bS0xNDAuOTU5IDY5LjYxbC0xMDYuODUtNTYuOTggMTA2Ljg1LTQ3LjY0NkwyNTUuMzQgOTEuODU2bC0xMDYuODU2IDU2Ljk4eicvJTNlJTNjcGF0aCBkPSdNMjc4LjI3NiAxMzMuNDA1bC0xMjkuNzkyIDY5LjIyOC0xMjkuNzg3LTY5LjIyOGMtNi4yMTctMy4zMTgtMTMuOTA4LS45NjgtMTcuMTk4IDUuMjMyLTMuMzAyIDYuMjAxLS45NjggMTMuODk3IDUuMjI3IDE3LjE5OGwxMzUuNzc1IDcyLjQyMWExMi43MjkgMTIuNzI5IDAgMDAxMS45NzcgMGwxMzUuNzc1LTcyLjQyMWM2LjE5NS0zLjMwMSA4LjUyOC0xMC45OTggNS4yMjctMTcuMTk4LTMuMzAxLTYuMi0xMC45OTgtOC41NDQtMTcuMjA0LTUuMjMyeicvJTNlJTNjcGF0aCBkPSdNMjc4LjI3NiAxODMuMDY0bC0xMjkuNzkyIDY5LjIxOC0xMjkuNzg3LTY5LjIxOGMtNi4yMTctMy4zMTgtMTMuOTA4LS45NTctMTcuMTk4IDUuMjMyLTMuMzAyIDYuMjAxLS45NjggMTMuODk3IDUuMjI3IDE3LjE5OGwxMzUuNzc1IDcyLjQxNmExMi43MjkgMTIuNzI5IDAgMDAxMS45NzcgMGwxMzUuNzc1LTcyLjQxNmM2LjE5NS0zLjMwMSA4LjUyOC0xMC45OTggNS4yMjctMTcuMTk4LTMuMzA3LTYuMTktMTAuOTg3LTguNTUtMTcuMjA0LTUuMjMyeicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2xpbmtlZGluJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE4IDE3JyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAtMSknIGZpbGw9J2JsYWNrJyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMi4wNTQgNS4zMjZjMS4yODMgMCAyLjA4Ny0uODQ4IDIuMDc1LTEuOTA5LS4wMS0xLjA4Mi0uNzkyLTEuOTA4LTIuMDUzLTEuOTA4Qy44MjYgMS41MDkgMCAyLjMzNSAwIDMuNDE3YzAgMS4wNi43OTIgMS45MDkgMi4wMzEgMS45MDloLjAyM3ptNy41NDQgMTIuNTY3VjExLjcyYzAtLjMzNS4wMzQtLjY1OS4xMjMtLjkwNC4yNjgtLjY1OS44Ny0xLjM0IDEuODg2LTEuMzQgMS4zMjggMCAxLjg2NCAxLjAxNiAxLjg2NCAyLjV2NS45MTZoMy42NzJ2LTYuMzRjMC0zLjM5Mi0xLjgwOC00Ljk3Ny00LjIzLTQuOTc3LTEuOTA0IDAtMi43ODMgMS4wMTUtMy4yNzUgMS43NjdsLS4wNC4wNjFWNi44MzNINS45MjZsLjAwMS4wMThjLjAwNS4xNzIuMDQgMS43MjUgMCAxMS4wNDJoMy42NzF6bS01LjcwMyAwVjYuODMzSC4yMTJ2MTEuMDZoMy42ODN6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdsaXN0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIxNSAxNjcnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzI3JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00zNCA4My41aC0xbTEgNTBoLTFtMS0xMDBoLTFtMTQ4IDUwSDc1bTEwNiA1MEg3NW0xMDYtMTAwSDc1Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnbG9hZGVyJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwMCAxMDAnJTNlJTNjcGF0aCBmaWxsPSclMjMxMzI5NGEnIGQ9J003MyA1MGMwLTEyLjctMTAuMy0yMy0yMy0yM1MyNyAzNy4zIDI3IDUwbTMuOSAwYzAtMTAuNSA4LjUtMTkuMSAxOS4xLTE5LjFTNjkuMSAzOS41IDY5LjEgNTAnJTNlJTNjYW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSd0cmFuc2Zvcm0nIGF0dHJpYnV0ZVR5cGU9J1hNTCcgdHlwZT0ncm90YXRlJyBkdXI9JzFzJyBmcm9tPScwIDUwIDUwJyB0bz0nMzYwIDUwIDUwJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvJTNlJTNjL3BhdGglM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2xvY2F0aW9uJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI5Mi4wOSA0MDIuNiclM2UlM2NjaXJjbGUgY3g9JzE0Ni4wNDUnIGN5PScxNDUuOTk4JyByPSczNC4yNCcgZmlsbD0nbm9uZScvJTNlJTNjcGF0aCBkPSdNMjcuNTQ1IDE0NS45OThjMC02NS40NDYgNTMuMDU0LTExOC41IDExOC41LTExOC41czExOC41IDUzLjA1NCAxMTguNSAxMTguNWMwIDAgMS41MTcgMjYuNDA4LTEzLjMxIDYyLjU0My0xNC43OTcgMzYuMDYzLTEwNS4xOSAxNjEuMjUtMTA1LjE5IDE2MS4yNVM1NS42NTMgMjQ0LjYwMyA0MC44NTUgMjA4LjU0Yy0xNC44MjctMzYuMTM1LTEzLjMxLTYyLjU0Mi0xMy4zMS02Mi41NDJ6JyBmaWxsPSdub25lJy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ21haWxfZGFyayc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTQ2NCA2NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjI4OGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDQxNmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjExMmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0wIDQ4djQwLjgwNWMtMjIuNDIyIDE4LjI1OS01OC4xNjggNDYuNjUxLTEzNC41ODcgMTA2LjQ5LTE2Ljg0MSAxMy4yNDctNTAuMjAxIDQ1LjA3Mi03My40MTMgNDQuNzAxLTIzLjIwOC4zNzUtNTYuNTc5LTMxLjQ1OS03My40MTMtNDQuNzAxQzEwNi4xOCAxOTkuNDY1IDcwLjQyNSAxNzEuMDY3IDQ4IDE1Mi44MDVWMTEyaDQxNnpNNDggNDAwVjIxNC4zOThjMjIuOTE0IDE4LjI1MSA1NS40MDkgNDMuODYyIDEwNC45MzggODIuNjQ2IDIxLjg1NyAxNy4yMDUgNjAuMTM0IDU1LjE4NiAxMDMuMDYyIDU0Ljk1NSA0Mi43MTcuMjMxIDgwLjUwOS0zNy4xOTkgMTAzLjA1My01NC45NDcgNDkuNTI4LTM4Ljc4MyA4Mi4wMzItNjQuNDAxIDEwNC45NDctODIuNjUzVjQwMEg0OHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnbWFpbCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0MTAgMzMzLjAzJyUzZSUzY2cgc3Ryb2tlPSdfX19zdHJva2VfX18nIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00zNTYuNTgyIDI5OS41M0g1My4wOTJjLTEzLjk1IDAtMjUuMjU1LTExLjMwNi0yNS4yNTUtMjUuMjUzVjU4Ljc1M2MwLTEzLjk0OCAxMS4zMDctMjUuMjU0IDI1LjI1NC0yNS4yNTRoMzAzLjQ5M2MxMy45NDggMCAyNS4yNTQgMTEuMzA2IDI1LjI1NCAyNS4yNTN2MjE1LjUyNGMwIDEzLjk0Ny0xMS4zMDcgMjUuMjU0LTI1LjI1NSAyNS4yNTR6Jy8lM2UlM2NwYXRoIGQ9J00yNi40MjMgNjkuMDNsMTUxLjUzMyAxMzkuMzIyYzE0Ljk2IDEzLjc1NiAzNC45MTggMTMuODkgNDkuOTg4LjM0TDM4My4yNSA2OS4wMycvJTNlJTNjZyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzZSUzY3BhdGggZD0nTTEzMi4xMyAxNjguNWMtMzUuMjA2IDMzLjAwOC02OS4zMTQgNjIuNzE0LTEwMy44NjcgOTQuMjhtMzUzLjE0NyAwYy0zNC4zNjUtMzMuMDU4LTcwLjg3Ni02NC4zNTItMTA1LjY1OC05Ny4xNDInLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ21lbnUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzYgMjQnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyBmaWxsPSclMjMxMTM1NUUnJTNlJTNjcGF0aCBkPSdNMzAgMjB2NEgwdi00aDMwem02LTEwdjRIMHYtNGgzNnptMC0xMHY0SDBWMGgzNnonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25ld3MnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzQ4LjY3IDM4MS4zMyclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI3MS42NjggMTUyLjQ5OGgtNTZtNTYgNDloLTE1Nm0xNTYgNTBoLTE1Nm0xMDAgNTBoLTEwMG0xNTYtMTk5aC01Nk0xMTYuMTY4IDEwMi40OThoNTV2NTBoLTU1eicvJTNlJTNjZyUzZSUzY3BhdGggZD0nTTY4LjE2NyAzMDIuNTNWMjkuNjU2YzAtLjI5Ni4yOC0uNTM2LjYyNS0uNTM2aDI1Mi43NWMuMzQ1IDAgLjYyNS4yNC42MjUuNTM3VjMwOC41M20wLTI0LjgyMnY0OC4wMmMwIDEyLjg5OC0xMC40NTYgMjMuMzU0LTIzLjM1NSAyMy4zNTRINTIuNjY3Yy0xMi45IDAtMjMuMzU1LTEwLjQ1Ni0yMy4zNTUtMjMuMzU1di00OC4wMicvJTNlJTNjcGF0aCBkPSdNMjkuMzEyIDMwOC45MDRWOTQuNzRjMC0uMjI2LjA1Ny0uNDEuMTI4LS40MWgzOC43MjcnLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25ld3NsZXR0ZXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNDA5IDM4MS4zNyclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00zMzEuNSA2Ny44NGw0NC44NDYgMjkuOTYzYTI1LjE0MyAyNS4xNDMgMCAwMTUuMTU0IDE1LjI5MlYzMjguNjJjMCAxMy45NDctMTEuMzA3IDI1LjI1My0yNS4yNTQgMjUuMjUzSDUyLjc1NGMtMTMuOTQ4IDAtMjUuMjU0LTExLjMwNy0yNS4yNTQtMjUuMjU0VjExMy4wOTNjMC01Ljk0NSAyLjA1NC0xMS40MSA1LjQ5Mi0xNS43MjVMNzcuNSA2Ny44NCcvJTNlJTNjcGF0aCBkPSdNMzgwLjYyIDMxNi40MTRMMjMxLjAzNSAxNzguODg2Yy0xNC43Ny0xMy41OC0zNC40Ny0xMy43MTItNDkuMzQ1LS4zMzVMMjguMzggMzE2LjQxNScvJTNlJTNjZyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzZSUzY3BhdGggZD0nTTI3OS4xNzggMjIwLjY4N2MzNC4zODUtMzIuMjM2IDY3LjY5NS02MS4yNDggMTAxLjQ0Mi05Mi4wNzhtLTM1Mi4yNC03LjI1NGMzNS41MSAzNC4xNiA3My4yMzcgNjYuNDk2IDEwOS4xNzggMTAwLjM3OCcvJTNlJTNjL2clM2UlM2NwYXRoIGQ9J003Ny4zMSAxNjcuMjVWMjguMDMyYzAtLjI5Ni4yOC0uNTM2LjYyNC0uNTM2aDI1Mi43NWMuMzQ1IDAgLjYyNS4yNC42MjUuNTM2djEzOS4yMTUnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICduZXdzcGFwZXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTc2IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J001NTIgNjRIMTEyYy0yMC44NTggMC0zOC42NDMgMTMuMzc3LTQ1LjI0OCAzMkgyNGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djI3MmMwIDMwLjkyOCAyNS4wNzIgNTYgNTYgNTZoNDk2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFY4OGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjR6TTQ4IDM5MlYxNDRoMTZ2MjQ4YzAgNC40MTEtMy41ODkgOC04IDhzLTgtMy41ODktOC04em00ODAgOEgxMTEuNDIyYy4zNzQtMi42MTQuNTc4LTUuMjgzLjU3OC04VjExMmg0MTZ2Mjg4ek0xNzIgMjgwaDEzNmM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi05NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDE3MmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY5NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyem0yOC04MGg4MHY0MGgtODB2LTQwem0tNDAgMTQwdi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEzNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMTcyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0xOTIgMHYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMDRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDM2NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnptMC0xNDR2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTA0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzNjRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgNzJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTA0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzNjRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25vLXZpZGVvJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwMDAgMTAwMCclM2UlM2NnJTNlJTNjZyB0cmFuc2Zvcm09J21hdHJpeCguMSAwIDAgLS4xIDAgNTExKSclM2UlM2NwYXRoIGQ9J005NjAxLjkgNDc3OS43Yy0zNS4zLTIyLjEtMjA5OS43LTIwNzcuNi00NTg1LjgtNDU2My43LTMyODcuNi0zMjkyLTQ1MjQtNDU0MS42LTQ1MzUtNDU4OC0zMC45LTEyNS44IDEwMS42LTI1My45IDIyOS42LTIyMyA2Ni4zIDE1LjQgOTEwMSA5MDI4IDkxNTguNCA5MTM0IDQ2LjQgODguMyAzNy41IDE0NS43LTMzLjEgMjE4LjYtNzUuMSA3NS4xLTE0MS4zIDgxLjctMjM0LjEgMjIuMXpNNTkzLjcgMjUxMi4yYy0yMjMtNzkuNS00MjYuMS0zMTMuNS00NzQuNy01NDcuNi0xNS41LTc3LjMtMjIuMS03NTcuMy0xNy43LTIxMTAuN2w2LjYtMTk5OC4yIDU5LjYtMTI1LjhjNzAuNi0xNTIuNCAyMTQuMi0zMDAuMyAzNTkuOS0zNzMuMSAxMDYtNTAuOCAxMzIuNS01MyA1NzQuMS01OS42bDQ2My43LTYuNiAyNTM2LjkgMjUzOUw2NjM5IDIzNjYuNWwtMTA4LjIgNjguNGMtNTcuNCAzNy41LTE0MS4zIDc5LjUtMTg1LjUgOTAuNS00OC42IDEzLjItMTEwMy45IDIyLjEtMjg3MC4zIDE5LjktMjM2MC4yIDAtMjgwNi4yLTYuNi0yODgxLjMtMzMuMXpNODg2Mi4zIDIwMTUuNGMtNDQzLjgtMTk0LjMtOTg2LjktNDM0LjktMTIwNy43LTUzMi4xbC00MDQtMTc2LjZ2LTI3NzFsMTUwLjEtNjYuMmMxMDc5LjctNDgzLjUgMjI4My0xMDAwLjIgMjMyMC41LTEwMDAuMiAyOC43IDAgNzkuNSAyOC43IDExNC44IDY0bDY0IDY0djQ2NDUuNWwtNjQgNjRjLTM1LjMgMzUuMy04OC4zIDY0LTExNyA2NC0yOC44LjEtNDEyLjktMTYxLjEtODU2LjctMzU1LjR6TTUwMjAuNS04NjMuN0wzMTc3LTI3MDcuM2wxNTg5LjcgNC40IDE1ODkuNyA2LjYgMTE3IDY2LjJjMTU0LjYgODMuOSAzMDAuMyAyNDcuMyAzNTcuNyAzOTkuNiA0NC4yIDExOS4yIDQ0LjIgMTUyLjQgMzkuNyAxNjY3bC02LjYgMTU0My4zTDUwMjAuNS04NjMuN3onLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3BhcGVyLXBsYW5lJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDQwIDYuNUwyNCAyNDYuNGMtMzQuNCAxOS45LTMxLjEgNzAuOCA1LjcgODUuOUwxNDQgMzc5LjZWNDY0YzAgNDYuNCA1OS4yIDY1LjUgODYuNiAyOC42bDQzLjgtNTkuMSAxMTEuOSA0Ni4yYzUuOSAyLjQgMTIuMSAzLjYgMTguMyAzLjYgOC4yIDAgMTYuMy0yLjEgMjMuNi02LjIgMTIuOC03LjIgMjEuNi0yMCAyMy45LTM0LjVsNTkuNC0zODcuMmM2LjEtNDAuMS0zNi45LTY4LjgtNzEuNS00OC45ek0xOTIgNDY0di02NC42bDM2LjYgMTUuMUwxOTIgNDY0em0yMTIuNi0yOC43bC0xNTMuOC02My41TDM5MSAxNjkuNWMxMC43LTE1LjUtOS41LTMzLjUtMjMuNy0yMS4yTDE1NS44IDMzMi42IDQ4IDI4OCA0NjQgNDhsLTU5LjQgMzg3LjN6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3Bob25lX2RhcmsnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000NzYuNSAyMi45TDM4Mi4zIDEuMmMtMjEuNi01LTQzLjYgNi4yLTUyLjMgMjYuNmwtNDMuNSAxMDEuNWMtOCAxOC42LTIuNiA0MC42IDEzLjEgNTMuNGw0MCAzMi43QzMxMSAyNjcuOCAyNjcuOCAzMTEgMjE1LjQgMzM5LjVsLTMyLjctNDBjLTEyLjgtMTUuNy0zNC44LTIxLjEtNTMuNC0xMy4xTDI3LjcgMzI5LjljLTIwLjQgOC43LTMxLjUgMzAuNy0yNi42IDUyLjNsMjEuNyA5NC4yYzQuOCAyMC45IDIzLjIgMzUuNSA0NC42IDM1LjVDMzEyLjMgNTEyIDUxMiAzMTMuNyA1MTIgNjcuNWMwLTIxLjQtMTQuNi0zOS44LTM1LjUtNDQuNnpNNjkuMyA0NjRsLTIwLjktOTAuNyA5OC4yLTQyLjEgNTUuNyA2OC4xYzk4LjgtNDYuNCAxNTAuNi05OCAxOTctMTk3bC02OC4xLTU1LjcgNDIuMS05OC4yTDQ2NCA2OS4zQzQ2MyAyODYuOSAyODYuOSA0NjMgNjkuMyA0NjR6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3Bob25lJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM0NSAzNDUnJTNlJTNjcGF0aCBkPSdNMjE3LjQxNiAyMTUuMjQ0YzI1LjQwNi0yNy4wNSA0OS4yLTU3Ljk2MyA2Ni41NDUtODEuOTZhMzAuMzkxIDMwLjM5MSAwIDAwMS42ODYtMi4xNmwyNi41NDgtMzcuNzRjOC42OS0xMi4zMjQgNi43MjItMjguODkzLTQuMjctMzkuMjE3TDI4My43NCAzMi4wNmMtMi42Ny0yLjUwOC0xMS4wNzUtOS42MTMtMTkuMzQtOS4zNDMtOC4yNjUuMjctMTYuMzkgNy45MTUtMTguNSAxMC45MDdsLTI5LjAwNyA0NS4yNzNjLTguNjkgMTIuMzI0LTcuMTA3IDI5LjMwMyAzLjg4NSAzOS42MjdsOS41NjMgOC45ODJhNi43NSA2Ljc1IDAgMDEuNzEgOS4wN2MtMTIuOTgyIDE2LjctMjguMTg0IDM0Ljk2NC00My42ODcgNTEuNDctMTUuNTggMTYuNTg1LTMyLjA5IDMyLjA2NS00OC42NSA0Ni43OTYtMi42MDggMi4zMi02LjU1OCAyLjI1NC05LjEwMi0uMTM1bC05LjU0LTguOTYyYy0xMC45OTMtMTAuMzI0LTI3LjY1Mi0xMS4yNTItMzkuNDA4LTEuODA3bC00Mi43MjMgMzIuMzljLTIuODU2IDIuMjkyLTEwLjM5OCAxMC42MTctMTAuNTYgMTguOTk2LS4xNiA4LjM3OCA3LjA2IDE2LjgxIDkuNzI4IDE5LjMxN2wyNC4xODUgMjIuMTFjMTAuOTkyIDEwLjMyMyAyOC4xNjUgMTAuNzA0IDM5LjkyIDEuMjZsMzYuMzktMjkuMjdhMzEuMzk3IDMxLjM5NyAwIDAwMS45Ni0xLjczNGMuMTA2LS4xMDIuMjEtLjE5NS4zMjQtLjI5IDIyLjg0LTE4LjggNTIuMTg1LTQ0LjQ5IDc3LjUzLTcxLjQ3MnonIHN0cm9rZT0nX19fc3Ryb2tlX19fJyBmaWxsPSdfX19maWxsX19fJy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3Bpbic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMTAgMzEwJyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTEyOS45NyAxNDEuODJMMjcuMTYgMjgyLjQ5bDE0MS4wOTItMTAyLjM4NU0yMTguMDA3IDE0My42OTNsNjIuOTYtNDUuNjg4YTQuNTMzIDQuNTMzIDAgMDAuNTQ0LTYuODc2bC02Mi41OC02Mi41OGE0LjUzMyA0LjUzMyAwIDAwLTYuODY2LjUzbC00NS45NzcgNjIuOTA3YTQuNTE3IDQuNTE3IDAgMDEtNS4wOTQgMS42MThjLTIxLjc1Ni03LjM2NC00NS44LTYuMDQ4LTY2LjczNiAzLjk1Ni0yLjgyIDEuMzUtMy40NTQgNS4wOTMtMS4yNDMgNy4zMDRMMjA1LjIxIDIxNy4wNmMyLjIxIDIuMjEgNS45NTQgMS41NzcgNy4zMDMtMS4yNDUgMTAuMDQ1LTIxLjAyIDExLjMzNC00NS4xOCAzLjg3LTY3LjAwNWE0LjUxNCA0LjUxNCAwIDAxMS42MjQtNS4xMTd6Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAncHJpbnQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzg5LjMzIDM4MC4yNSclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00zMjEuMzk4IDI2Ny41M2gxNS4yNDZjMTMuOTQ4IDAgMjUuMjU0LTExLjMwNyAyNS4yNTQtMjUuMjU0VjEzNS43NTJjMC0xMy45NDgtMTEuMzA3LTI1LjI1NC0yNS4yNTQtMjUuMjU0SDUzLjE1NGMtMTMuOTUgMC0yNS4yNTUgMTEuMzA3LTI1LjI1NSAyNS4yNTR2MTA2LjUyNGMwIDEzLjk0OCAxMS4zMDYgMjUuMjU0IDI1LjI1MyAyNS4yNTRINjcuNE0xMDMuOTk4IDI3MC4wODRoMTgxbS0xODEgNDRoMTgxJy8lM2UlM2NwYXRoIGQ9J002Ny44OTggMzUyLjQ2VjIyNC43MTRjMC0uMzQ1LjI4LS42MjUuNjI1LS42MjVoMjUyLjc1Yy4zNDUgMCAuNjI1LjI4LjYyNS42MjVWMzUyLjQ2YzAgLjM0NS0uMjguNjI1LS42MjUuNjI1SDY4LjUyM2EuNjI1LjYyNSAwIDAxLS42MjUtLjYyNnptMC0yNDQuNTlWMjcuODljMC0uMjE2LjI4LS4zOS42MjUtLjM5aDI1Mi43NWMuMzQ1IDAgLjYyNS4xNzQuNjI1LjM5djc5Ljk3OE0zMjEuOTk4IDE1My4wODRoLTEnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdyYWRpby1jaGVja2VkJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDk2IDk2JyUzZSUzY2clM2UlM2NwYXRoIGQ9J000OCAzNGMtNy43IDAtMTQgNi4zLTE0IDE0czYuMyAxNCAxNCAxNCAxNC02LjMgMTQtMTQtNi4zLTE0LTE0LTE0em0wLTE0Yy0xNS41IDAtMjggMTIuNS0yOCAyOHMxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjgtMTIuNS0yOC0yOC0yOHptMCA1MC40Yy0xMi40IDAtMjIuNC0xMC0yMi40LTIyLjRzMTAtMjIuNCAyMi40LTIyLjQgMjIuNCAxMCAyMi40IDIyLjQtMTAgMjIuNC0yMi40IDIyLjR6JyBmaWxsPSclMjMxMzI5NGEnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdyYWRpby11bmNoZWNrZWQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOTYgOTYnJTNlJTNjZyUzZSUzY3BhdGggZD0nTTQ4IDIwLjVjLTE1LjIgMC0yNy41IDEyLjMtMjcuNSAyNy41UzMyLjggNzUuNSA0OCA3NS41IDc1LjUgNjMuMiA3NS41IDQ4IDYzLjIgMjAuNSA0OCAyMC41ek00OCA3MGMtMTIuMiAwLTIyLTkuOC0yMi0yMnM5LjgtMjIgMjItMjIgMjIgOS44IDIyIDIyLTkuOCAyMi0yMiAyMnonIGZpbGw9JyUyMzEzMjk0YScvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3JlZ3pvbmUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNzIgNzInJTNlJTNjZyBmaWxsPSdfX19maWxsX19fJyUzZSUzY3BhdGggZD0nTTI0LjEgNDIuMjgzYzAtMy43NDYgMi4xLTYuMjgzIDUuOTgzLTYuMjgzIDMuODMzIDAgNS45ODYgMi41ODkgNS45ODYgNi4yODNzLTIuMTE4IDYuMzUzLTUuOTg2IDYuMzUzYy0zLjkyMSAwLTUuOTgzLTIuNjA4LTUuOTgzLTYuMzUzem0yLjU1NSAwYzAgMi4yLjkyNyA0LjQyNyAzLjQzIDQuNDI3czMuNDMxLTIuMjIyIDMuNDMxLTQuNDI3YzAtMi4xNTQtMS00LjM1OS0zLjQzMS00LjM1OXMtMy40MzIgMi4yMDYtMy40MzIgNC4zNTl6bTI0LjYzOSA2LjE0MlYzNi4yMDlINTguNXYxLjkyNmgtNC43NTh2My4wMUg1OC4xdjEuOTI1aC00LjM1OHYzLjQzaDQuOHYxLjkyNnptLTUuODggMEw0MC43NCAzOS4yOWgtLjA0djkuMTM2aC0yLjM0VjM2LjIwOWgzLjAxbDQuNjU2IDkuMTM2aC4wMzV2LTkuMTM2aDIuMzQ1djEyLjIxN3pNMTQgNDguNDI2di0xLjk5NWw1Ljc0LTguM2gtNS41MTJ2LTEuOTIyaDguMTIxdjJMMTYuNTU2IDQ2LjVoNS45MTV2MS45MjZ6bTIwLjk2NS0xOS45YzAtNC4xODIgMi41NTYtNi41MjggNi43LTYuNTI4YTEyLjA2MyAxMi4wNjMgMCAwMTMuNTg4LjUwN2wtLjE1MyAyLjA2N2E4IDggMCAwMC0zLjE1MS0uNjQ3IDQuMTU5IDQuMTU5IDAgMDAtNC40MjcgNC40MjggNC4wMjQgNC4wMjQgMCAwMDQuMTQ3IDQuMzU3IDYuNjcyIDYuNjcyIDAgMDAxLjYxMS0uMTc0VjI5LjM1aC0yLjU5di0xLjkyNWg0LjkzNnY2LjU4MWExNS40MTkgMTUuNDE5IDAgMDEtMy45NTYuNjNjLTMuOTU3IDAtNi43MDUtMS45NzgtNi43MDUtNi4xMDh6bS05LjMxIDUuOVYyMi4yMDloNy4yMXYxLjkyNkgyOC4xdjMuMDFoNC4zNTh2MS45MjVIMjguMXYzLjQzaDQuOHYxLjkyNnptLTQuNjcxIDBsLTEuNDcxLTMuODE2Yy0uMzUtLjkxLS42NjUtMS4yNi0xLjctMS4yNmgtLjc4NXY1LjA3NmgtMi40NTFWMjIuMjA5aDIuNjQ0YzIuNjI1IDAgNS43NTgtLjA4NiA1Ljc1OCAzLjMwOWEyLjggMi44IDAgMDEtMi41MjEgMi44MzV2LjAzNWMuNjY0LjA1MiAxLjA0OS43MTYgMS4yOTQgMS4yNmwxLjk2MSA0Ljc3OHptLTMuOTU2LTdoLjgwNmMxLjIwNyAwIDIuNTktLjE3NSAyLjU5LTEuNyAwLTEuNDcxLTEuMzY1LTEuNTkzLTIuNTktMS41OTNoLS44MDZ6Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAncmVwbHknOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzE1LjAzIDMwMS4xJyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMjkzLjg4NiAxNDkuOTU0TDE2My41MjggMTkuNTk2VjEwNS42aC0xNi44Yy0xMzMuMTY4IDAtMTI4LjIgMTc1LjA5NC0xMjguMiAxNzUuMDk0di0uNDVzMTQuNjY2LTgxLjE5MiAxMTUuMTk2LTgyLjY5MmExNDUwLjg4IDE0NTAuODggMCAwMTI5LjgwNC0uMTEzdjgyLjg3M2wxMzAuMzU4LTEzMC4zNnonLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdyZXR3ZWV0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM2MSAxOTgnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00xMTIuMzY0IDYyLjcxN2wtMzUuODItMzIuOTM0Yy0zLjUzNy0zLjI1Mi04LjI1NC0zLjI4NC0xMS44MTctLjA4TDI4LjAxNCA2Mi43MTdNMjA5LjY5IDE3MUg3MC4xOVY0MS41Jy8lM2UlM2MvZyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMjUwLjAxNCAxMzUuNjA1bDM1LjgyIDMyLjkzNGMzLjUzNyAzLjI1IDguMjU0IDMuMjgzIDExLjgxNy4wOGwzNi43MTMtMzMuMDE1Jy8lM2UlM2NwYXRoIGQ9J00xNTIuNjkgMjdoMTM5LjV2MTI5LjUnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdyaWdodC1hcnJvdyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMS40OSAzMS40OSclM2UlM2NwYXRoIGZpbGw9JyUyMzEzMjk0YScgZD0nTTIxLjIwNSA1LjAwN2ExLjExMiAxLjExMiAwIDAwLTEuNTg3IDAgMS4xMiAxLjEyIDAgMDAwIDEuNTcxbDguMDQ3IDguMDQ3SDEuMTExQTEuMTA2IDEuMTA2IDAgMDAwIDE1LjczN2MwIC42MTkuNDkyIDEuMTI3IDEuMTExIDEuMTI3aDI2LjU1NGwtOC4wNDcgOC4wMzJjLS40MjkuNDQ0LS40MjkgMS4xNTkgMCAxLjU4N2ExLjExMiAxLjExMiAwIDAwMS41ODcgMGw5Ljk1Mi05Ljk1MmExLjA5MyAxLjA5MyAwIDAwMC0xLjU3MWwtOS45NTItOS45NTN6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3NlYXJjaCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNSAxNiclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGwtcnVsZT0nbm9uemVybyclM2UlM2NwYXRoIGQ9J00xMy43MTQgMTUuMjg2YTEuMTUgMS4xNSAwIDAwMS4xNDMtMS4xNDMgMS4xNSAxLjE1IDAgMDAtLjMzLS44MDRsLTMuMDYzLTMuMDYyQTYuMjg0IDYuMjg0IDAgMDA2LjI4NS40MjkgNi4yODQgNi4yODQgMCAwMDAgNi43MTRhNi4yODQgNi4yODQgMCAwMDkuODQ4IDUuMTc5bDMuMDYzIDMuMDUzYy4yMDUuMjE1LjUuMzQuODAzLjM0em0tNy40MjgtNC41NzJjLTIuMjA2IDAtNC0xLjc5NC00LTQgMC0yLjIwNSAxLjc5NC00IDQtNCAyLjIwNSAwIDQgMS43OTUgNCA0IDAgMi4yMDYtMS43OTUgNC00IDR6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzaGFyZV9hbHQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjc1LjAyNiAyNjEuMDk4JyUzZSUzY3BhdGggZD0nTTE0NC42NjcgMGwxMzAuMzYgMTMwLjM1OC0xMzAuMzYgMTMwLjM2Jy8lM2UlM2NwYXRoIGQ9J00xNTYuMDMyIDg1LjUwM0gxMjcuN0MtNS40NyA4NS41MDMuMDMgMjYxLjA5OC4wMyAyNjEuMDk4di0uNDVzMTQuNS04MS4xOTIgMTE1LjAzLTgyLjY5MmMyMS4zNzctLjMyIDQwLjk3IDAgNDAuOTcgMFY4NS41MDN6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3NoYXJlJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMxMyAzMTknJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNOTcuODggMTM5Ljg0NEwyMDguMzc3IDgzLjg5TTk3Ljg4IDE3OC4zOGwxMTAuNDk2IDU2Ljg4NCcvJTNlJTNjY2lyY2xlIGN4PSc2NS4xMTYnIGN5PScxNTkuMDA4JyByPSczNy45NTgnLyUzZSUzY2NpcmNsZSBjeD0nMjQ2LjExNycgY3k9JzY0LjM4OScgcj0nMzcuOTU4Jy8lM2UlM2NjaXJjbGUgY3g9JzI0Ni4xMTcnIGN5PScyNTQuMjk5JyByPSczNy45NTgnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzdGFyJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDU3NiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNTI4LjEgMTcxLjVMMzgyIDE1MC4yIDMxNi43IDE3LjhjLTExLjctMjMuNi00NS42LTIzLjktNTcuNCAwTDE5NCAxNTAuMiA0Ny45IDE3MS41Yy0yNi4yIDMuOC0zNi43IDM2LjEtMTcuNyA1NC42bDEwNS43IDEwMy0yNSAxNDUuNWMtNC41IDI2LjMgMjMuMiA0NiA0Ni40IDMzLjdMMjg4IDQzOS42bDEzMC43IDY4LjdjMjMuMiAxMi4yIDUwLjktNy40IDQ2LjQtMzMuN2wtMjUtMTQ1LjUgMTA1LjctMTAzYzE5LTE4LjUgOC41LTUwLjgtMTcuNy01NC42ek0zODguNiAzMTIuM2wyMy43IDEzOC40TDI4OCAzODUuNGwtMTI0LjMgNjUuMyAyMy43LTEzOC40LTEwMC42LTk4IDEzOS0yMC4yIDYyLjItMTI2IDYyLjIgMTI2IDEzOSAyMC4yLTEwMC42IDk4eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzdWItaW5kaWNhdG9yJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggNSclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGwtcnVsZT0nbm9uemVybyclM2UlM2NwYXRoIGQ9J000IDQuNWEuNDk3LjQ5NyAwIDAwLjM1Mi0uMTQ4bDMuNS0zLjVBLjQ5Ny40OTcgMCAwMDcuNSAwaC03Qy4yMjcgMCAwIC4yMjcgMCAuNWMwIC4xMzMuMDU1LjI1OC4xNDguMzUybDMuNSAzLjVBLjQ5Ny40OTcgMCAwMDQgNC41eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnc3VibWVudS1pbmRpY2F0b3InOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOSAxNyclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGw9JyUyMzEzMjk0YScgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY2clM2UlM2NwYXRoIGQ9J00yLjM0MS4yNjlsLjA3NC4wODUgNS44IDcuNi4wNTIuMDc1LjA1NC4xMDEuMDM4LjEwMy4wMjIuMDgzLjAxNC4wOS4wMDUuMDk1LS4wMDkuMTI3LS4wMjMuMTEtLjAzMi4wOTUtLjAyNy4wNjFhLjkuOSAwIDAxLS4wMy4wNThsLS4wNjQuMDk0LTUuOCA3LjZhLjkuOSAwIDAxLTEuNDkzLS45OThsLjA2My0uMDk0TDYuMzY3IDguNS45ODUgMS40NDZBLjkuOSAwIDAxMi4yNS4xODhsLjA5LjA4eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzdW4nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000OTQuMiAyMjEuOWwtNTkuOC00MC41IDEzLjctNzFjMi42LTEzLjItMS42LTI2LjgtMTEuMS0zNi40LTkuNi05LjUtMjMuMi0xMy43LTM2LjItMTEuMWwtNzAuOSAxMy43LTQwLjQtNTkuOWMtMTUuMS0yMi4zLTUxLjktMjIuMy02NyAwbC00MC40IDU5LjktNzAuOC0xMy43Qzk4IDYwLjQgODQuNSA2NC41IDc1IDc0LjFjLTkuNSA5LjYtMTMuNyAyMy4xLTExLjEgMzYuM2wxMy43IDcxLTU5LjggNDAuNUM2LjYgMjI5LjUgMCAyNDIgMCAyNTUuNXM2LjcgMjYgMTcuOCAzMy41bDU5LjggNDAuNS0xMy43IDcxYy0yLjYgMTMuMiAxLjYgMjYuOCAxMS4xIDM2LjMgOS41IDkuNSAyMi45IDEzLjcgMzYuMyAxMS4xbDcwLjgtMTMuNyA0MC40IDU5LjlDMjMwIDUwNS4zIDI0Mi42IDUxMiAyNTYgNTEyczI2LTYuNyAzMy41LTE3LjhsNDAuNC01OS45IDcwLjkgMTMuN2MxMy40IDIuNyAyNi44LTEuNiAzNi4zLTExLjEgOS41LTkuNSAxMy42LTIzLjEgMTEuMS0zNi4zbC0xMy43LTcxIDU5LjgtNDAuNWMxMS4xLTcuNSAxNy44LTIwLjEgMTcuOC0zMy41LS4xLTEzLjYtNi43LTI2LjEtMTcuOS0zMy43em0tMTEyLjkgODUuNmwxNy42IDkxLjItOTEtMTcuNkwyNTYgNDU4bC01MS45LTc3LTkwLjkgMTcuNiAxNy42LTkxLjItNzYuOC01MiA3Ni44LTUyLTE3LjYtOTEuMiA5MSAxNy42TDI1NiA1M2w1MS45IDc2LjkgOTEtMTcuNi0xNy42IDkxLjEgNzYuOCA1Mi03Ni44IDUyLjF6TTI1NiAxNTJjLTU3LjMgMC0xMDQgNDYuNy0xMDQgMTA0czQ2LjcgMTA0IDEwNCAxMDQgMTA0LTQ2LjcgMTA0LTEwNC00Ni43LTEwNC0xMDQtMTA0em0wIDE2MGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZzMjUuMS01NiA1Ni01NiA1NiAyNS4xIDU2IDU2LTI1LjEgNTYtNTYgNTZ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3RhYmxlLW9mLWNvbnRlbnRzJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI5IDI0JyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyBmb250LWZhbWlseT0nRm9udEF3ZXNvbWUnIGZvbnQtc2l6ZT0nMjknIGxldHRlci1zcGFjaW5nPScuMzYyJyUzZSUzY3RleHQgZmlsbD0nJTIzMTEzNTVFJyUzZSUzY3RzcGFuIHg9JzAnIHk9JzIyJyUzZSVlZiU4MyU4YSUzYy90c3BhbiUzZSUzYy90ZXh0JTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3RhcmdldCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNzMuNTEgMjczLjUxJyUzZSUzY3BhdGggZD0nTTEzNi42MDcgMjBDNzIuMTI1IDIwIDE5Ljg1MiA3Mi4yNzMgMTkuODUyIDEzNi43NTVTNzIuMTI1IDI1My41MSAxMzYuNjA3IDI1My41MXMxMTYuNzU1LTUyLjI3MyAxMTYuNzU1LTExNi43NTVTMjAxLjA5IDIwIDEzNi42MDcgMjB6bTAgMjAzLjU5NGMtNDcuOTYgMC04Ni44NC0zOC44OC04Ni44NC04Ni44NHMzOC44OC04Ni44MzggODYuODQtODYuODM4IDg2Ljg0IDM4Ljg4IDg2Ljg0IDg2Ljg0LTM4Ljg4IDg2LjgzOC04Ni44NCA4Ni44Mzh6Jy8lM2UlM2NwYXRoIGQ9J00xMzYuNjA3IDc5LjgzMmMtMzEuNDM4IDAtNTYuOTIzIDI1LjQ4NS01Ni45MjMgNTYuOTIzczI1LjQ4NSA1Ni45MjMgNTYuOTIzIDU2LjkyMyA1Ni45MjMtMjUuNDg1IDU2LjkyMy01Ni45MjMtMjUuNDg1LTU2LjkyMy01Ni45MjMtNTYuOTIzem0wIDgzLjkzYy0xNC45MTYgMC0yNy4wMDctMTIuMDkyLTI3LjAwNy0yNy4wMDcgMC0xNC45MTYgMTIuMDkyLTI3LjAwNyAyNy4wMDctMjcuMDA3czI3LjAwNyAxMi4wOTIgMjcuMDA3IDI3LjAwN2MwIDE0LjkxNi0xMi4wOTIgMjcuMDA3LTI3LjAwNyAyNy4wMDd6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3RodW1ic191cCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMjIgMzMzJyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI3LjM0NSAxNDYuNTQ1aDgwdjE1OWgtODB6TTEwOS44NDUgMjkyLjU0NWgxMjMuMzI5YzYuNzk4IDAgMTMuMjc2LTMuNTUgMTcuODI4LTguNTk4bDM3LjU0LTQyLjM4N2MzLjk3Ny00LjQxIDUuODAyLTEwLjQ3IDUuODAyLTE2LjQxdi04NC4xNjVjMC0xMy4yNTctOS45OTYtMjIuNDQtMjMuMjUzLTIyLjQ0aC00Ny4wMTZjLTE0Ljk0NiAwLTI2LjI1OC0xNC4yOTQtMjMuNjMtMjkuMDA3bDMuNzE0LTIyLjI1Yy4yNS0xLjM5Mi4xODYtMy4xOTUuMTg2LTQuNjF2LTEyLjA3YzAtMTMuMjU2LTEwLjM5LTIzLjA2My0yMy42NDctMjMuMDYzaC4wMWMtMTEuMDY3IDAtMjAuNjk1IDcuMDk1LTIzLjMxOCAxNy44NDZsLTQuMTU0IDE2LjgwM2MtLjQ2IDEuODktMS4xNSA0LjAyLTIuMDUgNS43NDVsLTQzLjM0MiA4MC42MDcnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICd0d2l0dGVyJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMzNS4zMyAyODMuMzMnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIHN0cm9rZT0nX19fc3Ryb2tlX19fJyBmaWxsPSdfX19maWxsX19fJyBkPSdNMzA4LjYxMiA1NS4xNTZjLTEwLjI5OCA0LjU3OC0yMS4zOCA3LjY2NS0zMy4wMSA5LjA0NyAxMS44NzQtNy4xMDggMjAuOTc4LTE4LjM2OCAyNS4yNy0zMS44YTExNS4wMjMgMTE1LjAyMyAwIDAxLTM2LjQ5NSAxMy45NTZjLTEwLjQ4LTExLjE3LTI1LjQyLTE4LjE1Mi00MS45NS0xOC4xNTItMzEuNzM3IDAtNTcuNDY4IDI1LjczMi01Ny40NjggNTcuNDc0IDAgNC40OTguNTA1IDguODgyIDEuNDkgMTMuMDk2LTQ3Ljc2OC0yLjQtOTAuMTItMjUuMjc3LTExOC40Ny02MC4wNS00Ljk0NiA4LjQ4NC03Ljc3OCAxOC4zNTYtNy43NzggMjguOSAwIDE5LjkzNiAxMC4xNDUgMzcuNTMgMjUuNTY3IDQ3LjgzNGE1Ny4zMTQgNTcuMzE0IDAgMDEtMjYuMDM0LTcuMTkzYy0uMDA2LjIzOC0uMDA2LjQ4Mi0uMDA2LjcyNyAwIDI3Ljg0IDE5LjgxMiA1MS4wNjUgNDYuMTA3IDU2LjM1NGE1Ny42OTQgNTcuNjk0IDAgMDEtMTUuMTQzIDIuMDE0IDU2LjkyIDU2LjkyIDAgMDEtMTAuODE2LTEuMDM1YzcuMzIgMjIuODMgMjguNTQgMzkuNDUyIDUzLjY4NyAzOS45MTMtMTkuNjcgMTUuNDE2LTQ0LjQ0NiAyNC42MDYtNzEuMzc4IDI0LjYwNi00LjYzNSAwLTkuMjEyLS4yNzQtMTMuNzEtLjgwOCAyNS40NDIgMTYuMzE1IDU1LjY1IDI1LjgyMyA4OC4xMDIgMjUuODIzIDEwNS43MTggMCAxNjMuNTItODcuNTczIDE2My41Mi0xNjMuNTIyIDAtMi40OS0uMDUtNC45NzYtLjE1OC03LjQ0NCAxMS4yMjQtOC4wOSAyMC45Ny0xOC4yMTggMjguNjctMjkuNzQ0eicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3VwbG9hZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNjEgMzU4JyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNODUuMTUgMjM1LjA2NWgtNDMuNmMtOC4xNDggMC0xNC43NTQtNi42MDUtMTQuNzU0LTE0Ljc1NFY0My4wMWMwLTguMTQ4IDYuNjA1LTE0Ljc1NCAxNC43NTQtMTQuNzU0aDE3Ny4zYzguMTUgMCAxNC43NTUgNi42MDUgMTQuNzU1IDE0Ljc1NHYxNzcuM2MwIDguMTUtNi42MDUgMTQuNzU1LTE0Ljc1NCAxNC43NTVoLTQzLjU5NycvJTNlJTNjcGF0aCBkPSdNMTk0Ljg2IDE0OC4yM2wtNTQuOTE3LTUwLjQ5Yy01LjQyMi00Ljk4NS0xMi42NTQtNS4wMzQtMTguMTE2LS4xMjNMNjUuNTQyIDE0OC4yM00xMzAuMDk2IDMzMC4yNTZ2LTIyNicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3VzZXJfY2FyZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyUzZSUzY3BhdGggZD0nTTUyOCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGg0ODBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDh6bTAgNDAwSDQ4VjgwaDQ4MHYzNTJ6TTIwOCAyNTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjQtNjQgMjguNy02NCA2NCAyOC43IDY0IDY0IDY0em0tODkuNiAxMjhoMTc5LjJjMTIuNCAwIDIyLjQtOC42IDIyLjQtMTkuMnYtMTkuMmMwLTMxLjgtMzAuMS01Ny42LTY3LjItNTcuNi0xMC44IDAtMTguNyA4LTQ0LjggOC0yNi45IDAtMzMuNC04LTQ0LjgtOC0zNy4xIDAtNjcuMiAyNS44LTY3LjIgNTcuNnYxOS4yYzAgMTAuNiAxMCAxOS4yIDIyLjQgMTkuMnpNMzYwIDMyMGgxMTJjNC40IDAgOC0zLjYgOC04di0xNmMwLTQuNC0zLjYtOC04LThIMzYwYy00LjQgMC04IDMuNi04IDh2MTZjMCA0LjQgMy42IDggOCA4em0wLTY0aDExMmM0LjQgMCA4LTMuNiA4LTh2LTE2YzAtNC40LTMuNi04LTgtOEgzNjBjLTQuNCAwLTggMy42LTggOHYxNmMwIDQuNCAzLjYgOCA4IDh6bTAtNjRoMTEyYzQuNCAwIDgtMy42IDgtOHYtMTZjMC00LjQtMy42LTgtOC04SDM2MGMtNC40IDAtOCAzLjYtOCA4djE2YzAgNC40IDMuNiA4IDggOHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAndXNlcic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTM4NCAzMzZjLTQwLjYgMC00Ny42LTEuNS03Mi4yIDYuOC0xNy41IDUuOS0zNi4zIDkuMi01NS44IDkuMnMtMzguMy0zLjMtNTUuOC05LjJjLTI0LjYtOC4zLTMxLjUtNi44LTcyLjItNi44QzU3LjMgMzM2IDAgMzkzLjMgMCA0NjR2MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMydi0xNmMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOHptODAgMTI4SDQ4YzAtMjEuNCA4LjMtNDEuNSAyMy40LTU2LjZDODYuNSAzOTIuMyAxMDYuNiAzODQgMTI4IDM4NGM0MS4xIDAgNDEtMS4xIDU2LjggNC4yIDIzIDcuOCA0NyAxMS44IDcxLjIgMTEuOCAyNC4yIDAgNDguMi00IDcxLjItMTEuOCAxNS44LTUuNCAxNS43LTQuMiA1Ni44LTQuMiA0NC4xIDAgODAgMzUuOSA4MCA4MHpNMjU2IDMyMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MFMzNDQuNCAwIDI1NiAwIDk2IDcxLjYgOTYgMTYwczcxLjYgMTYwIDE2MCAxNjB6bTAtMjcyYzYxLjggMCAxMTIgNTAuMiAxMTIgMTEycy01MC4yIDExMi0xMTIgMTEyLTExMi01MC4yLTExMi0xMTJTMTk0LjIgNDggMjU2IDQ4eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICd1c2Vycyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNDAgMzQwJyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY2NpcmNsZSBjeD0nMTcwLjYyJyBjeT0nMTE4LjIwNScgcj0nNTEuNzQ4Jy8lM2UlM2NwYXRoIGQ9J00xOTEuMzQ0IDE3My45NjRoLTQxLjY5QzExNy45NDUgMTczLjk2NCA5MiAxOTkuOTEgOTIgMjMxLjYydjY2LjI0N2MwIDMuODEgMi41OSA3LjE0NiA2LjI5MiA4LjA0NCAxOS4zOTUgNC43MDYgNDQuODUgNy41MzMgNzIuMjA3IDcuNTMzIDI3LjQyNCAwIDUyLjEyOC0yLjg0IDcyLjExNC03LjU2OGE4LjI5IDguMjkgMCAwMDYuMzg1LTguMDdWMjMxLjYyYzAtMzEuODQzLTI1LjgxMy01Ny42NTYtNTcuNjU2LTU3LjY1NnonLyUzZSUzYy9nJTNlJTNjcGF0aCBkPSdNMjIyLjM2OCAxMjguMjA1YzAgLjA5Mi0uMDA3LjE4My0uMDA3LjI3NWE1MS44NyA1MS44NyAwIDAwMTIuMjYgMS40NzRjMjguNTggMCA1MS43NDgtMjMuMTY4IDUxLjc0OC01MS43NDhzLTIzLjE2OC01MS43NS01MS43NDgtNTEuNzVjLTI1LjAwNiAwLTQ1Ljg3IDE3LjczOC01MC42OTYgNDEuMzE3JyBmaWxsPSdub25lJy8lM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00xNTcuMzE2IDY3Ljc3M2MtNC44MjYtMjMuNTgtMjUuNjktNDEuMzE2LTUwLjY5Ni00MS4zMTYtMjguNTggMC01MS43NDggMjMuMTY4LTUxLjc0OCA1MS43NDhzMjMuMTY4IDUxLjc0OCA1MS43NDggNTEuNzQ4YzQuMjI1IDAgOC4zMjctLjUxOCAxMi4yNTgtMS40NzQgMC0uMDkzLS4wMDctLjE4NC0uMDA3LS4yNzZtLjYyOSA1Ljc2MUg4Ni4yYy0zMi4wMSAwLTU4LjIgMjYuMTktNTguMiA1OC4ydjY1LjY4OGMwIDMuODE0IDIuNTk1IDcuMTUgNi4zIDguMDQ3IDE2LjAwNyAzLjg2NSAzNS43MzQgNi40NiA1Ny43NSA3LjI2NycvJTNlJTNjL2clM2UlM2NwYXRoIGQ9J00yNDguODMgMjczLjE2NGMyMS4yMi0uODE0IDQxLjAwNy0zLjQyNCA1Ny43NDgtNy4zMTNhOC4yOSA4LjI5IDAgMDA2LjQyMy04LjA3NlYxOTEuNjJjMC0zMS44NDMtMjUuODEyLTU3LjY1Ny01Ny42NTUtNTcuNjU3SDIyMS41JyBmaWxsPSdub25lJy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3hpbmcnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMjAnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDEpJyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggc3Ryb2tlPSdfX19zdHJva2VfX18nIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00xMy4xNyAxOC40MjljLjE1NiAwIC4yNzktLjA1Ni4zNTctLjE2OC4wNjctLjExMS4wNjctLjI2OC0uMDExLS40MTNsLTMuNzUtNi44NjRjLS4wMTIgMC0uMDEyLS4wMSAwLS4wMUwxNS42NTkuNTQ4Yy4wNzgtLjE0NS4wNzgtLjMwMSAwLS40MTMtLjA2Ny0uMTExLS4xOS0uMTY3LS4zNDYtLjE2N2gtMi42OWMtLjQwMiAwLS41Ny4yNDUtLjcxNS41MDJMNS45ODMgMTAuOTg0Yy4wMDguMDE3LjE4LjM0MiAzLjc4MyA2Ljk0Mi4xMjIuMjM1LjMzNC41MDMuNzM2LjUwM2gyLjY2OHptLTEwLjEtNS41MjVjLjM5IDAgLjU4LS4yNjguNzI1LS41MTNDNi40NDUgNy42OCA2LjY1IDcuMzIzIDYuNjYyIDcuMzAyYy0uMDA1LS4wMS0uMTAzLS4xNzUtMS44My0zLjE5My0uMTMzLS4yMzQtLjMzNC0uNTAyLS43MzYtLjUwMkgxLjQyOWMtLjE1NyAwLS4yOS4wNTYtLjM1OC4xNjgtLjA3OC4xMTEtLjA2Ny4yNjcuMDEyLjQxMmwxLjc5NiAzLjExNGMuMDEyLjAxMS4wMTIuMDExIDAgLjAxMWwtMi44MjMgNWEuMzk3LjM5NyAwIDAwMCAuNDAyYy4wNjcuMTEyLjE5LjE5LjM0Ni4xOWgyLjY2N3onLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3lvdXR1YmUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTcgMjEnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggc3Ryb2tlPSdfX19zdHJva2VfX18nIGZpbGw9J19fX2ZpbGxfX18nIGQ9J001LjQ5MSA4LjMzNVY1LjMxTDYuODQxLjg1N0g1LjcwNGwtLjc1OSAyLjkzNUw0LjE1Mi44NTdIMi45NjljLjIzNC42OTIuNDggMS4zOTUuNzI1IDIuMDg3LjM1NyAxLjAzOC41OCAxLjgyLjY4MSAyLjM2NnYzLjAyNWgxLjExNnptMi44NDYuMDc4Yy41MTMgMCAuOTA0LS4xOSAxLjE4My0uNTcuMjEyLS4yNzguMzEzLS43MjUuMzEzLTEuMzE2VjQuNTc0YzAtLjU5Mi0uMS0xLjAyNy0uMzEzLTEuMzA2LS4yNzktLjM4LS42Ny0uNTctMS4xODMtLjU3LS41MDIgMC0uODkzLjE5LTEuMTcyLjU3LS4yMTIuMjc5LS4zMTIuNzE0LS4zMTIgMS4zMDZ2MS45NTNjMCAuNTkxLjEgMS4wMjcuMzEyIDEuMzE3LjI4LjM4LjY3LjU2OSAxLjE3Mi41Njl6bTMuMDcgMGMuMzY4IDAgLjc0Ny0uMjIzIDEuMTQ5LS42OTJ2LjYxNGgxLjAxNXYtNS41N2gtMS4wMTV2NC4yNTNjLS4yMjMuMzI0LS40MzUuNDgtLjYzNi40OC0uMTM0IDAtLjIxMi0uMDktLjIzNS0uMjQ2YS44NjcuODY3IDAgMDEtLjAxLS4xOVYyLjc2NmgtMS4wMTd2NC4zOTdjMCAuNDAyLjAzNC42Ny4wOS44MzcuMS4yNzkuMzM1LjQxMy42NTguNDEzem0tMy4wNy0uOTE1Yy0uMzI0IDAtLjQ4LS4yNjgtLjQ4LS43ODFWNC4zNzNjMC0uNTE0LjE1Ni0uNzcuNDgtLjc3LjMzNSAwIC40OC4yNTYuNDguNzd2Mi4zNDRjMCAuNTEzLS4xNDUuNzgtLjQ4Ljc4em0uMjM0IDEzLjM2YzIuMDY1IDAgNC4xNDEgMCA2LjE5NS0uMjM1Ljg1OS0uMDkgMS41NzMtLjczNyAxLjc4NS0xLjYxOS4yOC0xLjI1LjI5LTIuNjIyLjI5LTMuOTA2IDAtMS4yOTQgMC0yLjY1Ni0uMjktMy45MDZhMi4xIDIuMSAwIDAwLTEuNzg1LTEuNjNjLTEuNzYtLjE5LTMuNTM3LS4yMTgtNS4zMS0uMjIyaC0uODg1Yy0yLjA2NCAwLTQuMTQgMC02LjE4My4yMjItLjg3LjEtMS41ODQuNzQ4LTEuNzk2IDEuNjMtLjI4IDEuMjUtLjI5IDIuNjEyLS4yOSAzLjkwNiAwIDEuMjg0IDAgMi42NTYuMjkgMy45MDYuMi44ODIuOTI2IDEuNTMgMS43ODUgMS42MTkgMi4wNTQuMjM0IDQuMTMuMjM0IDYuMTk0LjIzNHpNMy44MjggMTguNjdIMi43MTJ2LTYuMzVIMS41NHYtMS4wNWgzLjQ4MnYxLjA1SDMuODI4djYuMzV6bTcuMTEuMDc4Yy0uMzU4IDAtLjcwNC0uMjAxLTEuMDM4LS42MTR2LjUzNmgtLjk5NHYtNy40SDkuOXYyLjQyMmMuMzIzLS40MDIuNjctLjYwMyAxLjAzOC0uNjAzLjM5IDAgLjY3LjIxMi43OTIuNjI1LjA3OC4yMjMuMS41OTIuMSAxLjEwNXYyLjE5OWMwIC41MTMtLjAyMi44ODItLjEgMS4xMTYtLjEyMy40MDItLjQwMi42MTQtLjc5Mi42MTR6bTMuMjAzIDBjLS41MjUgMC0uOTE2LS4xOS0xLjIwNi0uNTctLjIxMi0uMjY3LS4zMjMtLjcwMy0uMzIzLTEuMjk0di0xLjkzYzAtLjU5Mi4xLTEuMDE3LjMxMi0xLjI5Ni4yOS0uMzc5LjY4LS41NjkgMS4xOTQtLjU2OS41MDMgMCAuODkzLjE5IDEuMTgzLjU3LjIwMS4yNzguMzAyLjcwMy4zMDIgMS4yOTR2MS4xNWgtMS45OTh2Ljk3YzAgLjUxNC4xNjcuNzcuNTEzLjc3LjI0NiAwIC4zOS0uMTMzLjQ0Ny0uNDAxLjAxLS4wNTYuMDIyLS4yOC4wMjItLjY4aDEuMDE2di4zOTdhMi4zNiAyLjM2IDAgMDEtLjAyMy4zOTUgMS4yOSAxLjI5IDAgMDEtLjIzNC42MDJjLS4yNjguMzktLjY4LjU5Mi0xLjIwNS41OTJ6bS04LjIzNyAwYy0uMzI0IDAtLjU1OC0uMTM0LS42NDctLjQxMy0uMDU2LS4xNjgtLjA5LS40MjQtLjA5LS44MTV2LTQuMzY0aC45OTR2NC4wNjNjMCAuMjM0IDAgLjM1Ny4wMS4zOS4wMjMuMTU3LjEwMS4yMzUuMjM1LjIzNS4yMDEgMCAuNDEzLS4xNTcuNjM2LS40Njl2LTQuMjE5aC45OTR2NS41MTRoLS45OTR2LS42MDNjLS40MDEuNDU4LS43OC42OC0xLjEzOC42OHptNC40OTgtLjkwNGMuMjkgMCAuNDM1LS4yNDYuNDM1LS43NDh2LTIuMzU1YzAtLjQ5MS0uMTQ1LS43NDgtLjQzNS0uNzQ4LS4xNjggMC0uMzM1LjA3OC0uNTAyLjI0NnYzLjM2Yy4xNjcuMTY3LjMzNC4yNDUuNTAyLjI0NXptNC4yMDctMi41Nzh2LS41MTRjMC0uNTAyLS4xNjctLjc1OS0uNTAyLS43NTktLjMzNSAwLS41MDIuMjU3LS41MDIuNzZ2LjUxM2gxLjAwNHonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCJcbik7XG5cbiRzaXplczogKFxuICAgICdhbGVydCc6IChcbiAgICAgICAgJ3dpZHRoJzogNTc2cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2FsbC1hcnJvdy1ib2xkJzogKFxuICAgICAgICAnd2lkdGgnOiAxNHB4LFxuICAgICAgICAnaGVpZ2h0JzogMTRweFxuICAgICksXG4gICAgJ2FsbC1hcnJvdy1zZW1pJzogKFxuICAgICAgICAnd2lkdGgnOiAxM3B4LFxuICAgICAgICAnaGVpZ2h0JzogMTNweFxuICAgICksXG4gICAgJ2FsbC1hcnJvdyc6IChcbiAgICAgICAgJ3dpZHRoJzogMTRweCxcbiAgICAgICAgJ2hlaWdodCc6IDE0cHhcbiAgICApLFxuICAgICdhcnJvd19idWxreSc6IChcbiAgICAgICAgJ3dpZHRoJzogMzEyLjc2cHgsXG4gICAgICAgICdoZWlnaHQnOiAyNjYuODZweFxuICAgICksXG4gICAgJ2Fycm93X3NsaWRlc2hvdyc6IChcbiAgICAgICAgJ3dpZHRoJzogMTRweCxcbiAgICAgICAgJ2hlaWdodCc6IDIxcHhcbiAgICApLFxuICAgICdhcnJvd190aGluJzogKFxuICAgICAgICAnd2lkdGgnOiAyMDZweCxcbiAgICAgICAgJ2hlaWdodCc6IDMyM3B4XG4gICAgKSxcbiAgICAnYmFja190b190b3AnOiAoXG4gICAgICAgICd3aWR0aCc6IDE2cHgsXG4gICAgICAgICdoZWlnaHQnOiAxNnB4XG4gICAgKSxcbiAgICAnYmxvZyc6IChcbiAgICAgICAgJ3dpZHRoJzogMThweCxcbiAgICAgICAgJ2hlaWdodCc6IDE4cHhcbiAgICApLFxuICAgICdib29rbWFyayc6IChcbiAgICAgICAgJ3dpZHRoJzogMzg0cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NhbGVuZGFyLWFsdCc6IChcbiAgICAgICAgJ3dpZHRoJzogNDQ4cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NoYXJ0LWxpbmUtZG93bic6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NoZWNrJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnY2hldnJvbl9jbG9zZWQnOiAoXG4gICAgICAgICd3aWR0aCc6IDE3Ni4zOHB4LFxuICAgICAgICAnaGVpZ2h0JzogMzEyLjc2cHhcbiAgICApLFxuICAgICdjaGV2cm9uX29wZW4nOiAoXG4gICAgICAgICd3aWR0aCc6IDQ1MS44NDZweCxcbiAgICAgICAgJ2hlaWdodCc6IDQ1MS44NDdweFxuICAgICksXG4gICAgJ2NoZXZyb24tZG93bic6IChcbiAgICAgICAgJ3dpZHRoJzogNDUxLjg0N3B4LFxuICAgICAgICAnaGVpZ2h0JzogNDUxLjg0N3B4XG4gICAgKSxcbiAgICAnY2hldnJvbi1yaWdodCc6IChcbiAgICAgICAgJ3dpZHRoJzogMTg1LjM0M3B4LFxuICAgICAgICAnaGVpZ2h0JzogMTg1LjM0M3B4XG4gICAgKSxcbiAgICAnY2xvc2UnOiAoXG4gICAgICAgICd3aWR0aCc6IDIycHgsXG4gICAgICAgICdoZWlnaHQnOiAyM3B4XG4gICAgKSxcbiAgICAnY29nJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnY29tbWVudCc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NvbXBhcmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDQ0OHB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdjb21wYXNzJzogKFxuICAgICAgICAnd2lkdGgnOiA0OTZweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnY29udGFjdC1kZXRhaWxzJzogKFxuICAgICAgICAnd2lkdGgnOiAyMXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTlweFxuICAgICksXG4gICAgJ2NvdW50cnknOiAoXG4gICAgICAgICd3aWR0aCc6IDM2cHgsXG4gICAgICAgICdoZWlnaHQnOiAyMXB4XG4gICAgKSxcbiAgICAnY3VzdG9tX3NvY2lhbF9tZWRpYV9saW5rJzogKFxuICAgICAgICAnd2lkdGgnOiAzNTIuNzc5cHgsXG4gICAgICAgICdoZWlnaHQnOiAzODBweFxuICAgICksXG4gICAgJ2RvY3VtZW50JzogKFxuICAgICAgICAnd2lkdGgnOiAzMDlweCxcbiAgICAgICAgJ2hlaWdodCc6IDM4MXB4XG4gICAgKSxcbiAgICAnZG93bic6IChcbiAgICAgICAgJ3dpZHRoJzogMThweCxcbiAgICAgICAgJ2hlaWdodCc6IDEycHhcbiAgICApLFxuICAgICdkb3dubG9hZCc6IChcbiAgICAgICAgJ3dpZHRoJzogMjYycHgsXG4gICAgICAgICdoZWlnaHQnOiAzNTZweFxuICAgICksXG4gICAgJ2VndWlkZSc6IChcbiAgICAgICAgJ3dpZHRoJzogMzg0cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2V4dGVybmFsLWFsdCc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2V5ZSc6IChcbiAgICAgICAgJ3dpZHRoJzogNTc2cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2ZhY2Vib29rJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnZmlsZS1hbHQnOiAoXG4gICAgICAgICd3aWR0aCc6IDM4NHB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdmbGFnJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnZmxhbWUnOiAoXG4gICAgICAgICd3aWR0aCc6IDM4NHB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdnZW0nOiAoXG4gICAgICAgICd3aWR0aCc6IDU3NnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdnbG9iZSc6IChcbiAgICAgICAgJ3dpZHRoJzogMzMzLjQ1cHgsXG4gICAgICAgICdoZWlnaHQnOiAzMzMuNDNweFxuICAgICksXG4gICAgJ2xhbmd1YWdlLWFycm93JzogKFxuICAgICAgICAnd2lkdGgnOiAzNnB4LFxuICAgICAgICAnaGVpZ2h0JzogMjFweFxuICAgICksXG4gICAgJ2xhbmd1YWdlJzogKFxuICAgICAgICAnd2lkdGgnOiAyNXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTNweFxuICAgICksXG4gICAgJ2xhd25vdyc6IChcbiAgICAgICAgJ3dpZHRoJzogMzgyLjRweCxcbiAgICAgICAgJ2hlaWdodCc6IDI1NC4xM3B4XG4gICAgKSxcbiAgICAnbGF5ZXJzJzogKFxuICAgICAgICAnd2lkdGgnOiAyOTYuOTc5cHgsXG4gICAgICAgICdoZWlnaHQnOiAyOTYuOTc5cHhcbiAgICApLFxuICAgICdsaW5rZWRpbic6IChcbiAgICAgICAgJ3dpZHRoJzogMThweCxcbiAgICAgICAgJ2hlaWdodCc6IDE3cHhcbiAgICApLFxuICAgICdsaXN0JzogKFxuICAgICAgICAnd2lkdGgnOiAyMTVweCxcbiAgICAgICAgJ2hlaWdodCc6IDE2N3B4XG4gICAgKSxcbiAgICAnbG9hZGVyJzogKFxuICAgICAgICAnd2lkdGgnOiAxMDBweCxcbiAgICAgICAgJ2hlaWdodCc6IDEwMHB4XG4gICAgKSxcbiAgICAnbG9jYXRpb24nOiAoXG4gICAgICAgICd3aWR0aCc6IDI5Mi4wOXB4LFxuICAgICAgICAnaGVpZ2h0JzogNDAyLjZweFxuICAgICksXG4gICAgJ21haWxfZGFyayc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ21haWwnOiAoXG4gICAgICAgICd3aWR0aCc6IDQxMHB4LFxuICAgICAgICAnaGVpZ2h0JzogMzMzLjAzcHhcbiAgICApLFxuICAgICdtZW51JzogKFxuICAgICAgICAnd2lkdGgnOiAzNnB4LFxuICAgICAgICAnaGVpZ2h0JzogMjRweFxuICAgICksXG4gICAgJ25ld3MnOiAoXG4gICAgICAgICd3aWR0aCc6IDM0OC42N3B4LFxuICAgICAgICAnaGVpZ2h0JzogMzgxLjMzcHhcbiAgICApLFxuICAgICduZXdzbGV0dGVyJzogKFxuICAgICAgICAnd2lkdGgnOiA0MDlweCxcbiAgICAgICAgJ2hlaWdodCc6IDM4MS4zN3B4XG4gICAgKSxcbiAgICAnbmV3c3BhcGVyJzogKFxuICAgICAgICAnd2lkdGgnOiA1NzZweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnbm8tdmlkZW8nOiAoXG4gICAgICAgICd3aWR0aCc6IDEwMDBweCxcbiAgICAgICAgJ2hlaWdodCc6IDEwMDBweFxuICAgICksXG4gICAgJ3BhcGVyLXBsYW5lJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAncGhvbmVfZGFyayc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ3Bob25lJzogKFxuICAgICAgICAnd2lkdGgnOiAzNDVweCxcbiAgICAgICAgJ2hlaWdodCc6IDM0NXB4XG4gICAgKSxcbiAgICAncGluJzogKFxuICAgICAgICAnd2lkdGgnOiAzMTBweCxcbiAgICAgICAgJ2hlaWdodCc6IDMxMHB4XG4gICAgKSxcbiAgICAncHJpbnQnOiAoXG4gICAgICAgICd3aWR0aCc6IDM4OS4zM3B4LFxuICAgICAgICAnaGVpZ2h0JzogMzgwLjI1cHhcbiAgICApLFxuICAgICdyYWRpby1jaGVja2VkJzogKFxuICAgICAgICAnd2lkdGgnOiA5NnB4LFxuICAgICAgICAnaGVpZ2h0JzogOTZweFxuICAgICksXG4gICAgJ3JhZGlvLXVuY2hlY2tlZCc6IChcbiAgICAgICAgJ3dpZHRoJzogOTZweCxcbiAgICAgICAgJ2hlaWdodCc6IDk2cHhcbiAgICApLFxuICAgICdyZWd6b25lJzogKFxuICAgICAgICAnd2lkdGgnOiA3MnB4LFxuICAgICAgICAnaGVpZ2h0JzogNzJweFxuICAgICksXG4gICAgJ3JlcGx5JzogKFxuICAgICAgICAnd2lkdGgnOiAzMTUuMDNweCxcbiAgICAgICAgJ2hlaWdodCc6IDMwMS4xcHhcbiAgICApLFxuICAgICdyZXR3ZWV0JzogKFxuICAgICAgICAnd2lkdGgnOiAzNjFweCxcbiAgICAgICAgJ2hlaWdodCc6IDE5OHB4XG4gICAgKSxcbiAgICAncmlnaHQtYXJyb3cnOiAoXG4gICAgICAgICd3aWR0aCc6IDMxLjQ5cHgsXG4gICAgICAgICdoZWlnaHQnOiAzMS40OXB4XG4gICAgKSxcbiAgICAnc2VhcmNoJzogKFxuICAgICAgICAnd2lkdGgnOiAxNXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTZweFxuICAgICksXG4gICAgJ3NoYXJlX2FsdCc6IChcbiAgICAgICAgJ3dpZHRoJzogMjc1LjAyNnB4LFxuICAgICAgICAnaGVpZ2h0JzogMjYxLjA5OHB4XG4gICAgKSxcbiAgICAnc2hhcmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDMxM3B4LFxuICAgICAgICAnaGVpZ2h0JzogMzE5cHhcbiAgICApLFxuICAgICdzdGFyJzogKFxuICAgICAgICAnd2lkdGgnOiA1NzZweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnc3ViLWluZGljYXRvcic6IChcbiAgICAgICAgJ3dpZHRoJzogOHB4LFxuICAgICAgICAnaGVpZ2h0JzogNXB4XG4gICAgKSxcbiAgICAnc3VibWVudS1pbmRpY2F0b3InOiAoXG4gICAgICAgICd3aWR0aCc6IDlweCxcbiAgICAgICAgJ2hlaWdodCc6IDE3cHhcbiAgICApLFxuICAgICdzdW4nOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICd0YWJsZS1vZi1jb250ZW50cyc6IChcbiAgICAgICAgJ3dpZHRoJzogMjlweCxcbiAgICAgICAgJ2hlaWdodCc6IDI0cHhcbiAgICApLFxuICAgICd0YXJnZXQnOiAoXG4gICAgICAgICd3aWR0aCc6IDI3My41MXB4LFxuICAgICAgICAnaGVpZ2h0JzogMjczLjUxcHhcbiAgICApLFxuICAgICd0aHVtYnNfdXAnOiAoXG4gICAgICAgICd3aWR0aCc6IDMyMnB4LFxuICAgICAgICAnaGVpZ2h0JzogMzMzcHhcbiAgICApLFxuICAgICd0d2l0dGVyJzogKFxuICAgICAgICAnd2lkdGgnOiAzMzUuMzNweCxcbiAgICAgICAgJ2hlaWdodCc6IDI4My4zM3B4XG4gICAgKSxcbiAgICAndXBsb2FkJzogKFxuICAgICAgICAnd2lkdGgnOiAyNjFweCxcbiAgICAgICAgJ2hlaWdodCc6IDM1OHB4XG4gICAgKSxcbiAgICAndXNlcl9jYXJkJzogKFxuICAgICAgICAnd2lkdGgnOiA1NzZweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAndXNlcic6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ3VzZXJzJzogKFxuICAgICAgICAnd2lkdGgnOiAzNDBweCxcbiAgICAgICAgJ2hlaWdodCc6IDM0MHB4XG4gICAgKSxcbiAgICAneGluZyc6IChcbiAgICAgICAgJ3dpZHRoJzogMTZweCxcbiAgICAgICAgJ2hlaWdodCc6IDIwcHhcbiAgICApLFxuICAgICd5b3V0dWJlJzogKFxuICAgICAgICAnd2lkdGgnOiAxN3B4LFxuICAgICAgICAnaGVpZ2h0JzogMjFweFxuICAgIClcbik7XG5cbiR2YXJpYWJsZXM6IChcbiAgICAnYWxsLWFycm93JzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnYm9va21hcmsnOiAoXG4gICAgICAgICdmaWxsJzogJyMxMzI5NGEnXG4gICAgKSxcbiAgICAnY2FsZW5kYXItYWx0JzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAnc3Ryb2tlJzogJydcbiAgICApLFxuICAgICdjaGFydC1saW5lLWRvd24nOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICdzdHJva2UnOiAnJ1xuICAgICksXG4gICAgJ2NoZXZyb25fb3Blbic6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2Nsb3NlJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnY29nJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnY29tbWVudCc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2NvbXBhcmUnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdjb21wYXNzJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnY29udGFjdC1kZXRhaWxzJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnY3VzdG9tX3NvY2lhbF9tZWRpYV9saW5rJzogKFxuICAgICAgICAnc3Ryb2tlJzogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdleHRlcm5hbC1hbHQnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdleWUnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdmaWxlLWFsdCc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2ZsYWcnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdmbGFtZSc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2dlbSc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2xhd25vdyc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2xpbmtlZGluJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnbWFpbF9kYXJrJzogKFxuICAgICAgICAnZmlsbCc6ICcjMTMyOTRhJ1xuICAgICksXG4gICAgJ21haWwnOiAoXG4gICAgICAgICdzdHJva2UnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ25ld3NwYXBlcic6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ3BhcGVyLXBsYW5lJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAncGhvbmVfZGFyayc6IChcbiAgICAgICAgJ2ZpbGwnOiAnIzEzMjk0YSdcbiAgICApLFxuICAgICdwaG9uZSc6IChcbiAgICAgICAgJ3N0cm9rZSc6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAnZmlsbCc6ICdub25lJ1xuICAgICksXG4gICAgJ3JlZ3pvbmUnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdzdGFyJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnc3VuJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAndHdpdHRlcic6IChcbiAgICAgICAgJ3N0cm9rZSc6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAndXNlcic6IChcbiAgICAgICAgJ2ZpbGwnOiAnIzEzMjk0YSdcbiAgICApLFxuICAgICd4aW5nJzogKFxuICAgICAgICAnc3Ryb2tlJzogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICd5b3V0dWJlJzogKFxuICAgICAgICAnc3Ryb2tlJzogJ2N1cnJlbnRDb2xvcicsXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApXG4pO1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vd2FsZGVtYXJmbS9zYXNzLXN2Zy11cmkvYmxvYi92MS4wLjAvX3N2Zy11cmkuc2Nzc1xuQGZ1bmN0aW9uIHNwcml0ZS1zdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICAgIEBpZiB0eXBlLW9mKCRyZXBsYWNlKSA9PSAnbnVsbCcge1xuICAgICAgICAkcmVwbGFjZTogJyc7XG4gICAgfVxuXG4gICAgQGlmICggJGluZGV4ICkge1xuICAgICAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3ByaXRlLXN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHN0cmluZztcbn1cblxuQGZ1bmN0aW9uIHNwcml0ZS1zdmctdXJpKCR2YWx1ZSkge1xuICAgICRlbmNvZGVkOiAnJztcbiAgICAkc2xpY2U6IDIwMDA7XG4gICAgJGluZGV4OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBjZWlsKHN0ci1sZW5ndGgoJHZhbHVlKSAvICRzbGljZSkge1xuICAgICAgICAkY2h1bms6IHN0ci1zbGljZSgkdmFsdWUsICRpbmRleCwgJGluZGV4ICsgJHNsaWNlIC0gMSk7XG4gICAgICAgICRjaHVuazogc3ByaXRlLXN0ci1yZXBsYWNlKCRjaHVuaywgJ1wiJywgXCInXCIpO1xuICAgICAgICAkY2h1bms6IHNwcml0ZS1zdHItcmVwbGFjZSgkY2h1bmssICc8JywgJyUzQycpO1xuICAgICAgICAkY2h1bms6IHNwcml0ZS1zdHItcmVwbGFjZSgkY2h1bmssICc+JywgJyUzRScpO1xuICAgICAgICAkY2h1bms6IHNwcml0ZS1zdHItcmVwbGFjZSgkY2h1bmssICcmJywgJyUyNicpO1xuICAgICAgICAkY2h1bms6IHNwcml0ZS1zdHItcmVwbGFjZSgkY2h1bmssICcjJywgJyUyMycpO1xuICAgICAgICAkZW5jb2RlZDogI3skZW5jb2RlZH0jeyRjaHVua307XG4gICAgICAgICRpbmRleDogJGluZGV4ICsgJHNsaWNlO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGVuY29kZWQ7XG59XG5cbkBtaXhpbiBzcHJpdGUoJG5hbWUsICR1c2VyLXZhcmlhYmxlczogKCksICRpbmNsdWRlLXNpemU6IGZhbHNlKSB7XG4gICAgJHNwcml0ZTogbWFwLWdldCgkc3ByaXRlcywgJG5hbWUpO1xuXG4gICAgLy8gSW5qZWN0IHZhcmlhYmxlc1xuICAgICRkZWZhdWx0LXZhcmlhYmxlczogbWFwLWdldCgkdmFyaWFibGVzLCAkbmFtZSk7XG4gICAgQGlmIHR5cGUtb2YoJGRlZmF1bHQtdmFyaWFibGVzKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiBtYXAtbWVyZ2UoJGRlZmF1bHQtdmFyaWFibGVzLCAkdXNlci12YXJpYWJsZXMpIHtcbiAgICAgICAgICAgIEBpZiAoIG5vdCBtYXAtaGFzLWtleSgkZGVmYXVsdC12YXJpYWJsZXMsICRrZXkpICkge1xuICAgICAgICAgICAgICAgIEB3YXJuICdTcHJpdGUgXFwnI3skbmFtZX1cXCcgZG9lcyBub3Qgc3VwcG9ydCB2YXJpYWJsZSBuYW1lZCBcXCcjeyRrZXl9XFwnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJHNwcml0ZTogc3ByaXRlLXN0ci1yZXBsYWNlKCRzcHJpdGUsICdfX18jeyRrZXl9X19fJywgc3ByaXRlLXN2Zy11cmkocXVvdGUoI3skdmFsdWV9KSkpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR1c2VyLXZhcmlhYmxlcykgPT0gJ21hcCcge1xuICAgICAgICBAd2FybiAnU3ByaXRlIFxcJyN7JG5hbWV9XFwnIGRvZXMgbm90IGNvbnRhaW4gYW55IHZhcmlhYmxlcyc7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogdXJsKCRzcHJpdGUpIGNlbnRlciBuby1yZXBlYXQ7XG5cbiAgICBAaWYgJGluY2x1ZGUtc2l6ZSB7XG4gICAgICAgICRzaXplOiBtYXAtZ2V0KCRzaXplcywgJG5hbWUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IG1hcC1nZXQoJHNpemUsIHdpZHRoKSBtYXAtZ2V0KCRzaXplLCBoZWlnaHQpO1xuICAgIH1cbn1cbiIsIi5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IC5jb21wYXJlLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gIC5jb21wYXJlLWl0ZW0tLWhlYWRlciB7XG4gICAgcGFkZGluZzogMCAxNXB4IDEzcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmJiYmI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgei1pbmRleDogNTtcblxuICAgIC8vcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6ICRtb2JpbGUtdG9wLWJhci1oZWlnaHQgKyA2MDtcblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICRjb2xvci1taWQtYmx1ZTtcbiAgICB9XG4gIH1cblxuICAuY29tcGFyZS1pdGVtLS1jb250ZW50IHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24ge1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDRweCAxNXB4O1xuXG4gICAgICBmbGV4OiAxIDAgMTAwJTtcblxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgQGluY2x1ZGUgYnJlYWstdGV4dCgpO1xuXG4gICAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHNfX3Njcm9sbGJhci14LXJhaWwsXG4gICAgLnBzX19zY3JvbGxiYXIteS1yYWlsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4uZWd1aWRlLWNvbXBhcmUuZWd1aWRlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cbi8vIC0tLS0tLS0tIExBTkRTQ0FQRSBWRVJTSU9OXG5cbiRsYW5kc2NhcGUtY29udGVudC1zcGFjaW5nOiA0MXB4O1xuJGxhbmRzY2FwZS1jb250ZW50LWlubmVyLXNwYWNpbmc6IDMwcHg7XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtb2JpbGUtbGFuZHNjYXBlLXN0YXJ0KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IHtcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIHtcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXdyYXBwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGFuZHNjYXBlLWNvbnRlbnQtc3BhY2luZyAtICRsYW5kc2NhcGUtY29udGVudC1pbm5lci1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGxhbmRzY2FwZS1jb250ZW50LXNwYWNpbmcgLSAkbGFuZHNjYXBlLWNvbnRlbnQtaW5uZXItc3BhY2luZztcblxuICAgICAgICAmLnBkZiB7XG4gICAgICAgICAgZmxleDogMSAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGxhbmRzY2FwZS1jb250ZW50LWlubmVyLXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtaXRlbSB7XG4gICAgICAuY29tcGFyZS1pdGVtLS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcgMC4ycyBlYXNlLW91dCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGxhbmRzY2FwZS1jb250ZW50LXNwYWNpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRsYW5kc2NhcGUtY29udGVudC1zcGFjaW5nO1xuICAgICAgfVxuXG4gICAgICAuY29tcGFyZS1pdGVtLS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGFuZHNjYXBlLWNvbnRlbnQtc3BhY2luZyAtICRsYW5kc2NhcGUtY29udGVudC1pbm5lci1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGxhbmRzY2FwZS1jb250ZW50LXNwYWNpbmcgLSAkbGFuZHNjYXBlLWNvbnRlbnQtaW5uZXItc3BhY2luZztcblxuICAgICAgICAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGxhbmRzY2FwZS1jb250ZW50LWlubmVyLXNwYWNpbmc7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGFuZHNjYXBlLWNvbnRlbnQtaW5uZXItc3BhY2luZztcblxuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyAwLjJzIGVhc2Utb3V0KTtcbiAgICAgICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIFBBR0lOQVRJT05cbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1wYWdlPVwiMFwiXSB7XG4gICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLW5leHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW06bnRoLW9mLXR5cGUoMikge1xuICAgICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0tcHJldiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtcGFnZT1cIjFcIl0sXG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtcGFnZT1cIjJcIl0ge1xuICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbTpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1uZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXByZXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRBQkxFVFxuXG4kdGFibGV0LWNvbnRlbnQtc3BhY2luZzogNTBweDtcbiR0YWJsZXQtY29udGVudC1pbm5lci1zcGFjaW5nOiAyN3B4O1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IHtcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIHtcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXdyYXBwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdGFibGV0LWNvbnRlbnQtc3BhY2luZyAtICR0YWJsZXQtY29udGVudC1pbm5lci1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogJHRhYmxldC1jb250ZW50LXNwYWNpbmcgLSAkdGFibGV0LWNvbnRlbnQtaW5uZXItc3BhY2luZztcbiAgICAgIH1cbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0YWJsZXQtY29udGVudC1pbm5lci1zcGFjaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wYXJlLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC5jb21wYXJlLWl0ZW0tLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgJHRhYmxldC1jb250ZW50LXNwYWNpbmcgMTRweDtcbiAgICAgIH1cbiAgICAgIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICR0YWJsZXQtY29udGVudC1zcGFjaW5nIC0gJHRhYmxldC1jb250ZW50LWlubmVyLXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkdGFibGV0LWNvbnRlbnQtc3BhY2luZyAtICR0YWJsZXQtY29udGVudC1pbm5lci1zcGFjaW5nO1xuICAgICAgICAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMTNweCAkdGFibGV0LWNvbnRlbnQtaW5uZXItc3BhY2luZyAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUEFHSU5BVElPTlxuICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLXBhZ2U9XCIwXCJdIHtcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW06bnRoLW9mLXR5cGUoMSksXG4gICAgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1jb250ZW50IC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICAuYWRkLWJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hZGQtYnV0dG9uLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIERFU0tUT1BcblxuJGRlc2t0b3AtY29udGVudC1zcGFjaW5nOiA1MHB4O1xuJGRlc2t0b3AtY29udGVudC1pbm5lci1zcGFjaW5nOiAxNXB4O1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVzay13aWRlLXN0YXJ0KSB7XG4gIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0IHtcbiAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIHtcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLXdyYXBwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZGVza3RvcC1jb250ZW50LXNwYWNpbmcgLSAkZGVza3RvcC1jb250ZW50LWlubmVyLXNwYWNpbmcgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRkZXNrdG9wLWNvbnRlbnQtc3BhY2luZyAtICRkZXNrdG9wLWNvbnRlbnQtaW5uZXItc3BhY2luZyAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGRlc2t0b3AtY29udGVudC1pbm5lci1zcGFjaW5nICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb21wYXJlLWl0ZW0ge1xuICAgICAgLmNvbXBhcmUtaXRlbS0taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZGVza3RvcC1jb250ZW50LXNwYWNpbmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgICAgLmNvbXBhcmUtaXRlbS0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGRlc2t0b3AtY29udGVudC1pbm5lci1zcGFjaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRkZXNrdG9wLWNvbnRlbnQtaW5uZXItc3BhY2luZyAhaW1wb3J0YW50O1xuICAgICAgICAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgICAgZmxleDogMSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVndWlkZS1jb21wYXJlIHtcbiAgICAuY29tcGFyZS1saXN0IHtcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0sXG4gICAgICAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGRlc2t0b3AtY29udGVudC1pbm5lci1zcGFjaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRkZXNrdG9wLWNvbnRlbnQtaW5uZXItc3BhY2luZyAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdCAuY29tcGFyZS1pdGVtLmNvbXBhcmUtaXRlbS0tYXV0aG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgLmNvbXBhcmUtaXRlbS0taGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgICAuZXhwYW5kLXRvZ2dsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgLmdyaWRfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1vYmlsZS1sYW5kc2NhcGUtc3RhcnQpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1pdGVtcz1cIjFcIl0gLmNvbXBhcmUtaXRlbS5jb21wYXJlLWl0ZW0tLWF1dGhvciB7XG4gICAgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIC5ncmlkX19pdGVtIHtcbiAgICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1pdGVtcz1cIjFcIl0gLmNvbXBhcmUtaXRlbS5jb21wYXJlLWl0ZW0tLWF1dGhvciB7XG4gICAgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIC5ncmlkX19pdGVtIHtcbiAgICAgICAgZmxleDogMSAwIDMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMyU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIElFMTEgZml4ZXNcbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1jb250ZW50IC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uIHtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlLWxhbmRzY2FwZS1zdGFydCkge1xuICAgIC5lZ3VpZGUtY29tcGFyZSAuY29tcGFyZS1saXN0W2RhdGEtaXRlbXM9XCIxXCJdIHtcbiAgICAgIC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCAuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbixcbiAgICAgIC5jb21wYXJlLWp1cmlzZGljdGlvbnMgLmNvbXBhcmUtanVyaXNkaWN0aW9ucy0taXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgLmVndWlkZS1jb21wYXJlIFtkYXRhLXBhZ2U9JzAnXS5jb21wYXJlLWxpc3Qge1xuICAgICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyA6bnRoLW9mLXR5cGUoMSkuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIC5hZGQtYnV0dG9uOjphZnRlcixcbiAgICAgIC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS0tY29udGVudCA6bnRoLW9mLXR5cGUoMSkuY29tcGFyZS1pdGVtLS1jb250ZW50LWp1cmlzZGljdGlvbiAuY29tcGFyZS1qdXJpc2RpY3Rpb24tLWFkZCAuYWRkLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVzay13aWRlLXN0YXJ0KSB7XG4gICAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3RbZGF0YS1pdGVtcz1cIjFcIl0ge1xuICAgICAgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1jb250ZW50IC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uLFxuICAgICAgLmNvbXBhcmUtanVyaXNkaWN0aW9ucyAuY29tcGFyZS1qdXJpc2RpY3Rpb25zLS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAuZWd1aWRlLWNvbXBhcmUgLmNvbXBhcmUtbGlzdFtkYXRhLWl0ZW1zPVwiMlwiXSB7XG4gICAgICAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQgLmNvbXBhcmUtaXRlbS0tY29udGVudC1qdXJpc2RpY3Rpb24sXG4gICAgICAuY29tcGFyZS1qdXJpc2RpY3Rpb25zIC5jb21wYXJlLWp1cmlzZGljdGlvbnMtLWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOmF1dG8pIHtcbiAgLmVndWlkZS1jb21wYXJlIC5jb21wYXJlLWxpc3QgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLS1jb250ZW50IC5jb21wYXJlLWl0ZW0tLWNvbnRlbnQtanVyaXNkaWN0aW9uIHtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLSBKdXJpc2RpY3Rpb24gU2VsZWN0XG4uZWd1aWRlLXNlbGVjdCB7XG4gIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgIHdpZHRoOiAxODBweDtcbiAgICBtaW4taGVpZ2h0OiAzM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9jLWJnLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItbWlkLWJsdWU7XG5cbiAgICAuZWd1aWRlLXNlbGVjdC0taGVhZGVyLW5hbWUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGFycm93O1xuICAgIH1cblxuICAgICYucGRmIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QtLWNsb3NlIHtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgQGluY2x1ZGUgc3ByaXRlKCdjbG9zZScsIChmaWxsOiAjMDAwKSk7XG4gICAgfVxuICB9XG5cbiAgJi5vcGVuIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTM1NUU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxMTM1NUU7XG5cbiAgICAuZWd1aWRlLXNlbGVjdC0taGVhZGVyLW5hbWUge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYXJyb3cod2hpdGUsICd1cCcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbW9iaWxlLWxhbmRzY2FwZS1zdGFydCkge1xuICAuZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAuZWd1aWRlLXNlbGVjdCB7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgICAgd2lkdGg6IDE4MHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVzay13aWRlLXN0YXJ0KSB7XG4gIC5lZ3VpZGUtc2VsZWN0IHtcbiAgICB3aWR0aDogMzUlO1xuICB9XG59XG5cbkBtaXhpbiBlZ3VpZGVTZWxlY3RDb250ZW50V3JhcHBlcigpIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDE7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1taWQtYmx1ZTtcblxuICAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9jLWJnLWNvbG9yO1xuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICBkaXYsXG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAzMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1taWQtYmx1ZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ncmF5O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmVtcHR5LW9wdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyB2aXNpYmlsaXR5IGFuZCBhbmltYXRpb25zXG4gIG1heC1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjRzIGVhc2Utb3V0LCBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQpO1xuXG4gICYub3BlbiB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0KTtcbiAgfVxuXG4gIC8vIElFMTEgZml4ZXNcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4uZWd1aWRlLXNlbGVjdCAuZWd1aWRlLXNlbGVjdC0tY29udGVudC13cmFwcGVyIHtcbiAgQGluY2x1ZGUgZWd1aWRlU2VsZWN0Q29udGVudFdyYXBwZXI7XG59XG5cbi8vIC0tLS0tLS0tLS0tLSBKdXJpc2RpY3Rpb24gU3dpdGNoZXJzIGFuZCBBRERcbi8vIFdyYXBwZXIgbmVlZHMgdG8gYmUgbG9jYXRlZCBpbiBhIGRpZmZlcmVudCBwbGFjZVxuLy8gYmVjYXVzZSBvZiBzdGlja3kgcG9zaXRpb25zXG4janVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIge1xuICBAaW5jbHVkZSBlZ3VpZGVTZWxlY3RDb250ZW50V3JhcHBlcjtcbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0gSnVyaXNkaWN0aW9uIHNlbGVjdCBBRERcbi5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuXG4gIC5hZGQtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAuYWRkLWJ1dHRvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTJweDtcbiAgICAgIGxlZnQ6IDEycHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGluY2x1ZGUgc3ByaXRlKCdjbG9zZScsIChmaWxsOiAkY29sb3Itd2hpdGUpKTtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZWd1aWRlLXNlbGVjdC0tY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAkb3ZlcmxheS12ZXJ0aWNhbC1tYmwgMDtcbiAgfVxufVxuXG4janVyaXNkaWN0aW9ucy1saXN0LXdyYXBwZXIub3ZlcmxheS1tb2RlIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcmlnaHQ6IDA7XG5cbiAgLmFkZC1qdXJpc2RpY3Rpb24tb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZUF0dHIocGFkZGluZywgJG92ZXJsYXktdmVydGljYWwtbWJsICRvdmVybGF5LWhvcml6b250YWwtbWJsIDM2cHgpO1xuXG4gICAgLnNlbGVjdC0taGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLnNlbGVjdC0tY29udGVudC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNHB4LCB0cnVlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbWlkLWJsdWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkb3ZlcmxheS1oZWFkLXZlcnRpY2FsLW1ibDtcbiAgICAgIH1cblxuICAgICAgLnNlbGVjdC0tY29udGVudC1jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTM1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgQGluY2x1ZGUgc3ByaXRlKCdjbG9zZScsIChmaWxsOiAjMDAwKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyLm92ZXJsYXktbW9kZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgLmVndWlkZS1zZWxlY3QtLWNvbnRlbnQuYWRkLWp1cmlzZGljdGlvbi1vdmVybGF5IHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMjVweCA1MHB4O1xuXG4gICAgICAuc2VsZWN0LS1oZWFkZXIgLnNlbGVjdC0tY29udGVudC1jbG9zZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGNvbHVtbi1nYXA6IDY4cHg7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgLWNvdW50Y29sdW1uOiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVzay13aWRlLXN0YXJ0KSB7XG4gIC5jb21wYXJlLWp1cmlzZGljdGlvbi0tYWRkLmVndWlkZS1zZWxlY3QtLW92ZXJsYXktbW9kZS5vcGVuOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IDg2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgJHRvYy1iZy1jb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgI2p1cmlzZGljdGlvbnMtbGlzdC13cmFwcGVyLm92ZXJsYXktbW9kZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgIC5lZ3VpZGUtc2VsZWN0LS1jb250ZW50LmFkZC1qdXJpc2RpY3Rpb24tb3ZlcmxheSB7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgY29sdW1uLWdhcDogNjhweDtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAtY291bnRjb2x1bW46IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLSBDb21wYXJlIHN0YXJ0IGZvcm1cblxuLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0ge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBwYWRkaW5nOiAwICRzcGFjZSozIDUwcHggJHNwYWNlKjI7XG5cbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgJjo6Zmlyc3QtbGV0dGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIH1cblxuICAud2lkZS1kZXZpY2VzLXRpdGxlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5lZ3VpZGUtc2VsZWN0IHtcbiAgICAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgICBtaW4taGVpZ2h0OiAzM3B4O1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgIH1cblxuICAgICYuZXh0cmEtanVyaXNkaWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5hZGQtanVyaXNkaWN0aW9uIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAuZWd1aWRlLXNlbGVjdC0taGVhZGVyLW5hbWUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFkZC1qdXJpc2RpY3Rpb246bm90KC5zZWxlY3RlZCk6bm90KC5vcGVuKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItZ3JlZW47XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJysnO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICByaWdodDogMjNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vcGVuLWNvbXBhcmlzb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICB3aWR0aDogMjIwcHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGFycm93KHdoaXRlLCAncmlnaHQnKTtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAmLnNob3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAud2lkZS1kZXZpY2UtdGl0bGVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0ge1xuICAgIC5jb21wYXJlLWRyb3Bkb3ducy1ibG9jayxcbiAgICAud2lkZS1kZXZpY2UtdGl0bGVzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIC5jb2wxLFxuICAgICAgLmNvbDIge1xuICAgICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbWFsbC1kZXZpY2UtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZWd1aWRlLXNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAub3Blbi1jb21wYXJpc29uLFxuICAgIC5lZ3VpZGUtc2VsZWN0IC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHtcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0ge1xuICAgIC5jb21wYXJlLWRyb3Bkb3ducy1ibG9jayxcbiAgICAud2lkZS1kZXZpY2UtdGl0bGVzIHtcbiAgICAgIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jb2wxIHtcbiAgICAgICAgZmxleDogMSAwIDMzJTtcbiAgICAgIH1cblxuICAgICAgLmNvbDIge1xuICAgICAgICBmbGV4OiAxIDAgNjclO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAuZWd1aWRlLXNlbGVjdCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5vcGVuLWNvbXBhcmlzb24sXG4gICAgLmVndWlkZS1zZWxlY3QgLmVndWlkZS1zZWxlY3QtLWhlYWRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIElFMTEgZml4ZXNcbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmNvbXBhcmUtanVyaXNkaWN0aW9uLWZvcm0gLmVndWlkZS1zZWxlY3QuYWRkLWp1cmlzZGljdGlvbiAuZWd1aWRlLXNlbGVjdC0taGVhZGVyIC5lZ3VpZGUtc2VsZWN0LS1oZWFkZXItbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/