/* ------------------------------------------
   settings.VARIABLES
------------------------------------------ */
/* ------------------------------------------
   tools.MIXINS
------------------------------------------ */
/* ------------------------------------------
   tools.FUNCTIONS
------------------------------------------ */
/* ------------------------------------------
   generic.NORMALIZE
------------------------------------------ */
/*! 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;
}

/* ------------------------------------------
   generic.RESET
------------------------------------------ */
* {
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
dl,
dd,
ol,
ul,
form,
fieldset,
legend,
table,
th,
td,
caption,
hr,
figure {
    margin: 0;
    padding: 0;
}

::-moz-selection {
    background-color: #89e7c2;
    color: #222;
}

::selection {
    background-color: #89e7c2;
    color: #222;
}

/* ------------------------------------------
   base.BODY
------------------------------------------ */
body {
    background-image: url('../../images/bg-deco-top-left.jpg'),
        url('../../images/bg-deco-bottom-right.jpg');
    background-repeat: no-repeat, no-repeat;
    background-position: top 200px left, bottom right;
}

/* ------------------------------------------
   base.TYPOGRAPHY
------------------------------------------ */
body {
    /* font-family: 'Titillium Web', 'Helvetica Neue', Verdana, sans-serif; */
    color: #222;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
}

/* ------------------------------------------
   objects.WRAP
------------------------------------------ */
.wrap {
    margin: 0 auto;
    position: relative;
}

/* ------------------------------------------
   components.INDEX-COVER-POST
------------------------------------------ */
.parent-category-label {
    background-color: #222;
    color: #89e7c2;
    text-transform: uppercase;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    display: inline-block;
    line-height: 1;
    padding: 5px;
    margin-bottom: 6px;
    text-decoration: none;
}

/* ------------------------------------------
   components.INDEX-FEAT-POSTS
------------------------------------------ */
.index-feat-posts {
    background-color: #89e7c2;
    padding: 30px 0;
    margin-bottom: 40px;
    min-height: 160px;
}
.index-feat-posts ul {
    list-style: none;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: calc(100% + 40px);
    margin-left: -20px;
}
@media screen and (min-width: 26.875em) {
    .index-feat-posts ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}
@media (max-width: 767px) {
    .index-feat-posts ul {
        flex-wrap: wrap;
    }
}
.index-feat-posts ul li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.index-feat-post-card {
    text-decoration: none;
    color: #222;
    padding: 0 20px;
    display: block;
}
@media screen and (min-width: 56.25em) {
    .index-feat-post-card {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}
.index-feat-post-card:hover img {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.index-feat-post-card__media {
    max-width: 120px;
    margin-right: 10px;
}
.index-feat-post-card__media img {
    display: block;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.index-feat-post-card__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.index-feat-post-card__title {
    text-transform: uppercase;
    line-height: 0.9;
    font-size: 1.25rem;
}

/* ------------------------------------------
   components.INDEX-CONTAINER
------------------------------------------ */
.index-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
@media screen and (min-width: 56.25em) {
    .index-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
}
.index-container__posts {
    margin: 0;
    width: 100%;
    margin-right: 60px;
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
}
.index-container__sidebar {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.article-snippet {
    padding-bottom: 30px;
    margin-bottom: 30px;
}
@media screen and (min-width: 37.5em) {
    .article-snippet {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

@media screen and (min-width: 37.5em) {
    .article-snippet__thumb {
        margin-right: 30px;
        max-width: 300px;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
}

.article-snippet__content {
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
}
@media screen and (min-width: 56.25em) {
    .article-snippet__content {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
}

.article-snippet__title {
    text-transform: uppercase;
    font-family: 'Inter', sans-serif;
    font-size: 2.125rem;
    line-height: 0.9;
    text-align: left;
}
.article-snippet__title a {
    color: #222;
    text-decoration: none;
}
.article-snippet__title a:hover {
    color: #89e7c2;
}

.article-snippet__meta {
    font-size: 1rem;
    margin-bottom: 10px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: #b3b3b3;
}
.article-snippet__meta a {
    color: #b3b3b3;
    text-decoration: none;
}
.article-snippet__meta a:hover {
    text-decoration: underline;
}
.article-snippet__meta .pub-date {
    font-weight: 400;
    color: #5fdeac;
}

.article-snippet__excerpt p {
    font-size: 1rem;
}

.article-snippet--photo > a {
    display: block;
    background-size: cover;
    background-position: center;
    text-decoration: none;
    color: #222;
    background-color: #89e7c2;
    padding: 5px;
}
@media screen and (min-width: 37.5em) {
    .article-snippet--photo > a {
        padding: 30px;
    }
}

.article-snippet--photo .article-snippet__content {
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 37.5em) {
    .article-snippet--photo .article-snippet__content {
        padding: 20px;
    }
}
@media screen and (min-width: 64em) {
    .article-snippet--photo .article-snippet__content {
        max-width: 50%;
    }
}

/* ------------------------------------------
   components.POPULAR-POSTS-LIST
------------------------------------------ */
.wpp-list {
    list-style: none;
    font-family: 'Inter', sans-serif;
    margin-bottom: 80px;
}
.wpp-list li {
    margin-bottom: 10px;
    display: block;
}
.wpp-list a {
    text-transform: uppercase;
    font-size: 1.3125rem;
    font-weight: 600;
    color: #222;
    text-decoration: none;
    position: relative;
    display: inline-block;
    line-height: 1;
}
.wpp-list a:hover {
    color: #89e7c2;
}

.popular-post-meta {
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.02em;
}
.popular-post-meta:before,
.popular-post-meta:after {
    content: ' ';
    display: table;
}
.popular-post-meta:after {
    clear: both;
}
.popular-post-meta time {
    color: #b3b3b3;
    float: left;
    margin-right: 20px;
}
.popular-post-meta .author {
    color: #b3b3b3;
    float: left;
}
.popular-post-meta .wpp-stats {
    color: #89e7c2;
    float: right;
    display: none;
}

.article-social-buttons {
    width: 100%;
    margin-top: 20px;
    list-style: none;
    padding-left: 0 !important;
    display: flex;
}
.article-social-buttons:before,
.article-social-buttons:after {
    content: ' ';
    display: table;
}
.article-social-buttons:after {
    clear: both;
}
.article-social-buttons li {
    display: flex;
    align-items: center;
    margin-right: 4px;
    justify-content: center;
}
.article-social-buttons li.fb {
    width: 90px;
}
.article-social-buttons li.twitter {
    width: 80px;
}
.fb .fb_iframe_widget {
    position: relative;
    top: 4px;
}

/* ------------------------------------------
   components.SINGLE-COVER
------------------------------------------ */
.single-cover {
    min-height: 550px;
    background-size: cover;
    position: relative;
    background-position: top center;
    top: 0;
    left: 0;
    width: 100%;
}

.wrap--single {
    min-height: 550px;
    margin-bottom: 40px;
}

/* ------------------------------------------
   components.SINGLE-HEADER
------------------------------------------ */
.single-header {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 20px;
    text-align: center;
    width: 100%;
    margin-top: 70px;
    position: absolute;
    margin-top: 0;
    max-width: 800px;
    top: 53%;
    left: 50%;
    -webkit-transform: translatex(-50%) translatey(-50%);
    transform: translatex(-50%) translatey(-50%);
}
.single-header__title {
    color: #fff;
    text-transform: uppercase;
    line-height: 0.9;
    margin-bottom: 20px;
    margin-top: 10px;
    font-size: 2rem;
}
@media screen and (min-width: 40em) {
    .single-header__title {
        font-size: 3.125rem;
    }
}
.single-header__title:before {
    display: block;
    content: '';
    width: 100px;
    height: 2px;
    border-top: 1px solid #89e7c2;
    margin: 0 auto 15px auto;
}
.single-header__title:after {
    display: block;
    content: '';
    width: 100px;
    height: 2px;
    border-bottom: 1px solid #89e7c2;
    margin: 10px auto 0 auto;
}
.single-header .single-header__pub-date {
    font-size: 1.25rem;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: white;
    text-transform: uppercase;
}
.single-header__meta {
    font-size: 1.0625rem;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: white;
}
.single-header__meta a {
    color: white;
    text-decoration: none;
}
.single-header__meta a:hover {
    text-decoration: underline;
}
.single-header__meta .pub-date {
    font-weight: 400;
    color: rgba(34, 34, 34, 0.8);
}

.pagination {
    margin: 20px 0 60px;
    text-transform: uppercase;
    font-family: 'Inter', sans-serif;
    font-size: 1.5625rem;
    font-weight: 400;
    line-height: 1;
}
.pagination:before,
.pagination:after {
    content: ' ';
    display: table;
}
.pagination:after {
    clear: both;
}
.pagination span.current {
    background-color: #89e7c2;
    padding: 2px 6px 0px;
    color: #222;
}
.pagination a {
    text-decoration: none;
    color: #fff;
    background: #000;
    padding: 2px 6px 0px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}
.pagination a:hover {
    background-color: #89e7c2;
}

.pagination--single a[rel='next'] {
    float: right;
}

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

/* ------------------------------------------
   components.POST-BODY
------------------------------------------ */
.post-body {
    font-size: 1.0625rem;
    color: #222;
}
.post-body p:not(:last-child) {
    margin-bottom: 0.8em;
}
.post-body a {
    color: #89e7c2;
}
.post-body a:hover {
    text-decoration: none;
}
.post-body ul,
.post-body ol {
    margin-bottom: 1em;
    padding-left: 1.3em;
}
.post-body blockquote {
    padding: 0 1em;
    margin: 2em 0;
}
@media screen and (min-width: 31.25em) {
    .post-body blockquote {
        padding: 0 2em;
    }
}
.post-body blockquote p {
    font-weight: 400;
    font-family: 'Inter', sans-serif;
    font-size: 1.875rem;
    line-height: 1.1;
    color: #89e7c2;
}
.post-body h1,
.post-body h2,
.post-body h3,
.post-body h4,
.post-body h5,
.post-body h6 {
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    color: #222;
    margin-bottom: 0.5em;
    line-height: 1;
    color: #5fdeac;
}
.post-body h2 {
    font-size: 1.875rem;
}
.post-body h3 {
    font-size: 1.5625rem;
}
.post-body h4 {
    font-size: 1.25rem;
}
.post-body h5 {
    font-size: 0.9375rem;
}
.post-body h6 {
    font-size: 1.0625rem;
}
.post-body .img-link,
.post-body .gallery-img-link {
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
    outline: 0;
}
.post-body .img-link img,
.post-body .gallery-img-link img {
    -webkit-transition: 0.5s;
    transition: 0.5s;
    display: block;
    width: 100%;
}
.post-body .img-link:hover img,
.post-body .gallery-img-link:hover img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
}
.post-body img.alignnone {
    margin: 0.5em 0;
}
.post-body img.alignright,
.post-body .wp-caption.alignright {
    margin: 1em 0;
    display: block;
}
@media screen and (min-width: 37.5em) {
    .post-body img.alignright,
    .post-body .wp-caption.alignright {
        float: right;
        margin: 0 0 0.5em 1em;
    }
}
.post-body img.alignleft,
.post-body .wp-caption.alignleft {
    margin: 1em 0;
    display: block;
}
@media screen and (min-width: 37.5em) {
    .post-body img.alignleft,
    .post-body .wp-caption.alignleft {
        float: left;
        margin: 0 1em 0.5em 0;
    }
}
.post-body img.aligncenter,
.post-body .wp-caption.aligncenter {
    display: block;
    margin: 0.5em auto;
}
@media screen and (min-width: 37.5em) {
    .post-body .alignright {
        float: right;
    }
}
@media screen and (min-width: 37.5em) {
    .post-body .alignleft {
        float: left;
    }
}
.post-body .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.post-body .gallery {
    margin: 30px 0 !important;
}
.post-body .gallery:before,
.post-body .gallery:after {
    content: ' ';
    display: table;
}
.post-body .gallery:after {
    clear: both;
}
.post-body .gallery dl.gallery-item + br {
    display: none;
}
.post-body .gallery .gallery-item {
    float: left !important;
    text-align: left !important;
    width: 50% !important;
    margin-top: 0 !important;
    padding: 0 5px 5px 0 !important;
    display: block;
    overflow: hidden;
    display: block;
}
@media screen and (min-width: 20em) {
    .post-body .gallery .gallery-item {
        width: 33.33333% !important;
    }
}
@media screen and (min-width: 25em) {
    .post-body .gallery .gallery-item {
        width: 25% !important;
    }
}
.post-body .gallery .gallery-item .gallery-img-link {
    display: block;
}
.post-body .gallery .gallery-item img {
    display: block;
    border: none !important;
    -webkit-transition: 3s;
    transition: 3s;
    margin: 0;
    width: 100% !important;
}
.post-body iframe {
    width: 100%;
}

/* ------------------------------------------
   components.COMMENTS
------------------------------------------ */
.post-comments {
    margin-top: 20px;
}
.post-comments a {
    color: #89e7c2;
}

/* ------------------------------------------
   components.TAGS
------------------------------------------ */
.tag-wrapper {
    margin-top: 40px;
    margin-bottom: 30px;
}
.tag-wrapper .label {
    display: inline;
    text-transform: uppercase;
    font-size: 0.875rem;
    margin-right: 10px;
    font-weight: 700;
}
.tag-wrapper a {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    text-decoration: none;
    color: black;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    text-transform: uppercase;
    margin-right: 10px;
}
.tag-wrapper a:before {
    content: '#';
}
.tag-wrapper a:hover {
    color: #89e7c2;
}

.author-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 40px;
    padding-bottom: 25px;
}
.author-block__img {
    margin-right: 20px;
    max-width: 80px;
}
.author-block__img img {
    display: block;
    border-radius: 100%;
}
.author-block__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.author-block__body p {
    font-size: 0.8125rem;
}
.author-block__name {
    text-transform: uppercase;
    font-size: 1.3125rem;
    line-height: 1;
}

/* ------------------------------------------
   components.ASIDE
------------------------------------------ */
.sidebar-title {
    font-size: 2.125rem;
    text-transform: uppercase;
    margin-bottom: 0px;
    padding-bottom: 10px;
    margin-top: -10px;
}

/* Magnific Popup CSS */
.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #222;
    opacity: 1;
    filter: alpha(opacity=100);
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden;
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box;
}

.mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
    display: none;
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto;
}

.mfp-ajax-cur {
    cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
}

.mfp-zoom {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
    cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.mfp-loading.mfp-figure {
    display: none;
}

.mfp-hide {
    display: none !important;
}

.mfp-preloader {
    color: #ccc;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 1044;
}
.mfp-preloader a {
    color: #ccc;
}
.mfp-preloader a:hover {
    color: #fff;
}

.mfp-s-ready .mfp-preloader {
    display: none;
}

.mfp-s-error .mfp-content {
    display: none;
}

button.mfp-close,
button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 1;
    filter: alpha(opacity=100);
    padding: 0 0 18px 10px;
    color: #89e7c2;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover,
.mfp-close:focus {
    opacity: 1;
    filter: alpha(opacity=100);
}
.mfp-close:active {
    top: 1px;
}

.mfp-close-btn-in .mfp-close {
    color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #89e7c2;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%;
}

.mfp-counter {
    text-align: center;
    color: #89e7c2;
    font-weight: regular;
    font-size: 16px;
    line-height: 18px;
    white-space: nowrap;
}

.mfp-arrow {
    position: absolute;
    opacity: 1;
    filter: alpha(opacity=100);
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {
    margin-top: -54px;
}
.mfp-arrow:hover,
.mfp-arrow:focus {
    opacity: 1;
    filter: alpha(opacity=100);
}
.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
}
.mfp-arrow:after,
.mfp-arrow .mfp-a {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px;
}
.mfp-arrow:before,
.mfp-arrow .mfp-b {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 1;
}

.mfp-arrow-left {
    left: 0;
}
.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
    border-right: 17px solid #89e7c2;
    margin-left: 31px;
}
.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
    margin-left: 25px;
    border-right: 27px solid #89e7c2;
}

.mfp-arrow-right {
    right: 0;
}
.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
    border-left: 17px solid #89e7c2;
    margin-left: 39px;
}
.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
    border-left: 27px solid #89e7c2;
}

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
    top: -40px;
}

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 0px rgba(0, 0, 0, 0.6);
    background: #000;
}

