﻿@charset "UTF-8";

html {
    box-sizing: border-box;
}

*, *::after, *::before {
    box-sizing: inherit;
}

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 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 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

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

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

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

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
    display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
    background-color: transparent;
}

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

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

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

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

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

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

/**
 * 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/10.
 */
img {
    border: 0;
}

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

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
    margin: 1em 40px;
}

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

/**
 * Contain overflow in all browsers.
 */
pre {
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
    overflow: visible;
}

/**
 * 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 Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
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] {
        cursor: default;
    }

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

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

    /**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
    input[type="checkbox"],
    input[type="radio"] {
        box-sizing: border-box;
        /* 1 */
        padding: 0;
        /* 2 */
    }

    /**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        height: auto;
    }

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

        /**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
        input[type="search"]::-webkit-search-cancel-button,
        input[type="search"]::-webkit-search-decoration {
            -webkit-appearance: none;
        }

/**
 * 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/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
    font-weight: bold;
}

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

td,
th {
    padding: 0;
}

/* apply a natural box layout model to all elements, but allowing components to change */
html {
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    background-color: #ffffff;
}

.lt-ie9 * {
    -webkit-filter: none !important;
    filter: none !important;
}

[aria-hidden=true] {
    display: none !important;
}

.usa-grid,
.usa-grid-full {
    max-width: 68em;
    margin-left: auto;
    margin-right: auto;
    max-width: 1040px;
}

    .usa-grid::after,
    .usa-grid-full::after {
        clear: both;
        content: "";
        display: table;
    }

@media screen and (min-width: 600px) {
    .usa-grid .usa-width-one-whole,
    .usa-grid-full .usa-width-one-whole {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 100%;
    }

        .usa-grid .usa-width-one-whole:last-child,
        .usa-grid-full .usa-width-one-whole:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-half,
    .usa-grid-full .usa-width-one-half {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 47.58542%;
    }

        .usa-grid .usa-width-one-half:last-child,
        .usa-grid-full .usa-width-one-half:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-third,
    .usa-grid-full .usa-width-one-third {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 30.11389%;
    }

        .usa-grid .usa-width-one-third:last-child,
        .usa-grid-full .usa-width-one-third:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-two-thirds,
    .usa-grid-full .usa-width-two-thirds {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 65.05695%;
    }

        .usa-grid .usa-width-two-thirds:last-child,
        .usa-grid-full .usa-width-two-thirds:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-fourth,
    .usa-grid-full .usa-width-one-fourth {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 47.58542%;
    }

        .usa-grid .usa-width-one-fourth:last-child,
        .usa-grid-full .usa-width-one-fourth:last-child {
            margin-right: 0;
        }

        .usa-grid .usa-width-one-fourth:nth-child(2n),
        .usa-grid-full .usa-width-one-fourth:nth-child(2n) {
            margin-right: 0;
        }

    .usa-grid .usa-width-three-fourths,
    .usa-grid-full .usa-width-three-fourths {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 100%;
    }

        .usa-grid .usa-width-three-fourths:last-child,
        .usa-grid-full .usa-width-three-fourths:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-sixth,
    .usa-grid-full .usa-width-one-sixth {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 30.11389%;
    }

        .usa-grid .usa-width-one-sixth:last-child,
        .usa-grid-full .usa-width-one-sixth:last-child {
            margin-right: 0;
        }

        .usa-grid .usa-width-one-sixth:nth-child(3n),
        .usa-grid-full .usa-width-one-sixth:nth-child(3n) {
            margin-right: 0;
        }

    .usa-grid .usa-width-five-sixths,
    .usa-grid-full .usa-width-five-sixths {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 82.52847%;
    }

        .usa-grid .usa-width-five-sixths:last-child,
        .usa-grid-full .usa-width-five-sixths:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-twelfth,
    .usa-grid-full .usa-width-one-twelfth {
        float: left;
        display: block;
        margin-right: 4.82916%;
        width: 30.11389%;
    }

        .usa-grid .usa-width-one-twelfth:last-child,
        .usa-grid-full .usa-width-one-twelfth:last-child {
            margin-right: 0;
        }

        .usa-grid .usa-width-one-twelfth:nth-child(3n),
        .usa-grid-full .usa-width-one-twelfth:nth-child(3n) {
            margin-right: 0;
        }
}

@media screen and (min-width: 1201px) {
    .usa-grid .usa-width-one-whole,
    .usa-grid-full .usa-width-one-whole {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%;
    }

        .usa-grid .usa-width-one-whole:last-child,
        .usa-grid-full .usa-width-one-whole:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-half,
    .usa-grid-full .usa-width-one-half {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%;
    }

        .usa-grid .usa-width-one-half:last-child,
        .usa-grid-full .usa-width-one-half:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-third,
    .usa-grid-full .usa-width-one-third {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 31.76157%;
    }

        .usa-grid .usa-width-one-third:last-child,
        .usa-grid-full .usa-width-one-third:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-two-thirds,
    .usa-grid-full .usa-width-two-thirds {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 65.88078%;
    }

        .usa-grid .usa-width-two-thirds:last-child,
        .usa-grid-full .usa-width-two-thirds:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-fourth,
    .usa-grid-full .usa-width-one-fourth {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 23.23176%;
    }

        .usa-grid .usa-width-one-fourth:last-child,
        .usa-grid-full .usa-width-one-fourth:last-child {
            margin-right: 0;
        }

        .usa-grid .usa-width-one-fourth:nth-child(2n),
        .usa-grid-full .usa-width-one-fourth:nth-child(2n) {
            float: left;
            display: block;
            margin-right: 2.35765%;
            width: 23.23176%;
        }

            .usa-grid .usa-width-one-fourth:nth-child(2n):last-child,
            .usa-grid-full .usa-width-one-fourth:nth-child(2n):last-child {
                margin-right: 0;
            }

        .usa-grid .usa-width-one-fourth:nth-child(4n),
        .usa-grid-full .usa-width-one-fourth:nth-child(4n) {
            margin-right: 0;
        }

    .usa-grid .usa-width-three-fourths,
    .usa-grid-full .usa-width-three-fourths {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 74.41059%;
    }

        .usa-grid .usa-width-three-fourths:last-child,
        .usa-grid-full .usa-width-three-fourths:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-sixth,
    .usa-grid-full .usa-width-one-sixth {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 14.70196%;
    }

        .usa-grid .usa-width-one-sixth:last-child,
        .usa-grid-full .usa-width-one-sixth:last-child {
            margin-right: 0;
        }

        .usa-grid .usa-width-one-sixth:nth-child(3n),
        .usa-grid-full .usa-width-one-sixth:nth-child(3n) {
            float: left;
            display: block;
            margin-right: 2.35765%;
            width: 14.70196%;
        }

            .usa-grid .usa-width-one-sixth:nth-child(3n):last-child,
            .usa-grid-full .usa-width-one-sixth:nth-child(3n):last-child {
                margin-right: 0;
            }

        .usa-grid .usa-width-one-sixth:nth-child(6n),
        .usa-grid-full .usa-width-one-sixth:nth-child(6n) {
            margin-right: 0;
        }

    .usa-grid .usa-width-five-sixths,
    .usa-grid-full .usa-width-five-sixths {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 82.94039%;
    }

        .usa-grid .usa-width-five-sixths:last-child,
        .usa-grid-full .usa-width-five-sixths:last-child {
            margin-right: 0;
        }

    .usa-grid .usa-width-one-twelfth,
    .usa-grid-full .usa-width-one-twelfth {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 6.17215%;
    }

        .usa-grid .usa-width-one-twelfth:last-child,
        .usa-grid-full .usa-width-one-twelfth:last-child {
            margin-right: 0;
        }

        .usa-grid .usa-width-one-twelfth:nth-child(3n),
        .usa-grid-full .usa-width-one-twelfth:nth-child(3n) {
            float: left;
            display: block;
            margin-right: 2.35765%;
            width: 6.17215%;
        }

            .usa-grid .usa-width-one-twelfth:nth-child(3n):last-child,
            .usa-grid-full .usa-width-one-twelfth:nth-child(3n):last-child {
                margin-right: 0;
            }

        .usa-grid .usa-width-one-twelfth:nth-child(12n),
        .usa-grid-full .usa-width-one-twelfth:nth-child(12n) {
            margin-right: 0;
        }
}

.usa-grid .usa-end-row,
.usa-grid-full .usa-end-row {
    margin-right: 0;
}

.usa-grid {
    padding: 0 3rem;
}

.usa-grid-full {
    padding: 0;
}

.usa-sr-only {
    position: absolute;
    left: -999em;
}

html {
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
    font-size: 10px;
}

body {
    font-size: 1.6rem;
}

p {
    line-height: 1.5;
    margin-top: 1em;
    margin-bottom: 1em;
}

a {
    color: #0057A8;
    text-decoration: none;
}

    a:hover, a:active {
        color: #205493;
        text-decoration: underline;
    }

    a:visited {
        color: #4c2c92;
    }

    a:focus {
        box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;
        outline: 0;
    }

h1, h2, h3, h4, h5, h6 {
    clear: both;
    font-family: "Merriweather", "Georgia", "Times New Roman", serif;
    line-height: 1.3;
    margin-top: 1.5em;
    margin-bottom: .5em;
}

h1 {
    font-size: 4rem;
    font-weight: 700;
}

h2 {
    font-size: 3rem;
    font-weight: 700;
}

h3 {
    font-size: 2rem;
    font-weight: 700;
}

h4 {
    font-size: 1.7rem;
    font-weight: 700;
}

h5 {
    font-size: 1.5rem;
    font-weight: 700;
}

h6 {
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
    font-size: 1.3rem;
    font-weight: 400;
    text-transform: uppercase;
}

cite,
var,
address,
dfn {
    font-style: normal;
}

.usa-content p {
    max-width: 53rem;
}

.usa-content-list {
    max-width: 53rem;
}

    p a,
    .usa-content-list a {
        text-decoration: underline;
    }

.usa-sans p,
.usa-sans a,
.usa-sans li,
.usa-sans span {
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
}

.usa-serif p,
.usa-serif a,
.usa-serif li,
.usa-serif span {
    font-family: "Merriweather", "Georgia", "Times New Roman", serif;
}

.usa-sans a {
    border-bottom: none;
    font-weight: 700;
}

.usa-display {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0;
}

@media screen and (min-width: 481px) {
    .usa-display {
        font-size: 4rem;
        font-weight: 700;
    }
}

@media screen and (min-width: 600px) {
    .usa-display {
        font-size: 5.2rem;
        font-weight: 700;
    }
}

.usa-font-lead {
    font-size: 2.2rem;
    font-family: "Merriweather", "Georgia", "Times New Roman", serif;
    line-height: 1.7;
}

.usa-image-block {
    position: relative;
}

.usa-image-text-block {
    color: #ffffff;
    left: 0;
    margin-left: 8%;
    position: absolute;
    top: 0;
}

.usa-image-text {
    margin-top: 0;
}

.usa-drop_text {
    margin-bottom: 0;
}

.usa-background-dark {
    background-color: #323a45;
}

    .usa-background-dark p, .usa-background-dark span {
        color: #ffffff;
    }

    .usa-background-dark a {
        color: #d6d7d9;
    }

        .usa-background-dark a:hover {
            color: #ffffff;
        }

.usa-text-small {
    font-size: 1.3rem;
    margin-top: 0;
}

ul, ol {
    margin-top: 2em;
    margin-bottom: 2em;
}

    ul li, ol li {
        line-height: 1.5;
        margin-top: .75em;
        margin-bottom: .75em;
    }

h1 + ul,
h1 + ol, h2 + ul,
h2 + ol, h3 + ul,
h3 + ol, h4 + ul,
h4 + ol, h5 + ul,
h5 + ol, h6 + ul,
h6 + ol, p + ul,
p + ol {
    margin-top: 0;
}

ul, ol {
    list-style: none;
    padding-left: 0;
    display: table;
}

    ul li:after, ol li:after {
        content: "";
        display: block;
        margin-bottom: 0.5em;
    }

    ul li {
        display: table-row;
    }

        ul li:before {
            content: "•";
            display: table-cell;
            padding-right: 0.4em;
        }

    ol li {
        display: table-row;
        counter-increment: table-ol;
    }

        ol li:before {
            content: counter(table-ol) ".";
            display: table-cell;
            padding-right: 0.4em;
            text-align: right;
        }

li {
    margin-bottom: 0.5em;
}