/* Main image in popup */
img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
    line-height: 0;
}
.mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 0px rgba(0, 0, 0, 0.6);
    background: #444;
}
.mfp-figure small {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    line-height: 14px;
}
.mfp-figure figure {
    margin: 0;
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto;
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #f3f3f3;
    word-wrap: break-word;
    padding-right: 36px;
}

.mfp-image-holder .mfp-content {
    max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape),
    screen and (max-height: 300px) {
    /**
       * Remove all paddings around the image on small screen
       */
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0;
    }
    .mfp-img-mobile img.mfp-img {
        padding: 0;
    }
    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0;
    }
    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px;
    }
    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, 0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box;
    }
    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0;
    }
    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px;
    }
    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        text-align: center;
        padding: 0;
    }
}

@media all and (max-width: 900px) {
    .mfp-arrow {
        -webkit-transform: scale(0.75);
        transform: scale(0.75);
    }
    .mfp-arrow-left {
        -webkit-transform-origin: 0;
        transform-origin: 0;
    }
    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%;
    }
    .mfp-container {
        padding-left: 6px;
        padding-right: 6px;
    }
}

.mfp-ie7 .mfp-img {
    padding: 0;
}

.mfp-ie7 .mfp-bottom-bar {
    width: 600px;
    left: 50%;
    margin-left: -300px;
    margin-top: 5px;
    padding-bottom: 5px;
}

.mfp-ie7 .mfp-container {
    padding: 0;
}

.mfp-ie7 .mfp-content {
    padding-top: 44px;
}

.mfp-ie7 .mfp-close {
    top: 0;
    right: 0;
    padding-top: 0;
}

.image-source-link {
    color: #98c3d1;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
    opacity: 0;
    -webkit-backface-visibility: hidden;
    /* ideally, transition speed should match zoom duration */
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 1;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

.footer-ticker {
    position: fixed;
    bottom: 0;
    background-color: #222;
    width: 100%;
    min-height: 25px;
    z-index: 9999;
}
.footer-ticker a {
    text-transform: uppercase;
    font-family: 'Inter', sans-serif;
    color: #89e7c2;
    text-decoration: none;
    line-height: 1;
    display: inline-block;
}
.footer-ticker a:hover {
    color: #fff;
}

.tickercontainer .mask {
    position: relative;
    overflow: hidden;
}

ul.newsticker {
    position: relative;
    list-style: none;
    left: 750px;
}

ul.newsticker li {
    float: left;
    /* important: display inline gives incorrect results when you check for elem's width */
    margin: 0;
    padding: 0;
    margin-right: 30px;
}

ul.newsticker a {
    white-space: nowrap;
}

/* ------------------------------------------
   components.ARCHIVE-COVER
------------------------------------------ */
.archive-cover {
    min-height: 500px;
    background-size: cover;
    position: relative;
    background-position: center center;
    top: 0;
    left: 0;
    width: 100%;
}

.wrap--archive {
    min-height: 500px;
    margin-bottom: 40px;
}

/* ------------------------------------------
   components.ARCHIVE-HEADER
------------------------------------------ */
.archive-header {
    background-color: rgba(255, 255, 255, 0.9);
    position: absolute;
    top: 53%;
    left: 50%;
    -webkit-transform: translatex(-50%) translatey(calc(-50% + 25px));
    transform: translatex(-50%) translatey(calc(-50% + 25px));
    padding: 20px 50px;
    text-align: center;
}
.archive-header__subtitle {
    font-size: 1.25rem;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: #222222;
    text-transform: uppercase;
}
.archive-header__title {
    color: #222;
    text-transform: uppercase;
    font-size: 3.125rem;
    line-height: 0.9;
    margin-bottom: 20px;
    margin-top: 10px;
}
.archive-header__title:before {
    display: block;
    content: '';
    width: 100px;
    height: 2px;
    border-top: 1px solid #89e7c2;
    margin: 0 auto 15px auto;
}
.archive-header__title:after {
    display: block;
    content: '';
    width: 100px;
    height: 2px;
    border-bottom: 1px solid #89e7c2;
    margin: 10px auto 0 auto;
}

.instafeed {
    margin-bottom: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 10px);
    margin-left: -5px;
}
.instafeed > a {
    display: block;
    width: 33.3333%;
    padding: 5px;
}
.instafeed > a img {
    display: block;
}

.button-copy-link {
    display: inline-flex;
    border: none;
    padding: 2px 14px;
    background-color: #03ff96;
    border-radius: 4px;
    margin-left: 8px;
}

.popular-wrapper {
    position: sticky;
    top: 80px;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC5jc3MiLCJfc2V0dGluZ3MudmFyaWFibGVzLnNjc3MiLCJfdG9vbHMubWl4aW5zLnNjc3MiLCJfdG9vbHMuZnVuY3Rpb25zLnNjc3MiLCJfZ2VuZXJpYy5ub3JtYWxpemUuc2NzcyIsIl9nZW5lcmljLnJlc2V0LnNjc3MiLCJfYmFzZS5ib2R5LnNjc3MiLCJfYmFzZS50eXBvZ3JhcGh5LnNjc3MiLCJfb2JqZWN0cy53cmFwLnNjc3MiLCJfY29tcG9uZW50cy5nbG9iYWwtaGVhZGVyLnNjc3MiLCJfY29tcG9uZW50cy5nbG9iYWwtbWVudS5zY3NzIiwiX2NvbXBvbmVudHMuc2VhcmNoLW1vZGFsLnNjc3MiLCJfY29tcG9uZW50cy5pbmRleC1jb3Zlci1wb3N0LnNjc3MiLCJfY29tcG9uZW50cy5pbmRleC1mZWF0LXBvc3RzLnNjc3MiLCJfY29tcG9uZW50cy5pbmRleC1jb250YWluZXIuc2NzcyIsIl9jb21wb25lbnRzLmFydGljbGUtc25pcHBldC5zY3NzIiwiX2NvbXBvbmVudHMucG9wdWxhci1wb3N0cy1saXN0LnNjc3MiLCJfY29tcG9uZW50cy5zb2NpYWwtYnV0dG9ucy5zY3NzIiwiX2NvbXBvbmVudHMuc2luZ2xlLWNvdmVyLnNjc3MiLCJfY29tcG9uZW50cy5zaW5nbGUtaGVhZGVyLnNjc3MiLCJfY29tcG9uZW50cy5zaW5nbGUtcGFnaW5hdGlvbi5zY3NzIiwiX2NvbXBvbmVudHMucG9zdC1ib2R5LnNjc3MiLCJfY29tcG9uZW50cy5jb21tZW50cy5zY3NzIiwiX2NvbXBvbmVudHMudGFncy5zY3NzIiwiX2NvbXBvbmVudHMuYXV0aG9yLWJsb2NrLnNjc3MiLCJfY29tcG9uZW50cy5hc2lkZS5zY3NzIiwiX2NvbXBvbmVudHMubWFnbmlmaWMtcG9wdXAuc2NzcyIsIl9jb21wb25lbnRzLnRpY2tlci5zY3NzIiwiX2NvbXBvbmVudHMuYXJjaGl2ZS1jb3Zlci5zY3NzIiwiX2NvbXBvbmVudHMuYXJjaGl2ZS1oZWFkZXIuc2NzcyIsIl9j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QUFpQjtJQUNqQixlNUJSTztJNEJTUCwwQkFBMEIsRUFDM0I7RUFmSDtJQWtCSSxZNUJiTztJNEJjUCwwQkFBMEI7SUFDMUIsb0IxQkdnQjtJMEJGaEIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixpQkFBaUIsRUFtQmxCO0lBMUNIO01BMEJNLGVBQWU7TUFDZixZQUFXO01BQ1gsYUFBYTtNQUNiLFlBQVk7TUFDWiw4QjVCNUJzQjtNNEI2QnRCLHlCQUF5QixFQUMxQjtJQWhDTDtNQW1DTSxlQUFlO01BQ2YsWUFBVztNQUNYLGFBQWE7TUFDYixZQUFZO01BQ1osaUM1QnJDc0I7TTRCc0N0Qix5QkFBeUIsRUFDMUI7O0FDN0NMO0VBQ0Usb0JBQW9CO0VBQ3BCLHFCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2Qsb0JBQWdCO01BQWhCLGdCQUFnQjtFQUNoQiwwQkFBVztFQUNYLGtCQUFrQixFQVVuQjtFQWZEO0lBT0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixhQUFhLEVBSWQ7SUFiSDtNQVdNLGVBQWUsRUFDaEIiLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgc2V0dGluZ3MuVkFSSUFCTEVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgdG9vbHMuTUlYSU5TXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgdG9vbHMuRlVOQ1RJT05TXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgZ2VuZXJpYy5OT1JNQUxJWkVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgZ2VuZXJpYy5SRVNFVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxucCwgYmxvY2txdW90ZSwgcHJlLFxuZGwsIGRkLCBvbCwgdWwsXG5mb3JtLCBmaWVsZHNldCwgbGVnZW5kLFxudGFibGUsIHRoLCB0ZCwgY2FwdGlvbixcbmhyLCBmaWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODllN2MyO1xuICBjb2xvcjogIzIyMjsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGJhc2UuQk9EWVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2JnLWRlY28tdG9wLWxlZnQuanBnXCIpLCB1cmwoXCIuLi8uLi9pbWFnZXMvYmctZGVjby1ib3R0b20tcmlnaHQuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAyMDBweCBsZWZ0LCBib3R0b20gcmlnaHQ7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBiYXNlLlRZUE9HUkFQSFlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlRpdGlsbGl1bSBXZWJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzIyMjsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgb2JqZWN0cy5XUkFQXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53cmFwIHtcbiAgbWF4LXdpZHRoOiAxMjYwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGNvbXBvbmVudHMuR0xPQkFMLUhFQURFUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZ2xvYmFsLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAzMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICAuZ2xvYmFsLWhlYWRlcjpiZWZvcmUsIC5nbG9iYWwtaGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuZ2xvYmFsLWhlYWRlcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmdsb2JhbC1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkOyB9IH1cbiAgYm9keS5sb2dnZWQtaW4gLmdsb2JhbC1oZWFkZXIge1xuICAgIHRvcDogMzJweDsgfVxuICAuZ2xvYmFsLWhlYWRlcl9fbG9nbyB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltZy9oaC1sb2dvLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5nbG9iYWwtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLm1lbnUtdHJpZ2dlciB7XG4gIHRvcDogMXB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZW51LXRyaWdnZXIgLm1lbnUtdHJpZ2dlcl9fbGluZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzZmNmY2ZjtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40czsgfVxuICAgIC5tZW51LXRyaWdnZXIgLm1lbnUtdHJpZ2dlcl9fbGluZS5tZW51LXRyaWdnZXJfX2xpbmUtMSB7XG4gICAgICB0b3A6IDA7IH1cbiAgICAubWVudS10cmlnZ2VyIC5tZW51LXRyaWdnZXJfX2xpbmUubWVudS10cmlnZ2VyX19saW5lLTIge1xuICAgICAgdG9wOiA1MCU7IH1cbiAgICAubWVudS10cmlnZ2VyIC5tZW51LXRyaWdnZXJfX2xpbmUubWVudS10cmlnZ2VyX19saW5lLTMge1xuICAgICAgdG9wOiAxMDAlOyB9XG4gIC5tZW51LXRyaWdnZXI6aG92ZXIgLm1lbnUtdHJpZ2dlcl9fbGluZS0xIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMi41cHgpOyB9XG4gIC5tZW51LXRyaWdnZXI6aG92ZXIgLm1lbnUtdHJpZ2dlcl9fbGluZS0zIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIuNXB4KTsgfVxuICAubWVudS10cmlnZ2VyLm1lbnUtdHJpZ2dlci0tYWN0aXZlIC5tZW51LXRyaWdnZXJfX2xpbmUtMSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpIHRyYW5zbGF0ZVgoMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAubWVudS10cmlnZ2VyLm1lbnUtdHJpZ2dlci0tYWN0aXZlIC5tZW51LXRyaWdnZXJfX2xpbmUtMiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAubWVudS10cmlnZ2VyLm1lbnUtdHJpZ2dlci0tYWN0aXZlIC5tZW51LXRyaWdnZXJfX2xpbmUtMyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSB0cmFuc2xhdGVYKDApIHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5tZW51LXRyaWdnZXI6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLmdsb2JhbC1oZWFkZXJfX3JpZ2h0LW1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDM4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmdsb2JhbC1oZWFkZXJfX3JpZ2h0LW1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5nbG9iYWwtaGVhZGVyX19yaWdodC1tZW51IGxpIHtcbiAgICB0cmFuc2l0aW9uOiAuMnM7IH1cbiAgICAuZ2xvYmFsLWhlYWRlcl9fcmlnaHQtbWVudSBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIC5nbG9iYWwtaGVhZGVyX19yaWdodC1tZW51IGxpOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cbi5oZWFkZXItc29jaWFsLWljb24ge1xuICBib3JkZXI6IDA7XG4gIGZvbnQ6IDAvMCBhO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuaGVhZGVyLXNvY2lhbC1pY29uLS15b3V0dWJlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWcvaWNvbi15b3V0dWJlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMThweDsgfVxuICAuaGVhZGVyLXNvY2lhbC1pY29uLS1mYWNlYm9vayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1nL2ljb24tZmFjZWJvb2suc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjFweCAyMXB4O1xuICAgIHdpZHRoOiAxNXB4OyB9XG4gIC5oZWFkZXItc29jaWFsLWljb24tLWluc3RhZ3JhbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1nL2ljb24taW5zdGFncmFtLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIzcHggMjNweDsgfVxuICAuaGVhZGVyLXNvY2lhbC1pY29uLS1zb3VuZGNsb3VkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWcvaWNvbi1zb3VuZGNsb3VkLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMTVweDsgfVxuXG4uc2VhcmNoLXRyaWdnZXIge1xuICBib3JkZXI6IDA7XG4gIGZvbnQ6IDAvMCBhO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWcvaWNvbi1zZWFyY2guc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggMjVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdsb2JhbC1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzcsIDIzMSwgMTk0LCAwLjkpO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgdG9wOiA0NXB4O1xuICB6LWluZGV4OiA5OTk5OTsgfVxuICAuZ2xvYmFsLW1lbnUgLndyYXAge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweDsgfVxuICBib2R5LmxvZ2dlZC1pbiAuZ2xvYmFsLW1lbnUge1xuICAgIHRvcDogNzdweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuZ2xvYmFsLW1lbnUge1xuICAgICAgcG9zaXRpb246IGZpeGVkOyB9IH1cblxuLmdsb2JhbC1tZW51LS1hY3RpdmUge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4ubWVudS1jb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLm1lbnUtY29sc19fY29sIHtcbiAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzQuMzc1ZW0pIHtcbiAgICAubWVudS1jb2xzX19jb2wge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAubWVudS1jb2xzX19jb2wge1xuICAgICAgd2lkdGg6IDE0JTsgfSB9XG4gIC5tZW51LWNvbHNfX2NvbCBoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5tZW51LWNvbHNfX2NvbCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubWVudS1jb2xzX19jb2wgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBtYXJnaW4tYm90dG9tOiAuM2VtOyB9XG4gICAgLm1lbnUtY29sc19fY29sIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oC6ICc7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBsZWZ0OiAwOyB9XG4gIC5tZW51LWNvbHNfX2NvbCBhIHtcbiAgICBjb2xvcjogIzIyMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubWVudS1jb2xzX19jb2wgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc2VhcmNoLW1vZGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNmMGQ4O1xuICB0b3A6IC01MHB4O1xuICB6LWluZGV4OiAyMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IDAuNXM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuc2VhcmNoLW1vZGFsIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG4gIC5zZWFyY2gtbW9kYWwtLWFjdGl2ZSB7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICB0b3A6IDg1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5zZWFyY2gtbW9kYWwtLWFjdGl2ZSB7XG4gICAgICAgIHRvcDogNDVweDsgfSB9XG5cbi5zZWFyY2hmb3JtIC5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4uc2VhcmNoZm9ybSBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHggMTUwcHggOHB4IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZjBkODtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogIzIyMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1zZWFyY2hdOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICMyMjI7IH1cbiAgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zZWFyY2hmb3JtIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIHBhZGRpbmc6IDJweCA0MHB4IDJweCA0MHB4O1xuICB0b3A6IDRweDtcbiAgcmlnaHQ6IDI0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBjb2xvcjogIzg5ZTdjMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMjIyO1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLklOREVYLUNPVkVSLVBPU1Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmluZGV4LWNvdmVyLXBvc3Qge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoIDEwMHZoIC0gMTVweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmluZGV4LWNvdmVyLXBvc3Qge1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDE3MHB4IC0gMTVweCk7IH0gfVxuICAuaW5kZXgtY292ZXItcG9zdDpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjQpOyB9XG5cbi53cmFwLS1pbmRleCB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoIDEwMHZoIC0gMTVweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLndyYXAtLWluZGV4IHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNzBweCAtIDE1cHgpOyB9IH1cblxuLmluZGV4LWNvdmVyLWNhcmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogMC41cztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwOyB9XG4gIC5pbmRleC1jb3Zlci1jYXJkIHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmluZGV4LWNvdmVyLWNhcmQge1xuICAgICAgbWF4LXdpZHRoOiA4NjBweDtcbiAgICAgIGJvdHRvbTogNDVweDtcbiAgICAgIGxlZnQ6IDIwcHg7IH1cbiAgICAgIC5pbmRleC1jb3Zlci1jYXJkIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5pbmRleC1jb3Zlci1jYXJkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgdHJhbnNpdGlvbjogMC4zczsgfVxuXG4uaW5kZXgtY292ZXItY2FyZF9fdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIGZvbnQtc2l6ZTogMi43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuaW5kZXgtY292ZXItY2FyZF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0LjYyNXJlbTsgfSB9XG5cbi5wYXJlbnQtY2F0ZWdvcnktbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBjb2xvcjogIzg5ZTdjMjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDVweCA1cHggMnB4IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLklOREVYLUZFQVQtUE9TVFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmluZGV4LWZlYXQtcG9zdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODllN2MyO1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1pbi1oZWlnaHQ6IDE2MHB4OyB9XG4gIC5pbmRleC1mZWF0LXBvc3RzIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogY2FsYyggMTAwJSArIDQwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI2Ljg3NWVtKSB7XG4gICAgICAuaW5kZXgtZmVhdC1wb3N0cyB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5pbmRleC1mZWF0LXBvc3RzIHVsIGxpIHtcbiAgICAgIGZsZXg6IDE7IH1cblxuLmluZGV4LWZlYXQtcG9zdC1jYXJkIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzIyMjtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgLmluZGV4LWZlYXQtcG9zdC1jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuaW5kZXgtZmVhdC1wb3N0LWNhcmQ6aG92ZXIgaW1nIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzOyB9XG4gIC5pbmRleC1mZWF0LXBvc3QtY2FyZF9fbWVkaWEge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLmluZGV4LWZlYXQtcG9zdC1jYXJkX19tZWRpYSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzOyB9XG4gIC5pbmRleC1mZWF0LXBvc3QtY2FyZF9fYm9keSB7XG4gICAgZmxleDogMTsgfVxuXG4uaW5kZXgtZmVhdC1wb3N0LWNhcmRfX3RpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5JTkRFWC1DT05UQUlORVJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmluZGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgLmluZGV4LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmluZGV4LWNvbnRhaW5lcl9fcG9zdHMge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgZmxleDogMjsgfVxuICAuaW5kZXgtY29udGFpbmVyX19zaWRlYmFyIHtcbiAgICBmbGV4OiAxOyB9XG5cbi5hcnRpY2xlLXNuaXBwZXQge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuYXJ0aWNsZS1zbmlwcGV0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgLmFydGljbGUtc25pcHBldF9fdGh1bWIge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIGZsZXg6IDE7IH0gfVxuXG4uYXJ0aWNsZS1zbmlwcGV0X19jb250ZW50IHtcbiAgZmxleDogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgLmFydGljbGUtc25pcHBldF9fY29udGVudCB7XG4gICAgICBmbGV4OiAxOyB9IH1cblxuLmFydGljbGUtc25pcHBldF9fdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjk7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmFydGljbGUtc25pcHBldF9fdGl0bGUgYSB7XG4gICAgY29sb3I6ICMyMjI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFydGljbGUtc25pcHBldF9fdGl0bGUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzg5ZTdjMjsgfVxuXG4uYXJ0aWNsZS1zbmlwcGV0X19tZXRhIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjYjNiM2IzOyB9XG4gIC5hcnRpY2xlLXNuaXBwZXRfX21ldGEgYSB7XG4gICAgY29sb3I6ICNiM2IzYjM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFydGljbGUtc25pcHBldF9fbWV0YSBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5hcnRpY2xlLXNuaXBwZXRfX21ldGEgLnB1Yi1kYXRlIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjNWZkZWFjOyB9XG5cbi5hcnRpY2xlLXNuaXBwZXRfX2V4Y2VycHQgcCB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uYXJ0aWNsZS1zbmlwcGV0LS1waG90byA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMjIyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODllN2MyO1xuICBwYWRkaW5nOiA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmFydGljbGUtc25pcHBldC0tcGhvdG8gPiBhIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuXG4uYXJ0aWNsZS1zbmlwcGV0LS1waG90byAuYXJ0aWNsZS1zbmlwcGV0X19jb250ZW50IHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIC5hcnRpY2xlLXNuaXBwZXQtLXBob3RvIC5hcnRpY2xlLXNuaXBwZXRfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYXJ0aWNsZS1zbmlwcGV0LS1waG90byAuYXJ0aWNsZS1zbmlwcGV0X19jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLlBPUFVMQVItUE9TVFMtTElTVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud3BwLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgLndwcC1saXN0IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC53cHAtbGlzdCBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgIGNvbG9yOiAjMjIyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLndwcC1saXN0IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM4OWU3YzI7IH1cblxuLnBvcHVsYXItcG9zdC1tZXRhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgfVxuICAucG9wdWxhci1wb3N0LW1ldGE6YmVmb3JlLCAucG9wdWxhci1wb3N0LW1ldGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wb3B1bGFyLXBvc3QtbWV0YTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBvcHVsYXItcG9zdC1tZXRhIHRpbWUge1xuICAgIGNvbG9yOiAjYjNiM2IzO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAucG9wdWxhci1wb3N0LW1ldGEgLmF1dGhvciB7XG4gICAgY29sb3I6ICNiM2IzYjM7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnBvcHVsYXItcG9zdC1tZXRhIC53cHAtc3RhdHMge1xuICAgIGNvbG9yOiAjODllN2MyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5hcnRpY2xlLXNvY2lhbC1idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IDAuNXM7IH1cbiAgLmFydGljbGUtc29jaWFsLWJ1dHRvbnM6YmVmb3JlLCAuYXJ0aWNsZS1zb2NpYWwtYnV0dG9uczphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmFydGljbGUtc29jaWFsLWJ1dHRvbnM6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5hcnRpY2xlLXNvY2lhbC1idXR0b25zOmhvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG4gIC5hcnRpY2xlLXNvY2lhbC1idXR0b25zIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogOTBweDsgfVxuICAuYXJ0aWNsZS1zb2NpYWwtYnV0dG9ucyAuZmIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC00cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5TSU5HTEUtQ09WRVJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpbmdsZS1jb3ZlciB7XG4gIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLndyYXAtLXNpbmdsZSB7XG4gIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5TSU5HTEUtSEVBREVSXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaW5nbGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIHRvcDogNTMlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRleCgtNTAlKSB0cmFuc2xhdGV5KC01MCUpOyB9XG4gIC5zaW5nbGUtaGVhZGVyX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMC45O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2luZ2xlLWhlYWRlcl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMuMTI1cmVtOyB9IH1cbiAgICAuc2luZ2xlLWhlYWRlcl9fdGl0bGU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODllN2MyO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweCBhdXRvOyB9XG4gICAgLnNpbmdsZS1oZWFkZXJfX3RpdGxlOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODllN2MyO1xuICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvOyB9XG4gIC5zaW5nbGUtaGVhZGVyIC5zaW5nbGUtaGVhZGVyX19wdWItZGF0ZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zaW5nbGUtaGVhZGVyX19tZXRhIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuc2luZ2xlLWhlYWRlcl9fbWV0YSBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnNpbmdsZS1oZWFkZXJfX21ldGEgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnNpbmdsZS1oZWFkZXJfX21ldGEgLnB1Yi1kYXRlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjgpOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luOiAyMHB4IDAgNjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnBhZ2luYXRpb246YmVmb3JlLCAucGFnaW5hdGlvbjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBhZ2luYXRpb246YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIHNwYW4uY3VycmVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg5ZTdjMjtcbiAgICBwYWRkaW5nOiAycHggNnB4IDBweDtcbiAgICBjb2xvcjogIzIyMjsgfVxuICAucGFnaW5hdGlvbiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBwYWRkaW5nOiAycHggNnB4IDBweDtcbiAgICB0cmFuc2l0aW9uOiAuMnM7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4OWU3YzI7IH1cblxuLnBhZ2luYXRpb24tLXNpbmdsZSBhW3JlbD1cIm5leHRcIl0ge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnBhZ2luYXRpb24tLWluZGV4IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5QT1NULUJPRFlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBvc3QtYm9keSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBjb2xvcjogIzIyMjsgfVxuICAucG9zdC1ib2R5IHA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjhlbTsgfVxuICAucG9zdC1ib2R5IGEge1xuICAgIGNvbG9yOiAjODllN2MyOyB9XG4gICAgLnBvc3QtYm9keSBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAucG9zdC1ib2R5IHVsLCAucG9zdC1ib2R5IG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjNlbTsgfVxuICAucG9zdC1ib2R5IGJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIG1hcmdpbjogMmVtIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAucG9zdC1ib2R5IGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiAwIDJlbTsgfSB9XG4gICAgLnBvc3QtYm9keSBibG9ja3F1b3RlIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgY29sb3I6ICM4OWU3YzI7IH1cbiAgLnBvc3QtYm9keSBoMSwgLnBvc3QtYm9keSBoMiwgLnBvc3QtYm9keSBoMywgLnBvc3QtYm9keSBoNCwgLnBvc3QtYm9keSBoNSwgLnBvc3QtYm9keSBoNiB7XG4gICAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMyMjI7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzVmZGVhYzsgfVxuICAucG9zdC1ib2R5IGgyIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIC5wb3N0LWJvZHkgaDMge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIC5wb3N0LWJvZHkgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAucG9zdC1ib2R5IGg1IHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAucG9zdC1ib2R5IGg2IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAucG9zdC1ib2R5IC5pbWctbGluayxcbiAgLnBvc3QtYm9keSAuZ2FsbGVyeS1pbWctbGluayB7XG4gICAgY3Vyc29yOiB6b29tLWluO1xuICAgIG91dGxpbmU6IDA7IH1cbiAgICAucG9zdC1ib2R5IC5pbWctbGluayBpbWcsXG4gICAgLnBvc3QtYm9keSAuZ2FsbGVyeS1pbWctbGluayBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogMC41cztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucG9zdC1ib2R5IC5pbWctbGluazpob3ZlciBpbWcsXG4gICAgLnBvc3QtYm9keSAuZ2FsbGVyeS1pbWctbGluazpob3ZlciBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7IH1cbiAgLnBvc3QtYm9keSBpbWcuYWxpZ25ub25lIHtcbiAgICBtYXJnaW46IC41ZW0gMDsgfVxuICAucG9zdC1ib2R5IGltZy5hbGlnbnJpZ2h0LFxuICAucG9zdC1ib2R5IC53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5wb3N0LWJvZHkgaW1nLmFsaWducmlnaHQsXG4gICAgICAucG9zdC1ib2R5IC53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwIC41ZW0gMWVtOyB9IH1cbiAgLnBvc3QtYm9keSBpbWcuYWxpZ25sZWZ0LFxuICAucG9zdC1ib2R5IC53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgLnBvc3QtYm9keSBpbWcuYWxpZ25sZWZ0LFxuICAgICAgLnBvc3QtYm9keSAud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDFlbSAuNWVtIDA7IH0gfVxuICAucG9zdC1ib2R5IGltZy5hbGlnbmNlbnRlcixcbiAgLnBvc3QtYm9keSAud3AtY2FwdGlvbi5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAuNWVtIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLnBvc3QtYm9keSAuYWxpZ25yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAucG9zdC1ib2R5IC5hbGlnbmxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAucG9zdC1ib2R5IC5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wb3N0LWJvZHkgLmdhbGxlcnkge1xuICAgIG1hcmdpbjogMzBweCAwICFpbXBvcnRhbnQ7IH1cbiAgICAucG9zdC1ib2R5IC5nYWxsZXJ5OmJlZm9yZSwgLnBvc3QtYm9keSAuZ2FsbGVyeTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnBvc3QtYm9keSAuZ2FsbGVyeTphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wb3N0LWJvZHkgLmdhbGxlcnkgZGwuZ2FsbGVyeS1pdGVtICsgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wb3N0LWJvZHkgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCA1cHggNXB4IDAgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgICAgIC5wb3N0LWJvZHkgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAgICAgLnBvc3QtYm9keSAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgLnBvc3QtYm9keSAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIC5nYWxsZXJ5LWltZy1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5wb3N0LWJvZHkgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IDNzO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnBvc3QtYm9keSBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5DT01NRU5UU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucG9zdC1jb21tZW50cyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnBvc3QtY29tbWVudHMgYSB7XG4gICAgY29sb3I6ICM4OWU3YzI7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLlRBR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRhZy13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAudGFnLXdyYXBwZXIgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC50YWctd3JhcHBlciBhIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIHRyYW5zaXRpb246IC41cztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIC50YWctd3JhcHBlciBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnIyc7IH1cbiAgICAudGFnLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzg5ZTdjMjsgfVxuXG4uYXV0aG9yLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9XG4gIC5hdXRob3ItYmxvY2tfX2ltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1heC13aWR0aDogODBweDsgfVxuICAgIC5hdXRob3ItYmxvY2tfX2ltZyBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gIC5hdXRob3ItYmxvY2tfX2JvZHkge1xuICAgIGZsZXg6IDE7IH1cbiAgICAuYXV0aG9yLWJsb2NrX19ib2R5IHAge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmF1dGhvci1ibG9ja19fbmFtZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGNvbXBvbmVudHMuQVNJREVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpZGViYXItdGl0bGUge1xuICBmb250LXNpemU6IDIuMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzIyMjtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7IH1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjQ0NDOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsIGJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gIGNvbG9yOiAjODllN2MyO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XG4gIC5tZnAtY2xvc2U6aG92ZXIsIC5tZnAtY2xvc2U6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7IH1cbiAgLm1mcC1jbG9zZTphY3RpdmUge1xuICAgIHRvcDogMXB4OyB9XG5cbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogIzMzMzsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogIzg5ZTdjMjtcbiAgcmlnaHQ6IC02cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtY291bnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM4OWU3YzI7XG4gIGZvbnQtd2VpZ2h0OiByZWd1bGFyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICBtYXJnaW46IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMTEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IC01NHB4OyB9XG4gIC5tZnAtYXJyb3c6aG92ZXIsIC5tZnAtYXJyb3c6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7IH1cbiAgLm1mcC1hcnJvdzpiZWZvcmUsIC5tZnAtYXJyb3c6YWZ0ZXIsXG4gIC5tZnAtYXJyb3cgLm1mcC1iLFxuICAubWZwLWFycm93IC5tZnAtYSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XG4gIC5tZnAtYXJyb3c6YWZ0ZXIsXG4gIC5tZnAtYXJyb3cgLm1mcC1hIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgdG9wOiA4cHg7IH1cbiAgLm1mcC1hcnJvdzpiZWZvcmUsXG4gIC5tZnAtYXJyb3cgLm1mcC1iIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAyMXB4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwOyB9XG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlcixcbiAgLm1mcC1hcnJvdy1sZWZ0IC5tZnAtYSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICM4OWU3YzI7XG4gICAgbWFyZ2luLWxlZnQ6IDMxcHg7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSxcbiAgLm1mcC1hcnJvdy1sZWZ0IC5tZnAtYiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICM4OWU3YzI7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIsXG4gIC5tZnAtYXJyb3ctcmlnaHQgLm1mcC1hIHtcbiAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAjODllN2MyO1xuICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlLFxuICAubWZwLWFycm93LXJpZ2h0IC5tZnAtYiB7XG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzg5ZTdjMjsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAtNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgY29sb3I6ICNCREJEQkQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogM3B4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxuXG4ubWZwLWllNyAubWZwLWltZyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1mcC1pZTcgLm1mcC1ib3R0b20tYmFyIHtcbiAgd2lkdGg6IDYwMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuXG4ubWZwLWllNyAubWZwLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1mcC1pZTcgLm1mcC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDQ0cHg7IH1cblxuLm1mcC1pZTcgLm1mcC1jbG9zZSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5pbWFnZS1zb3VyY2UtbGluayB7XG4gIGNvbG9yOiAjOThDM0QxOyB9XG5cbi5tZnAtd2l0aC16b29tIC5tZnAtY29udGFpbmVyLFxuLm1mcC13aXRoLXpvb20ubWZwLWJnIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC8qIGlkZWFsbHksIHRyYW5zaXRpb24gc3BlZWQgc2hvdWxkIG1hdGNoIHpvb20gZHVyYXRpb24gKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0OyB9XG5cbi5tZnAtd2l0aC16b29tLm1mcC1yZWFkeSAubWZwLWNvbnRhaW5lciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nIC5tZnAtY29udGFpbmVyLFxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZvb3Rlci10aWNrZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDI1cHg7XG4gIHotaW5kZXg6IDk5OTk7IH1cbiAgLmZvb3Rlci10aWNrZXIgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICM4OWU3YzI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5mb290ZXItdGlja2VyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLnRpY2tlcmNvbnRhaW5lciAubWFzayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG51bC5uZXdzdGlja2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsZWZ0OiA3NTBweDsgfVxuXG51bC5uZXdzdGlja2VyIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIC8qIGltcG9ydGFudDogZGlzcGxheSBpbmxpbmUgZ2l2ZXMgaW5jb3JyZWN0IHJlc3VsdHMgd2hlbiB5b3UgY2hlY2sgZm9yIGVsZW0ncyB3aWR0aCAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1yaWdodDogMzBweDsgfVxuXG51bC5uZXdzdGlja2VyIGEge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5BUkNISVZFLUNPVkVSXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hcmNoaXZlLWNvdmVyIHtcbiAgbWluLWhlaWdodDogNTAwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ud3JhcC0tYXJjaGl2ZSB7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5BUkNISVZFLUhFQURFUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYXJjaGl2ZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MyU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGV4KC01MCUpIHRyYW5zbGF0ZXkoY2FsYygtNTAlICsgMjVweCkpO1xuICBwYWRkaW5nOiAyMHB4IDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYXJjaGl2ZS1oZWFkZXJfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMyMjIyMjI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYXJjaGl2ZS1oZWFkZXJfX3RpdGxlIHtcbiAgICBjb2xvcjogIzIyMjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAuYXJjaGl2ZS1oZWFkZXJfX3RpdGxlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzg5ZTdjMjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHggYXV0bzsgfVxuICAgIC5hcmNoaXZlLWhlYWRlcl9fdGl0bGU6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4OWU3YzI7XG4gICAgICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87IH1cblxuLmluc3RhZmVlZCB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IGNhbGMoIDEwMCUgKyAxMHB4KTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IH1cbiAgLmluc3RhZmVlZCA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAuaW5zdGFmZWVkID4gYSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgc2V0dGluZ3MuVkFSSUFCTEVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gQ29sb3JzXG5cbiRicmFuZC1jb2xvci0tZ3JlZW46ICM4OWU3YzI7XG4kYnJhbmQtY29sb3ItLWdyYXk6ICNiM2IzYjM7XG5cbiRkYXJrOiAjMjIyO1xuJGxpZ2h0OiAjZmZmO1xuXG4vLyBUeXBvXG5cbiRmZi1oZWFkaW5nOiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiRmZi1ib2R5OiBcIlRpdGlsbGl1bSBXZWJcIiwgJ0hlbHZldGljYSBOZXVlJywgVmVyZGFuYSwgc2Fucy1zZXJpZjtcblxuLy8gTWlzY1xuXG4kZ3V0dGVyOiAyMHB4O1xuXG4kdHJhbnNpdGlvbi1pbjogLjNzO1xuJHRyYW5zaXRpb24tb3V0OiAuNXM7XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIHRvb2xzLk1JWElOU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbkBtaXhpbiB1bi1jbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgZGlzcGxheTogYXV0bztcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG4vLyBJbWFnZSBSZXBsYWNlbWVudFxuXG5AbWl4aW4gaXIoKSB7XG4gIGJvcmRlcjogMDtcbiAgZm9udDogMC8wIGE7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIGJhY2tncm91bmQ6IHVybCh0ZXN0LnBuZyk7XG4gIC8vIHdpZHRoOiAzMDBweDtcbiAgLy8gaGVpZ2h0OiA3NXB4O1xufVxuXG4vLyBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4vLyBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5cbkBtaXhpbiB2aXN1YWxseWhpZGRlbigpIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xufVxuXG5cbi8vICAjIyBNZWRpYSBxdWVyeSBhbmQgb3JpZXRhdGlvbiBtaXhpbnNcbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIGh0dHA6Ly9hbHdheXN0d2lzdGVkLmNvbS9wb3N0LnBocD9zPTIwMTMtMDQtMDEtbXktbWVkaWEtcXVlcnktbWl4aW5cblxuXG5AbWl4aW4gbXEoJHBvaW50LCAkcXVlcnkxOiBtaW4sICRxdWVyeTI6IHdpZHRoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgjeyRxdWVyeTF9LSN7JHF1ZXJ5Mn06ICRwb2ludCAvIDE2ICtlbSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBvcmllbnQoJG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgQG1lZGlhIChvcmllbnRhdGlvbiA6ICRvcmllbnRhdGlvbikge1xuICAgIEBjb250ZW50O1xuICB9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICB0b29scy5GVU5DVElPTlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8vIFJFTSBDQUxDXG4vLyBmcm9tIFp1cmIgRm91bmRhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcblxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkXG4vLyByZW0tY2FsYygxMCAyMCAzMHB4IDQwKTtcbi8vIFNwYWNlIGRlbGltaXRlZCwgaWYgeW91IHdhbnQgdG8gZGVsaW1pdCB1c2luZyBjb21tYSdzLCB3cmFwIGl0IGluIGFub3RoZXIgcGFpciBvZiBicmFja2V0c1xuLy8gcmVtLWNhbGMoKDEwLCAyMCwgMzAsIDQwcHgpKTtcbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vLyByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vIElmIHlvdSByZXF1aXJlIHRvIGNvbW1hIHNlcGFyYXRlIHlvdXIgbGlzdFxuLy8gcmVtLWNhbGMoKDE2cHgsIDMycHgsIDQ4KSwgOHB4KTtcblxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkgIHtcbiAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW07XG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxuXG4gICRyZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRyZW1WYWx1ZXM6IGFwcGVuZCgkcmVtVmFsdWVzLCBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZS12YWx1ZSkpO1xuICB9XG4gIEByZXR1cm4gJHJlbVZhbHVlcztcbn1cblxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBnZW5lcmljLk5PUk1BTElaRVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBnZW5lcmljLlJFU0VUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5oMSxoMixoMyxoNCxoNSxoNixcbnAsYmxvY2txdW90ZSxwcmUsXG5kbCxkZCxvbCx1bCxcbmZvcm0sZmllbGRzZXQsbGVnZW5kLFxudGFibGUsdGgsdGQsY2FwdGlvbixcbmhyLCBmaWd1cmUge1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvci0tZ3JlZW47XG4gIGNvbG9yOiAkZGFyaztcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGJhc2UuQk9EWVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYmctZGVjby10b3AtbGVmdC5qcGcnKSxcbiAgICAgICAgICAgICAgICAgICAgdXJsKCcuLi8uLi9pbWFnZXMvYmctZGVjby1ib3R0b20tcmlnaHQuanBnJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsXG4gICAgICAgICAgICAgICAgICAgICBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAyMDBweCBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICAgICBib3R0b20gcmlnaHQ7XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBiYXNlLlRZUE9HUkFQSFlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmZi1ib2R5O1xuICBjb2xvcjogJGRhcms7XG59XG5cbmgxLGgyLGgzLGg0LGg1LGg2IHtcbiAgZm9udC1mYW1pbHk6ICRmZi1oZWFkaW5nO1xuICBmb250LXdlaWdodDogNDAwO1xufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgb2JqZWN0cy5XUkFQXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndyYXAge1xuICBtYXgtd2lkdGg6IDEyMjBweCArICRndXR0ZXIqMjtcbiAgcGFkZGluZzogMCAkZ3V0dGVyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLkdMT0JBTC1IRUFERVJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZ2xvYmFsLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMzA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuXG4gIGJvZHkubG9nZ2VkLWluICYge1xuICAgIHRvcDogMzJweDtcbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIEBpbmNsdWRlIGlyKCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltZy9oaC1sb2dvLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcblxuICAgIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgfVxufVxuXG5cblxuXG5cbiRoZWlnaHQtaWNvbjogMjBweDtcbiR3aWR0aC1saW5lOiAyNHB4O1xuJGhlaWdodC1saW5lOiA1cHg7XG5cbiR0cmFuc2l0aW9uLXRpbWU6IDAuNHM7XG4kcm90YXRpb246IDQ1ZGVnO1xuJHRyYW5zbGF0ZVk6ICgkaGVpZ2h0LWljb24gLyAyKTtcbiR0cmFuc2xhdGVYOiAwO1xuXG4ubWVudS10cmlnZ2VyIHtcbiAgdG9wOiAxcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgd2lkdGg6JHdpZHRoLWxpbmU7XG4gIGhlaWdodDokaGVpZ2h0LWljb247XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBkaXNwbGF5OmJsb2NrO1xuXG4gIC5tZW51LXRyaWdnZXJfX2xpbmUge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgYmFja2dyb3VuZDpsaWdodGVuKCRkYXJrLDMwKTtcbiAgICB3aWR0aDokd2lkdGgtbGluZTtcbiAgICBoZWlnaHQ6JGhlaWdodC1saW5lO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tdGltZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi10aW1lO1xuXG4gICAgJi5tZW51LXRyaWdnZXJfX2xpbmUtMSB7XG4gICAgICB0b3A6MDtcbiAgICB9XG4gICAgJi5tZW51LXRyaWdnZXJfX2xpbmUtMiB7XG4gICAgICB0b3A6NTAlO1xuICAgIH1cbiAgICAmLm1lbnUtdHJpZ2dlcl9fbGluZS0zIHtcbiAgICAgIHRvcDoxMDAlO1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICAgLm1lbnUtdHJpZ2dlcl9fbGluZS0xIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRoZWlnaHQtbGluZSAvIDIpO1xuICAgICB9XG4gICAgLm1lbnUtdHJpZ2dlcl9fbGluZS0zIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRoZWlnaHQtbGluZSAvIDIgKiAtMSk7XG4gICAgfVxuICB9XG4gICYubWVudS10cmlnZ2VyLS1hY3RpdmUge1xuICAgIC5tZW51LXRyaWdnZXJfX2xpbmUtMSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zbGF0ZVkpIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpIHJvdGF0ZSgkcm90YXRpb24pO1xuICAgIH1cbiAgICAubWVudS10cmlnZ2VyX19saW5lLTIge1xuICAgICAgb3BhY2l0eTowO1xuICAgIH1cbiAgICAubWVudS10cmlnZ2VyX19saW5lLTMge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2xhdGVZICogLTEpIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpIHJvdGF0ZSgkcm90YXRpb24gKiAtMSk7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4uZ2xvYmFsLWhlYWRlcl9fcmlnaHQtbWVudSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMzhweDtcblxuICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIGxpIHtcbiAgICB0cmFuc2l0aW9uOiAuMnM7XG5cbiAgICAvLyBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gfVxuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cbiAgfVxuXG59XG5cbi5oZWFkZXItc29jaWFsLWljb24ge1xuICBAaW5jbHVkZSBpcigpO1xuICBkaXNwbGF5OiBibG9jaztcblxuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJi0teW91dHViZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWcvaWNvbi15b3V0dWJlLnN2ZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAxOHB4O1xuICB9XG5cbiAgJi0tZmFjZWJvb2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1nL2ljb24tZmFjZWJvb2suc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMXB4IDIxcHg7XG4gICAgd2lkdGg6IDE1cHg7XG4gIH1cblxuICAmLS1pbnN0YWdyYW0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1nL2ljb24taW5zdGFncmFtLnN2ZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjNweCAyM3B4O1xuICB9XG5cbiAgJi0tc291bmRjbG91ZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWcvaWNvbi1zb3VuZGNsb3VkLnN2ZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAxNXB4O1xuICB9XG59XG5cbi5zZWFyY2gtdHJpZ2dlciB7XG4gIEBpbmNsdWRlIGlyKCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1nL2ljb24tc2VhcmNoLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggMjVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCIuZ2xvYmFsLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRicmFuZC1jb2xvci0tZ3JlZW4sIC45KTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRvcDogNDVweDtcbiAgei1pbmRleDogOTk5OTk7XG5cbiAgLndyYXAge1xuICAgIHBhZGRpbmc6IDIwcHggJGd1dHRlcjtcbiAgfVxuXG4gIGJvZHkubG9nZ2VkLWluICYge1xuICAgIHRvcDogNzdweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuXG59XG5cbi5nbG9iYWwtbWVudS0tYWN0aXZlIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5tZW51LWNvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm1lbnUtY29sc19fY29sIHtcbiAgZm9udC1mYW1pbHk6ICRmZi1oZWFkaW5nO1xuICAvLyBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgcGFkZGluZzogMjBweCAxNXB4O1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBtcSg1NTApIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgd2lkdGg6IDE0JTtcbiAgfVxuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgLy8gbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIG1xKDkwMCkge1xuICAgICAgLy8gbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLy8gY29sdW1uczogMjtcbiAgfVxuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206IC4zZW07XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oC6ICc7XG4gICAgICBjb2xvcjogJGxpZ2h0O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRsaWdodDtcbiAgICB9XG4gIH1cblxufVxuIiwiLnNlYXJjaC1tb2RhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnJhbmQtY29sb3ItLWdyZWVuLCAxMCk7XG4gIHRvcDogLTUwcHg7XG4gIHotaW5kZXg6IDIwO1xuICB3aWR0aDogMTAwJTtcbiAgLy8gcGFkZGluZzogMTBweCAwO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1vdXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICAmLS1hY3RpdmUge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWluO1xuICAgIHRvcDogODVweDtcblxuICAgIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgICAgdG9wOiA0NXB4O1xuICAgIH1cbiAgfVxufVxuXG4uc2VhcmNoZm9ybSB7XG5cbiAgLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHloaWRkZW4oKTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogOHB4IDE1MHB4IDhweCAyMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRicmFuZC1jb2xvci0tZ3JlZW4sIDEwKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBjb2xvcjogJGRhcms7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGRhcms7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgcGFkZGluZzogMnB4IDQwcHggMnB4IDQwcHg7XG4gICAgdG9wOiA0cHg7XG4gICAgcmlnaHQ6ICRndXR0ZXIgKyA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMnB4KTs7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcms7XG4gICAgY29sb3I6ICRicmFuZC1jb2xvci0tZ3JlZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYXJrO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5JTkRFWC1DT1ZFUi1QT1NUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmluZGV4LWNvdmVyLXBvc3Qge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAvLyBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXG4gIG1pbi1oZWlnaHQ6IGNhbGMoIDEwMHZoIC0gMTVweCApO1xuICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTcwcHggLSAxNXB4KTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZGFyaywuNCk7XG4gIH1cbn1cblxuLndyYXAtLWluZGV4IHtcbiAgbWluLWhlaWdodDogY2FsYyggMTAwdmggLSAxNXB4ICk7XG5cbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDE3MHB4IC0gMTVweCk7XG4gIH1cbn1cblxuLmluZGV4LWNvdmVyLWNhcmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6ICRndXR0ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogJGxpZ2h0O1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1vdXQ7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcblxuICBwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgbWF4LXdpZHRoOiA4NjBweDtcbiAgICBib3R0b206IDQ1cHg7XG4gICAgbGVmdDogJGd1dHRlcjtcblxuICAgIHAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsIC41KTtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1pbjtcbiAgfVxufVxuXG4uaW5kZXgtY292ZXItY2FyZF9fdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDRweCk7XG5cbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg3NHB4KTtcbiAgfVxufVxuXG4ucGFyZW50LWNhdGVnb3J5LWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcms7XG4gIGNvbG9yOiAkYnJhbmQtY29sb3ItLWdyZWVuO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogJGZmLWhlYWRpbmc7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiA1cHggNXB4IDJweCA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLklOREVYLUZFQVQtUE9TVFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uaW5kZXgtZmVhdC1wb3N0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvci0tZ3JlZW47XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgbWluLWhlaWdodDogMTYwcHg7XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiBjYWxjKCAxMDAlICsgNDBweCApO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcblxuICAgIEBpbmNsdWRlIG1xKDQzMCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uaW5kZXgtZmVhdC1wb3N0LWNhcmQge1xuICAvLyBtYXgtd2lkdGg6IDMyMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAkZGFyaztcbiAgcGFkZGluZzogMCAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBtcSg5MDApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJjpob3ZlciBpbWcge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWluO1xuICB9XG5cbiAgJl9fbWVkaWEge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tb3V0O1xuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cblxuLmluZGV4LWZlYXQtcG9zdC1jYXJkX190aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAwLjk7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLklOREVYLUNPTlRBSU5FUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5pbmRleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICZfX3Bvc3RzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIGZsZXg6IDI7XG4gIH1cblxuICAmX19zaWRlYmFyIHtcbiAgICBmbGV4OiAxO1xuICB9XG5cbn1cbiIsIi5hcnRpY2xlLXNuaXBwZXQge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuICAuYXJ0aWNsZS1zbmlwcGV0X190aHVtYiB7XG5cbiAgICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cblxuICB9XG4gIC5hcnRpY2xlLXNuaXBwZXRfX2NvbnRlbnQge1xuICAgIGZsZXg6IDI7XG4gICAgQGluY2x1ZGUgbXEoOTAwKSB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cblxuICB9XG4gIC5hcnRpY2xlLXNuaXBwZXRfX3RpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM0KTtcbiAgICBsaW5lLWhlaWdodDogMC45O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItLWdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXJ0aWNsZS1zbmlwcGV0X19tZXRhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItLWdyYXk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItLWdyYXk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHViLWRhdGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGJyYW5kLWNvbG9yLS1ncmVlbiwgMTApO1xuICAgIH1cbiAgfVxuICAuYXJ0aWNsZS1zbmlwcGV0X19leGNlcnB0IHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cbiAgfVxuXG5cbi5hcnRpY2xlLXNuaXBwZXQtLXBob3RvIHtcbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvci0tZ3JlZW47XG4gICAgcGFkZGluZzogNXB4O1xuXG4gICAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlLXNuaXBwZXRfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGlnaHQsIC44KTtcblxuICAgIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgxMDI0KSB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLlBPUFVMQVItUE9TVFMtTElTVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cHAtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLS1ncmVlbjtcbiAgICB9XG4gIH1cblxuXG59XG5cbi5wb3B1bGFyLXBvc3QtbWV0YSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cbiAgdGltZSB7XG4gICAgY29sb3I6ICRicmFuZC1jb2xvci0tZ3JheTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAuYXV0aG9yIHtcbiAgICBjb2xvcjogJGJyYW5kLWNvbG9yLS1ncmF5O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLndwcC1zdGF0cyB7XG4gICAgY29sb3I6ICRicmFuZC1jb2xvci0tZ3JlZW47XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5hcnRpY2xlLXNvY2lhbC1idXR0b25zIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1pbjtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgfVxuXG4gIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogOTBweDtcbiAgfVxuXG4gIC5mYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cblxuICAudHdpdHRlciB7XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5TSU5HTEUtQ09WRVJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2luZ2xlLWNvdmVyIHtcbiAgbWluLWhlaWdodDogNTUwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC8vIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53cmFwLS1zaW5nbGUge1xuICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5TSU5HTEUtSEVBREVSXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNpbmdsZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsIC41KTtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogNzBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIG1hcmdpbi10b3A6IDA7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIHRvcDogNTMlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRleCgtNTAlKSB0cmFuc2xhdGV5KC01MCUpO1xuXG5cbiAgJl9fdGl0bGUge1xuICAgIGNvbG9yOiAkbGlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMC45O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblxuICAgIEBpbmNsdWRlIG1xKDY0MCkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJyYW5kLWNvbG9yLS1ncmVlbjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHggYXV0bztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDonJztcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRicmFuZC1jb2xvci0tZ3JlZW47XG4gICAgICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gICAgfVxuICB9XG5cblxuICAuc2luZ2xlLWhlYWRlcl9fcHViLWRhdGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiByZ2JhKCRsaWdodCwgMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX21ldGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiByZ2JhKCRsaWdodCwgMSk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRsaWdodCwgMSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHViLWRhdGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiByZ2JhKCRkYXJrLCAuOCk7XG4gICAgfVxuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogMjBweCAwIDYwcHg7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6ICRmZi1oZWFkaW5nO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBsaW5lLWhlaWdodDogMTtcblxuICBzcGFuLmN1cnJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvci0tZ3JlZW47XG4gICAgcGFkZGluZzogMnB4IDZweCAwcHg7XG4gICAgY29sb3I6ICRkYXJrO1xuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHBhZGRpbmc6IDJweCA2cHggMHB4O1xuICAgIHRyYW5zaXRpb246IC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWNvbG9yLS1ncmVlbjtcbiAgICB9XG5cbiAgfVxufVxuLnBhZ2luYXRpb24tLXNpbmdsZSB7XG4gIGFbcmVsPVwibmV4dFwiXSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG4ucGFnaW5hdGlvbi0taW5kZXgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGEubmV4dC5wYWdlLW51bWJlcnMge1xuICAgIC8vIGZsb2F0OiByaWdodDtcbiAgfVxuICBhLnByZXYucGFnZS1udW1iZXJzIHtcbiAgICAvLyBmbG9hdDogbGVmdDtcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLlBPU1QtQk9EWVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wb3N0LWJvZHkge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgY29sb3I6ICRkYXJrO1xuXG4gIHA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjhlbTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItLWdyZWVuO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjNlbTtcbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIG1hcmdpbjogMmVtIDA7XG4gICAgQGluY2x1ZGUgbXEoNTAwKSB7XG4gICAgICBwYWRkaW5nOiAwIDJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LWZhbWlseTogJGZmLWhlYWRpbmc7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwcHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItLWdyZWVuO1xuICAgIH1cbiAgfVxuXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBkYXJrZW4oJGJyYW5kLWNvbG9yLS1ncmVlbiwgMTApO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNXB4KTtcbiAgfVxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICB9XG5cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG4gIH1cblxuICBoNiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxN3B4KTtcbiAgfVxuXG4gIC5pbWctbGluayxcbiAgLmdhbGxlcnktaW1nLWxpbmsge1xuICAgIGN1cnNvcjogem9vbS1pbjtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tb3V0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgJjpob3ZlciBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24taW47XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgIH1cbiAgfVxuXG4gIGltZy5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogLjVlbSAwXG4gIH1cblxuICBpbWcuYWxpZ25yaWdodCxcbiAgLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgbWFyZ2luOjAgMCAuNWVtIDFlbTtcbiAgICB9XG4gIH1cbiAgaW1nLmFsaWdubGVmdCxcbiAgLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIG1hcmdpbjowIDFlbSAuNWVtIDA7XG4gICAgfVxuICB9XG4gIGltZy5hbGlnbmNlbnRlcixcbiAgLndwLWNhcHRpb24uYWxpZ25jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogLjVlbSBhdXRvO1xuICB9XG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICAgIGZsb2F0OnJpZ2h0O1xuICAgIH1cbiAgfVxuICAuYWxpZ25sZWZ0IHtcbiAgICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgfVxuICB9XG4gIC5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmdhbGxlcnkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgbWFyZ2luOiAzMHB4IDAgIWltcG9ydGFudDtcbiAgICBkbC5nYWxsZXJ5LWl0ZW0gKyBiciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwIDVweCA1cHggMCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIG1xKDMyMCkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtcSg0MDApIHtcbiAgICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG5cbiAgICAgIC5nYWxsZXJ5LWltZy1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogM3M7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuXG5cblxuXG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGNvbXBvbmVudHMuQ09NTUVOVFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucG9zdC1jb21tZW50cyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRicmFuZC1jb2xvci0tZ3JlZW47XG4gIH1cblxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5UQUdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRhZy13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGRhcmtlbigkZGFyaywgMjApO1xuICAgIHRyYW5zaXRpb246IC41cztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6JyMnO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRicmFuZC1jb2xvci0tZ3JlZW47XG4gICAgfVxuXG4gIH1cbn0iLCIuYXV0aG9yLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXG4gICZfX2ltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1heC13aWR0aDogODBweDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxuXG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBmbGV4OiAxO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGNvbXBvbmVudHMuQVNJREVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2lkZWJhci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbn1cbiIsIi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICBTZXR0aW5ncyAgICAgIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gb3ZlcmxheVxuJG1mcC1vdmVybGF5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZGFyayAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIG92ZXJsYXkgc2NyZWVuXG4kbWZwLW92ZXJsYXktb3BhY2l0eTogICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgMHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweCFkZWZhdWx0IDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAxICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAkYnJhbmQtY29sb3ItLWdyZWVuICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGJyYW5kLWNvbG9yLS1ncmVlbiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0MgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLUlFN3N1cHBvcnQ6ICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBWZXJ5IGJhc2ljIElFNyBzdXBwb3J0XG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBNYXhpbXVtIHdpZHRoIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyB0b3BcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjMgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHN1YnRpdGxlIGNvbG9yXG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgY29udGVudCBmcm9tIGJyb3dzZXJzLCBidXQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbiAgQGlmICRtZnAtSUU3c3VwcG9ydCB7XG4gICAgZmlsdGVyOiB1bnF1b3RlKFwiYWxwaGEob3BhY2l0eT0jeyRtZnAtb3ZlcmxheS1vcGFjaXR5KjEwMH0pXCIpO1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHBvcHVwXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBmaXhlcyB3ZWJraXQgYnVnIHRoYXQgY2FuIGNhdXNlIFwiZmFsc2VcIiBzY3JvbGxiYXJcbn1cblxuLy8gUm9vdCBjb250YWluZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIFZlcnRpY2FsIGNlbnRlcmVyIGhlbHBlclxuLm1mcC1jb250YWluZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi8vIFJlbW92ZSB2ZXJ0aWNhbCBjZW50ZXJpbmcgd2hlbiBwb3B1cCBoYXMgY2xhc3MgYG1mcC1hbGlnbi10b3BgXG4ubWZwLWFsaWduLXRvcCB7XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQb3B1cCBjb250ZW50IGhvbGRlclxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDU7XG59XG4ubWZwLWlubGluZS1ob2xkZXIsXG4ubWZwLWFqYXgtaG9sZGVyIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLy8gQ3Vyc29yc1xuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG4ubWZwLXpvb20tb3V0LWN1ciB7XG4gICYsIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gICAgY3Vyc29yOiB6b29tLW91dDtcbiAgfVxufVxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjtcbn1cbi5tZnAtYXV0by1jdXJzb3Ige1xuICAubWZwLWNvbnRlbnQge1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxufVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8gSGlkZSB0aGUgaW1hZ2UgZHVyaW5nIHRoZSBsb2FkaW5nXG4ubWZwLWxvYWRpbmcge1xuICAmLm1mcC1maWd1cmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gSGVscGVyIGNsYXNzIHRoYXQgaGlkZXMgc3R1ZmZcbkBpZiAkbWZwLXVzZS12aXN1YWxseWhpZGRlbiB7XG4gIC8vIEZyb20gSFRNTDUgQm9pbGVycGxhdGUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi92NC4yLjAvZG9jL2Nzcy5tZCN2aXN1YWxseWhpZGRlblxuICAubWZwLWhpZGUge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB9XG59IEBlbHNlIHtcbiAgLm1mcC1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDIuIEFwcGVhcmFuY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBQcmVsb2FkZXIgYW5kIHRleHQgdGhhdCBkaXNwbGF5cyBlcnJvciBtZXNzYWdlc1xuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA0O1xuICBhIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlkZSBwcmVsb2FkZXIgd2hlbiBjb250ZW50IHN1Y2Nlc3NmdWxseSBsb2FkZWRcbi5tZnAtcy1yZWFkeSB7XG4gIC5tZnAtcHJlbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhpZGUgY29udGVudCB3aGVuIGl0IHdhcyBub3QgbG9hZGVkXG4ubWZwLXMtZXJyb3Ige1xuICAubWZwLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gQ1NTLXJlc2V0IGZvciBidXR0b25zXG5idXR0b24ge1xuICAmLm1mcC1jbG9zZSxcbiAgJi5tZnAtYXJyb3cge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDY7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwXG4gIH1cbn1cblxuXG4vLyBDbG9zZSBpY29uXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICBmaWx0ZXI6IHVucXVvdGUoXCJhbHBoYShvcGFjaXR5PSN7JG1mcC1jb250cm9scy1vcGFjaXR5KjEwMH0pXCIpO1xuICB9XG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICAgIGZpbHRlcjogdW5xdW90ZShcImFscGhhKG9wYWNpdHk9I3sxKjEwMH0pXCIpO1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0b3A6IDFweDtcbiAgfVxufVxuLm1mcC1jbG9zZS1idG4taW4ge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yO1xuICB9XG59XG4ubWZwLWltYWdlLWhvbGRlcixcbi5tZnAtaWZyYW1lLWhvbGRlciB7XG4gIC5tZnAtY2xvc2Uge1xuICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgIHJpZ2h0OiAtNnB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBcIjEgb2YgWFwiIGNvdW50ZXJcbi5tZnAtY291bnRlciB7XG4gIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGNvbG9yOiAkYnJhbmQtY29sb3ItLWdyZWVuO1xuICBmb250LXdlaWdodDogcmVndWxhcjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gTmF2aWdhdGlvbiBhcnJvd3NcbkBpZiAkbWZwLWluY2x1ZGUtYXJyb3dzIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICAgIGZpbHRlcjogdW5xdW90ZShcImFscGhhKG9wYWNpdHk9I3skbWZwLWNvbnRyb2xzLW9wYWNpdHkqMTAwfSlcIik7XG4gICAgfVxuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICAgICY6YWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC01NHB4O1xuICAgIH1cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpZiAkbWZwLUlFN3N1cHBvcnQge1xuICAgICAgICBmaWx0ZXI6IHVucXVvdGUoXCJhbHBoYShvcGFjaXR5PSN7MSoxMDB9KVwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlcixcbiAgICAubWZwLWIsXG4gICAgLm1mcC1hIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyLFxuICAgIC5tZnAtYSB7XG5cbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICAgICAgdG9wOjhweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSxcbiAgICAubWZwLWIge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuXG4gICAgJjphZnRlcixcbiAgICAubWZwLWEge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICB9XG4gICAgJjpiZWZvcmUsXG4gICAgLm1mcC1iIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgICY6YWZ0ZXIsXG4gICAgLm1mcC1hIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzlweFxuICAgIH1cbiAgICAmOmJlZm9yZSxcbiAgICAubWZwLWIge1xuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG4gICAgfVxuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICB9XG4gIH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gIGltZyB7XG4gICAgJi5tZnAtaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuICAubWZwLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7IC8vIGxlYXZlIHNvbWUgc3BhY2UgZm9yIGNvdW50ZXIgYXQgcmlnaHQgc2lkZVxuICB9XG5cbiAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1nYWxsZXJ5IHtcbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpZiAkbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1jb3VudGVyIHtcbiAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gU2NhbGUgbmF2aWdhdGlvbiBhcnJvd3MgYW5kIHJlZHVjZSBwYWRkaW5nIGZyb20gc2lkZXNcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7XG4gIH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gIH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgfVxufVxuXG5cblxuLy8gSUU3IHN1cHBvcnRcbi8vIFN0eWxlcyB0aGF0IG1ha2UgcG9wdXAgbG9vayBuaWNpZXIgaW4gb2xkIElFXG5AaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgLm1mcC1pZTcge1xuICAgIC5tZnAtaW1nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5tZnAtYm90dG9tLWJhciB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG4gICAgLm1mcC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLm1mcC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA0NHB4O1xuICAgIH1cbiAgICAubWZwLWNsb3NlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi5pbWFnZS1zb3VyY2UtbGluayB7XG4gIGNvbG9yOiAjOThDM0QxO1xufVxuXG4ubWZwLXdpdGgtem9vbSAubWZwLWNvbnRhaW5lcixcbi5tZnAtd2l0aC16b29tLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAvKiBpZGVhbGx5LCB0cmFuc2l0aW9uIHNwZWVkIHNob3VsZCBtYXRjaCB6b29tIGR1cmF0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbn1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlYWR5IC5tZnAtY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLm1mcC13aXRoLXpvb20ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nIC5tZnAtY29udGFpbmVyLFxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7XG59XG4iLCJcbi5mb290ZXItdGlja2VyIHtcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjVweDtcbiAgei1pbmRleDogOTk5OTtcblxuICBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgICBjb2xvcjogJGJyYW5kLWNvbG9yLS1ncmVlbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5cbi50aWNrZXJjb250YWluZXIge1xufVxuLnRpY2tlcmNvbnRhaW5lciAubWFzayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbnVsLm5ld3N0aWNrZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxlZnQ6IDc1MHB4O1xufVxudWwubmV3c3RpY2tlciBsaSB7XG4gIGZsb2F0OiBsZWZ0OyAvKiBpbXBvcnRhbnQ6IGRpc3BsYXkgaW5saW5lIGdpdmVzIGluY29ycmVjdCByZXN1bHRzIHdoZW4geW91IGNoZWNrIGZvciBlbGVtJ3Mgd2lkdGggKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG59XG51bC5uZXdzdGlja2VyIGEge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBjb21wb25lbnRzLkFSQ0hJVkUtQ09WRVJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYXJjaGl2ZS1jb3ZlciB7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAvLyBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud3JhcC0tYXJjaGl2ZSB7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgY29tcG9uZW50cy5BUkNISVZFLUhFQURFUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5hcmNoaXZlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgLjkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTMlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRleCgtNTAlKSB0cmFuc2xhdGV5KGNhbGMoLTUwJSArIDI1cHgpKTtcbiAgcGFkZGluZzogMjBweCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtaGVhZGluZztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiByZ2JhKCRkYXJrLCAxKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTApO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJyYW5kLWNvbG9yLS1ncmVlbjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHggYXV0bztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDonJztcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRicmFuZC1jb2xvci0tZ3JlZW47XG4gICAgICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gICAgfVxuICB9XG5cblxufVxuIiwiLmluc3RhZmVlZCB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IGNhbGMoIDEwMCUgKyAxMHB4ICk7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAmID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