.usa-unstyled-list {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

    .usa-unstyled-list li {
        display: list-item;
        margin: 0;
    }

        .usa-unstyled-list li:before {
            display: none;
        }

        .usa-unstyled-list li:after {
            display: none;
        }

input,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="file"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
textarea,
select {
    border: 1px solid #dddddd;
    border-radius: 0;
    box-sizing: border-box;
    color: #000;
    display: inline-flex;
    font-size: 1.6rem;
    margin: .2em 0;
    max-width: 46rem;
    /*width: 100%;*/
    outline: none;
    padding: 1rem .7em;
    appearance: none;
}

    input:focus, input.usa-input-focus,
    input[type="text"]:focus,
    input[type="text"].usa-input-focus,
    input[type="email"]:focus,
    input[type="email"].usa-input-focus,
    input[type="password"]:focus,
    input[type="password"].usa-input-focus,
    input[type="url"]:focus,
    input[type="url"].usa-input-focus,
    input[type="tel"]:focus,
    input[type="tel"].usa-input-focus,
    input[type="number"]:focus,
    input[type="number"].usa-input-focus,
    input[type="search"]:focus,
    input[type="search"].usa-input-focus,
    input[type="file"]:focus,
    input[type="file"].usa-input-focus,
    input[type="date"]:focus,
    input[type="date"].usa-input-focus,
    input[type="datetime-local"]:focus,
    input[type="datetime-local"].usa-input-focus,
    input[type="month"]:focus,
    input[type="month"].usa-input-focus,
    input[type="time"]:focus,
    input[type="time"].usa-input-focus,
    input[type="week"]:focus,
    input[type="week"].usa-input-focus,
    textarea:focus,
    textarea.usa-input-focus,
    select:focus,
    select.usa-input-focus {
        box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;
    }

    input.usa-input-success,
    input[type="text"].usa-input-success,
    input[type="email"].usa-input-success,
    input[type="password"].usa-input-success,
    input[type="url"].usa-input-success,
    input[type="tel"].usa-input-success,
    input[type="number"].usa-input-success,
    input[type="search"].usa-input-success,
    input[type="file"].usa-input-success,
    input[type="date"].usa-input-success,
    input[type="datetime-local"].usa-input-success,
    input[type="month"].usa-input-success,
    input[type="time"].usa-input-success,
    input[type="week"].usa-input-success,
    textarea.usa-input-success,
    select.usa-input-success {
        border: 3px solid #4aa564;
    }

.usa-input-error {
    border-left: 4px solid #cd2026;
    margin-top: 3rem;
    padding-bottom: .8rem;
    padding-left: 1.5rem;
    padding-top: .8rem;
    position: relative;
    right: 1.9rem;
}

    .usa-input-error input {
        border: 3px solid #cd2026;
        width: calc(100% + 1.5rem);
    }

    .usa-input-error label {
        margin-top: 0;
    }

.usa-input-error-label {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
}

.usa-input-error-message {
    color: #cd2026;
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    padding-bottom: 3px;
    padding-top: 3px;
}

label {
    display: block;
    margin-top: 3rem;
    max-width: 46rem;
}

textarea {
    height: 16rem;
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    background-image: url("../img/arrow-down.png");
    /* background-image: url("../img/arrow-down.svg"); */
    background-position: right 1.3rem center;
    background-repeat: no-repeat;
    background-size: 1.3rem;
}

legend {
    font-size: 3rem;
    font-weight: 700;
}

.usa-fieldset-inputs label {
    margin-top: 0;
}

.usa-form-hint {
    color: #757575;
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
    margin-bottom: 0;
}

/**
 * Custom checkboxes
 */
input[type="checkbox"],
input[type="radio"] {
    position: absolute;
    left: -999em;
}

.lt-ie9 input[type="checkbox"], .lt-ie9
input[type="radio"] {
    border: 0;
    float: left;
    margin: .4em .4em 0 0;
    position: static;
    width: auto;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
    cursor: pointer;
    font-weight: 400;
    margin-bottom: 0.5em;
}

    input[type="checkbox"] + label::before,
    input[type="radio"] + label::before {
        background: white;
        border-radius: 0.3rem;
        box-shadow: 0 0 0 1px #757575;
        content: '\a0';
        display: inline-block;
        height: 1.8rem;
        line-height: .8;
        margin-right: .6em;
        text-indent: .15em;
        vertical-align: .2em;
        width: 1.8rem;
    }

    input[type="radio"] + label::before {
        box-shadow: 0 0 0 2px #fff, 0 0 0 3px #757575;
        height: 1.6rem;
        width: 1.6rem;
    }

    input[type="radio"] + label::before {
        border-radius: 100%;
    }

input[type="checkbox"]:checked + label::before,
input[type="radio"]:checked + label::before {
    background-color: #0057A8;
    box-shadow: 0 0 0 1px #0057A8;
}

input[type="radio"]:checked + label::before {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0057A8;
}

input[type="radio"]:focus + label::before {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0057A8, 0 0 3px 4px #3e94cf, 0 0 7px 4px #3e94cf;
}

input[type="checkbox"]:checked + label::before {
    background-image: url("../img/correct8.png");
    /*  background-image: url("../img/correct8.svg"); */
    background-position: 50%;
    background-repeat: no-repeat;
}

input[type="checkbox"]:focus + label::before {
    box-shadow: 0 0 0 1px #ffffff, 0 0 0 3px #0057A8;
}

input[type="checkbox"]:disabled + label {
    color: #205493;
}

    input[type="checkbox"]:disabled + label::before,
    input[type="radio"]:disabled + label::before {
        background: #d6d7d9;
        box-shadow: 0 0 0 1px #aeb0b5;
        cursor: not-allowed;
    }

input[type=range] {
    -webkit-appearance: none;
    border: none;
    padding-left: 0;
    width: 100%;
}

    input[type=range]:focus {
        box-shadow: none;
        outline: none;
    }

    input[type=range]::-webkit-slider-runnable-track {
        background: #bdbdbd;
        border: 1px solid #757575;
        cursor: pointer;
        height: 1.2rem;
        width: 100%;
    }

    input[type=range]::-moz-range-track {
        background: #0057A8;
        border: 1px solid #757575;
        cursor: pointer;
        height: 1.2rem;
        width: 100%;
    }

    input[type=range]::-ms-track {
        background: transparent;
        color: transparent;
        cursor: pointer;
        height: 1.2rem;
        width: 100%;
    }

    input[type=range]::-webkit-slider-thumb {
        -webkit-appearance: none;
        border: 1px solid #757575;
        height: 2.2rem;
        border-radius: 1.5rem;
        background: #eeeeee;
        cursor: pointer;
        margin-top: -.65rem;
        width: 2.2rem;
    }

    input[type=range]::-moz-range-thumb {
        background: #eeeeee;
        border: 1px solid #757575;
        border-radius: 1.5rem;
        cursor: pointer;
        height: 2.2rem;
        width: 2.2rem;
    }

    input[type=range]::-ms-thumb {
        background: #eeeeee;
        border: 1px solid #757575;
        border-radius: 1.5rem;
        cursor: pointer;
        height: 2.2rem;
        width: 2.2rem;
    }

    input[type=range]::-ms-fill-lower {
        background: #bdbdbd;
        border: 1px solid #757575;
        border-radius: 2rem;
    }

    input[type=range]::-ms-fill-upper {
        background: #bdbdbd;
        border: 1px solid #757575;
        border-radius: 2rem;
    }

    input[type=range]:focus::-webkit-slider-thumb {
        border: 2px solid #3e94cf;
    }

    input[type=range]:focus::-moz-range-thumb {
        border: 2px solid #3e94cf;
    }

    input[type=range]:focus::-ms-thumb {
        border: 2px solid #3e94cf;
    }

.usa-date-of-birth label {
    margin-top: 0;
}

.usa-date-of-birth input[type=number]::-webkit-inner-spin-button,
.usa-date-of-birth input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

.usa-date-of-birth input[type=number] {
    -moz-appearance: textfield;
}

.usa-form-group-day,
.usa-form-group-month,
.usa-form-group-year {
    float: left;
    clear: none;
    margin-right: 1.5rem;
    width: 5rem;
}

.usa-form-group-year {
    width: 7rem;
}

.usa-button,
.usa-button-primary,
.usa-button:visited,
.usa-button-primary:visited,
button,
[type="button"],
[type="submit"],
[type="reset"],
[type="image"] {
    appearance: none;
    background-color: #0057A8;
    border: 0;
    border-radius: 0.3rem;
    color: #ffffff;
    cursor: pointer;
    display: inline-block;
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    margin-top: .5em;
    margin-bottom: .5em;
    margin-right: .5em;
    outline: none;
    padding: 1rem 2rem;
    text-align: center;
    text-decoration: none;
    width: 100%;
    -webkit-font-smoothing: antialiased;
}

    .usa-button:hover, .usa-button.usa-button-hover,
    .usa-button-primary:hover,
    .usa-button-primary.usa-button-hover,
    .usa-button:visited:hover,
    .usa-button:visited.usa-button-hover,
    .usa-button-primary:visited:hover,
    .usa-button-primary:visited.usa-button-hover,
    button:hover,
    button.usa-button-hover,
    [type="button"]:hover,
    [type="button"].usa-button-hover,
    [type="submit"]:hover,
    [type="submit"].usa-button-hover,
    [type="reset"]:hover,
    [type="reset"].usa-button-hover,
    [type="image"]:hover,
    [type="image"].usa-button-hover {
        background-color: #205493;
        border-bottom: 0;
        color: #ffffff;
        text-decoration: none;
    }

    .usa-button:focus, .usa-button.usa-button-focus,
    .usa-button-primary:focus,
    .usa-button-primary.usa-button-focus,
    .usa-button:visited:focus,
    .usa-button:visited.usa-button-focus,
    .usa-button-primary:visited:focus,
    .usa-button-primary:visited.usa-button-focus,
    button:focus,
    button.usa-button-focus,
    [type="button"]:focus,
    [type="button"].usa-button-focus,
    [type="submit"]:focus,
    [type="submit"].usa-button-focus,
    [type="reset"]:focus,
    [type="reset"].usa-button-focus,
    [type="image"]:focus,
    [type="image"].usa-button-focus {
        box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;
    }

    .usa-button:active, .usa-button.usa-button-active,
    .usa-button-primary:active,
    .usa-button-primary.usa-button-active,
    .usa-button:visited:active,
    .usa-button:visited.usa-button-active,
    .usa-button-primary:visited:active,
    .usa-button-primary:visited.usa-button-active,
    button:active,
    button.usa-button-active,
    [type="button"]:active,
    [type="button"].usa-button-active,
    [type="submit"]:active,
    [type="submit"].usa-button-active,
    [type="reset"]:active,
    [type="reset"].usa-button-active,
    [type="image"]:active,
    [type="image"].usa-button-active {
        background-color: #112e51;
    }

@media (min-width: 481px) {
    .usa-button,
    .usa-button-primary,
    .usa-button:visited,
    .usa-button-primary:visited,
    button,
    [type="button"],
    [type="submit"],
    [type="reset"],
    [type="image"] {
        width: auto;
    }
}

.usa-button.usa-button-primary-alt,
.usa-button-primary.usa-button-primary-alt,
.usa-button:visited.usa-button-primary-alt,
.usa-button-primary:visited.usa-button-primary-alt,
button.usa-button-primary-alt,
[type="button"].usa-button-primary-alt,
[type="submit"].usa-button-primary-alt,
[type="reset"].usa-button-primary-alt,
[type="image"].usa-button-primary-alt {
    background-color: #02bfe7;
    color: #212121;
}

    .usa-button.usa-button-primary-alt:hover, .usa-button.usa-button-primary-alt.usa-button-hover,
    .usa-button-primary.usa-button-primary-alt:hover,
    .usa-button-primary.usa-button-primary-alt.usa-button-hover,
    .usa-button:visited.usa-button-primary-alt:hover,
    .usa-button:visited.usa-button-primary-alt.usa-button-hover,
    .usa-button-primary:visited.usa-button-primary-alt:hover,
    .usa-button-primary:visited.usa-button-primary-alt.usa-button-hover,
    button.usa-button-primary-alt:hover,
    button.usa-button-primary-alt.usa-button-hover,
    [type="button"].usa-button-primary-alt:hover,
    [type="button"].usa-button-primary-alt.usa-button-hover,
    [type="submit"].usa-button-primary-alt:hover,
    [type="submit"].usa-button-primary-alt.usa-button-hover,
    [type="reset"].usa-button-primary-alt:hover,
    [type="reset"].usa-button-primary-alt.usa-button-hover,
    [type="image"].usa-button-primary-alt:hover,
    [type="image"].usa-button-primary-alt.usa-button-hover {
        background-color: #00a6d2;
    }

    .usa-button.usa-button-primary-alt:active, .usa-button.usa-button-primary-alt.usa-button-active,
    .usa-button-primary.usa-button-primary-alt:active,
    .usa-button-primary.usa-button-primary-alt.usa-button-active,
    .usa-button:visited.usa-button-primary-alt:active,
    .usa-button:visited.usa-button-primary-alt.usa-button-active,
    .usa-button-primary:visited.usa-button-primary-alt:active,
    .usa-button-primary:visited.usa-button-primary-alt.usa-button-active,
    button.usa-button-primary-alt:active,
    button.usa-button-primary-alt.usa-button-active,
    [type="button"].usa-button-primary-alt:active,
    [type="button"].usa-button-primary-alt.usa-button-active,
    [type="submit"].usa-button-primary-alt:active,
    [type="submit"].usa-button-primary-alt.usa-button-active,
    [type="reset"].usa-button-primary-alt:active,
    [type="reset"].usa-button-primary-alt.usa-button-active,
    [type="image"].usa-button-primary-alt:active,
    [type="image"].usa-button-primary-alt.usa-button-active {
        background-color: #046b99;
        color: #ffffff;
    }

.usa-button.usa-button-secondary,
.usa-button-primary.usa-button-secondary,
.usa-button:visited.usa-button-secondary,
.usa-button-primary:visited.usa-button-secondary,
button.usa-button-secondary,
[type="button"].usa-button-secondary,
[type="submit"].usa-button-secondary,
[type="reset"].usa-button-secondary,
[type="image"].usa-button-secondary {
    background-color: #e31c3d;
}

    .usa-button.usa-button-secondary:hover, .usa-button.usa-button-secondary.usa-button-hover,
    .usa-button-primary.usa-button-secondary:hover,
    .usa-button-primary.usa-button-secondary.usa-button-hover,
    .usa-button:visited.usa-button-secondary:hover,
    .usa-button:visited.usa-button-secondary.usa-button-hover,
    .usa-button-primary:visited.usa-button-secondary:hover,
    .usa-button-primary:visited.usa-button-secondary.usa-button-hover,
    button.usa-button-secondary:hover,
    button.usa-button-secondary.usa-button-hover,
    [type="button"].usa-button-secondary:hover,
    [type="button"].usa-button-secondary.usa-button-hover,
    [type="submit"].usa-button-secondary:hover,
    [type="submit"].usa-button-secondary.usa-button-hover,
    [type="reset"].usa-button-secondary:hover,
    [type="reset"].usa-button-secondary.usa-button-hover,
    [type="image"].usa-button-secondary:hover,
    [type="image"].usa-button-secondary.usa-button-hover {
        background-color: #cd2026;
    }

    .usa-button.usa-button-secondary:active, .usa-button.usa-button-secondary.usa-button-active,
    .usa-button-primary.usa-button-secondary:active,
    .usa-button-primary.usa-button-secondary.usa-button-active,
    .usa-button:visited.usa-button-secondary:active,
    .usa-button:visited.usa-button-secondary.usa-button-active,
    .usa-button-primary:visited.usa-button-secondary:active,
    .usa-button-primary:visited.usa-button-secondary.usa-button-active,
    button.usa-button-secondary:active,
    button.usa-button-secondary.usa-button-active,
    [type="button"].usa-button-secondary:active,
    [type="button"].usa-button-secondary.usa-button-active,
    [type="submit"].usa-button-secondary:active,
    [type="submit"].usa-button-secondary.usa-button-active,
    [type="reset"].usa-button-secondary:active,
    [type="reset"].usa-button-secondary.usa-button-active,
    [type="image"].usa-button-secondary:active,
    [type="image"].usa-button-secondary.usa-button-active {
        background-color: #981b1e;
    }

.usa-button.usa-button-gray,
.usa-button-primary.usa-button-gray,
.usa-button:visited.usa-button-gray,
.usa-button-primary:visited.usa-button-gray,
button.usa-button-gray,
[type="button"].usa-button-gray,
[type="submit"].usa-button-gray,
[type="reset"].usa-button-gray,
[type="image"].usa-button-gray {
    background-color: #205493;
}

    .usa-button.usa-button-gray:hover, .usa-button.usa-button-gray.usa-button-hover,
    .usa-button-primary.usa-button-gray:hover,
    .usa-button-primary.usa-button-gray.usa-button-hover,
    .usa-button:visited.usa-button-gray:hover,
    .usa-button:visited.usa-button-gray.usa-button-hover,
    .usa-button-primary:visited.usa-button-gray:hover,
    .usa-button-primary:visited.usa-button-gray.usa-button-hover,
    button.usa-button-gray:hover,
    button.usa-button-gray.usa-button-hover,
    [type="button"].usa-button-gray:hover,
    [type="button"].usa-button-gray.usa-button-hover,
    [type="submit"].usa-button-gray:hover,
    [type="submit"].usa-button-gray.usa-button-hover,
    [type="reset"].usa-button-gray:hover,
    [type="reset"].usa-button-gray.usa-button-hover,
    [type="image"].usa-button-gray:hover,
    [type="image"].usa-button-gray.usa-button-hover {
        background-color: #323a45;
    }

    .usa-button.usa-button-gray:active, .usa-button.usa-button-gray.usa-button-active,
    .usa-button-primary.usa-button-gray:active,
    .usa-button-primary.usa-button-gray.usa-button-active,
    .usa-button:visited.usa-button-gray:active,
    .usa-button:visited.usa-button-gray.usa-button-active,
    .usa-button-primary:visited.usa-button-gray:active,
    .usa-button-primary:visited.usa-button-gray.usa-button-active,
    button.usa-button-gray:active,
    button.usa-button-gray.usa-button-active,
    [type="button"].usa-button-gray:active,
    [type="button"].usa-button-gray.usa-button-active,
    [type="submit"].usa-button-gray:active,
    [type="submit"].usa-button-gray.usa-button-active,
    [type="reset"].usa-button-gray:active,
    [type="reset"].usa-button-gray.usa-button-active,
    [type="image"].usa-button-gray:active,
    [type="image"].usa-button-gray.usa-button-active {
        background-color: #212121;
    }

.usa-button.usa-button-outline,
.usa-button-primary.usa-button-outline,
.usa-button:visited.usa-button-outline,
.usa-button-primary:visited.usa-button-outline,
button.usa-button-outline,
[type="button"].usa-button-outline,
[type="submit"].usa-button-outline,
[type="reset"].usa-button-outline,
[type="image"].usa-button-outline {
    background-color: #ffffff;
    box-shadow: inset 0 0 0 2px #0057A8;
    color: #0057A8;
}

    .usa-button.usa-button-outline:hover, .usa-button.usa-button-outline.usa-button-hover,
    .usa-button-primary.usa-button-outline:hover,
    .usa-button-primary.usa-button-outline.usa-button-hover,
    .usa-button:visited.usa-button-outline:hover,
    .usa-button:visited.usa-button-outline.usa-button-hover,
    .usa-button-primary:visited.usa-button-outline:hover,
    .usa-button-primary:visited.usa-button-outline.usa-button-hover,
    button.usa-button-outline:hover,
    button.usa-button-outline.usa-button-hover,
    [type="button"].usa-button-outline:hover,
    [type="button"].usa-button-outline.usa-button-hover,
    [type="submit"].usa-button-outline:hover,
    [type="submit"].usa-button-outline.usa-button-hover,
    [type="reset"].usa-button-outline:hover,
    [type="reset"].usa-button-outline.usa-button-hover,
    [type="image"].usa-button-outline:hover,
    [type="image"].usa-button-outline.usa-button-hover {
        box-shadow: inset 0 0 0 2px #205493;
        color: #205493;
    }

    .usa-button.usa-button-outline:active, .usa-button.usa-button-outline.usa-button-active,
    .usa-button-primary.usa-button-outline:active,
    .usa-button-primary.usa-button-outline.usa-button-active,
    .usa-button:visited.usa-button-outline:active,
    .usa-button:visited.usa-button-outline.usa-button-active,
    .usa-button-primary:visited.usa-button-outline:active,
    .usa-button-primary:visited.usa-button-outline.usa-button-active,
    button.usa-button-outline:active,
    button.usa-button-outline.usa-button-active,
    [type="button"].usa-button-outline:active,
    [type="button"].usa-button-outline.usa-button-active,
    [type="submit"].usa-button-outline:active,
    [type="submit"].usa-button-outline.usa-button-active,
    [type="reset"].usa-button-outline:active,
    [type="reset"].usa-button-outline.usa-button-active,
    [type="image"].usa-button-outline:active,
    [type="image"].usa-button-outline.usa-button-active {
        box-shadow: inset 0 0 0 2px #112e51;
        color: #112e51;
    }

    .usa-button.usa-button-outline:focus, .usa-button.usa-button-outline.usa-button-focus,
    .usa-button-primary.usa-button-outline:focus,
    .usa-button-primary.usa-button-outline.usa-button-focus,
    .usa-button:visited.usa-button-outline:focus,
    .usa-button:visited.usa-button-outline.usa-button-focus,
    .usa-button-primary:visited.usa-button-outline:focus,
    .usa-button-primary:visited.usa-button-outline.usa-button-focus,
    button.usa-button-outline:focus,
    button.usa-button-outline.usa-button-focus,
    [type="button"].usa-button-outline:focus,
    [type="button"].usa-button-outline.usa-button-focus,
    [type="submit"].usa-button-outline:focus,
    [type="submit"].usa-button-outline.usa-button-focus,
    [type="reset"].usa-button-outline:focus,
    [type="reset"].usa-button-outline.usa-button-focus,
    [type="image"].usa-button-outline:focus,
    [type="image"].usa-button-outline.usa-button-focus {
        box-shadow: inset 0 0 0 2px #112e51, 0 0 3px #3e94cf, 0 0 7px #3e94cf;
    }

.usa-button.usa-button-outline-inverse,
.usa-button-primary.usa-button-outline-inverse,
.usa-button:visited.usa-button-outline-inverse,
.usa-button-primary:visited.usa-button-outline-inverse,
button.usa-button-outline-inverse,
[type="button"].usa-button-outline-inverse,
[type="submit"].usa-button-outline-inverse,
[type="reset"].usa-button-outline-inverse,
[type="image"].usa-button-outline-inverse {
    background: transparent;
    box-shadow: inset 0 0 0 2px #ffffff;
    color: #ffffff;
}

    .usa-button.usa-button-outline-inverse:hover, .usa-button.usa-button-outline-inverse.usa-button-hover,
    .usa-button-primary.usa-button-outline-inverse:hover,
    .usa-button-primary.usa-button-outline-inverse.usa-button-hover,
    .usa-button:visited.usa-button-outline-inverse:hover,
    .usa-button:visited.usa-button-outline-inverse.usa-button-hover,
    .usa-button-primary:visited.usa-button-outline-inverse:hover,
    .usa-button-primary:visited.usa-button-outline-inverse.usa-button-hover,
    button.usa-button-outline-inverse:hover,
    button.usa-button-outline-inverse.usa-button-hover,
    [type="button"].usa-button-outline-inverse:hover,
    [type="button"].usa-button-outline-inverse.usa-button-hover,
    [type="submit"].usa-button-outline-inverse:hover,
    [type="submit"].usa-button-outline-inverse.usa-button-hover,
    [type="reset"].usa-button-outline-inverse:hover,
    [type="reset"].usa-button-outline-inverse.usa-button-hover,
    [type="image"].usa-button-outline-inverse:hover,
    [type="image"].usa-button-outline-inverse.usa-button-hover {
        box-shadow: inset 0 0 0 2px #d6d7d9;
        color: #d6d7d9;
    }

    .usa-button.usa-button-outline-inverse:active, .usa-button.usa-button-outline-inverse.usa-button-active,
    .usa-button-primary.usa-button-outline-inverse:active,
    .usa-button-primary.usa-button-outline-inverse.usa-button-active,
    .usa-button:visited.usa-button-outline-inverse:active,
    .usa-button:visited.usa-button-outline-inverse.usa-button-active,
    .usa-button-primary:visited.usa-button-outline-inverse:active,
    .usa-button-primary:visited.usa-button-outline-inverse.usa-button-active,
    button.usa-button-outline-inverse:active,
    button.usa-button-outline-inverse.usa-button-active,
    [type="button"].usa-button-outline-inverse:active,
    [type="button"].usa-button-outline-inverse.usa-button-active,
    [type="submit"].usa-button-outline-inverse:active,
    [type="submit"].usa-button-outline-inverse.usa-button-active,
    [type="reset"].usa-button-outline-inverse:active,
    [type="reset"].usa-button-outline-inverse.usa-button-active,
    [type="image"].usa-button-outline-inverse:active,
    [type="image"].usa-button-outline-inverse.usa-button-active {
        box-shadow: inset 0 0 0 2px #aeb0b5;
        color: #d6d7d9;
    }

    .usa-button.usa-button-outline-inverse:focus, .usa-button.usa-button-outline-inverse.usa-button-focus,
    .usa-button-primary.usa-button-outline-inverse:focus,
    .usa-button-primary.usa-button-outline-inverse.usa-button-focus,
    .usa-button:visited.usa-button-outline-inverse:focus,
    .usa-button:visited.usa-button-outline-inverse.usa-button-focus,
    .usa-button-primary:visited.usa-button-outline-inverse:focus,
    .usa-button-primary:visited.usa-button-outline-inverse.usa-button-focus,
    button.usa-button-outline-inverse:focus,
    button.usa-button-outline-inverse.usa-button-focus,
    [type="button"].usa-button-outline-inverse:focus,
    [type="button"].usa-button-outline-inverse.usa-button-focus,
    [type="submit"].usa-button-outline-inverse:focus,
    [type="submit"].usa-button-outline-inverse.usa-button-focus,
    [type="reset"].usa-button-outline-inverse:focus,
    [type="reset"].usa-button-outline-inverse.usa-button-focus,
    [type="image"].usa-button-outline-inverse:focus,
    [type="image"].usa-button-outline-inverse.usa-button-focus {
        box-shadow: inset 0 0 0 2px #aeb0b5, 0 0 3px #3e94cf, 0 0 7px #3e94cf;
    }

.usa-button.usa-button-big,
.usa-button-primary.usa-button-big,
.usa-button:visited.usa-button-big,
.usa-button-primary:visited.usa-button-big,
button.usa-button-big,
[type="button"].usa-button-big,
[type="submit"].usa-button-big,
[type="reset"].usa-button-big,
[type="image"].usa-button-big {
    font-size: 1.9rem;
    padding: 1.5rem 3rem;
}

[type="submit"]:disabled,
.usa-button-disabled {
    background-color: #d6d7d9;
    color: #323a45;
    cursor: default;
}

    [type="submit"]:disabled:hover, [type="submit"]:disabled.usa-button-hover, [type="submit"]:disabled:active, [type="submit"]:disabled.usa-button-active, [type="submit"]:disabled:focus,
    .usa-button-disabled:hover,
    .usa-button-disabled.usa-button-hover,
    .usa-button-disabled:active,
    .usa-button-disabled.usa-button-active,
    .usa-button-disabled:focus {
        background-color: #d6d7d9;
        border: 0;
        box-shadow: none;
        color: #323a45;
    }

.usa-button-unstyled {
    background: none;
    border: 0;
    border-radius: 0;
    outline: 0;
    padding: 0;
    text-align: left;
}

    .usa-button-unstyled:focus, .usa-button-unstyled:hover {
        box-shadow: initial;
    }

/*table {
  border-spacing: 0;
  margin: 2em 0;
  min-width: 100%; }
  table thead tr {
    background-color: #f1f1f1; }
  table thead th {
    text-align: left; }
  table th, table td {
    border: 1px solid #205493;
    padding: 1.5rem; }*/

.usa-table-borderless thead tr {
    background-color: transparent;
}

    .usa-table-borderless thead tr th {
        border-top: 0;
    }

.usa-table-borderless th, .usa-table-borderless td {
    border-left: 0;
    border-right: 0;
}

img {
    max-width: 100%;
}

.media_link {
    display: inline-block;
    line-height: 0;
}

@-moz-document url-prefix() {
    .media_link {
        display: table;
        table-layout: fixed;
        width: 100%;
    }
}

.usa-label, .usa-label-big {
    background-color: #0057A8;
    border-radius: 0.3rem;
    color: #ffffff;
    font-size: 1.5rem;
    margin-right: .5rem;
    padding-bottom: 0.1rem;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
    padding-top: 0.3rem;
    text-transform: uppercase;
}

    .usa-label:only-of-type, .usa-label-big:only-of-type {
        margin-right: 0;
    }

.usa-label-big {
    font-size: 1.6rem;
    padding-left: .9rem;
    padding-right: .9rem;
}

a.usa-label, a.usa-label-big {
    border-bottom: none;
}

    a.usa-label:hover, a.usa-label-big:hover {
        background-color: #205493;
        border-bottom: none;
        color: #ffffff;
    }

.skipnav {
    transition: all 0.2s ease-in-out;
    background: transparent;
    color: #212121;
    left: 0;
    padding-bottom: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1rem;
    position: absolute;
    top: -4.2rem;
    z-index: 100;
}

    .skipnav:focus {
        transition: all 0.2s ease-in-out;
        background: #ffffff;
        left: 0;
        outline: 0;
        position: absolute;
        top: 0;
    }

.usa-disclaimer {
    background-color: #f1f1f1;
    font-size: 1.3rem;
    padding-bottom: .5rem;
    padding-top: .5rem;
}

@media screen and (min-width: 481px) {
    .usa-disclaimer {
        font-size: 1.5rem;
    }
}

.usa-disclaimer-stage {
    display: none;
    float: right;
}

@media screen and (min-width: 1201px) {
    .usa-disclaimer-stage {
        display: block;
    }
}

.usa-flag_icon {
    margin-right: .2rem;
}

.usa-sidenav-list {
    display: block;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

    .usa-sidenav-list li {
        display: list-item;
        margin: 0;
    }

        .usa-sidenav-list li:before {
            display: none;
        }

        .usa-sidenav-list li:after {
            display: none;
        }

    .usa-sidenav-list li {
        border-top: 1px solid #205493;
        font-size: 1.7rem;
    }

        .usa-sidenav-list li:first-child {
            border-top: none;
        }

    .usa-sidenav-list a {
        border: none;
        color: #212121;
        display: block;
        font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
        line-height: 1;
        padding-bottom: 1rem;
        padding-left: 1.8rem;
        padding-right: 1rem;
        padding-top: 1rem;
    }

        .usa-sidenav-list a:hover {
            background-color: #f1f1f1;
            color: #0057A8;
            text-decoration: none;
        }

        .usa-sidenav-list a:focus {
            position: relative;
            z-index: 1;
        }

        .usa-sidenav-list a.usa-current {
            color: #0057A8;
            font-weight: 700;
        }

        .usa-sidenav-list a.usa-current {
            border-left: 4px solid #0057A8;
            padding-left: 1.4rem;
        }

.usa-sidenav-sub_list {
    margin: 0;
    width: 100%;
}

    .usa-sidenav-sub_list li {
        border: none;
        font-size: 1.5rem;
    }

    .usa-sidenav-sub_list a {
        padding-left: 2.8rem;
        line-height: 1.3;
    }

        .usa-sidenav-sub_list a:hover,
        .usa-sidenav-sub_list a.usa-current {
            border: none;
            padding-left: 2.8rem;
        }

    .usa-sidenav-sub_list .usa-sidenav-sub_list a {
        padding-left: 3.8rem;
    }

        .usa-sidenav-sub_list .usa-sidenav-sub_list a:hover {
            padding-left: 3.8rem;
        }

.usa-footer .usa-unstyled-list {
    display: block;
}

.usa-footer .usa-footer-primary-link {
    color: #212121;
    display: block;
    font-weight: 700;
    margin-top: 0;
    padding-bottom: 2rem;
    padding-top: 2rem;
}

@media screen and (min-width: 600px) {
    .usa-footer .usa-footer-primary-link {
        border-top: none;
    }
}

.usa-footer a {
    font-weight: normal;
}

.usa-footer-return-to-top {
    padding-bottom: 2rem;
    padding-top: 2rem;
}

.usa-footer-primary-section {
    background-color: #f1f1f1;
}

    .usa-footer-primary-section .usa-footer-primary-content {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }

        .usa-footer-primary-section .usa-footer-primary-content li {
            margin-left: 1rem;
        }

@media screen and (min-width: 600px) {
    .usa-footer-primary-section .usa-footer-primary-content li {
        margin-left: 0;
    }
}

@media screen and (min-width: 600px) {
    .usa-footer-primary-section .usa-footer-primary-content {
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (min-width: 600px) {
    .usa-footer-primary-section .usa-grid-full {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
}

@media screen and (min-width: min-width 600px 6) {
    .width-one-sixth {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 14.70196%;
    }

        .width-one-sixth:last-child {
            margin-right: 0;
        }
}

.usa-footer-medium .usa-footer-primary-section {
    padding: 0;
}

@media screen and (min-width: 600px) {
    .usa-footer-medium .usa-footer-primary-section {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

@media screen and (min-width: 600px) {
    .usa-footer-medium .usa-footer-nav ul {
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
}

.usa-footer-slim .usa-footer-nav a {
    display: block;
}

.usa-footer-slim .usa-footer-primary-section {
    padding-bottom: 2rem;
}

@media screen and (min-width: 600px) {
    .usa-footer-slim .usa-footer-primary-section {
        padding-bottom: 1rem;
        padding-top: 1rem;
    }

        .usa-footer-slim .usa-footer-primary-section .usa-grid-full {
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
        }
}

ul.usa-footer-primary-content,
li.usa-footer-primary-content,
li.usa-footer-primary-content {
    border-top: 1px solid #212121;
}

    ul.usa-footer-primary-content:last-child,
    li.usa-footer-primary-content:last-child,
    li.usa-footer-primary-content:last-child {
        border-bottom: 1px solid #212121;
    }

@media screen and (min-width: 600px) {
    ul.usa-footer-primary-content:last-child,
    li.usa-footer-primary-content:last-child,
    li.usa-footer-primary-content:last-child {
        border-bottom: none;
    }
}

@media screen and (min-width: 600px) {
    ul.usa-footer-primary-content,
    li.usa-footer-primary-content,
    li.usa-footer-primary-content {
        border: none;
    }
}

.usa-sign_up-block {
    padding-bottom: 2rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}

    .usa-sign_up-block label:first-of-type {
        margin-top: 0;
    }

    .usa-sign_up-block button {
        float: none;
        margin-right: 0;
        margin-top: 1.5rem;
    }

    .usa-sign_up-block input {
        width: 100%;
    }

@media screen and (min-width: 600px) {
    .usa-sign_up-block {
        float: right;
        padding: 0;
    }
}

.usa-footer-secondary_section {
    background-color: #d6d7d9;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

    .usa-footer-secondary_section a {
        color: #212121;
    }

@media screen and (min-width: 600px) {
    .usa-footer-big-secondary-section {
        padding-top: 5rem;
    }
}

@media screen and (min-width: 600px) {
    .usa-footer-contact-links {
        text-align: right;
    }
}

@media screen and (min-width: 600px) {
    .usa-footer-big .usa-footer-primary-section {
        padding-top: 3rem;
        padding-bottom: 4rem;
    }
}

.usa-footer-big ul {
    padding-bottom: 2.5rem;
}

    .usa-footer-big ul:last-child {
        border-bottom: 1px solid #212121;
    }

@media screen and (min-width: 600px) {
    .usa-footer-big ul:last-child {
        border-bottom: none;
    }
}

.usa-footer-big ul li {
    line-height: 2em;
}

@media screen and (min-width: 600px) {
    .usa-footer-big ul {
        padding-bottom: 0;
    }
}

.usa-footer-big ul .usa-footer-primary-link {
    background-image: url("../img/arrow-down.png");
    /*    background-image: url("../img/arrow-down.svg"); */
    background-position: 1.5rem center;
    background-repeat: no-repeat;
    background-size: 1.3rem;
    padding-left: 3.5rem;
}

@media screen and (min-width: 600px) {
    .usa-footer-big ul .usa-footer-primary-link {
        background: none;
        padding-bottom: 0;
        padding-left: 0;
    }
}

.usa-footer-big ul.hidden {
    padding-bottom: 0;
}

    .usa-footer-big ul.hidden .usa-footer-primary-link {
        background-image: url("../img/arrow-right.png");
        /*      background-image: url("../img/arrow-right.svg"); */
        cursor: pointer;
        margin: 0;
    }

@media screen and (min-width: 600px) {
    .usa-footer-big ul.hidden .usa-footer-primary-link {
        background: none;
        padding-left: 0;
    }
}

.usa-footer-big ul.hidden li {
    display: none;
}

.usa-footer-topic {
    margin: 0;
    padding: 2rem 0;
}

@media screen and (min-width: 600px) {
    .usa-sign_up-header {
        margin: 0;
        padding: 2rem 0;
    }
}

.usa-footer-logo-img {
    max-width: 14rem;
}

.usa-footer-slim-logo-img {
    float: left;
    max-width: 10rem;
}

.usa-footer-logo-heading {
    margin-top: 2rem;
}

.usa-footer-contact-heading {
    margin-top: 0;
}

@media screen and (min-width: 600px) {
    .usa-footer-contact-heading {
        margin-top: 1rem;
    }
}

.usa-footer-slim-logo-heading {
    display: block;
    padding-top: 1rem;
}

@media screen and (min-width: 600px) {
    .usa-footer-slim-logo-heading {
        display: inline-block;
        padding-left: 1em;
    }
}

@media screen and (min-width: 600px) {
    form {
        max-width: 32rem;
    }
}

form a {
    border-bottom: 0;
}

form button[type="submit"],
form input[type="submit"] {
    display: block;
    margin-top: 2.5rem;
    margin-bottom: 1.5em;
}

@media screen and (min-width: 600px) {
    form button[type="submit"],
    form input[type="submit"] {
        padding-left: 2.7em;
        padding-right: 2.7em;
        width: auto;
    }
}

form input[name="password"] {
    margin-bottom: 1.1rem;
}

.usa-form-note {
    float: right;
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
    font-size: 1.5rem;
    margin: 0;
    margin-bottom: 1.5rem;
}

    .usa-form-note + * {
        clear: both;
    }

fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

@media screen and (min-width: 600px) {
    .usa-form-large {
        max-width: 46rem;
    }
}

@media screen and (min-width: 600px) {
    input.usa-input-tiny {
        max-width: 6rem;
    }
}

@media screen and (min-width: 600px) {
    input.usa-input-medium {
        max-width: 12rem;
    }
}

@media screen and (min-width: 600px) {
    .usa-input-grid {
        padding-right: 5%;
    }
}

@media screen and (min-width: 600px) {
    .usa-input-grid:last-of-type {
        padding-right: 0;
    }
}

@media screen and (min-width: 600px) {
    .usa-input-grid-small {
        float: left;
        width: 35%;
    }
}

.usa-input-grid-small input {
    margin-bottom: 3rem;
}

.usa-input-grid-small select {
    margin-bottom: 3rem;
}

@media screen and (min-width: 600px) {
    .usa-input-grid-medium {
        float: left;
        width: 65%;
    }
}

.usa-input-grid-medium input {
    margin-bottom: 3rem;
}

.usa-input-grid-medium select {
    margin-bottom: 3rem;
}

@media screen and (min-width: 600px) {
    .usa-input-grid-large {
        float: left;
        width: 100%;
    }
}

.usa-input-grid-large input {
    margin-bottom: 3rem;
}

.usa-input-grid-large select {
    margin-bottom: 3rem;
}

.usa-form-width {
    max-width: 32rem;
}

.usa-additional_text {
    float: right;
    font-style: italic;
    font-weight: normal;
}

.usa-input-buttons-inline button,
.usa-input-buttons-inline button[type="submit"],
.usa-input-buttons-inline input[type="submit"],
.usa-input-buttons-inline > * {
    display: inline;
    margin-right: 1.5em;
}

.usa-checklist {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

    .usa-checklist li {
        display: inline-block;
        list-style: none;
        margin-bottom: 0em;
        margin-top: 0em;
        padding-left: 3em;
        text-indent: -2em;
    }

        .usa-checklist li:before {
            content: ' ';
            display: inline-block;
            height: .8em;
            margin-right: .2em;
            width: 1.8em;
        }

.usa-checklist-checked:before {
    background-image: url("../img/correct9.png");
    /*  background-image: url("../img/correct9.svg"); */
    background-position: 100%;
    background-repeat: no-repeat;
    background-size: 100%;
}

.usa-search {
    max-width: none;
    position: relative;
}

    .usa-search:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }

    .usa-search [type="search"],
    .usa-search .usa-search-input {
        -webkit-appearance: none;
        border-bottom-right-radius: 0;
        border-right: none;
        border-top-right-radius: 0;
        float: left;
        height: 3.3rem;
        margin: 0;
        padding-bottom: 0;
        padding-top: 0;
        width: calc(100% - 4.5rem);
    }

@media screen and (min-width: 481px) {
    .usa-search [type="search"],
    .usa-search .usa-search-input {
        width: calc(100% - 8.5rem);
    }
}

.usa-search [type="submit"],
.usa-search .usa-search-submit {
    background-image: url("../img/search.png");
    /*    background-image: url("../img/search.svg"); */
    background-position: 50%;
    background-repeat: no-repeat;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    height: 3.3rem;
    margin: 0;
    padding: 0;
    width: 4.5rem;
}

@media screen and (min-width: 481px) {
    .usa-search [type="submit"],
    .usa-search .usa-search-submit {
        background-image: none;
        width: 8.5rem;
    }
}

.usa-search .usa-search-submit-text {
    display: none;
}

@media screen and (min-width: 481px) {
    .usa-search .usa-search-submit-text {
        display: block;
    }
}

@media screen and (min-width: 481px) {
    .usa-search.usa-search-big [type="search"], .lex-search-hero .usa-search.lex-search [type="search"],
    .usa-search.usa-search-big .usa-search-input, .lex-search-hero .usa-search.lex-search .usa-search-input {
        height: 4.4rem;
        width: calc(100% - 11.6rem);
    }

    .usa-search.usa-search-big [type="submit"], .lex-search-hero .usa-search.lex-search [type="submit"],
    .usa-search.usa-search-big .usa-search-submit, .lex-search-hero .usa-search.lex-search .usa-search-submit {
        height: 4.4rem;
        font-size: 2rem;
        width: 11.6rem;
    }
}

@media screen and (min-width: 481px) {
    .usa-search.usa-search-small [type="search"],
    .usa-search.usa-search-small .usa-search-input {
        width: calc(100% - 4.5rem);
    }

    .usa-search.usa-search-small [type="submit"],
    .usa-search.usa-search-small .usa-search-submit {
        background-image: url("../img/search.png");
        /*      background-image: url("../img/search.svg"); */
        background-position: 50%;
        background-repeat: no-repeat;
        width: 4.5rem;
    }
}

.usa-alert {
    background-color: #f1f1f1;
    background-position: 1rem 2rem;
    background-repeat: no-repeat;
    background-size: 4rem;
    margin-top: 1.5em;
    padding: 1em;
}

@media screen and (min-width: 600px) {
    .usa-alert {
        background-size: 5.2rem;
    }
}

.usa-alert ul {
    margin-bottom: 0;
    margin-top: 1em;
}

.usa-alert-icon {
    display: table-cell;
    padding-right: 1rem;
}

.usa-alert-body {
    display: table-cell;
    padding-left: 3.5rem;
    vertical-align: top;
}

@media screen and (min-width: 600px) {
    .usa-alert-body {
        padding-left: 5rem;
    }
}

.usa-alert-heading {
    margin-bottom: .3rem;
    margin-top: 0;
}

@media screen and (min-width: 600px) {
    .usa-alert-heading {
        margin-top: .3rem;
    }
}

.usa-alert-text {
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
    margin-bottom: 0;
    margin-top: 0;
}

.usa-alert-success {
    background-color: #e7f4e4;
    background-image: url("../img/alerts/success.png");
    /*  background-image: url("../img/alerts/success.svg"); */
}

.usa-alert-warning {
    background-color: #fff1d2;
    background-image: url("../img/alerts/warning.png");
    /*  background-image: url("../img/alerts/warning.svg"); */
}

.usa-alert-error {
    background-color: #f9dede;
    background-image: url("../img/alerts/error.png");
    /*  background-image: url("../img/alerts/error.svg"); */
}

.usa-alert-info {
    background-color: #e1f3f8;
    background-image: url("../img/alerts/info.png");
    /*  background-image: url("../img/alerts/info.svg"); */
}

.usa-alert-no_icon {
    background-image: none;
}

.usa-accordion + .usa-accordion,
.usa-accordion + .usa-accordion-bordered,
.usa-accordion-bordered + .usa-accordion,
.usa-accordion-bordered + .usa-accordion-bordered {
    margin-top: 1rem;
}

.usa-accordion > ul,
.usa-accordion-bordered > ul {
    color: #212121;
    margin: 0;
    padding: 0;
    width: 100%;
}

    .usa-accordion > ul > li,
    .usa-accordion-bordered > ul > li {
        background-color: #f1f1f1;
        font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
        list-style: none;
        margin-bottom: 6px;
        width: 100%;
    }

.usa-accordion button[aria-expanded=false],
.usa-accordion-bordered button[aria-expanded=false] {
    background-image: url("../img/plus.png");
    /*  background-image: url("../img/plus.svg"); */
    background-repeat: no-repeat;
    background-size: 1.3rem;
}

.usa-accordion button,
.usa-accordion-bordered button {
    background-color: #f1f1f1;
    background-image: url("../img/minus.png");
    /*  background-image: url("../img/minus.svg"); */
    background-position: right 3rem center;
    background-repeat: no-repeat;
    background-size: 13px;
    color: #212121;
    cursor: pointer;
    display: inline-block;
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
    margin: 0;
    padding-bottom: 1.5rem;
    padding-left: 3rem;
    padding-right: 5.5rem;
    padding-top: 1.5rem;
    width: 100%;
}

    .usa-accordion button:focus,
    .usa-accordion-bordered button:focus {
        box-shadow: 0 0 3px #3e94cf, 0 0 7px #3e94cf;
    }

    .usa-accordion button:hover,
    .usa-accordion-bordered button:hover {
        background-color: #d6d7d9;
        color: #212121;
    }

    .usa-accordion button h1, .usa-accordion button h2, .usa-accordion button h3, .usa-accordion button h4, .usa-accordion button h5, .usa-accordion button h6,
    .usa-accordion-bordered button h1,
    .usa-accordion-bordered button h2,
    .usa-accordion-bordered button h3,
    .usa-accordion-bordered button h4,
    .usa-accordion-bordered button h5,
    .usa-accordion-bordered button h6 {
        margin: 0;
    }

.usa-accordion-bordered .usa-accordion-content {
    border-bottom: 3px solid #f1f1f1;
    border-left: 3px solid #f1f1f1;
    border-right: 3px solid #f1f1f1;
}

.usa-accordion-content {
    display: block;
    background-color: white;
    overflow: auto;
    padding: 3rem;
}

    .usa-accordion-content > *:first-child {
        margin-top: 0;
    }

    .usa-accordion-content > *:last-child {
        margin-bottom: 0;
    }

h1, h2, h3, h4, h5, h6 {
    margin-top: 1em;
    font-family: "Helvetica Neue", "Helvetica", "Source Sans Pro", "Arial", sans-serif;
}

/* for basic document readability */
.lex-region-content h1, .lex-region-content h2 {
    font-weight: 500;
}

.lex-region-content h3, .lex-region-content h4, .lex-region-content h5, .lex-region-content h6 {
    font-weight: 600;
}

.lex-region-content ul li {
    line-height: 1em;
    margin-top: 0;
    margin-bottom: 0;
}

.lex-region-content p {
    margin-top: 0;
}

.lex-pagetitle {
    font-size: 2em;
    margin: 0.5em 0;
}

a.lex-font, .lex-browsenav a, a, a:visited, a:hover, a:active {
    color: #585858;
}

    a:focus {
        box-shadow: none;
    }

.lex-font-standout, .lex-browsenav h1 {
    color: #0057A8;
}

.lex-standoutlinks .lex-card-title {
    text-transform: uppercase;
}

.lex-street-address {
    display: block;
}

.lex-alert {
    margin-top: 0;
}

    .lex-alert .lex-alert-heading {
        font-size: 2rem;
    }

    .lex-alert .usa-alert-body p {
        margin: 1em 0 0 0;
    }

@media screen and (min-width: 1201px) {
    .lex-alert {
        /* compensate for extra svg padding in WDS */
        max-width: 1245px;
        margin: 0 auto;
    }

        .lex-alert .usa-alert-body p {
            margin: .2em 0 0 0;
        }
}

.lex-card {
    margin-bottom: 1.7em;
}

.lex-card-subtitle {
    margin: 0;
    padding: 0;
    font-weight: 200;
}

.lex-eventcard-titlesection {
    float: left;
    width: 73%;
}

.lex-eventcard-stackeddate {
    width: 10%;
    margin-right: 1.7em;
}

.lex-stackeddate {
    float: left;
    text-transform: uppercase;
}

    .lex-stackeddate .lex-card-subtitle {
        text-align: center;
    }

    .lex-stackeddate .lex-stackeddate-month {
        display: inline-block;
    }

.lex-card-fulldate {
    font-style: italic;
}

@media screen and (min-width: 600px) {
    .lex-horizontalcard-image {
        padding-right: 1.7em;
        width: 33%;
        float: left;
    }
}

.lex-card-title {
    margin: 0;
    font-weight: 400;
    display: inline-block;
}

    .lex-card-title.lex-card-title-medium {
        font-size: 1.25em;
    }

    .lex-card-title.lex-card-title-large {
        font-size: 1.5em;
    }

    .lex-card-title.lex-card-title-extralarge, .lex-card-title.lex-card-title-heading, .lex-browsenav h1 {
        font-size: 1.75em;
    }

    .lex-card-title.lex-card-title-heading, .lex-browsenav h1 {
        margin-bottom: .5em;
        text-transform: uppercase;
    }

.lex-card-firstitem {
    margin-top: 0;
}

.lex-card-description {
    margin-top: .5em;
    margin-bottom: 0;
}

.lex-browsenav.lex-grid-full {
    padding-bottom: 1.7em;
}

.lex-browsenav h1, .lex-browsenav h2, .lex-browsenav h3, .lex-browsenav h4, .lex-browsenav h5, .lex-browsenav h6 {
    font-weight: 400;
    margin: 0;
}

.lex-browsenav h1 {
    margin-bottom: .5em;
    margin-top: 0;
}

.lex-browsenav h3 {
    font-size: 2.3rem;
}

.lex-browsenav a.lex-current, .lex-browsenav .lex-current, .lex-browsenav .lex-current a {
    border: none;
    background: #0057A8;
    color: white;
    font-weight: 400;
}

.lex-browsenav .lex-region-content.lex-grid-full {
    /* remove the normal padding */
    padding: 0;
}

.lex-browsenav .lex-browsenav-column-activetrail {
    display: none;
}

    .lex-browsenav .lex-browsenav-column-activetrail.lex-browsenav-root {
        margin-right: 0;
    }

@media screen and (min-width: 1201px) {
    .lex-browsenav .lex-browsenav-column-activetrail {
        display: block;
        border-right: 2px solid #BFBFBF;
    }

        .lex-browsenav .lex-browsenav-column-activetrail .lex-browsenav-category {
            padding-left: 2rem;
        }
}

.lex-browsenav-list li {
    border-top: none;
}

    .lex-browsenav-list li a, .lex-browsenav-list li a.usa-current {
        padding: 0;
    }

        .lex-browsenav-list li a:focus {
            /* if relative, the blue background overlaps the column to the right */
            position: initial;
        }

.lex-browsenav-column {
    float: left;
}

.lex-browsenav-link {
    font-weight: 400;
    margin: 0;
}

@media screen and (min-width: 1201px) {
    .lex-browsenav-link:after {
        font-weight: 100;
        font-size: 3rem;
        float: right;
        content: "\203A";
        margin-top: -4px;
    }

    .lex-browsenav-link.lex-browsenav-link-withdescription:after {
        margin-top: -30px;
    }
}

.lex-browsenav-secondary .lex-browsenav-link {
    padding-bottom: 0.2em;
}

@media screen and (min-width: 1201px) {
    .lex-browsenav-secondary {
        padding-left: 1.7em;
        max-width: 33%;
    }

        .lex-browsenav-secondary.lex-browsenav-column-activetrail {
            padding-left: 0;
            margin-left: -10%;
            transition: all 2s ease-in-out;
            background: #f1f0f0;
            border-left: 2px solid #BFBFBF;
        }

            .lex-browsenav-secondary.lex-browsenav-column-activetrail .lex-card-title-heading {
                padding-left: 2rem;
            }

            .lex-browsenav-secondary.lex-browsenav-column-activetrail .lex-browsenav-title, .lex-browsenav-secondary.lex-browsenav-column-activetrail .lex-browsenav-description {
                /* push arrow right */
                padding-right: 1em;
            }
}

.lex-browsenav-category {
    padding: 1.2rem;
    padding-left: 0;
}

.lex-browsenav-link a, .lex-browsenav-description {
    padding-left: 0;
}

.lex-browsenav-column-activetrail.lex-browsenav-collapse {
    border-right: none;
}

.lex-browsenav-articles {
    margin-left: 0;
}

@media screen and (min-width: 1201px) {
    .lex-browsenav-articles {
        margin-left: 1.7em;
    }
}

.lex-browsenav-articles .lex-card {
    margin-bottom: 1.19em;
}

.lex-pagefeedback-form {
    max-width: none;
}

    .lex-pagefeedback-form .form-item-field-feedback-url-0-value {
        display: none;
    }

    .lex-pagefeedback-form textarea {
        height: 4rem;
        max-width: none;
    }

    .lex-pagefeedback-form label {
        font-weight: bold;
        padding-bottom: 5px;
    }

    .lex-pagefeedback-form #edit-preview, .lex-feedback-form #edit-preview {
        display: none;
    }

/* lives in a custom html block for now */
.lex-pagefeedback-linkcontainer {
    margin-top: 1.7em;
}

.usa-button {
    border-radius: 0;
}

@media screen and (min-width: 600px) {
    .lex-search-hero .usa-search input {
        max-width: calc(100% - 8.5rem);
    }
}

.usa-sr-only {
    position: absolute;
    left: -999em;
}

.toolbar ul {
    display: block;
}

    .toolbar ul li:before {
        display: none;
    }

.toolbar ul {
    display: block;
}

    .toolbar ul li:before {
        display: none;
    }

.lex-alertcontainer-success, .usa-alert-success {
    background-color: #7edaa1;
}

.lex-alertcontainer-warning, .usa-alert-warning {
    background-color: #ffee88;
}

.lex-alertcontainer-error, .usa-alert-error {
    background-color: #ff9191;
}

.lex-alertcontainer-info, .usa-alert-info {
    background-color: #74c7df;
}

body {
    color: #585858;
}

.button:hover {
    background-color: #3787BA;
}

.lex-heading {
    margin: 0;
    font-weight: 400;
}

.lex-section-heading {
    text-transform: uppercase;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.lex-frontpage .lex-site-header {
    background-image: url("../img/lexington-hero.jpg");
}

.lex-site-header {
    background-image: url("../img/lexington-hero-interior.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

@media screen and (min-width: 1201px) {
    .lex-site-header {
        min-height: 300px;
    }
}

.lex-quicklinks {
    display: none;
    width: 100%;
}

@media screen and (min-width: 600px) {
    .lex-quicklinks {
        display: block;
        text-align: right;
    }
}

.lex-quicklinks li {
    padding: 0.3em 0 0.3em 0;
}

@media screen and (min-width: 600px) {
    .lex-quicklinks li {
        display: inline-block;
        padding-left: 2em;
    }
}

.lex-site-navbar {
    background-color: rgba(255, 255, 255, 0.75);
    padding-top: 9px;
    padding-bottom: 0.85em;
}

    .lex-site-navbar .lex-logo {
        height: 40px;
        background-image: url("../img/lexington-logo.png");
        /*   background-image: url("../img/lexington-logo.svg"); */
        background-repeat: no-repeat;
    }

@media screen and (min-width: 600px) {
    .lex-site-navbar {
        height: 100px;
        padding: 25px 0 25px 25px;
    }

        .lex-site-navbar .lex-logo {
            height: 50px;
        }
}

@media screen and (min-width: 1201px) {
    .lex-site-navbar {
        padding: 25px 0 25px 0;
    }
}

.lex-frontpage .lex-site-navbar {
    padding-bottom: 0px;
}

.lex-site-navbar-secondary {
    margin-top: 0.7em;
}

    .lex-site-navbar-secondary .lex-search {
        float: right;
        width: 100%;
    }

@media screen and (min-width: 1201px) {
    .lex-site-navbar-secondary .lex-search {
        width: 50%;
    }
}

.lex-grid-full {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

@media screen and (min-width: 1201px) {
    .lex-grid-full {
        padding: 0;
    }
}

.lex-section {
    margin-bottom: 1.7em;
}

.lex-slab {
    padding: 0;
    padding-top: 1.7em;
}

.lex-slab-grey {
    background-color: #f1f0f0;
}

.lex-slab-blue {
    background-color: #001A49;
}

    .lex-slab-blue, .lex-slab-blue a, .lex-slab-blue a:visited {
        color: #BFBFBF;
    }

        .lex-slab-blue .lex-font-standout, .lex-slab-blue .lex-browsenav h1, .lex-browsenav .lex-slab-blue h1, .lex-slab-blue .lex-font-standout:visited, .lex-slab-blue .lex-browsenav h1:visited, .lex-browsenav .lex-slab-blue h1:visited {
            color: #FFFFFF;
        }

            .lex-slab-blue .lex-section-heading.lex-font-standout, .lex-slab-blue .lex-browsenav h1.lex-section-heading, .lex-browsenav .lex-slab-blue h1.lex-section-heading {
                color: #E0B111;
            }

.lex-region-highlighted {
    padding-bottom: 1.7em;
}

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

.lex-region-breadcrumb {
    padding-bottom: 0.85em;
}

    .lex-region-breadcrumb.lex-slab {
        padding-top: 0.85em;
    }

@media screen and (min-width: 1201px) {
    .lex-region-breadcrumb {
        padding-bottom: 1.7em;
    }

        .lex-region-breadcrumb.lex-slab {
            padding-top: 1.7em;
        }
}

.lex-region-breadcrumb a, .lex-region-breadcrumb a:visited {
    text-decoration: underline;
}

.lex-breadcrumb-item {
    float: left;
}

    .lex-breadcrumb-item .lex-icon {
        padding: 0 0.2em 0 0.1em;
        color: #BFBFBF;
    }

#block-urbancountycouncilhtml .lex-card-title {
    font-weight: 200;
}

#block-urbancountycouncilhtml .lex-icon {
    font-size: 1.5em;
    width: 1em;
    opacity: 0.8;
}

.lex-horizontal-list li {
    display: inline-block;
    padding-right: 1em;
}

.lex-search-hero-container {
    padding-top: 50px;
}

@media screen and (min-width: 600px) {
    .lex-search-hero-container {
        padding-top: 100px;
        padding-bottom: 50px;
    }
}

@media screen and (min-width: 1201px) {
    .lex-search-hero-container {
        padding-top: 220px;
        padding-bottom: 100px;
    }
}

input:focus, input[type=search]:focus {
    box-shadow: none;
}

.lex-search {
    /* right-align search icon */
}

    .lex-search .lex-search-submit {
        border-radius: 0;
        background-color: white;
    }

    .lex-search input {
        max-width: none;
        border-top: 1px solid #BFBFBF;
        border-bottom: 1px solid #BFBFBF;
        border-left: 1px solid #BFBFBF;
    }

    .lex-search .lex-search-submit {
        text-align: right;
        padding-right: 1em;
        border-top: 1px solid #BFBFBF;
        border-right: 1px solid #BFBFBF;
        border-bottom: 1px solid #BFBFBF;
    }

    .lex-search .lex-icon {
        color: #585858;
    }

    .lex-search .lex-submit-drupalprovided {
        display: none;
    }

.lex-search-page-form {
    margin-top: 3.4em;
}

.lex-search-hero {
    color: white;
    padding: 1em;
    background-color: rgba(0, 26, 73, 0.75);
}

    .lex-search-hero .lex-card-title {
        font-size: 1.5em;
        margin-bottom: 0.5em;
    }

@media screen and (min-width: 600px) {
    .lex-search-hero {
        margin: 0 auto;
        width: 80%;
    }
}

@media screen and (min-width: 1201px) {
    .lex-search-hero {
        width: 40%;
    }
}

.lex-standoutlinks .lex-icon {
    font-size: 2.7em;
    float: left;
    margin-right: 0.5em;
}

.lex-image-teaser img {
    width: 100%;
    height: Auto;
}

.lex-featured-bottom {
    padding-top: 0.85em;
    padding-bottom: 1.7em;
}

@media screen and (min-width: 600px) {
    .lex-featured-bottom {
        border-top: 1px solid #BFBFBF;
    }
}

.lex-morelink {
    margin: 0;
    width: 8em;
    padding-left: 0;
    padding-right: 0;
    float: right;
    text-transform: uppercase;
    font-weight: 400;
}

    .lex-morelink a, .lex-morelink a:visited {
        color: white;
    }

.lex-sub-footer {
    padding-top: 1.7em;
    padding-bottom: 0.85em;
}

.lex-seal {
    width: 50px;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvbGliL25lYXQvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwiLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2xpYi9fbm9ybWFsaXplLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvY29yZS9fYmFzZS5zY3NzIiwiLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2NvcmUvX2dyaWQuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9saWIvbmVhdC9ncmlkL19vdXRlci1jb250YWluZXIuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9saWIvYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvY29yZS9fZGVmYXVsdHMuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9saWIvYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvbGliL25lYXQvZ3JpZC9fbWVkaWEuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9saWIvbmVhdC9ncmlkL19zcGFuLWNvbHVtbnMuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9saWIvbmVhdC9ncmlkL19wcml2YXRlLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvbGliL25lYXQvZ3JpZC9fb21lZ2Euc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9jb3JlL191dGlsaXRpZXMuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9lbGVtZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwic3R5bGVzLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvbGliL2JvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9lbGVtZW50cy9fbGlzdC5zY3NzIiwiLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2VsZW1lbnRzL19pbnB1dHMuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9lbGVtZW50cy9fYnV0dG9ucy5zY3NzIiwiLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2VsZW1lbnRzL190YWJsZS5zY3NzIiwiLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2VsZW1lbnRzL19maWd1cmUuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9lbGVtZW50cy9fbGFiZWxzLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvY29tcG9uZW50cy9fc2tpcG5hdi5zY3NzIiwiLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2xpYi9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsIi4uL3dlYmRlc2lnbnN0YW5kYXJkcy9fc2Nzcy9jb21wb25lbnRzL19kaXNjbGFpbWVyLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvY29tcG9uZW50cy9fc2lkZW5hdi5zY3NzIiwiLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvY29tcG9uZW50cy9fYWxlcnRzLnNjc3MiLCIuLi93ZWJkZXNpZ25zdGFuZGFyZHMvX3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9ucy5zY3NzIiwiZWxlbWVudHMvX3R5cG9ncmFwaHkuc2NzcyIsImVsZW1lbnRzL19hZGRyZXNzZXMuc2NzcyIsImNvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2Jyb3dzZW5hdi5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIl93ZHMtb3ZlcnJpZGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWlCO0FDR2Y7RUFDRSx3QkFBdUIsRUFDeEI7O0FBRUQ7RUFJSSxxQkFBb0IsRUFDckI7O0FDWkwsNkRBQTREO0FBRTVEOzs7O0lBSUc7QUFFSDtFQUNFLHlCQUF3QjtFQUFFLFFBQU87RUFDakMsNEJBQTJCO0VBQUUsUUFBTztFQUNwQyxnQ0FBK0I7RUFBRSxRQUFPLEVBQ3pDOztBQUVEOztJQUVHO0FBRUg7RUFDRSxXQUFVLEVBQ1g7O0FBRUQ7aUZBQ2dGO0FBRWhGOzs7OztJQUtHO0FBRUg7Ozs7Ozs7Ozs7Ozs7RUFhRSxnQkFBZSxFQUNoQjs7QUFFRDs7O0lBR0c7QUFFSDs7OztFQUlFLHVCQUFzQjtFQUFFLFFBQU87RUFDL0IsMEJBQXlCO0VBQUUsUUFBTyxFQUNuQzs7QUFFRDs7O0lBR0c7QUFFSDtFQUNFLGVBQWM7RUFDZCxXQUFVLEVBQ1g7O0FBRUQ7OztJQUdHO0FGQ0g7O0VFR0UsZUFBYyxFQUNmOztBQUVEO2lGQUNnRjtBQUVoRjs7SUFFRztBQUVIO0VBQ0UsK0JBQThCLEVBQy9COztBQUVEOztJQUVHO0FBRUg7O0VBRUUsWUFBVyxFQUNaOztBQUVEO2lGQUNnRjtBQUVoRjs7SUFFRztBQUVIO0VBQ0UsMkJBQTBCLEVBQzNCOztBQUVEOztJQUVHO0FBRUg7O0VBRUUsbUJBQWtCLEVBQ25COztBQUVEOztJQUVHO0FBRUg7RUFDRSxvQkFBbUIsRUFDcEI7O0FBRUQ7OztJQUdHO0FBRUg7RUFDRSxnQkFBZTtFQUNmLGtCQUFpQixFQUNsQjs7QUFFRDs7SUFFRztBQUVIO0VBQ0Usa0JBQWlCO0VBQ2pCLGFBQVksRUFDYjs7QUFFRDs7SUFFRztBQUVIO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7O0lBRUc7QUFFSDs7RUFFRSxnQkFBZTtFQUNmLGdCQUFlO0VBQ2Ysb0JBQW1CO0VBQ25CLDBCQUF5QixFQUMxQjs7QUFFRDtFQUNFLGFBQVksRUFDYjs7QUFFRDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRDtpRkFDZ0Y7QUFFaEY7O0lBRUc7QUFFSDtFQUNFLFdBQVUsRUFDWDs7QUFFRDs7SUFFRztBQUVIO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEO2lGQUNnRjtBQUVoRjs7SUFFRztBQUVIO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEOztJQUVHO0FBRUg7RUFFRSx5QkFBd0I7RUFDeEIsV0FBVSxFQUNYOztBQUVEOztJQUVHO0FBRUg7RUFDRSxnQkFBZSxFQUNoQjs7QUFFRDs7SUFFRztBQUVIOzs7O0VBSUUsbUNBQWtDO0VBQ2xDLGdCQUFlLEVBQ2hCOztBQUVEO2lGQUNnRjtBQUVoRjs7O0lBR0c7QUFFSDs7Ozs7SUFLRztBQUVIOzs7OztFQUtFLGdCQUFlO0VBQUUsUUFBTztFQUN4QixlQUFjO0VBQUUsUUFBTztFQUN2QixXQUFVO0VBQUUsUUFBTyxFQUNwQjs7QUFFRDs7SUFFRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEOzs7OztJQUtHO0FBRUg7O0VBRUUsc0JBQXFCLEVBQ3RCOztBQUVEOzs7Ozs7SUFNRztBQUVIOzs7O0VBSUUsNEJBQTJCO0VBQUUsUUFBTztFQUNwQyxpQkFBZ0I7RUFBRSxRQUFPLEVBQzFCOztBQUVEOztJQUVHO0FBRUg7O0VBRUUsaUJBQWdCLEVBQ2pCOztBQUVEOztJQUVHO0FBRUg7O0VBRUUsV0FBVTtFQUNWLFlBQVcsRUFDWjs7QUFFRDs7O0lBR0c7QUFFSDtFQUNFLHFCQUFvQixFQUNyQjs7QUFFRDs7Ozs7O0lBTUc7QUFFSDs7RUFFRSx3QkFBdUI7RUFBRSxRQUFPO0VBQ2hDLFlBQVc7RUFBRSxRQUFPLEVBQ3JCOztBQUVEOzs7O0lBSUc7QUFFSDs7RUFFRSxjQUFhLEVBQ2Q7O0FBRUQ7Ozs7SUFJRztBQUVIO0VBQ0UsK0JBQThCO0VBQUUsUUFBTztFQUVMLFFBQU87RUFDekMseUJBQXdCLEVBQ3pCOztBQUVEOzs7O0lBSUc7QUFFSDs7RUFFRSwwQkFBeUIsRUFDMUI7O0FBRUQ7O0lBRUc7QUFFSDtFQUNFLDJCQUEwQjtFQUMxQixlQUFjO0VBQ2QsZ0NBQStCLEVBQ2hDOztBQUVEOzs7SUFHRztBQUVIO0VBQ0UsV0FBVTtFQUFFLFFBQU87RUFDbkIsWUFBVztFQUFFLFFBQU8sRUFDckI7O0FBRUQ7O0lBRUc7QUFFSDtFQUNFLGdCQUFlLEVBQ2hCOztBQUVEOzs7SUFHRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO2lGQUNnRjtBQUVoRjs7SUFFRztBQUVIO0VBQ0UsMkJBQTBCO0VBQzFCLG1CQUFrQixFQUNuQjs7QUFFRDs7RUFFRSxZQUFXLEVBQ1o7O0FDMWFELDBGQUF5RjtBQUV6RjtFQUNFLHdCQUF1QixFQUN4Qjs7QUFFRDtFQUNFLHFCQUFvQixFQUNyQjs7QUFFRDtFQUNFLDJCQUEwQixFQUMzQjs7QUFFRDtFQUdJLGlDQUF3QjtVQUF4Qix5QkFBd0IsRUFDekI7O0FId1dIO0VHcFdFLDBCQUF5QixFQUMxQjs7QUN2QkQ7O0VDZ0NFLGlCQ3JCZTtFRHNCZixtQkFDYTtFQURiLG9CQUVjO0VEaENkLG1CR2lGd0IsRUh1QnpCO0VBM0dEOztJSW9CSSxhQUFZO0lBQ1osYUFBWTtJQUNaLGdCQUFlLEVBQ2hCO0VDK0RDO0lMdEZKOztNTW1FSSxhQUFPO01BR0wsZ0JBQWU7TUFlZix3QkN0RWM7TUR1RWQsYUM1RWMsRVBGZjtNQVJMOztRTXlGUSxpQkFBK0IsRUFDaEM7SU4xRlA7O01NbUVJLGFBQU87TUFHTCxnQkFBZTtNQWVmLHdCQ3RFYztNRHVFZCxrQkM1RWMsRVBDZjtNQVhMOztRTXlGUSxpQkFBK0IsRUFDaEM7SU4xRlA7O01NbUVJLGFBQU87TUFHTCxnQkFBZTtNQWVmLHdCQ3RFYztNRHVFZCxrQkM1RWMsRVBJZjtNQWRMOztRTXlGUSxpQkFBK0IsRUFDaEM7SU4xRlA7O01NbUVJLGFBQU87TUFHTCxnQkFBZTtNQWVmLHdCQ3RFYztNRHVFZCxrQkM1RWMsRVBPZjtNQWpCTDs7UU15RlEsaUJBQStCLEVBQ2hDO0lOMUZQOztNTW1FSSxhQUFPO01BR0wsZ0JBQWU7TUFlZix3QkN0RWM7TUR1RWQsa0JDNUVjLEVQY2Y7TUF4Qkw7O1FNeUZRLGlCQUErQixFQUNoQztNTjFGUDs7UUFzQlEsaUJBQWdCLEVBQ2pCO0lBdkJQOztNTW1FSSxhQUFPO01BR0wsZ0JBQWU7TUFlZix3QkN0RWM7TUR1RWQsYUM1RWMsRVBpQmY7TUEzQkw7O1FNeUZRLGlCQUErQixFQUNoQztJTjFGUDs7TU1tRUksYUFBTztNQUdMLGdCQUFlO01BZWYsd0JDdEVjO01EdUVkLGtCQzVFYyxFUHdCZjtNQWxDTDs7UU15RlEsaUJBQStCLEVBQ2hDO01OMUZQOztRQWdDUSxpQkFBZ0IsRUFDakI7SUFqQ1A7O01NbUVJLGFBQU87TUFHTCxnQkFBZTtNQWVmLHdCQ3RFYztNRHVFZCxrQkM1RWMsRVAyQmY7TUFyQ0w7O1FNeUZRLGlCQUErQixFQUNoQztJTjFGUDs7TU1tRUksYUFBTztNQUdMLGdCQUFlO01BZWYsd0JDdEVjO01EdUVkLGtCQzVFYyxFUGtDZjtNQTVDTDs7UU15RlEsaUJBQStCLEVBQ2hDO01OMUZQOztRQTBDUSxpQkFBZ0IsRUFDakIsRUFBQTtFSzJDSDtJTHRGSjs7TU1tRUksYUFBTztNQUdMLGdCQUFlO01BZWYsd0JDdEVjO01EdUVkLGFDNUVjLEVQd0NmO01BbERMOztRTXlGUSxpQkFBK0IsRUFDaEM7SU4xRlA7O01NbUVJLGFBQU87TUFHTCxnQkFBZTtNQWVmLHdCQ3RFYztNRHVFZCxrQkM1RWMsRVAyQ2Y7TUFyREw7O1FNeUZRLGlCQUErQixFQUNoQztJTjFGUDs7TU1tRUksYUFBTztNQUdMLGdCQUFlO01BZWYsd0JDdEVjO01EdUVkLGtCQzVFYyxFUDhDZjtNQXhETDs7UU15RlEsaUJBQStCLEVBQ2hDO0lOMUZQOztNTW1FSSxhQUFPO01BR0wsZ0JBQWU7TUFlZix3QkN0RWM7TUR1RWQsa0JDNUVjLEVQaURmO01BM0RMOztRTXlGUSxpQkFBK0IsRUFDaEM7SU4xRlA7O01NbUVJLGFBQU87TUFHTCxnQkFBZTtNQWVmLHdCQ3RFYztNRHVFZCxrQkM1RWMsRVA0RGY7TUF0RUw7O1FNeUZRLGlCQUErQixFQUNoQztNTjFGUDs7UU1tRUksYUFBTztRQUdMLGdCQUFlO1FBZWYsd0JDdEVjO1FEdUVkLGtCQzVFYyxFUHVEYjtRQWpFUDs7VU15RlEsaUJBQStCLEVBQ2hDO01OMUZQOztRQW9FUSxpQkFBZ0IsRUFDakI7SUFyRVA7O01NbUVJLGFBQU87TUFHTCxnQkFBZTtNQWVmLHdCQ3RFYztNRHVFZCxrQkM1RWMsRVArRGY7TUF6RUw7O1FNeUZRLGlCQUErQixFQUNoQztJTjFGUDs7TU1tRUksYUFBTztNQUdMLGdCQUFlO01BZWYsd0JDdEVjO01EdUVkLGtCQzVFYyxFUDBFZjtNQXBGTDs7UU15RlEsaUJBQStCLEVBQ2hDO01OMUZQOztRTW1FSSxhQUFPO1FBR0wsZ0JBQWU7UUFlZix3QkN0RWM7UUR1RWQsa0JDNUVjLEVQcUViO1FBL0VQOztVTXlGUSxpQkFBK0IsRUFDaEM7TU4xRlA7O1FBa0ZRLGlCQUFnQixFQUNqQjtJQW5GUDs7TU1tRUksYUFBTztNQUdMLGdCQUFlO01BZWYsd0JDdEVjO01EdUVkLGtCQzVFYyxFUDZFZjtNQXZGTDs7UU15RlEsaUJBQStCLEVBQ2hDO0lOMUZQOztNTW1FSSxhQUFPO01BR0wsZ0JBQWU7TUFlZix3QkN0RWM7TUR1RWQsaUJDNUVjLEVQd0ZmO01BbEdMOztRTXlGUSxpQkFBK0IsRUFDaEM7TU4xRlA7O1FNbUVJLGFBQU87UUFHTCxnQkFBZTtRQWVmLHdCQ3RFYztRRHVFZCxpQkM1RWMsRVBtRmI7UUE3RlA7O1VNeUZRLGlCQUErQixFQUNoQztNTjFGUDs7UUFnR1EsaUJBQWdCLEVBQ2pCLEVBQUE7RUFqR1A7O0lRdURNLGlCQUErQixFUm1EbEM7O0FBR0g7RUFDRSxpQkduQnNCLEVIb0J2Qjs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QVNoR0Q7RUFDRSxvQkFBbUI7RUFDbkIsY0FBWSxFQUNiOztBQ3RCRDtFQUNFLG9GQ0UrRTtFREQvRSxpQlBHd0IsRU9GekI7O0FBRUQ7RUFDRSxtQkVPZSxFRk5oQjs7QUFFRDtFQUNFLGtCUE11QjtFT0x2QixpQkFDVztFQURYLG9CQUVjLEVBRWY7O0FBRUQ7RUFDRSxnQkNEZ0I7RURFaEIsdUJBQXNCLEVBZ0J2QjtFQWxCRDtJQU1JLGdCUE1nQztJT0xoQyw0QkFBMkIsRUFDNUI7RUFSSDtJQVdJLGdCUDZDZ0MsRU81Q2pDO0VBWkg7SUFlSSw4Q1B3Q2dDO0lPdkNoQyxZQUFXLEVBQ1o7O0FBR0g7RUFDRSxhQUFZO0VBQ1osa0VQbEJ1RTtFT21CdkUsa0JQdkJ1QjtFT3dCdkIsbUJBQ2E7RUFEYixxQkFFZSxFQUVoQjs7QUF5Q0Q7RUEvQkUsaUJFMUNlO0VGMkNmLGtCUGhDdUIsRU9nRXhCOztBQUVEO0VBOUJFLGlCRS9DZTtFRmdEZixrQlByQ3VCLEVPb0V4Qjs7QUFFRDtFQTdCRSxpQkVwRGU7RUZxRGYsa0JQMUN1QixFT3dFeEI7O0FBRUQ7RUE1QkUsbUJFekRlO0VGMERmLGtCUC9DdUIsRU80RXhCOztBQUVEO0VBM0JFLG1CRTlEZTtFRitEZixrQlBwRHVCLEVPZ0Z4Qjs7QUFFRDtFQTFCRSxvRkM3RStFO0VEOEUvRSxtQkVwRWU7RUZxRWYsa0JQM0R1QjtFTzREdkIsMkJBQTBCLEVBeUIzQjs7QUFJRDs7OztFQUlDLG9CQUFtQixFQUNuQjs7QUFJRDtFQUVJLGtCUHhDcUIsRU95Q3RCOztBQUdIO0VBQ0Usa0JQN0N1QixFTzhDeEI7O0FBRUQ7O0VBR0ksNEJBQTJCLEVBQzVCOztBQUdIOzs7O0VBS0ksb0ZDNUk2RSxFRDZJOUU7O0FBR0g7Ozs7RUFLSSxrRVBuSXFFLEVPb0l0RTs7QUFHSDtFQUNFLHFCQUFvQjtFQUNwQixrQlB0SXVCLEVPdUl4Qjs7QUFFRDtFQWhHRSxpQkVwRGU7RUZxRGYsa0JQMUN1QjtFTzJJdkIsa0JBQWlCLEVBU2xCO0VEMUtDO0lDK0pGO01BMUdFLGlCRTFDZTtNRjJDZixrQlBoQ3VCLEVPb0p4QixFQUFBO0VEMUtDO0lDK0pGO01BL0dFLG1CRXJDZTtNRnNDZixrQlAzQnVCLEVPb0p4QixFQUFBOztBQUVEO0VBQ0UsbUJFbEtlO0VGbUtmLGtFUDNKdUU7RU80SnZFLGtCUC9KdUIsRU9nS3hCOztBQUVEO0VBQ0Usb0JBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsZ0JQN0lrQztFTzhJbEMsU0FBUTtFQUNSLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsUUFBTyxFQUNSOztBQUVEO0VBQ0UsZUFBYyxFQUNmOztBQUVEO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEO0VBQ0UsMkJQMUprQyxFT3VLbkM7RUFkRDtJQUlJLGdCUGhLZ0MsRU9pS2pDO0VBTEg7SUFRSSxnQlA5SmdDLEVPbUtqQztJQWJIO01BV00sZ0JQdks4QixFT3dLL0I7O0FBSUw7RUFDRSxtQkU1TWU7RUY2TWYsZUFBYyxFQUNmOztBRzNORDtFQUNFLGlCQUNXO0VBRFgsb0JBRWMsRUFVZjtFQWJEO0lBT0ksa0JWU3FCO0lVUnJCLG1CQUNhO0lBRGIsc0JBRWdCLEVBRWpCOztBQUdIOzs7Ozs7OztFQUdJLGVBQ1MsRUFFVjs7QUFHSDtFQUNFLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFPaEI7RUFWRDtJQU1JLGFBQVk7SUFDWixnQkFBZTtJQUNmLHNCQUFxQixFQUN0Qjs7QUFHSDtFQUNFLG9CQUFtQixFQU9wQjtFQVJEO0lBSUksY0FBUztJQUNULHFCQUFvQjtJQUNwQixzQkFBcUIsRUFDdEI7O0FBR0g7RUFDRSxvQkFBbUI7RUFDbkIsNkJBQTRCLEVBUTdCO0VBVkQ7SUFLSSxnQ0FBOEI7SUFDOUIscUJBQW9CO0lBQ3BCLHNCQUFxQjtJQUNyQixtQkFBa0IsRUFDbkI7O0FBR0g7RUFDRSxzQkFBcUIsRUFDdEI7O0FBSUQ7RUFDRSxXQUFVO0VBQ1YsWUFBVztFQUNYLHVCQUFzQixFQWN2QjtFQWpCRDtJQU1JLG9CQUFtQjtJQUNuQixXQUFVLEVBU1g7SUFoQkg7TUFVTSxlQUFjLEVBQ2Y7SUFYTDtNQWNNLGVBQWMsRUFDZjs7QUM5RUw7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQkUsMkJYK0JrQztFVzlCbEMsa0JBQWlCO0VBQ2pCLHdCQUF1QjtFQUN2QixhQUFZO0VBQ1osZ0JBQWU7RUFDZixtQkZUZTtFRVVmLGdCQUFlO0VBQ2Ysa0JYK0R1QjtFVzlEdkIsYUFBWTtFQUNaLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsa0JBQWlCLEVBVWxCO0VBckNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBK0JJLDhDWHdDZ0MsRVd2Q2pDO0VBaENIOzs7Ozs7Ozs7Ozs7Ozs7O0lBbUNJLDJCWDJCZ0MsRVcxQmpDOztBQUdIO0VBQ0UsZ0NYRGtDO0VXRWxDLGtCQUFpQjtFQUNqQix1QkFDZ0I7RUFEaEIsc0JBRWU7RUFGZixvQkFHYTtFQUViLG9CQUFtQjtFQUNuQixlQUFjLEVBVWY7RUFuQkQ7SUFZSSwyQlhaZ0M7SVdhaEMsNEJBQVcsRUFDWjtFQWRIO0lBaUJJLGVBQWMsRUFDZjs7QUFHSDtFQUNFLGdCQUFlO0VBQ2YsbUJGbERlO0VFbURmLGtCWHhDdUIsRVd5Q3hCOztBQUVEO0VBQ0UsZ0JYNUJrQztFVzZCbEMsZ0JBQWU7RUFDZixtQkZ6RGU7RUUwRGYsa0JYL0N1QjtFV2dEdkIscUJBQ2M7RUFEZCxrQkFFVyxFQUVaOztBQUVEO0VBQ0UsZ0JBQWU7RUFDZixrQkFDWTtFQUVaLGtCWEl1QixFV0h4Qjs7QUFFRDtFQUNFLGVBQWMsRUFDZjs7QUFFRDtFQUNFLHVCQUFzQjtFQUN0QiwwQkFBeUI7RUFDekIsa0JBQWlCO0VBQ2pCLDJCWGxEa0M7RVdtRGxDLGdEQUFxQjtFQUNyQixnREFBcUI7RUFDckIsMENBQXlDO0VBQ3pDLDhCQUE2QjtFQUM3Qix5QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxpQkYxRmU7RUUyRmYsa0JYaEZ1QixFV2lGeEI7O0FBRUQ7RUFFSSxlQUFjLEVBQ2Y7O0FBS0g7RUFDRSxnQkFBZTtFQUNmLG9GSGxIK0U7RUdtSC9FLGtCQUFpQixFQUNsQjs7QUFFRDs7SUFFRztBQUVIOztFTHBHRSxvQkFBbUI7RUFDbkIsY0FBWSxFSzhHYjtFQVBDOztJQUNFLFdBQVU7SUFDVixhQUFZO0lBQ1osdUJBQXNCO0lBQ3RCLGtCQUFpQjtJQUNqQixhQUFZLEVBQ2I7O0FBR0g7O0VBRUUsaUJBQWdCO0VBQ2hCLGtCQUFpQjtFQUNqQixzQkFBcUIsRUFDdEI7O0FBRUQ7O0VBRUUsbUJBQWtCO0VBQ2xCLHVCRnZJZTtFRXdJZiwrQkFBOEI7RUFDOUIsZ0JBQWU7RUFDZix1QkFBc0I7RUFDdEIsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsb0JBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQixzQkFBcUI7RUFDckIsZUFBYyxFQUNmOztBQUVEO0VBQ0UsK0NBQThDO0VBQzlDLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUVEO0VBQ0UscUJBQW9CLEVBQ3JCOztBQUVEOztFQUVFLDJCSDNKZ0I7RUc0SmhCLCtCSDVKZ0IsRUc2SmpCOztBQUVEO0VBQ0Usa0RIaEtnQixFR2lLakI7O0FBRUQ7RUFDRSw0Rlg3R2tDLEVXOEduQzs7QUFFRDtFQUNFLDhDQUFxQjtFQUNyQiw4Q0FBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLDhCQUE2QixFQUM5Qjs7QUFFRDtFQUNFLGtESC9LZ0IsRUdnTGpCOztBQUVEO0VBQ0UsZ0JYcEprQyxFV3FKbkM7O0FBRUQ7O0VBRUUscUJYdkprQztFV3dKbEMsK0JYekprQztFVzBKbEMscUJBQW9CLEVBQ3JCOztBQUlEO0VBQ0UsMEJBQXlCO0VBQ3pCLGNBQWE7RUFDYixpQkFBZ0I7RUFDaEIsYUFBWSxFQUNiOztBQUVEO0VBQ0Usa0JBQWlCO0VBQ2pCLGVBQWMsRUFDZjs7QUFFRDtFQUNFLHFCQUFvQjtFQUNwQiwyQkFBMEI7RUFDMUIsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsYUFBWSxFQUNiOztBQUVEO0VBQ0UscUJIcE5nQjtFR3FOaEIsMkJBQTBCO0VBQzFCLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLGFBQVksRUFDYjs7QUFFRDtFQUNFLHlCQUF3QjtFQUN4QixvQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsYUFBWSxFQUNiOztBQUVEO0VBQ0UsMEJBQXlCO0VBQ3pCLDJCQUEwQjtFQUMxQixnQkFBZTtFQUNmLHVCQUFzQjtFQUN0QixxQkFBb0I7RUFDcEIsaUJBQWdCO0VBQ2hCLHFCQUFvQjtFQUNwQixlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxxQkFBb0I7RUFDcEIsMkJBQTBCO0VBQzFCLHVCQUFzQjtFQUN0QixpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxxQkFBb0I7RUFDcEIsMkJBQTBCO0VBQzFCLHVCQUFzQjtFQUN0QixpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxxQkFBb0I7RUFDcEIsMkJBQTBCO0VBQzFCLHFCQUFvQixFQUNyQjs7QUFFRDtFQUNFLHFCQUFvQjtFQUNwQiwyQkFBMEI7RUFDMUIscUJBQW9CLEVBQ3JCOztBQUVEO0VBQ0UsMkJYdE5rQyxFV3VObkM7O0FBRUQ7RUFDRSwyQlgxTmtDLEVXMk5uQzs7QUFFRDtFQUNFLDJCWDlOa0MsRVcrTm5DOztBQUlEO0VBRUksZUFBYyxFQUNmOztBQUhIOztFQU9JLDBCQUF5QjtFQUN6QixrQkFBaUI7RUFDakIsV0FBVSxFQUNYOztBQVZIO0VBYUksNEJBQTJCLEVBQzVCOztBQUdIOzs7RUFHRSxhQUFZO0VBQ1osYUFBWTtFQUNaLHNCQUFxQjtFQUNyQixhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxhQUFZLEVBQ2I7O0FDalVEOzs7Ozs7Ozs7RUFTRSxrQkFBaUI7RUFDakIsMkJKQ2dCO0VJQWhCLFdBQVU7RUFDVix1QkhMZTtFR01mLGdCWnlCa0M7RVl4QmxDLGlCQUFnQjtFQUNoQix1QkFBc0I7RUFDdEIsb0ZKbkIrRTtFSW9CL0UsbUJIVmU7RUdXZixrQlpBdUI7RVlDdkIsZ0JBQWU7RUFDZixrQkFDWTtFQURaLHFCQUVlO0VBRmYsb0JBR2M7RUFFZCxlQUFjO0VBQ2Qsb0JBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQix1QkFBc0I7RUFDdEIsYUFBWTtFQUNaLHFDQUFvQyxFQXNIckM7RUFwSkQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBa0NJLDJCWlhnQztJWVloQyxrQkFBaUI7SUFDakIsZ0JaRWdDO0lZRGhDLHVCQUFzQixFQUN2QjtFQXRDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7SUEwQ0ksOENad0JnQyxFWXZCakM7RUEzQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBK0NJLDJCWnZCZ0MsRVl3QmpDO0VBRUQ7SUFsREY7Ozs7Ozs7OztNQW1ESSxhQUFZLEVBaUdmLEVBQUE7RUFwSkQ7Ozs7Ozs7OztJQXVESSwyQlo3QmdDO0lZOEJoQyxnQlpqQmdDLEVZNkJqQztJQXBFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE0RE0sMkJaaEM4QixFWWlDL0I7SUE3REw7Ozs7Ozs7Ozs7Ozs7Ozs7O01BaUVNLDJCWnRDOEI7TVl1QzlCLGdCWjVCOEIsRVk2Qi9CO0VBbkVMOzs7Ozs7Ozs7SUF1RUksMkJadkNnQyxFWWtEakM7SUFsRkg7Ozs7Ozs7Ozs7Ozs7Ozs7O01BMkVNLDJCWnpDOEIsRVkwQy9CO0lBNUVMOzs7Ozs7Ozs7Ozs7Ozs7OztNQWdGTSwyQlovQzhCLEVZZ0QvQjtFQWpGTDs7Ozs7Ozs7O0lBcUZJLDJCWjNDZ0MsRVlzRGpDO0lBaEdIOzs7Ozs7Ozs7Ozs7Ozs7OztNQXlGTSwyQlpoRDhCLEVZaUQvQjtJQTFGTDs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE4Rk0sMkJadkQ4QixFWXdEL0I7RUEvRkw7Ozs7Ozs7OztJQW1HSSwyQlo3RGdDO0lZOERoQyxxQ0p6RmM7SUkwRmQsZ0JKMUZjLEVJNEdmO0lBdkhIOzs7Ozs7Ozs7Ozs7Ozs7OztNQXlHTSxxQ1psRjhCO01ZbUY5QixnQlpuRjhCLEVZb0YvQjtJQTNHTDs7Ozs7Ozs7Ozs7Ozs7Ozs7TUErR00scUNadkY4QjtNWXdGOUIsZ0JaeEY4QixFWXlGL0I7SUFqSEw7Ozs7Ozs7Ozs7Ozs7Ozs7O01BcUhNLHVFWm5EOEIsRVlvRC9CO0VBdEhMOzs7Ozs7Ozs7SUEwSEkseUJBQXdCO0lBQ3hCLHFDWnJGZ0M7SVlzRmhDLGdCWnRGZ0MsRVl3R2pDO0lBOUlIOzs7Ozs7Ozs7Ozs7Ozs7OztNQWdJTSxxQ1pwRjhCO01ZcUY5QixnQlpyRjhCLEVZc0YvQjtJQWxJTDs7Ozs7Ozs7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RUFtUnRCO0VBdEJEO0lBTUksa0JBQWlCO0lBQ2pCLHNCQUFxQixFQUN0QjtFRnJSRDtJRTZRRjtNQVdJLGdCQUFlO01BQ2YsWUFBVyxFQVVkLEVBQUE7RUZuU0M7SUU2UUY7TUFnQkksWUFBVyxFQU1kLEVBQUE7O0FBRUQ7RUFFSSxrQkFBaUI7RUFDakIsYUFBWTtFQUNaLHFCQUFvQixFQUNyQjs7QUFHSDtFQUlJLGFBQVk7RUFDWixjQUFhLEVBQ2Q7O0FBR0g7RUFFRSxxQkFBZ0M7RUFDaEMsdUJBN1J3QixFQWlTekI7RUY3VEM7SUVzVEY7TUFLSSwrQkEvU2MsRUFpVGpCLEVBQUE7O0FBRUQ7RUFDRSxXQUFVO0VBQ1YsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsY0FBYTtFQUNiLDJCQUEwQjtFQUMxQixrQkFsVXVCLEVBc1V4QjtFQVhEO0lBU0ksY0FBYSxFQUNkOztBQUdIO0VBQ0Usb0JBalR3QjtFQWtUeEIsd0JBalQyQyxFQWtUNUM7O0FBRUQ7RUFDRSxhQUFZLEVBQ2IiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufSIsIi8qIGFwcGx5IGEgbmF0dXJhbCBib3ggbGF5b3V0IG1vZGVsIHRvIGFsbCBlbGVtZW50cywgYnV0IGFsbG93aW5nIGNvbXBvbmVudHMgdG8gY2hhbmdlICovXG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4ubHQtaWU5IHtcbiAgLy8gSGFjayBmb3IgY2xlYXJmaXhlc1xuICAqIHtcbiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5bYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIudXNhLWdyaWQsXG4udXNhLWdyaWQtZnVsbCB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICBtYXgtd2lkdGg6ICRzaXRlLW1heC13aWR0aDtcblxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtKSB7XG4gICAgLnVzYS13aWR0aC1vbmUtd2hvbGUge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIH1cbiAgICAudXNhLXdpZHRoLW9uZS1oYWxmIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICB9XG4gICAgLnVzYS13aWR0aC1vbmUtdGhpcmQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIpO1xuICAgIH1cbiAgICAudXNhLXdpZHRoLXR3by10aGlyZHMge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgIH1cbiAgICAudXNhLXdpZHRoLW9uZS1mb3VydGgge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXG4gICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC51c2Etd2lkdGgtdGhyZWUtZm91cnRocyB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgfVxuICAgIC51c2Etd2lkdGgtb25lLXNpeHRoIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyKTtcblxuICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAudXNhLXdpZHRoLWZpdmUtc2l4dGhzIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgICB9XG4gICAgLnVzYS13aWR0aC1vbmUtdHdlbGZ0aCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMik7XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2UpIHtcbiAgICAudXNhLXdpZHRoLW9uZS13aG9sZSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgIH1cbiAgICAudXNhLXdpZHRoLW9uZS1oYWxmIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICB9XG4gICAgLnVzYS13aWR0aC1vbmUtdGhpcmQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgIH1cbiAgICAudXNhLXdpZHRoLXR3by10aGlyZHMge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgIH1cbiAgICAudXNhLXdpZHRoLW9uZS1mb3VydGgge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXG4gICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnVzYS13aWR0aC10aHJlZS1mb3VydGhzIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICB9XG4gICAgLnVzYS13aWR0aC1vbmUtc2l4dGgge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIpO1xuXG4gICAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMik7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDZuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnVzYS13aWR0aC1maXZlLXNpeHRocyB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTApO1xuICAgIH1cbiAgICAudXNhLXdpZHRoLW9uZS10d2VsZnRoIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxKTtcblxuICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgxMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaWVzIGVuZCBvZiBhIHJvdy5cbiAgLy8gUmVxdWlyZWQgaWYgZ3JpZC1ib3ggY29udGFpbnMgbXVsdGlwbGUgcm93cy5cbiAgLy8gUmVxdWlyZWQgaWYgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IDpsYXN0LWNoaWxkXG4gIC51c2EtZW5kLXJvdyB7XG4gICAgQGluY2x1ZGUgb21lZ2EoKTtcbiAgfVxufVxuXG4udXNhLWdyaWQge1xuICBwYWRkaW5nOiAwICRncmlkLW1hcmdpbnM7XG59XG5cbi51c2EtZ3JpZC1mdWxsIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudHJpbmcgaXQgaW4gdGhlIHZpZXdwb3J0LCBjbGVhcmluZyBpdHMgZmxvYXRzLCBhbmQgc2V0dGluZyBpdHMgYG1heC13aWR0aGAuXG4vLy8gQWx0aG91Z2ggb3B0aW9uYWwsIHVzaW5nIGBvdXRlci1jb250YWluZXJgIGlzIHJlY29tbWVuZGVkLiBUaGUgbWl4aW4gY2FuIGJlIGNhbGxlZCBvbiBtb3JlIHRoYW4gb25lIGVsZW1lbnQgcGVyIHBhZ2UsIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IG5lc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIFt1bml0XX0gJGxvY2FsLW1heC13aWR0aCBbJG1heC13aWR0aF1cbi8vLyAgIE1heCB3aWR0aCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiBDYW4gYmUgYSBwZXJjZW50YWdlIG9yIGEgbWVhc3VyZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICp6b29tOiAxO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjb250ZW50OiBcIiBcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICB9XG5cbkBtaXhpbiBvdXRlci1jb250YWluZXIoJGxvY2FsLW1heC13aWR0aDogJG1heC13aWR0aCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWF4LXdpZHRoOiAkbG9jYWwtbWF4LXdpZHRoO1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gU3RhcnRlciBLaXQgRGVmYXVsdHNcbi8vIERvIG5vdCBtb2RpZnkuXG4vLyBUaGVzZSB2YXJpYWJsZXMgY2FuIGJlIG1vZGlmaWVkIGluIF92YXJpYWJsZXMuc2Nzc1xuXG4vLyBUeXBvZ3JhcGh5XG4kZW0tYmFzZTogICAgICAgICAgICAgMTBweDsgLy8gZGVmYXVsdCBpcyBhbHJlYWR5IGRlZmluZWQgaW4gYm91cmJvblxuJGJhc2UtZm9udC1zaXplOiAgICAgIHJlbSgxNnB4KSAhZGVmYXVsdDtcbiRzbWFsbC1mb250LXNpemU6ICAgICByZW0oMTRweCkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXNpemU6ICAgICAgcmVtKDIycHgpICFkZWZhdWx0O1xuJHRpdGxlLWZvbnQtc2l6ZTogICAgIHJlbSg1MnB4KSAhZGVmYXVsdDtcbiRoMS1mb250LXNpemU6ICAgICAgICByZW0oNDBweCkgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgcmVtKDMwcHgpICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgIHJlbSgyMHB4KSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICByZW0oMTdweCkgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgcmVtKDE1cHgpICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgIHJlbSgxM3B4KSAhZGVmYXVsdDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiAgICAxLjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJGxlYWQtbGluZS1oZWlnaHQ6ICAgIDEuNyAhZGVmYXVsdDtcblxuJGZvbnQtc2FuczogICAgICAgICAgICdTb3VyY2UgU2FucyBQcm8nLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LXNlcmlmOiAgICAgICAgICAnTWVycml3ZWF0aGVyJywgJ0dlb3JnaWEnLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG5cbiRmb250LW5vcm1hbDogICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC1ib2xkOiAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG5cbi8vIENvbG9yXG4kY29sb3ItcHJpbWFyeTogICAgICAgICAgICAgICMwMDcxYmMgIWRlZmF1bHQ7XG4kY29sb3ItcHJpbWFyeS1kYXJrZXI6ICAgICAgICMyMDU0OTMgIWRlZmF1bHQ7XG4kY29sb3ItcHJpbWFyeS1kYXJrZXN0OiAgICAgICMxMTJlNTEgIWRlZmF1bHQ7XG5cbiRjb2xvci1wcmltYXJ5LWFsdDogICAgICAgICAgIzAyYmZlNyAhZGVmYXVsdDtcbiRjb2xvci1wcmltYXJ5LWFsdC1kYXJrZXN0OiAgIzA0NmI5OSAhZGVmYXVsdDtcbiRjb2xvci1wcmltYXJ5LWFsdC1kYXJrOiAgICAgIzAwYTZkMiAhZGVmYXVsdDtcbiRjb2xvci1wcmltYXJ5LWFsdC1saWdodDogICAgIzliZGFmMSAhZGVmYXVsdDsgLy8gbGlnaHRlbigkY29sb3ItcHJpbWFyeS1hbHQsIDYwJSlcbiRjb2xvci1wcmltYXJ5LWFsdC1saWdodGVzdDogI2UxZjNmOCAhZGVmYXVsdDsgLy8gbGlnaHRlbigkY29sb3ItcHJpbWFyeS1hbHQsIDkwJSlcblxuJGNvbG9yLXNlY29uZGFyeTogICAgICAgICAgICAjZTMxYzNkICFkZWZhdWx0O1xuJGNvbG9yLXNlY29uZGFyeS1kYXJrZXN0OiAgICAjOTgxYjFlICFkZWZhdWx0O1xuJGNvbG9yLXNlY29uZGFyeS1kYXJrOiAgICAgICAjY2QyMDI2ICFkZWZhdWx0O1xuJGNvbG9yLXNlY29uZGFyeS1saWdodDogICAgICAjZTU5MzkzICFkZWZhdWx0OyAvLyBsaWdodGVuKCRjb2xvci1zZWNvbmRhcnksIDYwJSlcbiRjb2xvci1zZWNvbmRhcnktbGlnaHRlc3Q6ICAgI2Y5ZGVkZSAhZGVmYXVsdDsgLy8gbGlnaHRlbigkY29sb3Itc2Vjb25kYXJ5LCA5MCUpXG5cbiRjb2xvci13aGl0ZTogICAgICAgICAgICAgICAgI2ZmZmZmZiAhZGVmYXVsdDtcbiRjb2xvci1iYXNlOiAgICAgICAgICAgICAgICAgIzIxMjEyMSAhZGVmYXVsdDtcblxuJGNvbG9yLWdyYXktZGFyazogICAgICAgICAgICAjMzIzYTQ1ICFkZWZhdWx0O1xuJGNvbG9yLWdyYXk6ICAgICAgICAgICAgICAgICAjMjA1NDkzICFkZWZhdWx0OyAvLyBsaWdodGVuKCRjb2xvci1ncmF5LWRhcmssIDIwJSlcbiRjb2xvci1ncmF5LWxpZ2h0OiAgICAgICAgICAgI2FlYjBiNSAhZGVmYXVsdDsgLy8gbGlnaHRlbigkY29sb3ItZ3JheS1kYXJrLCA2MCUpXG4kY29sb3ItZ3JheS1saWdodGVyOiAgICAgICAgICNkNmQ3ZDkgIWRlZmF1bHQ7IC8vIGxpZ2h0ZW4oJGNvbG9yLWdyYXktZGFyaywgODAlKVxuJGNvbG9yLWdyYXktbGlnaHRlc3Q6ICAgICAgICAjZjFmMWYxICFkZWZhdWx0OyAvLyBsaWdodGVuKCRjb2xvci1ncmF5LWRhcmssIDkxJSlcblxuJGNvbG9yLWdyYXktd2FybS1kYXJrOiAgICAgICAjNDk0NDQwICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktd2FybS1saWdodDogICAgICAjZTRlMmUwICFkZWZhdWx0OyAvLyBsaWdodGVuKCRjb2xvci1ncmF5LXdhcm0tZGFyaywgOTAlKVxuJGNvbG9yLWdyYXktY29vbC1saWdodDogICAgICAjZGNlNGVmICFkZWZhdWx0OyAvLyBsaWdodGVuKCRjb2xvci1wcmltYXJ5LCA5MCUpXG5cbiRjb2xvci1nb2xkOiAgICAgICAgICAgICAgICAgI2ZkYjgxZSAhZGVmYXVsdDtcbiRjb2xvci1nb2xkLWxpZ2h0OiAgICAgICAgICAgI2Y5YzY0MiAhZGVmYXVsdDsgLy8gIGxpZ2h0ZW4oJGNvbG9yLWdvbGQsIDIwJSlcbiRjb2xvci1nb2xkLWxpZ2h0ZXI6ICAgICAgICAgI2ZhZDk4MCAhZGVmYXVsdDsgLy8gIGxpZ2h0ZW4oJGNvbG9yLWdvbGQsIDYwJSlcbiRjb2xvci1nb2xkLWxpZ2h0ZXN0OiAgICAgICAgI2ZmZjFkMiAhZGVmYXVsdDsgLy8gIGxpZ2h0ZW4oJGNvbG9yLWdvbGQsIDgzJSlcblxuJGNvbG9yLWdyZWVuOiAgICAgICAgICAgICAgICAjMmU4NTQwICFkZWZhdWx0OyAgXG4kY29sb3ItZ3JlZW4tbGlnaHQ6ICAgICAgICAgICM0YWE1NjQgIWRlZmF1bHQ7IC8vIGxpZ2h0ZW4oJGNvbG9yLWdyZWVuLCAyMCUpXG4kY29sb3ItZ3JlZW4tbGlnaHRlcjogICAgICAgICM5NGJmYTIgIWRlZmF1bHQ7IC8vIGxpZ2h0ZW4oJGNvbG9yLWdyZWVuLCA2MCUpXG4kY29sb3ItZ3JlZW4tbGlnaHRlc3Q6ICAgICAgICNlN2Y0ZTQgIWRlZmF1bHQ7IC8vIGxpZ2h0ZW4oJGNvbG9yLWdyZWVuLCA2MCUpXG5cbiRjb2xvci1jb29sLWJsdWU6ICAgICAgICAgICAgIzIwNTQ5MyAhZGVmYXVsdDtcbiRjb2xvci1jb29sLWJsdWUtbGlnaHQ6ICAgICAgIzQ3NzNhYSAhZGVmYXVsdDsgLy8gbGlnaHRlbigkY29sb3ItY29vbC1ibHVlLCAyMCUpXG4kY29sb3ItY29vbC1ibHVlLWxpZ2h0ZXI6ICAgICM4YmE2Y2EgIWRlZmF1bHQ7IC8vIGxpZ2h0ZW4oJGNvbG9yLWNvb2wtYmx1ZSwgNjAlKVxuJGNvbG9yLWNvb2wtYmx1ZS1saWdodGVzdDogICAjZGNlNGVmICFkZWZhdWx0OyAvLyBsaWdodGVuKCRjb2xvci1jb29sLWJsdWUsIDkwJSlcblxuJGNvbG9yLWZvY3VzOiAgICAgICAgICAgICAgICAjM2U5NGNmICFkZWZhdWx0O1xuJGNvbG9yLXZpc2l0ZWQ6ICAgICAgICAgICAgICAjNGMyYzkyICFkZWZhdWx0O1xuXG5cbi8vIE1vYmlsZSBGaXJzdCBCcmVha3BvaW50c1xuJHNtYWxsLXNjcmVlbjogICAgICA0ODFweCAhZGVmYXVsdDtcbiRtZWRpdW0tc2NyZWVuOiAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbGFyZ2Utc2NyZWVuOiAgICAgIDEyMDFweCAhZGVmYXVsdDtcblxuXG4vLyBNYWdpYyBOdW1iZXJzXG4kdGV4dC1tYXgtd2lkdGg6ICAgIDUzcmVtICFkZWZhdWx0O1xuJHNpdGUtbWF4LXdpZHRoOiAgICAxMDQwcHggIWRlZmF1bHQ7XG4kc2l0ZS1tYXJnaW5zOiAgICAgIDNyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tYXgtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJGlucHV0LW1heC13aWR0aDogICA0NnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiAgICAgcmVtKDNweCkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgIDAgMCAycHggcmdiYSgjMDAwLCAuMykgIWRlZmF1bHQ7XG4kZm9jdXMtc2hhZG93OiAgICAgIDAgMCAzcHggJGNvbG9yLWZvY3VzLCAwIDAgN3B4ICRjb2xvci1mb2N1cztcbiRncmlkLW1hcmdpbnM6ICAgICAgM3JlbSAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vLyAgIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLlxuLy8vXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoNzY5cHgpIHtcbi8vLyAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMzIwcHggbWF4LXdpZHRoIDQ4MHB4LCA2KSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cblxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcbiAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcblxuICAgIEBpZiBpcy1ub3QoaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkpIHtcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xuICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJGxvb3AtdG8ge1xuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG5cbiAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICB9XG5cbiAgICAgICRpOiAkaSArIDI7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbiBlbGVtZW50IHNob3VsZCBzcGFuLiBJZiB0aGUgc2VsZWN0b3IgaXMgbmVzdGVkIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpdHMgcGFyZW50IGVsZW1lbnQgc2hvdWxkIGJlIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBhcyB3ZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc3BhblxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgYCRjb2x1bW5zYCwgdGhlIHVuaXRsZXNzIG51bWJlciBvZiBjb2x1bW5zIHRoZSBlbGVtZW50IHNwYW5zIChyZXF1aXJlZCksIGFuZCBgJGNvbnRhaW5lci1jb2x1bW5zYCwgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRoZSBwYXJlbnQgZWxlbWVudCBzcGFucyAob3B0aW9uYWwpLlxuLy8vXG4vLy8gICBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwYXNzZWQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCdzIGAkY29sdW1uc2AgYW5kIHRoYXQgdGhhdCBgJGNvbnRhaW5lci1jb2x1bW5zYCBpcyBlcXVhbCB0byBgJGdyaWQtY29sdW1uc2AsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gICBgJGNvbHVtbnNgIGFsc28gYWNjZXB0cyBkZWNpbWFscyBmb3Igd2hlbiBpdCdzIG5lY2Vzc2FyeSB0byBicmVhayBvdXQgb2YgdGhlIHN0YW5kYXJkIGdyaWQuIEUuZy4gUGFzc2luZyBgMi40YCBpbiBhIHN0YW5kYXJkIDEyIGNvbHVtbiBncmlkIHdpbGwgZGl2aWRlIHRoZSByb3cgaW50byA1IGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnQgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmVtb3ZlcyB0aGUgZWxlbWVudCdzIGd1dHRlciBtYXJnaW4sIHJlZ2FyZGxlc3Mgb2YgaXRzIHBvc2l0aW9uIGluIHRoZSBncmlkIGhpZXJhcmNoeSBvciBkaXNwbGF5IHByb3BlcnR5LiBJdCBjYW4gdGFyZ2V0IGEgc3BlY2lmaWMgZWxlbWVudCwgb3IgZXZlcnkgYG50aC1jaGlsZGAgb2NjdXJyZW5jZS4gV29ya3Mgb25seSB3aXRoIGBibG9ja2AgbGF5b3V0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5IFtibG9ja11cbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzLiBTdXBwb3J0ZWQgYXJndW1lbnRzIGFyZSBgbnRoLWNoaWxkYCBzZWxlY3RvcnMgKHRhcmdldHMgYSBzcGVjaWZpYyBwc2V1ZG8gZWxlbWVudCkgYW5kIGBhdXRvYCAodGFyZ2V0cyBgbGFzdC1jaGlsZGApLlxuLy8vXG4vLy8gICBXaGVuIHBhc3NlZCBhbiBgbnRoLWNoaWxkYCBhcmd1bWVudCBvZiB0eXBlIGAqbmAgd2l0aCBgYmxvY2tgIGRpc3BsYXksIHRoZSBvbWVnYSBtaXhpbiBhdXRvbWF0aWNhbGx5IGFkZHMgYSBjbGVhciB0byB0aGUgYCpuKzFgIHRoIGVsZW1lbnQuIE5vdGUgdGhhdCBjb21wb3NpdGUgYXJndW1lbnRzIHN1Y2ggYXMgYDJuKzFgIGRvIG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS5cbi8vL1xuLy8vICAgKipEZXByZWNhdGlvbiB3YXJuaW5nKio6IFRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgYCRkaXJlY3Rpb25gIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSBgcm93KCRkaXJlY3Rpb24pYCBvciBzZXQgYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gIGluc3RlYWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2E7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKSB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bisxKSB7XG4vLy8gICAgIGNsZWFyOiBsZWZ0O1xuLy8vICAgfVxuXG5AbWl4aW4gb21lZ2EoJHF1ZXJ5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICAkdGFibGU6IGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSk7XG4gICRhdXRvOiBiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgJGRpcmVjdGlvbiBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgfVxuXG4gIEBpZiAkdGFibGUge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gbm8gbG9uZ2VyIHJlbW92ZXMgcGFkZGluZyBpbiB0YWJsZSBsYXlvdXRzLlwiKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIGFuZCAkdGFibGUgPT0gZmFsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZChudGgoJHF1ZXJ5LCAxKSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVG9vIG1hbnkgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgb21lZ2EoKSBtaXhpbi5cIik7XG4gIH1cbn1cblxuQG1peGluIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIGFuZCB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE1vYmlsZS1maXJzdCBtZWRpYSBxdWVyeSBoZWxwZXJcbkBtaXhpbiBtZWRpYSgkYnApIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYnB9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQ2xlYXJmaXggaGVscGVyXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiOyAgXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyBTY3JlZW4gcmVhZGVyIG9ubHkgaGVscGVyXG4udXNhLXNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6LTk5OWVtO1xufVxuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0Oi05OTllbTtcbn1cblxuLy8gVW5zdHlsZWQgbGlzdCBoZWxwZXJcblxuQG1peGluIHVuc3R5bGVkLWxpc3QoKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIG1hcmdpbjogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb250ZW50IHNpemUgaGVscGVyc1xuQG1peGluIGFsbG93LWxheW91dC1jbGFzc2VzIHtcblxuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi53aWR0aC1vbmUtaGFsZiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgJi53aWR0aC1vbmUtdGhpcmQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICB3aWR0aDogMzMlO1xuICAgIH1cbiAgfVxuXG4gICYud2lkdGgtdHdvLXRoaXJkcyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICAgIHdpZHRoOiA2NyU7XG4gICAgfVxuICB9XG5cbiAgJi53aWR0aC1vbmUtZm91cnRoIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG4gIH1cblxuICAmLndpZHRoLXRocmVlLWZvdXJ0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgIH1cbiAgfSBcblxuICAmLmFsaWduLWxlZnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLjVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgfVxuICB9XG59IiwiaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBmb250LXNpemU6ICRlbS1iYXNlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG59XG5cbnAge1xuICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG4gIG1hcmdpbjoge1xuICAgIHRvcDogMWVtO1xuICAgIGJvdHRvbTogMWVtO1xuICB9XG59XG5cbmEge1xuICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLCBcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kYXJrZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkY29sb3ItdmlzaXRlZDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRmb2N1cy1zaGFkb3c7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IHtcbiAgICB0b3A6IDEuNWVtO1xuICAgIGJvdHRvbTogLjVlbTtcbiAgfVxufVxuXG4vLyBDcmVhdGUgaGVhZGluZyBtaXhpbnMgXG5cbkBtaXhpbiB0aXRsZSB7XG4gIGZvbnQtc2l6ZTogJHRpdGxlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbkBtaXhpbiBoMSB7XG4gIGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbkBtaXhpbiBoMiB7XG4gIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbkBtaXhpbiBoMyB7XG4gIGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbkBtaXhpbiBoNCB7XG4gIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbkBtaXhpbiBoNSB7XG4gIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbkBtaXhpbiBoNiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBmb250LXNpemU6ICRoNi1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgxIHtcbiAgQGluY2x1ZGUgaDEoKTtcbn1cblxuaDIge1xuICBAaW5jbHVkZSBoMigpO1xufVxuXG5oMyB7XG4gIEBpbmNsdWRlIGgzKCk7XG59XG5cbmg0IHtcbiAgQGluY2x1ZGUgaDQoKTtcbn1cblxuaDUge1xuICBAaW5jbHVkZSBoNSgpO1xufVxuXG5oNiB7XG4gIEBpbmNsdWRlIGg2KCk7IFxufVxuXG4vLyBSZW1vdmUgdXNlciBhZ2VudCBzdHlsZXNcblxuY2l0ZSwgXG52YXIsIFxuYWRkcmVzcywgXG5kZm4ge1xuIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy8gQ3VzdG9tIHR5cG9ncmFwaHlcblxuLnVzYS1jb250ZW50IHtcbiAgcCB7XG4gICAgbWF4LXdpZHRoOiAkdGV4dC1tYXgtd2lkdGg7XG4gIH0gIFxufVxuXG4udXNhLWNvbnRlbnQtbGlzdCB7XG4gIG1heC13aWR0aDogJHRleHQtbWF4LXdpZHRoO1xufVxuXG5wLCBcbi51c2EtY29udGVudC1saXN0IHtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLnVzYS1zYW5zIHtcbiAgcCwgXG4gIGEsIFxuICBsaSwgXG4gIHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICB9XG59XG5cbi51c2Etc2VyaWYge1xuICBwLCBcbiAgYSwgXG4gIGxpLCBcbiAgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlcmlmO1xuICB9XG59XG5cbi51c2Etc2FucyBhIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbi51c2EtZGlzcGxheSB7XG4gIEBpbmNsdWRlIGgzKCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHNtYWxsLXNjcmVlbikge1xuICAgIEBpbmNsdWRlIGgxKCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIEBpbmNsdWRlIHRpdGxlKCk7XG4gIH1cbn1cblxuLnVzYS1mb250LWxlYWQge1xuICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNlcmlmO1xuICBsaW5lLWhlaWdodDogJGxlYWQtbGluZS1oZWlnaHQ7XG59XG5cbi51c2EtaW1hZ2UtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51c2EtaW1hZ2UtdGV4dC1ibG9jayB7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiA4JTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG59XG5cbi51c2EtaW1hZ2UtdGV4dCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi51c2EtZHJvcF90ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnVzYS1iYWNrZ3JvdW5kLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1kYXJrO1xuXG4gIHAsIHNwYW4ge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktbGlnaHRlcjtcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi51c2EtdGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuXG4vLyBUeXBvZ3JhcGh5XG4kZm9udC1zYW5zOiAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ1NvdXJjZSBTYW5zIFBybycsICdBcmlhbCcsIHNhbnMtc2VyaWY7XG4kZm9udC13ZWlnaHQtZXh0cmEtbGlnaHQ6IDEwMDtcbiRmb250LXdlaWdodC1saWdodDogMjAwO1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiRmb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiRmb250LXdlaWdodC1tZWRpdW0taGVhdnk6IDYwMDtcbiRmb250LXdlaWdodC1oZWF2eTogNzAwO1xuXG4vLyBDb2xvclxuJGxleC1hbHBoYS1sZXZlbDogMC43NTtcbiRsZXgtbGlnaHQtZ3JleTogI2YxZjBmMDtcbiRsZXgtZ3JleTogI0JGQkZCRjtcbiRsZXgtZGFyay1ncmV5OiAjNTg1ODU4O1xuJGxleC1saWdodC1ibHVlOiAjMzc4N0JBO1xuJGxleC1ibHVlOiAjMDA1N0E4O1xuJGxleC1kYXJrLWJsdWU6ICMwMDFBNDk7XG4kbGV4LWdvbGQ6ICNFMEIxMTE7XG4kbGV4LXdoaXRlOiAjRkZGRkZGO1xuJGxleC1ibGFjazogIzAwMDAwMDtcblxuLy8gYWxlcnRzXG4kbGV4LWFsZXJ0LWJsdWU6ICM3NGM3ZGY7XG4kbGV4LWFsZXJ0LWdyZWVuOiAjN2VkYWExO1xuJGxleC1hbGVydC1yZWQ6ICNmZjkxOTE7XG4kbGV4LWFsZXJ0LXllbGxvdzogI2ZmZWU4ODtcblxuLy8gTWFnaWMgbnVtYmVyc1xuJGxleC1zZWN0aW9uLWd1dHRlcjogMS43ZW07XG4kbGV4LXNlY3Rpb24taGFsZi1ndXR0ZXI6ICRsZXgtc2VjdGlvbi1ndXR0ZXIgLyAyO1xuJGxleC1zZWN0aW9uLWRvdWJsZS1ndXR0ZXI6ICRsZXgtc2VjdGlvbi1ndXR0ZXIgKiAyO1xuJGxleC1tYXgtd2lkdGg6IDEyMDBweDtcblxuLy8gV0RTIG92ZXJyaWRlc1xuJGNvbG9yLXByaW1hcnk6ICRsZXgtYmx1ZTtcblxuLy8gSW1wb3J0IFdEU1xuQGltcG9ydCAnLi4vd2ViZGVzaWduc3RhbmRhcmRzL19zY3NzL2FsbCc7XG5AaW1wb3J0ICcuL2VsZW1lbnRzL190eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4vZWxlbWVudHMvX2FkZHJlc3Nlcyc7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvX2FsZXJ0cyc7XG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvX2NhcmRzJztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9fYnJvd3NlbmF2JztcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9fZm9ybXMnO1xuLy8gT3ZlcnJpZGUgV0RTIHN0eWxlcyAoYXZvaWQgd2hlbiBwb3NzaWJsZSlcbkBpbXBvcnQgJy4vd2RzLW92ZXJyaWRlcyc7XG5cblxuLy8gQ29yZSBMZXhpbmd0b24gc3R5bGVzXG5ib2R5IHtcbiAgY29sb3I6ICRsZXgtZGFyay1ncmV5O1xufVxuXG4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxleC1saWdodC1ibHVlO1xufVxuXG4ubGV4LWhlYWRpbmcge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbn1cblxuLmxleC1zZWN0aW9uLWhlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbn1cblxuLmxleC1mcm9udHBhZ2UgLmxleC1zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xleGluZ3Rvbi1oZXJvLmpwZycpO1xufVxuLmxleC1zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xleGluZ3Rvbi1oZXJvLWludGVyaW9yLmpwZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuKSB7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gIH1cbn1cblxuLmxleC1xdWlja2xpbmtzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgbGkge1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMC4zZW0gMDtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgfVxuICB9XG59XG5cbi5sZXgtc2l0ZS1uYXZiYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRsZXgtd2hpdGUsICRsZXgtYWxwaGEtbGV2ZWwpO1xuICBwYWRkaW5nLXRvcDogOXB4O1xuICBwYWRkaW5nLWJvdHRvbTogJGxleC1zZWN0aW9uLWhhbGYtZ3V0dGVyO1xuICAubGV4LWxvZ28ge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9sZXhpbmd0b24tbG9nby5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9sZXhpbmd0b24tbG9nby5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICAubGV4LWxvZ28ge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgICBwYWRkaW5nOiAyNXB4IDAgMjVweCAyNXB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4pIHtcbiAgICBwYWRkaW5nOiAyNXB4IDAgMjVweCAwO1xuICB9XG59XG5cbi5sZXgtZnJvbnRwYWdlIHtcbiAgLmxleC1zaXRlLW5hdmJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgfVxufVxuXG5cbi5sZXgtc2l0ZS1uYXZiYXItc2Vjb25kYXJ5IHtcbiAgbWFyZ2luLXRvcDogMC43ZW07XG4gIC5sZXgtc2VhcmNoIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbikge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbn1cblxuLmxleC1ncmlkLWZ1bGwge1xuICBtYXgtd2lkdGg6ICRsZXgtbWF4LXdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4O1xuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4ubGV4LXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAkbGV4LXNlY3Rpb24tZ3V0dGVyO1xufVxuXG4vLyBsYXlvdXQgY29tcG9uZW50c1xuLmxleC1zbGFiIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy10b3A6ICRsZXgtc2VjdGlvbi1ndXR0ZXI7XG59XG5cbi5sZXgtc2xhYi1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxleC1saWdodC1ncmV5O1xufVxuXG4ubGV4LXNsYWItYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsZXgtZGFyay1ibHVlO1xuICAmLCBhLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkbGV4LWdyZXk7XG4gIH1cbiAgLmxleC1mb250LXN0YW5kb3V0LCAubGV4LWZvbnQtc3RhbmRvdXQ6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRsZXgtd2hpdGU7XG4gIH1cbiAgLmxleC1zZWN0aW9uLWhlYWRpbmcubGV4LWZvbnQtc3RhbmRvdXQge1xuICAgIGNvbG9yOiAkbGV4LWdvbGQ7XG4gIH1cbn1cblxuLmxleC1yZWdpb24taGlnaGxpZ2h0ZWQge1xuICBwYWRkaW5nLWJvdHRvbTogJGxleC1zZWN0aW9uLWd1dHRlcjtcbn1cblxuLmxleC1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubGV4LXJlZ2lvbi1icmVhZGNydW1iIHtcbiAgcGFkZGluZy1ib3R0b206ICRsZXgtc2VjdGlvbi1oYWxmLWd1dHRlcjtcbiAgJi5sZXgtc2xhYiB7XG4gICAgcGFkZGluZy10b3A6ICRsZXgtc2VjdGlvbi1oYWxmLWd1dHRlcjtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuKSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRsZXgtc2VjdGlvbi1ndXR0ZXI7XG4gICAgJi5sZXgtc2xhYiB7XG4gICAgICBwYWRkaW5nLXRvcDogJGxleC1zZWN0aW9uLWd1dHRlcjtcbiAgICB9XG4gIH1cbiAgYSwgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4ubGV4LWJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICAubGV4LWljb24ge1xuICAgIHBhZGRpbmc6IDAgMC4yZW0gMCAwLjFlbTtcbiAgICBjb2xvcjogJGxleC1ncmV5O1xuICB9XG59XG5cbiNibG9jay11cmJhbmNvdW50eWNvdW5jaWxodG1sIHtcbiAgLmxleC1jYXJkLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICB9XG4gIC5sZXgtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxufVxuXG4ubGV4LWhvcml6b250YWwtbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuXG4ubGV4LXNlYXJjaC1oZXJvLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuKSB7XG4gICAgcGFkZGluZy10b3A6IDIyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxufVxuXG5pbnB1dDpmb2N1cywgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmxleC1zZWFyY2gge1xuICAubGV4LXNlYXJjaC1zdWJtaXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxleC1ncmV5O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGV4LWdyZXk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGV4LWdyZXk7XG4gIH1cblxuICAvKiByaWdodC1hbGlnbiBzZWFyY2ggaWNvbiAqL1xuICAubGV4LXNlYXJjaC1zdWJtaXQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxleC1ncmV5O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsZXgtZ3JleTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxleC1ncmV5O1xuICB9XG5cbiAgLmxleC1pY29uIHtcbiAgICBjb2xvcjogJGxleC1kYXJrLWdyZXk7XG4gIH1cbiAgLmxleC1zdWJtaXQtZHJ1cGFscHJvdmlkZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmxleC1zZWFyY2gtcGFnZS1mb3JtIHtcbiAgbWFyZ2luLXRvcDogJGxleC1zZWN0aW9uLWRvdWJsZS1ndXR0ZXI7XG59XG5cbi5sZXgtc2VhcmNoLWhlcm8ge1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGV4LWRhcmstYmx1ZSwgJGxleC1hbHBoYS1sZXZlbCk7XG5cbiAgLmxleC1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbikge1xuICAgIHdpZHRoOiA0MCU7XG5cbiAgICAubGV4LXNlYXJjaCB7XG4gICAgICBAZXh0ZW5kIC51c2Etc2VhcmNoLWJpZztcbiAgICB9XG4gIH1cbn1cblxuLmxleC1zdGFuZG91dGxpbmtzIHtcbiAgLmxleC1pY29uIHtcbiAgICBmb250LXNpemU6IDIuN2VtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIH1cbn1cblxuLmxleC1pbWFnZS10ZWFzZXIge1xuICAvLyB0b2RvOiBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIGltYWdlIGZvcm1hdHRlciBhZGQgY2xhc3MgdG8gaW1nIHRhZ1xuICBpbWcge1xuICAgIC8vIG1haW50YWluIGFzcGVjdCByYXRpb1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogQXV0bztcbiAgfVxufVxuXG4ubGV4LWZlYXR1cmVkLWJvdHRvbSB7XG4gIC8vIGxleC1zZWN0aW9uLWhlYWRpbmdzIGFkZCBvdGhlciBoYWxmLiB0b2RvOiB1c2Ugb25lIG9yIHRoZSBvdGhlclxuICBwYWRkaW5nLXRvcDogJGxleC1zZWN0aW9uLWd1dHRlciAvIDI7XG4gIHBhZGRpbmctYm90dG9tOiAkbGV4LXNlY3Rpb24tZ3V0dGVyO1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGV4LWdyZXk7XG4gIH1cbn1cblxuLmxleC1tb3JlbGluayB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDhlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgYSwgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLmxleC1zdWItZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6ICRsZXgtc2VjdGlvbi1ndXR0ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAkbGV4LXNlY3Rpb24taGFsZi1ndXR0ZXI7XG59XG5cbi5sZXgtc2VhbCB7XG4gIHdpZHRoOiA1MHB4O1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwidWwsIG9sIHtcbiAgbWFyZ2luOiB7XG4gICAgdG9wOiAyZW07XG4gICAgYm90dG9tOiAyZW07XG4gIH1cblxuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbjoge1xuICAgICAgdG9wOiAuNzVlbTtcbiAgICAgIGJvdHRvbTogLjc1ZW07XG4gICAgfVxuICB9XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAge1xuICArIHVsLFxuICArIG9sIHtcbiAgICBtYXJnaW46IHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxudWwsIG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBkaXNwbGF5OiB0YWJsZTtcblxuICBsaTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxufVxuXG51bCBsaSB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigKJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNGVtO1xuICB9XG59XG5cbm9sIGxpIHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xuICBjb3VudGVyLWluY3JlbWVudDogdGFibGUtb2w7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIodGFibGUtb2wpIFwiLlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcGFkZGluZy1yaWdodDogMC40ZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxubGkge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLy8gVW5zdHlsZWQgbGlzdHNcblxuLnVzYS11bnN0eWxlZC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJsb2NrIGZvcm0gZWxlbWVudHNcbmlucHV0LFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cImZpbGVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXG50ZXh0YXJlYSxcbnNlbGVjdCAge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICMwMDA7IC8vIHN0YW5kYXJkaXplIG9uIGZpcmVmb3ggXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgbWFyZ2luOiAuMmVtIDA7XG4gIG1heC13aWR0aDogJGlucHV0LW1heC13aWR0aDtcbiAgd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW0gLjdlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzLCBcbiAgJi51c2EtaW5wdXQtZm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRmb2N1cy1zaGFkb3c7XG4gIH1cblxuICAmLnVzYS1pbnB1dC1zdWNjZXNzIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItZ3JlZW4tbGlnaHQ7XG4gIH1cbn1cblxuLnVzYS1pbnB1dC1lcnJvciB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGNvbG9yLXNlY29uZGFyeS1kYXJrO1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBwYWRkaW5nOiB7XG4gICAgYm90dG9tOiAuOHJlbTtcbiAgICBsZWZ0OiAxLjVyZW07XG4gICAgdG9wOiAuOHJlbTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAxLjlyZW07XG4gIFxuICBpbnB1dCB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yLXNlY29uZGFyeS1kYXJrO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjVyZW0pO1xuICB9XG4gIFxuICBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4udXNhLWlucHV0LWVycm9yLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cblxuLnVzYS1pbnB1dC1lcnJvci1tZXNzYWdlIHtcbiAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnktZGFyaztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgcGFkZGluZzoge1xuICAgIGJvdHRvbTogM3B4O1xuICAgIHRvcDogM3B4O1xuICB9XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjoge1xuICAgIHRvcDogM3JlbTtcbiAgfVxuICBtYXgtd2lkdGg6ICRpbnB1dC1tYXgtd2lkdGg7XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiAxNnJlbTtcbn1cblxuc2VsZWN0IHtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYXJyb3ctZG93bi5wbmcnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYXJyb3ctZG93bi5zdmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4zcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjNyZW07XG59XG5cbmxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG59XG5cbi51c2EtZmllbGRzZXQtaW5wdXRzIHtcbiAgbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gSGludCB0ZXh0XG5cbi51c2EtZm9ybS1oaW50IHtcbiAgY29sb3I6ICM3NTc1NzU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKipcbiAqIEN1c3RvbSBjaGVja2JveGVzXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xuXG4gIC5sdC1pZTkgJiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogLjRlbSAuNGVtIDAgMDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM3NTc1NzU7XG4gIGNvbnRlbnQ6ICdcXGEwJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IC44O1xuICBtYXJnaW4tcmlnaHQ6IC42ZW07XG4gIHRleHQtaW5kZW50OiAuMTVlbTtcbiAgdmVydGljYWwtYWxpZ246IC4yZW07XG4gIHdpZHRoOiAxLjhyZW07XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjpiZWZvcmUgeyAgXG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmLCAwIDAgMCAzcHggIzc1NzU3NTtcbiAgaGVpZ2h0OiAxLjZyZW07ICBcbiAgd2lkdGg6IDEuNnJlbTsgIFxufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3ItcHJpbWFyeTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci13aGl0ZSwgMCAwIDAgNHB4ICRjb2xvci1wcmltYXJ5OyBcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3Itd2hpdGUsIDAgMCAwIDRweCAkY29sb3ItcHJpbWFyeSwgMCAwIDNweCA0cHggJGNvbG9yLWZvY3VzLCAwIDAgN3B4IDRweCAkY29sb3ItZm9jdXM7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NvcnJlY3Q4LnBuZycpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jb3JyZWN0OC5zdmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvci13aGl0ZSwgMCAwIDAgM3B4ICRjb2xvci1wcmltYXJ5O1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gIGNvbG9yOiAkY29sb3ItZ3JheTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS1saWdodGVyO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yLWdyYXktbGlnaHQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vIFJhbmdlIGlucHV0c1xuXG5pbnB1dFt0eXBlPXJhbmdlXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNiZGJkYmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3NTc1NzU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzU3NTc1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMS4ycmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3NTc1NzU7XG4gIGhlaWdodDogMi4ycmVtO1xuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXRvcDogLS42NXJlbTsgIFxuICB3aWR0aDogMi4ycmVtO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3NTc1NzU7XG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDIuMnJlbTtcbiAgd2lkdGg6IDIuMnJlbTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3NTc1NzU7XG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDIuMnJlbTtcbiAgd2lkdGg6IDIuMnJlbTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogI2JkYmRiZDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc1NzU3NTtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLXVwcGVyIHtcbiAgYmFja2dyb3VuZDogI2JkYmRiZDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc1NzU3NTtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWZvY3VzO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpmb2N1czo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1mb2N1cztcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi1tcy10aHVtYiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1mb2N1cztcbn1cblxuLy8gTWVtb3JhYmxlIGRhdGVzXG5cbi51c2EtZGF0ZS1vZi1iaXJ0aCB7XG4gIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBcbiAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IFxuICB9XG5cbiAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxufVxuXG4udXNhLWZvcm0tZ3JvdXAtZGF5LCBcbi51c2EtZm9ybS1ncm91cC1tb250aCwgXG4udXNhLWZvcm0tZ3JvdXAteWVhciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gIHdpZHRoOiA1cmVtO1xufVxuXG4udXNhLWZvcm0tZ3JvdXAteWVhciB7XG4gIHdpZHRoOiA3cmVtO1xufVxuIiwiLy8gQnV0dG9ucyB2YXJpYWJsZXNcblxuJGJ1dHRvbi1zdHJva2U6IGluc2V0IDAgMCAwIDJweDtcblxuLy8gQnV0dG9uc1xuXG4udXNhLWJ1dHRvbixcbi51c2EtYnV0dG9uLXByaW1hcnksXG4udXNhLWJ1dHRvbjp2aXNpdGVkLFxuLnVzYS1idXR0b24tcHJpbWFyeTp2aXNpdGVkLFxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cImltYWdlXCJdIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiB7XG4gICAgdG9wOiAuNWVtO1xuICAgIGJvdHRvbTogLjVlbTtcbiAgICByaWdodDogLjVlbTtcbiAgfVxuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgJjpob3ZlcixcbiAgJi51c2EtYnV0dG9uLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kYXJrZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYudXNhLWJ1dHRvbi1mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJGZvY3VzLXNoYWRvdztcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLnVzYS1idXR0b24tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kYXJrZXN0O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzbWFsbC1zY3JlZW4pIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gICYudXNhLWJ1dHRvbi1wcmltYXJ5LWFsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktYWx0O1xuICAgIGNvbG9yOiAkY29sb3ItYmFzZTtcblxuICAgICY6aG92ZXIsXG4gICAgJi51c2EtYnV0dG9uLWhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWFsdC1kYXJrO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICYudXNhLWJ1dHRvbi1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktYWx0LWRhcmtlc3Q7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYudXNhLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG5cbiAgICAmOmhvdmVyLFxuICAgICYudXNhLWJ1dHRvbi1ob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LWRhcms7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi51c2EtYnV0dG9uLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LWRhcmtlc3Q7XG4gICAgfVxuICB9XG5cbiAgJi51c2EtYnV0dG9uLWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5O1xuXG4gICAgJjpob3ZlcixcbiAgICAmLnVzYS1idXR0b24taG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktZGFyaztcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLnVzYS1idXR0b24tYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYXNlO1xuICAgIH1cbiAgfVxuXG4gICYudXNhLWJ1dHRvbi1vdXRsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgYm94LXNoYWRvdzogJGJ1dHRvbi1zdHJva2UgJGNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXG4gICAgJjpob3ZlcixcbiAgICAmLnVzYS1idXR0b24taG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1zdHJva2UgJGNvbG9yLXByaW1hcnktZGFya2VyO1xuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRhcmtlcjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLnVzYS1idXR0b24tYWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRidXR0b24tc3Ryb2tlICRjb2xvci1wcmltYXJ5LWRhcmtlc3Q7XG4gICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGFya2VzdDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYudXNhLWJ1dHRvbi1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnV0dG9uLXN0cm9rZSAkY29sb3ItcHJpbWFyeS1kYXJrZXN0LCAkZm9jdXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICYudXNhLWJ1dHRvbi1vdXRsaW5lLWludmVyc2Uge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6ICRidXR0b24tc3Ryb2tlICRjb2xvci13aGl0ZTtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmLnVzYS1idXR0b24taG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1zdHJva2UgJGNvbG9yLWdyYXktbGlnaHRlcjtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1saWdodGVyO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICYudXNhLWJ1dHRvbi1hY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1zdHJva2UgJGNvbG9yLWdyYXktbGlnaHQ7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyYXktbGlnaHRlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYudXNhLWJ1dHRvbi1mb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnV0dG9uLXN0cm9rZSAkY29sb3ItZ3JheS1saWdodCwgJGZvY3VzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmLnVzYS1idXR0b24tYmlnIHtcbiAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbTtcbiAgfVxufVxuXG5bdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZCxcbi51c2EtYnV0dG9uLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktbGlnaHRlcjtcbiAgY29sb3I6ICRjb2xvci1ncmF5LWRhcms7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAmOmhvdmVyLFxuICAmLnVzYS1idXR0b24taG92ZXIsXG4gICY6YWN0aXZlLFxuICAmLnVzYS1idXR0b24tYWN0aXZlLFxuICAmOmZvY3VzICB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktbGlnaHRlcjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFyaztcbiAgfVxufVxuXG4udXNhLWJ1dHRvbi11bnN0eWxlZCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICB9XG59XG4iLCJ0YWJsZSB7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBtYXJnaW46IDJlbSAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG5cbiAgdGhlYWQge1xuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0ZXN0O1xuICAgIH1cblxuICAgIHRoIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgdGgsIHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheTtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuLnVzYS10YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGhlYWQge1xuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICB0aCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGgsIHRkIHtcbiAgICBib3JkZXI6IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbn1cbiIsImltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8gVE9ETzogQWRkIGRvY3VtZW50YXRpb24gaW5zdHJ1Y3Rpb25zIGZvciB1c2luZyB0aGlzIGNsYXNzIG9uIGltYWdlIGxpbmtzXG4ubWVkaWFfbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8vIFBhdGNoIGZvciBGaXJlZm94OiBtYXgtd2lkdGg6MTAwJSBpcyBub3QgcmVzcGVjdGVkIHdpdGhpbiBhdXRvLXdpZHRoIGlubGluZSBcbi8vIGJsb2Nrc1xuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLm1lZGlhX2xpbmsge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi51c2EtbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcbiAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgcGFkZGluZzoge1xuICAgIGJvdHRvbTogMC4xcmVtO1xuICAgIGxlZnQ6IDAuN3JlbTtcbiAgICByaWdodDogMC43cmVtO1xuICAgIHRvcDogMC4zcmVtO1xuICB9XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgJjpvbmx5LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4udXNhLWxhYmVsLWJpZyB7XG4gIEBleHRlbmQgLnVzYS1sYWJlbDtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIHBhZGRpbmc6IHtcbiAgICBsZWZ0OiAuOXJlbTtcbiAgICByaWdodDogLjlyZW07XG4gIH1cbn1cblxuYSB7XG4gICYudXNhLWxhYmVsIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kYXJrZXI7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5za2lwbmF2IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItYmFzZTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzoge1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICBsZWZ0OiAxLjVyZW07XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICB0b3A6IDFyZW07XG4gIH1cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00LjJyZW07XG4gIHotaW5kZXg6IDEwMDtcbiAgXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCIudXNhLWRpc2NsYWltZXIge1xuICBAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuKSB7XG4gICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuICB9XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0ZXN0O1xuICBmb250LXNpemU6ICRoNi1mb250LXNpemU7XG4gIHBhZGRpbmc6IHtcbiAgICBib3R0b206IC41cmVtO1xuICAgIHRvcDogLjVyZW07XG4gIH1cbn1cblxuLy8gVGhpcyBoaWRlcyB0aGUgc3RhZ2Ugbm90ZSAoaS5lLiBhbHBoYSwgYmV0YSwgZXRjKSBvZiB0aGUgZGlzY2xhaW1lciBmb3IgXG4vLyBhbnl0aGluZyBzbWFsbGVyIHRoYW4gbGFyZ2Ugc2NyZWVuIHNpemVzXG4udXNhLWRpc2NsYWltZXItc3RhZ2Uge1xuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4udXNhLWZsYWdfaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogLjJyZW07XG59XG4iLCIudXNhLXNpZGVuYXYtbGlzdCB7XG4gIEBpbmNsdWRlIHVuc3R5bGVkLWxpc3QoKTtcblxuICBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmF5O1xuICAgIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvci1iYXNlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGJvdHRvbTogMXJlbTtcbiAgICAgIGxlZnQ6IDEuOHJlbTtcbiAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktbGlnaHRlc3Q7XG4gICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICYudXNhLWN1cnJlbnQge1xuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgfVxuXG4gICAgJi51c2EtY3VycmVudCB7XG4gICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjRyZW07XG4gICAgfVxuICB9XG59XG5cbi51c2Etc2lkZW5hdi1zdWJfbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgbGkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6ICRoNS1mb250LXNpemU7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG4gIH1cblxuICBhOmhvdmVyLFxuICBhLnVzYS1jdXJyZW50IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjhyZW07XG4gIH1cblxuICAudXNhLXNpZGVuYXYtc3ViX2xpc3Qge1xuICAgIGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjhyZW07XG4gICAgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuOHJlbTtcbiAgICB9XG4gIH1cbn0iLCIudXNhLWZvb3RlciB7XG4gIC51c2EtdW5zdHlsZWQtbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAudXNhLWZvb3Rlci1wcmltYXJ5LWxpbmsge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBib3R0b206IDJyZW07XG4gICAgICB0b3A6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxufVxuXG4udXNhLWZvb3Rlci1yZXR1cm4tdG8tdG9wIHtcbiAgcGFkZGluZzoge1xuICAgIGJvdHRvbTogMnJlbTsgICAgXG4gICAgdG9wOiAycmVtO1xuICB9XG59XG5cbi51c2EtZm9vdGVyLXByaW1hcnktc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0ZXN0O1xuXG4gIC51c2EtZm9vdGVyLXByaW1hcnktY29udGVudCB7XG4gICAgcGFkZGluZzoge1xuICAgICAgbGVmdDogMi41cmVtO1xuICAgICAgcmlnaHQ6IDIuNXJlbTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICBwYWRkaW5nOiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH0gIFxuICB9XG5cbiAgLnVzYS1ncmlkLWZ1bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICBwYWRkaW5nOiB7XG4gICAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgICAgcmlnaHQ6IDIuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLndpZHRoLW9uZS1zaXh0aCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMik7XG4gIH0gIFxufVxuXG4udXNhLWZvb3Rlci1tZWRpdW0ge1xuICAudXNhLWZvb3Rlci1wcmltYXJ5LXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICBib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnVzYS1mb290ZXItbmF2IHVsIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7ICBcbiAgICB9XG4gIH0gIFxufVxuXG4udXNhLWZvb3Rlci1zbGltIHtcblxuICAudXNhLWZvb3Rlci1uYXYgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAudXNhLWZvb3Rlci1wcmltYXJ5LXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICBwYWRkaW5nOiB7XG4gICAgICAgIGJvdHRvbTogMXJlbTtcbiAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAudXNhLWdyaWQtZnVsbCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7ICAgICBcbiAgICAgIH0gICAgICBcbiAgICB9XG4gIH1cbn1cblxudWwudXNhLWZvb3Rlci1wcmltYXJ5LWNvbnRlbnQsXG5saS51c2EtZm9vdGVyLXByaW1hcnktY29udGVudCxcbmxpLnVzYS1mb290ZXItcHJpbWFyeS1jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1iYXNlOyAgICAgIFxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1iYXNlO1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG5cbi51c2Etc2lnbl91cC1ibG9jayB7XG4gIHBhZGRpbmc6IHtcbiAgICBib3R0b206IDJyZW07XG4gICAgbGVmdDogMi41cmVtO1xuICAgIHJpZ2h0OiAyLjVyZW07XG4gIH1cblxuICBsYWJlbDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgfSAgXG59XG5cbi51c2EtZm9vdGVyLXNlY29uZGFyeV9zZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktbGlnaHRlcjtcbiAgcGFkZGluZzoge1xuICAgIHRvcDogM3JlbTtcbiAgICBib3R0b206IDNyZW07XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gIH1cbn1cblxuLnVzYS1mb290ZXItYmlnLXNlY29uZGFyeS1zZWN0aW9uIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgfSAgXG59XG5cbi51c2EtZm9vdGVyLWNvbnRhY3QtbGlua3Mge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi51c2EtZm9vdGVyLWJpZyB7XG4gIC51c2EtZm9vdGVyLXByaW1hcnktc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgdG9wOiAzcmVtO1xuICAgICAgICBib3R0b206IDRyZW07XG4gICAgICB9ICAgICAgXG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1iYXNlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH0gICAgXG5cbiAgICAudXNhLWZvb3Rlci1wcmltYXJ5LWxpbmsge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYXJyb3ctZG93bi5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2Fycm93LWRvd24uc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxLjVyZW0gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4zcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oaWRkZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIC51c2EtZm9vdGVyLXByaW1hcnktbGluayB7IFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hcnJvdy1yaWdodC5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuICAgICAgICBcbiAgICAgIGxpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgfVxufVxuXG4udXNhLWZvb3Rlci10b3BpYyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMnJlbSAwO1xufVxuXG4udXNhLXNpZ25fdXAtaGVhZGVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuICB9XG59XG5cbi51c2EtZm9vdGVyLWxvZ28taW1nIHtcbiAgbWF4LXdpZHRoOiAxNHJlbTtcbn1cblxuLnVzYS1mb290ZXItc2xpbS1sb2dvLWltZyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXgtd2lkdGg6IDEwcmVtOyBcbn1cblxuLnVzYS1mb290ZXItbG9nby1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLnVzYS1mb290ZXItY29udGFjdC1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgIFxuICB9XG59XG5cbi51c2EtZm9vdGVyLXNsaW0tbG9nby1oZWFkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6IDFlbTtcbiAgICB9XG4gIH1cbn1cbiIsIiR1c2EtZm9ybS13aWR0aDogMzJyZW07XG5cbmZvcm0ge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIG1heC13aWR0aDogJHVzYS1mb3JtLXdpZHRoO1xuICB9XG5cbiAgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuXG4gIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgICAgcGFkZGluZzoge1xuICAgICAgICBsZWZ0OiAyLjdlbTtcbiAgICAgICAgcmlnaHQ6IDIuN2VtO1xuICAgICAgfVxuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgfVxuXG4gIGlucHV0W25hbWU9XCJwYXNzd29yZFwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xcmVtO1xuICB9XG59XG5cbi51c2EtZm9ybS1ub3RlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAmICsgKiB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnVzYS1mb3JtLWxhcmdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBtYXgtd2lkdGg6IDQ2cmVtO1xuICB9XG59XG5cbmlucHV0LnVzYS1pbnB1dC10aW55IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBtYXgtd2lkdGg6IDZyZW07XG4gIH1cbn1cblxuaW5wdXQudXNhLWlucHV0LW1lZGl1bSB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgbWF4LXdpZHRoOiAxMnJlbTtcbiAgfVxufVxuXG4udXNhLWlucHV0LWdyaWQge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuICB9XG59XG5cbi51c2EtaW5wdXQtZ3JpZDpsYXN0LW9mLXR5cGUge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnVzYS1pbnB1dC1ncmlkLXNtYWxsIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzUlO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbn1cblxuLnVzYS1pbnB1dC1ncmlkLW1lZGl1bSB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY1JTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG59XG5cbi51c2EtaW5wdXQtZ3JpZC1sYXJnZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgfVxufVxuXG4udXNhLWZvcm0td2lkdGgge1xuICBtYXgtd2lkdGg6ICR1c2EtZm9ybS13aWR0aDtcbn1cblxuLnVzYS1hZGRpdGlvbmFsX3RleHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnVzYS1pbnB1dC1idXR0b25zLWlubGluZSB7XG4gIGJ1dHRvbixcbiAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gICYgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbiAgfVxufVxuXG4vLyBSZXNldCBwYXNzd29yZCBjaGVja2xpc3RcblxuLnVzYS1jaGVja2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IHtcbiAgICAgIGJvdHRvbTogMGVtO1xuICAgICAgdG9wOiAwZW07XG4gICAgfVxuICAgIHBhZGRpbmctbGVmdDogM2VtO1xuICAgIHRleHQtaW5kZW50OiAtMmVtO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAuOGVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICAgICAgd2lkdGg6IDEuOGVtO1xuICAgIH1cbiAgfVxufVxuXG4udXNhLWNoZWNrbGlzdC1jaGVja2VkIHtcbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NvcnJlY3Q5LnBuZycpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NvcnJlY3Q5LnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIH1cbn1cbiIsIiR1c2EtYnRuLXNtYWxsLXdpZHRoOiAgIDQuNXJlbTtcbiR1c2EtYnRuLW1lZGl1bS13aWR0aDogIDguNXJlbTtcbiR1c2EtYnRuLWJpZy13aWR0aDogICAgIDExLjZyZW07XG5cbkBtaXhpbiBzZWFyY2gtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3NlYXJjaC5wbmcnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc2VhcmNoLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51c2Etc2VhcmNoIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIFt0eXBlPVwic2VhcmNoXCJdLFxuICAudXNhLXNlYXJjaC1pbnB1dCB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjoge1xuICAgICAgYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIHJpZ2h0OiBub25lO1xuICAgICAgdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAzLjNyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHVzYS1idG4tc21hbGwtd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyR1c2EtYnRuLW1lZGl1bS13aWR0aH0pO1xuICAgIH1cbiAgfVxuXG4gIFt0eXBlPVwic3VibWl0XCJdLFxuICAudXNhLXNlYXJjaC1zdWJtaXQge1xuICAgIEBpbmNsdWRlIHNlYXJjaC1pY29uO1xuICAgIGJvcmRlcjoge1xuICAgICAgYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICBoZWlnaHQ6IDMuM3JlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogJHVzYS1idG4tc21hbGwtd2lkdGg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkc21hbGwtc2NyZWVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgd2lkdGg6ICR1c2EtYnRuLW1lZGl1bS13aWR0aDtcbiAgICB9XG4gIH1cblxuICAudXNhLXNlYXJjaC1zdWJtaXQtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYudXNhLXNlYXJjaC1iaWcge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4pIHtcbiAgICAgICRoZWlnaHQ6IDQuNHJlbTtcbiAgICAgICR3aWR0aDogJHVzYS1idG4tYmlnLXdpZHRoO1xuXG4gICAgICBbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAgIC51c2Etc2VhcmNoLWlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skd2lkdGh9KTtcbiAgICAgIH1cblxuICAgICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgICAudXNhLXNlYXJjaC1zdWJtaXQge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnVzYS1zZWFyY2gtc21hbGwge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRzbWFsbC1zY3JlZW4pIHtcbiAgICAgICR3aWR0aDogJHVzYS1idG4tc21hbGwtd2lkdGg7XG5cbiAgICAgIFt0eXBlPVwic2VhcmNoXCJdLFxuICAgICAgLnVzYS1zZWFyY2gtaW5wdXQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skd2lkdGh9KTtcbiAgICAgIH1cblxuICAgICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgICAudXNhLXNlYXJjaC1zdWJtaXQge1xuICAgICAgICBAaW5jbHVkZSBzZWFyY2gtaWNvbjtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi51c2EtYWxlcnQge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNS4ycmVtO1xuICB9XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0ZXN0OyAgXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMnJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA0cmVtO1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgcGFkZGluZzogMWVtO1xuXG4gIHVsIHtcbiAgICBtYXJnaW46IHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogMWVtO1xuICAgIH1cbiAgfVxufVxuXG4udXNhLWFsZXJ0LWljb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuXG4udXNhLWFsZXJ0LWJvZHkge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgfVxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nLWxlZnQ6IDMuNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnVzYS1hbGVydC1oZWFkaW5nIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBtYXJnaW4tdG9wOiAuM3JlbTtcbiAgfVxuICBtYXJnaW46IHtcbiAgICBib3R0b206IC4zcmVtO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4udXNhLWFsZXJ0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgbWFyZ2luOiB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4udXNhLWFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tbGlnaHRlc3Q7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2FsZXJ0cy9zdWNjZXNzLnBuZycpOyAgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2FsZXJ0cy9zdWNjZXNzLnN2ZycpOyAgXG59XG5cbi51c2EtYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1nb2xkLWxpZ2h0ZXN0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hbGVydHMvd2FybmluZy5wbmcnKTsgIFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hbGVydHMvd2FybmluZy5zdmcnKTsgICBcbn1cblxuLnVzYS1hbGVydC1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnktbGlnaHRlc3Q7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2FsZXJ0cy9lcnJvci5wbmcnKTsgIFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hbGVydHMvZXJyb3Iuc3ZnJyk7ICAgXG59XG5cbi51c2EtYWxlcnQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWFsdC1saWdodGVzdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYWxlcnRzL2luZm8ucG5nJyk7ICBcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYWxlcnRzL2luZm8uc3ZnJyk7ICAgXG59XG5cbi51c2EtYWxlcnQtbm9faWNvbiB7XG4gYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgXG59XG4iLCIvLyBWYXJpYWJsZXNcblxuJGFjY29yZGlvbi1ib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodGVzdDtcblxuLy8gQWNjb3JkaW9uIFN0eWxlc1xuXG4udXNhLWFjY29yZGlvbixcbi51c2EtYWNjb3JkaW9uLWJvcmRlcmVkIHtcblxuICArIC51c2EtYWNjb3JkaW9uLFxuICArIC51c2EtYWNjb3JkaW9uLWJvcmRlcmVkIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgPiB1bCB7XG4gICAgY29sb3I6ICRjb2xvci1iYXNlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1saWdodGVzdDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvblthcmlhLWV4cGFuZGVkPWZhbHNlXSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcGx1cy5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9wbHVzLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjNyZW07XG4gIH1cblxuICBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0ZXN0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL21pbnVzLnBuZycpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL21pbnVzLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDNyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAkY29sb3ItYmFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBib3R0b206IDEuNXJlbTtcbiAgICAgIGxlZnQ6IDNyZW07XG4gICAgICByaWdodDogNS41cmVtO1xuICAgICAgdG9wOiAxLjVyZW07XG4gICAgfVxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9jdXMtc2hhZG93O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktbGlnaHRlcjtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmFzZTtcbiAgICB9XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLnVzYS1hY2NvcmRpb24tYm9yZGVyZWQge1xuICAudXNhLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXI6IHtcbiAgICAgIGJvdHRvbTogJGFjY29yZGlvbi1ib3JkZXI7XG4gICAgICBsZWZ0OiAkYWNjb3JkaW9uLWJvcmRlcjtcbiAgICAgIHJpZ2h0OiAkYWNjb3JkaW9uLWJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuLnVzYS1hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDNyZW07XG5cbiAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsImgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xufVxuXG4vKiBmb3IgYmFzaWMgZG9jdW1lbnQgcmVhZGFiaWxpdHkgKi9cbi5sZXgtcmVnaW9uLWNvbnRlbnQge1xuICBoMSwgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICB9XG5cbiAgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtLWhlYXZ5O1xuICB9XG5cbiAgdWwgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ubGV4LXBhZ2V0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNWVtIDA7XG59XG5cbmEubGV4LWZvbnQsIGEsIGE6dmlzaXRlZCwgYTpob3ZlciwgYTphY3RpdmUge1xuICBjb2xvcjogJGxleC1kYXJrLWdyZXk7XG59XG5cbmE6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubGV4LWZvbnQtc3RhbmRvdXQge1xuICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5sZXgtc3RhbmRvdXRsaW5rcyB7XG4gIC5sZXgtY2FyZC10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuIiwiLmxleC1zdHJlZXQtYWRkcmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLmxleC1hbGVydCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC5sZXgtYWxlcnQtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG4gIC51c2EtYWxlcnQtYm9keSBwIHtcbiAgICBtYXJnaW46IDFlbSAwIDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4pIHtcbiAgICAvKiBjb21wZW5zYXRlIGZvciBleHRyYSBzdmcgcGFkZGluZyBpbiBXRFMgKi9cbiAgICBtYXgtd2lkdGg6ICRsZXgtbWF4LXdpZHRoICsgNDVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICAudXNhLWFsZXJ0LWJvZHkgcCB7XG4gICAgICBtYXJnaW46IC4yZW0gMCAwIDA7XG4gICAgfVxuICB9XG59XG5cbiIsIi5sZXgtY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206ICRsZXgtc2VjdGlvbi1ndXR0ZXI7XG59XG5cbi5sZXgtY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbn1cblxuLmxleC1ldmVudGNhcmQtdGl0bGVzZWN0aW9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3MyU7XG59XG5cbi5sZXgtZXZlbnRjYXJkLXN0YWNrZWRkYXRlIHtcbiAgd2lkdGg6IDEwJTtcbiAgbWFyZ2luLXJpZ2h0OiAkbGV4LXNlY3Rpb24tZ3V0dGVyO1xufVxuXG4ubGV4LXN0YWNrZWRkYXRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgLmxleC1jYXJkLXN1YnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmxleC1zdGFja2VkZGF0ZS1tb250aCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gIH1cbn1cblxuLmxleC1jYXJkLWZ1bGxkYXRlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubGV4LWhvcml6b250YWxjYXJkLWltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGV4LXNlY3Rpb24tZ3V0dGVyO1xuICAgIHdpZHRoOiAzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuLmxleC1jYXJkLXRpdGxlIHtcbiAgLy8gdG9kbzogcmVtb3RlIG1hcmdpbiBhbmQgYWRkIGxleC1jYXJkLWZpcnN0aXRlbSB0byBlbGVtZW50c1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICYubGV4LWNhcmQtdGl0bGUtbWVkaXVtIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgfVxuXG4gICYubGV4LWNhcmQtdGl0bGUtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cblxuICAmLmxleC1jYXJkLXRpdGxlLWV4dHJhbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICB9XG5cbiAgJi5sZXgtY2FyZC10aXRsZS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGV4dGVuZCAubGV4LWNhcmQtdGl0bGUubGV4LWNhcmQtdGl0bGUtZXh0cmFsYXJnZTtcbiAgfVxufVxuXG4ubGV4LWNhcmQtZmlyc3RpdGVtIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmxleC1jYXJkLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogLjVlbTtcbiAgLy8gdGhlIGNhcmQgYWRkIGJvdHRvbSBtYXJnaW5cbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiIsIiRsZXgtY2F0ZWdvcnktcGFkZGluZzogMS4ycmVtO1xuJGxleC1jYXRlZ29yeS1ndXR0ZXI6IDJyZW07XG5cbi5sZXgtYnJvd3NlbmF2IHtcbiAgJi5sZXgtZ3JpZC1mdWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGxleC1zZWN0aW9uLWd1dHRlcjtcbiAgfVxuXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgQGV4dGVuZCAubGV4LWZvbnQtc3RhbmRvdXQ7XG4gICAgQGV4dGVuZCAubGV4LWNhcmQtdGl0bGUubGV4LWNhcmQtdGl0bGUtaGVhZGluZztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIuM3JlbTtcbiAgfVxuICBhIHtcbiAgICBAZXh0ZW5kIC5sZXgtZm9udDtcbiAgfVxuICBhLmxleC1jdXJyZW50LCAubGV4LWN1cnJlbnQsIC5sZXgtY3VycmVudCBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGxleC1ibHVlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gIH1cbiAgLmxleC1yZWdpb24tY29udGVudC5sZXgtZ3JpZC1mdWxsIHtcbiAgICAvKiByZW1vdmUgdGhlIG5vcm1hbCBwYWRkaW5nICovXG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAubGV4LWJyb3dzZW5hdi1jb2x1bW4tYWN0aXZldHJhaWwge1xuICAgICYubGV4LWJyb3dzZW5hdi1yb290IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLy8gc21hbGxlciBzY3JlZW5zIHVzZSBicmVhZGNydW1iIG5hdiBmb3IgcHJldmlvdXMgbGV2ZWxzXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRsZXgtZ3JleTtcbiAgICAgIC5sZXgtYnJvd3NlbmF2LWNhdGVnb3J5IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGV4LWNhdGVnb3J5LWd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxleC1icm93c2VuYXYtbGlzdCBsaSB7XG4gIGEsIGEudXNhLWN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgYTpmb2N1cyB7XG4gICAgLyogaWYgcmVsYXRpdmUsIHRoZSBibHVlIGJhY2tncm91bmQgb3ZlcmxhcHMgdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQgKi9cbiAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgfVxuICBib3JkZXItdG9wOiBub25lO1xufVxuLmxleC1icm93c2VuYXYtY29sdW1uIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ubGV4LWJyb3dzZW5hdi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuICBtYXJnaW46IDA7XG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4pIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtZXh0cmEtbGlnaHQ7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjb250ZW50OiBcIlxcMjAzQVwiO1xuICAgICAgbWFyZ2luLXRvcDogLTRweFxuICAgIH1cbiAgICAmLmxleC1icm93c2VuYXYtbGluay13aXRoZGVzY3JpcHRpb246YWZ0ZXIge1xuICAgICAgbWFyZ2luLXRvcDogLTMwcHg7XG4gICAgfVxuICB9XG59XG4ubGV4LWJyb3dzZW5hdi1zZWNvbmRhcnkge1xuICAubGV4LWJyb3dzZW5hdi1saW5rIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yZW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbikge1xuICAgIHBhZGRpbmctbGVmdDogJGxleC1zZWN0aW9uLWd1dHRlcjtcbiAgICBtYXgtd2lkdGg6IDMzJTtcbiAgICAmLmxleC1icm93c2VuYXYtY29sdW1uLWFjdGl2ZXRyYWlsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTAlO1xuXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyLjBzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGJhY2tncm91bmQ6ICRsZXgtbGlnaHQtZ3JleTtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGxleC1ncmV5O1xuICAgICAgLmxleC1jYXJkLXRpdGxlLWhlYWRpbmcge1xuICAgICAgICAvLyBwdXNoIG92ZXIgdG8gbWF0Y2ggY2F0ZWdvcnkgd2hlbiBhY3RpdmVcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGV4LWNhdGVnb3J5LWd1dHRlcjtcbiAgICAgIH1cbiAgICAgIC5sZXgtYnJvd3NlbmF2LXRpdGxlLCAubGV4LWJyb3dzZW5hdi1kZXNjcmlwdGlvbiB7XG4gICAgICAgIC8qIHB1c2ggYXJyb3cgcmlnaHQgKi9cbiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxleC1icm93c2VuYXYtY2F0ZWdvcnkge1xuICBwYWRkaW5nOiAkbGV4LWNhdGVnb3J5LXBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5sZXgtYnJvd3NlbmF2LWxpbmsgYSwgLmxleC1icm93c2VuYXYtZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4vLyBsZXgtYnJvd3NlbmF2LWNvbHVtbi1hY3RpdmV0cmFpbCA9PiBsZXgtYnJvd3NlbmF2LWFjdGl2ZXRyYWlsP1xuLmxleC1icm93c2VuYXYtY29sdW1uLWFjdGl2ZXRyYWlsLmxleC1icm93c2VuYXYtY29sbGFwc2Uge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi5sZXgtYnJvd3NlbmF2LWFydGljbGVzIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4pIHtcbiAgICBtYXJnaW4tbGVmdDogJGxleC1zZWN0aW9uLWd1dHRlcjtcbiAgfVxuICAubGV4LWNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRsZXgtc2VjdGlvbi1ndXR0ZXIgKiAwLjc7XG4gIH1cbn1cbiIsIi5sZXgtcGFnZWZlZWRiYWNrLWZvcm0ge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIC5mb3JtLWl0ZW0tZmllbGQtZmVlZGJhY2stdXJsLTAtdmFsdWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogNHJlbTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIH1cbn1cbi5sZXgtcGFnZWZlZWRiYWNrLWZvcm0sIC5sZXgtZmVlZGJhY2stZm9ybSB7XG4gICNlZGl0LXByZXZpZXcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogbGl2ZXMgaW4gYSBjdXN0b20gaHRtbCBibG9jayBmb3Igbm93ICovXG4ubGV4LXBhZ2VmZWVkYmFjay1saW5rY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogJGxleC1zZWN0aW9uLWd1dHRlcjtcbn1cbiIsIi8vIEF2b2lkIG92ZXJyaWRpbmcgZXh0ZXJuYWwgc3R5bGUgbGlicmFyeSBjbGFzc2VzIHdoZW4gcG9zc2libGVcbi8vIE9ubHkgc3R5bGUgd2hhdCB3ZSBvd246IGNsYXNzZXMgc3RhcnRpbmcgd2l0aCAnbGV4LSdcbi8vIGgvdCBodHRwczovL2dpdGh1Yi5jb20vMThGL3dlYi1kZXNpZ24tc3RhbmRhcmRzLWRydXBhbC9wdWxsLzM4L2ZpbGVzXG4udXNhLWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5sZXgtc2VhcmNoLWhlcm8gLnVzYS1zZWFyY2ggaW5wdXQge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbikge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3skdXNhLWJ0bi1tZWRpdW0td2lkdGh9KTtcbiAgfVxufVxuXG4udXNhLXNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTllbTtcbn1cblxuLnRvb2xiYXIgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRvb2xiYXIgdWwgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2xiYXIgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRvb2xiYXIgdWwgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxleC1hbGVydGNvbnRhaW5lci1zdWNjZXNzLCAudXNhLWFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGV4LWFsZXJ0LWdyZWVuO1xufVxuXG4ubGV4LWFsZXJ0Y29udGFpbmVyLXdhcm5pbmcsIC51c2EtYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsZXgtYWxlcnQteWVsbG93O1xufVxuXG4ubGV4LWFsZXJ0Y29udGFpbmVyLWVycm9yLCAudXNhLWFsZXJ0LWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxleC1hbGVydC1yZWQ7XG59XG5cbi5sZXgtYWxlcnRjb250YWluZXItaW5mbywgLnVzYS1hbGVydC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxleC1hbGVydC1ibHVlO1xufVxuXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
